我在Fackbook的这三年[转]
本周开始是我在Facebook的第四个年头。我的经验在这里发生了巨大的变化:退学后我就来到了这里,在这里遇到了前所未有的挑战。单从这方面讲,我经历和遇到的挑战比这里4/5的人都要多。所以,我想分享一些我的认识和见解,希望其他一些程序员能感觉这有些用处
作为一个软件工程师,你的工作是开发出能解决问题的东西。初次进入公司时,你会被分配一些小任务,你可以解决它们。随着专业技能的增加,问题的规模越大越大。避免这种问题规模变大或问题难度增加的做法是错误的。程序是你用来解决问题的工具。如果你园丁,你会去种花和除草。提高你的能力发挥并不是种更多的花和除更多的草,你的愿望应该是能更快更高效,成为更有经验的园丁。你真正应该做的是,抬起头来,从整体看这个花园,思考如何布局,整体规划这个花园。
为了能更有效的提高能了,你需要有效的交流渠道。交流渠道代表着一个人在这个世界上活动的能力。作为一个程序员,在你的生活环境里拥有顺畅的交流渠道,这对你全面发掘遇到的问题的边界和最有效利用问题解决方案起着至关重要的作用。这既包括你的代码上的沟通,也包括在公司里和他人的交流。对于你参与的代码库,你要快速的了解清楚各个组件是如何组合的。以这些知识为基础,你不能只去修复被分配的bug问题,而应该去考虑如何阻止这类问题再次发生。你不能只去想着实现一个新功能,而应该考虑如何在这些老代码和新代码上提炼出一个公用组件,让它们共享80%的代码。这需要付出努力,但从长期看会有巨大的回报。
站在更高层面看问题,将整个公司视为己有。不要允许你的同事不做到最好。理解各种决策的权衡以及原因;理解一些临时方案的决定和这样做的必要性,但如果你感觉不对,一定不要在提出你的观点以求获取更好方案前就接受。这是你的公司(你的花园),如果你允许有人犁错了方向,整个花园规划将会变成一场灾难。养成勇于change的习惯,并有信心这些变化将向好的方向发展。
人很容易陷入认为自己无法做到无所不知的漩涡,认为周围的人都比你聪明、有经验,害怕自己说的不对,被对方看不起。事情其实不是这样。当你有了一个想法,和你的团队分享——即使你不能确定你的想法是否正确。错误的认识往往是通往正确认识的里程碑,因为它能帮助你界定问题的真实边界,还因为你能通过的对错误想法的反复推演而获得正确的想法。
你并不能立即很明显的发现跟公司内的其他团队中的人保持交流、维持关系有多重要。随机找一个你几个月未一起工作的人,和他进行简短的聊天。这能给你遇到的问题带来新颖的思路,也能让你发现其它团队已有的解决方案,你可以拿来用。团队之间的信息交流能让你对公司有更全面的认识,而和另一个项目里的基层程序员交谈能激发新思想,新方案,和新优势整合的机会。
我也是刚刚总结出这些经验。我希望这些能给你启发,促你进步,把它据为己有,指引你的团队走向正确的方向。祝你在Facebook工作的开心;我知道我是的。
我在Fackbook的这三年[转]的更多相关文章
- 创业这三年¥.NET之尴尬处境
创业这三年#迈出第一步 创业这三年@各种奇遇 之前写的文章有兴趣的大家可以看看. 本来没有打算写这样一篇会遭人拍砖的文章,但是发现大家每天忙于编码,对市场环境..Net生态没有一个真实.多角度的认识, ...
- 《转载》三年建站之路走得一事无成 今来A5撞墙反思
本文转载自A5站的蚕丝被.如果给站长带来不便之处,请联系博主. 时间过得真快,记得上一次在A5写文章已经是一年前的事了,这其中是有原因的,今天就跟大家来聊聊三年来个人失败经历的撞墙反思,也给一些有着同 ...
- fackbook的Fresco的多种图片加载方法以及解码过程
上篇文章中我们提到了图片加载其实是用了三条线程,如果没看过的同学可以先了解下这里. fackbook的Fresco的Image Pipeline以及自身的缓存机制 那么今天我们就来探索一下如何在代码中 ...
- fackbook的Fresco的Image Pipeline以及自身的缓存机制
fackbook的Fresco的Image Pipeline以及自身的缓存机制 配置之前.首先需要知道两点:一点是Bitmap缓存.一点是如果你仅仅需要一个缓存,那么不调用setSmallImageD ...
- fackbook的Fresco (FaceBook推出的Android图片加载库-Fresco)
[Android开发经验]FaceBook推出的Android图片加载库-Fresco 欢迎关注ndroid-tech-frontier开源项目,定期翻译国外Android优质的技术.开源库.软件 ...
- [MarsZ]程序猿谈大学之工作三年半的程序猿给大学童鞋的一些注释
我本不是个喜欢写文章的人,更甭提写这种基本没技术含量的文章了.但是今天上班的时候,不经意浏览了下学校的QQ群,突然很想把自己的经验经历分享给还在大学里的同学,希望能让某些对前途职业迷茫的童鞋有所帮助. ...
- java学习历程,一年三年五年计划
学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要 ...
- 一入OI深似海 2 —— 初中三年,颓废PJ
初中,OI似乎没有真正进入我的生活. 三年PJ在我的生活中占比很少. 每天都是平淡无奇的文化课,晚上在写完作业之后还能休息一会儿. 每周六下午的OI课很短暂, 大部分时间我还是把我的重心放在学习上. ...
- 面试挂了阿里却拿到网易offer,一个三年Java程序员的面试总结!
前言 15年毕业到现在有三年多了,最近去面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去了网易. ...
随机推荐
- 团队-爬虫豆瓣top250项目-模块测试过程
模块测试: 项目托管平台地址:https://github.com/gengwenhao/GetTop250.git 模块测试:"获取250排名的全部电影信息"功能,测试方法:手动 ...
- k8s初始化搭建方法
http://www.cnblogs.com/cocowool/p/kubeadm_install_kubernetes.html https://www.kubernetes.org.cn/doc- ...
- Webpack-dev-server的proxy用法
前言: devServer:{ contentBase:'./', proxy:{ // 当你请求是以/api开头的时候,则我帮你代理访问到http://localhost:3000 // 例如: / ...
- vuex的mutations传值
mutations是要通过方法触发的,用于更改store里的数据的.this.$store.commit("mutationsName") 例子: store.js import ...
- 环境搭建文档——Windows下的Git搭建详解
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.具体安装步骤如下: 第一步:先从官网下载最新版本的Git 官网地址:https://git-scm.com/do ...
- 整理CSS中display flex(布局利器)
关于display:flex布局,有人了解颇深,我也是看着别人的东西学习的. display:flex的布局是什么.基本概念之类的我根本就不了解,只会用.每次看到概念之类的东西,我都是扫一眼就过去. ...
- 2019年华南理工校赛(春季赛)--L--剪刀石头布(签到)
#include <iostream> using namespace std; int main(){ string a,b,c,d; a="Scissors"; b ...
- Python request 和response 初使用
request的get方法r=request.get(url)构造一个向服务器请求资源的Request对象, 返回一个包含服务器资源的Response对象. Request对象由Request库自动生 ...
- 自由拖拽DIV实现
最近在做的项目有个效果是要实现div随意拖拽改变大小,前端框架选择的是vue.js,UI用的是element,拖拽效果可以很简单的实现,但是在拖拽过程中发现会对其他元素实现全选效果,因此最后选择使用元 ...
- Linux启动流程和脚本服务-6
授课笔记:----------------------------------- linux系统启动流程:一.初始化阶段:1.grub引导界面2.识别硬件3.初始化驱动 二.加载/etc/rc.d/r ...