毫无疑问,软件开发是一项最需要久坐的工作之一,每天在电脑前要坐 8 到 16 个小时,中间几乎没有休息,这就很容易长肉。而肥胖很很可能会引起其它的疾病,心脏病就是其中一种严重的疾病。当然,你可以通过一些锻炼避免它,比如花点儿钱去办一张健身卡。
长时间不符合人体工程学的打字姿势,会造成软件开发人员重复性的肌肉损伤,比如腕管综合征。你应该每隔几个小时的打字后就活动伸展一下手腕,防止这样的损伤,或者选择买带有手腕保护功能的鼠标和键盘。总盯着屏幕也会给你的眼睛带来压力,这就是为什么建议你戴一副防闪光的眼镜而不是普通眼镜的原因(假设你是戴眼镜的)。
1. 提高你的数学能力数学可以提高你的逻辑思维能力,拓宽解决问题的角度,还有培养你的耐心。有一些数学分支,比如离散数学,可以直接应用到软件开发上,还有一些可能你会忘记,但也没关系,看你是从事的是哪个领域的开发了。比如说,游戏开发人员经常会用到物理和微积分,但我作为一名企业应用的开发人员,就很少有能用上它们的地方。无论怎样,数学能力的提升可以让你变得更优秀,做更好的程序员。
2. 提高你的英语水平所有编程语言,脚本语言和标记语言都是英文的,而且像 Linux 这样的开源项目的注释通常也都是英文的。世界各地的开发人员都在使用英语来合作开发,针对国际客户的开发者都必须学习英语,因为这样才能够将业务需求转化为实际的解决方案。明白了吧,英语对开发者而言就和二进制对于计算机一样。
3. 一个属于自己的域名和网站你不觉得有一个属于自己的邮箱地址很酷吗?不是那种像 something@yahoo.com 或 someone@gmail.com 一样的大众邮箱。有一个自己的域名能让你在其他人中脱颖而出,关键是每年只需要花很少的钱就可以实现它。我买的这个 lambdageek 域名只花了 13 美金,个人域名还能给你的个人品牌,也就是你自己,增添自信和专业性,让潜在的用户或者同事了解到你。当然这一切的前提都是你的域名不是像什么 hotmale-loves-chicks.com 一样瞎起的。
4. 一个活跃的 Github 账号Github 账号对于程序员而言,就如同作品集对于艺术家一样。有了它,其它的就不需要说什么了。
5. 一台好的设备你没有听说过程序员没有自己的电脑的吧?我也没听说过。没有自己电脑的程序员就好比没有激光剑的绝地武士一样。我说的一台好的电脑至少得有 4GB 内存,我比较推荐的是 4000 刀的 Macbook Pro,当然不排除那些有极端需求的特例。
6. 足够快的网速网络对于程序员就像氧气一样,所以没有网络的世界就好比断了空气供给,是无法忍受的。一个稳定的网络连接可以让你多学习,看在线视频,泡泡论坛,然后及时关注 Hacker News 上的最新文章。
7. 阅读经典的计算机科学书籍有一些书我认为是软件开发领域的经典之作:
计算机程序的构造和解释(Structures and Interpretations of Computer Programs)代码大全2(Code Complete 2)程序员的修炼之道(Pragmatic Programmer)重构-改善既有代码的设计(Refactoring)算法导论(Introduction to Algorithms)离散数学及其应用(Discrete Mathematics and Its Applications)人月神话(Mythical Man Month)8. 学士学位一个本科学历能够增加找到工作的概率,无论是新的毕业生还是刚辞职准备找下一份工作的人都一样。想像一下这样的情况:很多毕业生都在争抢一份工作,那么一个在校生的简历是不是更容易被忽视呢?
9. 资格认证(可选)资格考试可以检验你某一方面的技术能力,而通过了某项认证意味着这个人在某一方面有着比较深入的了解,而恰好这方面是一个企业认可的。有一些公司会给有相关认证的程序员提供更高的薪水,当然,也有些公司根本就不在乎这些。比如说,作为一名有资格认证的 Java 程序员说明你对 Java 语言还是有比较好的理解,但同时它不意味着你可以直接将你的理解转为解决问题的能力。所以,一些公司更看重个人的思考能力,而非某种编程语言的经验,因为编程语言可以学得很快,但是解决问题能力的培养不是一朝一夕的。
英文原文:Things a Software Developer Must Invest In
相关文章: