我在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,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去了网易. ...
随机推荐
- java scala jdk+sdk
编译报错: Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException Error compilin ...
- LoadRunner简单介绍----性能自动化测试工具
在做性能测试中,我认为技术可以说是武功心法,工具则是一把利剑,有一把好的利剑可以帮助自己更好的完成性能测试工作.在这里简单介绍一下LoadRunner,带大家一起来认识一下这把尚方宝剑. 一.性能测试 ...
- new Image().src资源重复请求问题
const img = new Image(); img.setAttribute("crossOrigin", 'Anonymous'); img.src = url + '?t ...
- \usepackage{ulem}带下划线的问题解决
其实正文应该是斜体字的,但是有可能默认模板会导致斜体变下划线的问题,解决方法如下: \usepackage{ulem} 在 \documentclass[format=acmsmall, review ...
- 通过sqoop将hdfs数据导入MySQL
简介:Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracl ...
- Lab keepalived
[root@node1 keepalived]#cat keepalived.conf ! Configuration File for keepalived global_defs { notifi ...
- Python if __name__ == '__main__':
python属于脚本语言,只能逐行运行, if __name__ == '__main__':这句相当于main(),即首先执行这条语句.
- h5的改进:
新元素画布canvas: HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成音频audio视频video语义性: article, nav ...
- 如果解决小程序1024kb渲染之坑
问题: 在小程序开发中如果有那么个场景和操作步骤,获取商品下拉列表商品列表data为goodsList 当从后台获取数据response.data.list,通常我们会setData({goodsLi ...
- 在已有数据的表中添加id字段并且自增
各位大牛,小弟在开发过程中,遇到了这样一个问题,由于新功能的增加需要使原有的一张表的结构作出调整,需要添加一个id主键字段,但是因为表里有很多数据了,所以,怎样才能添加这个字段,并且使原有的数据也能够 ...