1024程序员节,写给年轻程序员的建议
今天是10月24日,是江湖中的“程序员节”,回想起我的职业发展,十年前我就是以程序员的身份进入互联网行业工作的。无论后来我是做运营还是产品经理的工作,我的性格是极具“工程师文化”特征的,我想这种性格应该是与生俱来的,因为我在写代码之前的工作是业务员,跑了一年的市场工作,业绩还不错。
很多时候我们写代码都是在模仿别人写的东西,如果公司里代码质量高了,新来的人就能模仿高质量的代码;如果代码一团糟,新来的人就只能模仿差代码,然后代码质量就越来越差。所以无论团队大小我都会对代码规范和冗余问题非常在意,很可惜并不是每一个同事都能理解我这种像洁癖的强迫症。
今天借着这个1024的节日,我就关于编程、与同事相处、工作效率、个人成长等方面写一些建议给年轻的程序员们。
1、开始工作后要学会花钱买时间(如买工具),花钱买个人成长(如培训),花钱买软件(对同行的劳动表示尊重)。
2、学会翻墙,并且要有自己稳定安全的翻墙手段。
3、学会使用搜索引擎(优先Google,其次Bing)和知识社区,搜索的关键在于精准的分词,找准自己要检索的关键词。
4、如果你在学习或者工作中遇到了问题,首先要懂得自己先花十几分钟找找答案,然后再问别人。
5、遇到问题不是羞耻的事,勇于沟通,不要太内向。
6、问题交流和沟通不要表现的太自傲,另外要尊重别人的时间。
7、要养成整理代码的习惯,无论是添加注释、清理语法、修复冗余。这种习惯会帮助到很多人,最大的受益者是你自己。
8、每个团队或多或少都有毛病,跳槽只是换个坑而已,轻易不要放弃。
9、不要对抗或者反感 code reviews 与 design critiques ,这是完善文档和提高水准最好的形式。
10、不要敌对的看待同事(如产品经理),假设每个人都有最好的意图,即使他们没有。这会让你活的更轻松。
11、沟通是比写代码更重要的技能,要谨慎任何人的任何暗示。
12、当辩论一个问题时,先问自己“我真的很关心这个吗?”,否则你将不可避免地花费时间和精力讨论一些无意义的问题,例如命名是用 FooWidgetProcessor 还是用 FooWidgetHandler
13、有时候命名是 FooWidgetProcessor 或 FooWidgetHandler 是很重要的,因为代码与命名规范的约定是很重要的。
14、不要凭自己感觉去推测产品意图,记得跟产品经理要功能逻辑的描述,无论载体是文本还是流程图,一定要保证复杂逻辑有具体的说明,否则你很有可能会白写代码。
15、合理的工作顺序是这样的:理解思考、对话沟通、邮件确认、需求文档、编写代码。
16、要会优化 Robustness
17、不要混淆 reliability 与 uptime 的区别。
18、要理解“技术债务”是什么意思。
19、所有的代码都是技术债务,即使是你认为的一次性工作,比如一个CLI。任何权宜之计一旦被提升到生产阶段,那么它就会变成现状。
20、你要学会评估你的每一项工作,投入时间测量你做的事是正确的。
21、想要参与开源项目,可以先从你经常使用的项目(如编程框架、小工具等)开始。第一个 pull request 可以从改注释中的错别字开始,先熟悉一下流程。若要真改代码逻辑,最好先跟项目维护者沟通一下,避免做无用功。
22、考虑一切有助于自己工作的工具,如电脑、鼠标、键盘、语言、IDE、椅子、iTerm字体、桌面背景等。
23、免费是最贵的服务,收费是最便宜的服务。
24、大众对程序员的生活质量有偏见,要理解。提高生活质量的唯一方法就是定期扔东西,但是这句话理解起来很复杂。另外如果有了女朋友,不要扔,因为很有可能就再也没有了。
今天是1024程序员节,所以就写24条。
jife
2017年4月17日 23:25
不错,很真实
不告诉你
2017年4月12日 14:11
撤了那么多蛋。太过于繁琐,感觉很鸡肋。
李瑶
2017年2月28日 09:35
能否加一下您的qq呢?有些问题想要请教一下
唐杰
2017年2月28日 13:00
什么问题?
直接给我留言
小汤
2016年12月21日 14:01
年轻的产品
小汤
2016年12月21日 13:59
年轻的产品经理
linsc
2016年12月15日 14:38
博客改版的不错!
落叶飞
2016年10月25日 21:34
原谅我看到1024就自动脑补某站~~~
不锈钢雕塑
2016年10月24日 11:18
博客改版的不错!