你的健康
显而易见,开发人员经常都是坐着不动的。每天坐8到16个小时,只休息很短的时间,你的肚子周围很容易会堆起赘肉。肥胖是其它疾病的催化剂,而其中心脏病又是最可怕的。多花点时间运动一下就能避免这样的情况,如果有可能的话,花点钱办一张健身房的会员卡。
长时间以不符合人体工程学的姿势打字,也容易使开发人员选成重复性的肌肉损伤,比如说腕管综合征。每隔几个小时拉伸一下你的手腕或者买块鼠标和键盘都能用的手腕护垫可以避免这样的损伤。
盯着屏幕也会给你的眼睛造成压迫,这就是为什么建议配一副防眩光眼镜而不是普通眼镜的原因(假设你是戴眼镜的)。
提高你的数学能力
数学可以提高你的逻辑思考能力,解决问题的方式,在多数情况下,它还能增加你的耐心。有些数学知识是可以直接在软件开发中使用的,比如离散数学 ,但有些知识忘了也没事,这要看你从事的是那个领域的开发了。比如说,游戏开发人员经常会使用到物理和微积分,而我作为一名企业应用的开发人员,很少发现有能用上它们的地方 。不管怎么说,数学能让你变得更加优秀。
提高你的英语水平
编程、脚本 、标记性语言使用的都是英文,而开源项目比如Linux它们的注解通常也都是英文。来自世界各地的开发人员通过英语来协作开发。面向国际客户的开发人员都必须学习英语,因为这样才能够将业务需求转化成解决方案。
明白了吧?英语对程序员来说,就好比二进制对于计算机一样。
一个自己的域名和网站
有一个自己专属的邮箱地址而不是什么something@yahoo.com或者someone@gmail.com是不是感觉挺酷?每年只需花费一点点钱,就能让你看起来和别人与众不同。我自己买的这个lambdageek域名只花了13美金而已。个人域名还能给你的个人品牌添加自信和专业,让潜在的用户或者同事了解到,你自己究竟是什么样的。当然了,这假设你的域名不能是什么乱七八糟.com。
一个活跃的Github帐户
作品集之于艺术家就犹如Github之于开发人员。这点就不必多说了。
一台好的电脑
你听说过有程序员没有自己的电脑的么?我是没听说过。没有自己电脑的开发人员就好比没有激光剑的绝地武士一样。我这里指的好的电脑至少得有4GB内存(要想不那么快过时至少得有8GB)。我比较推荐的是4000刀的Macbook Pro,不过对于那些有特殊需求的极端场景,我持保留意见 。
足够快的网速
互联网就是码农们的氧气。断网对我来说就好比断了空气供给一样,简直无法忍受。有了一个稳定的网络连接,你可以看下视频教程来进行学习,或者泡泡论坛,甚至可以及时关注到Hacker News上的最新文章。
读一些经典的计算机科学的书籍
有一些书我认为是软件开发领域的经典之作:
- 计算机程序的构造和解释
- 代码大全2
- 程序员修炼之道
- 重构-改善既有代码的设计
- 算法导论
- 离散数学及其应用
- 人月神话
学士学位
一个本科学历能够增加获取工作的几率。不管你是刚毕业的学生还是刚辞职准备找下一份工作,这都是有用的。再想像一下这样的情况 :如果很多研究生都挤破了头去抢一份工作,那么一个本科生的简历能被看到的概率又有多少?
资格认证(可选)
资格认证能检验你的某一项技术的能力。通过了某项认证意味着别人已经认可了,你对企业认为可能有价值的某个东西有了比较深入的理解。有些公司会给有相关认证的程序员提供更好的薪水和待遇,但有些公司压根儿就不在乎这些东西。比如说,成为一名认证的Java程序员意味着你对Java语言理解得比较透彻了,但这并不意味着你具备了解决问题的能力。一些公司更看重的是一个人的关键的思考能力而不是他在某项编程语言上的经验,因为编程语言可以很容易学会,而解决问题则不然。