上次提到了最近在看的Soft Skills: The software developer’s life manual这本书,感觉都还是非常不错和实用的建议,在有些地方还颇有共鸣。这本书共分为七个主题,每个主题大概10个章节,介绍了作为一个高效程序员的方方面面,这不是技术手册,是生活指南。今天来复习一下第一个主题关于职业发展 (Career)的一些建议。
第一个建议是要有自己思考,而不是简单去重复大多数人的选择。这里作者提到用不同的思维来看待自己的职业,那就试Business Mindset, 不是把自己看作一个普通的为公司服务拿工资的职员,而是把自己的职业发展看成为一个自己的Business, 工作是自己给别的公司提供的服务,而工资则是别的公司为自己的服务而支付的费用。这样职业的发展就是经营自己的Business, 进而去思考如何使自己的服务更有竞争力和建立关于自己服务的口碑。
第二个关于职业发展的建议,是建立明确的目标,并且细化到每个月,每周和每天的小目标,同时要记录实现的过程,反思和提高。
第三个建议是处理与人的关系。程序员这门职业绝对不是仅仅和电脑打交道写程序,实际上这门职业和大多数别的职业无异,是和人打交道,无论是客户需求的理解,团队的合作,开会,检查代码等等。所以学习和人打交道是非常关键的,这里作者推荐了那本著名的How to win friends and influence people书,这本书倒就是在我的书架上,需要仔细阅读并运用到实际中去。在这里作者提到了和人打交道的几个重要的方面,一是记住每个人都有被感觉到重要的需求,二是Never criticize, 指责是毫无用处的,在管理的实践中对正面行为的奖励比队负面行为的惩罚通常都更为有效。三是多换位思考,从对方的角度去理解问题,最后是避免争执,大部分不同的看法是不值得花费时间去争执的。
第四个是关于面试作者提出了不同于传统的建议,包括建立自己的口碑(Market yourself),比如写技术博客,而如果面试官读过你的博客,那么面试就会简单很多,然后是拓展自己的交际圈,主动去认识自己心仪公司的职员,这样得到Referal也会对面试有帮助。还有就是关于简历,作者建议雇佣专业人士去改进自己的简历,我倒不是非常认同。
第五个是理解提作为程序员的一些不同选择,雇员,咨询和创业,和它们各自的优点和缺点。接着作者比较了不同规模公司的优缺点,之后提到是专业化(Speciality)的重要性,这是让你和别人不同的重要的地方。
第六个是关于在公司晋升。建议包括积极Take responsibility, 包括注意被忽视的项目,帮助新同事ramp up, 把流程用文档纪录下来并保持更新等等。然后是Visibility, 包括纪录每天的活动给manager发Weekly report, 给组里面做Presentation,在会议中积极发言等等。接着是持续学习,不仅仅是学习关于软件的开发,还应该学习领导力,管理和商业相关的领域,并通过分享你学到的东西来提高自己的影响力。还有就是成为Problem Solvers,如果你能解决别人不能解决的问题,那么你就会成为公司中最有价值的人。最后是关于政治(Politics), 作者认为和别的比起来,这是最不重要的,仅仅通过此而得到的晋升是不牢固的,作者也提到政治是不可避免的,你至少应该知道在发生什么,什么样的人你应该避免接触,什么样的人你应该永远不打交道。
第七个是关于”Being a professional”,Professional有很多品质,包括有基本的原则,专注于做正确的事情,勇于承认自己的错误和无知,可靠,有责任感。成为一个Professional的关键在于形成良好的习惯,坚持做正确的事情,在必要的时候勇于说不,持续地寻找改进工作和自我的空间,永不止步。
接着的几个章节是关于辞职和开始为自己工作。包括做好经济上的准备,如何寻找目标客户,startup公司的大致发展轨迹。
最后作者强调了两个关键的态度,一个是”Fake it till you make it”, 这并不是去说谎和假装自己知道并不熟悉的领域和知识,而是一种面对问题的态度,一种发自内心的自信会让你更好地去面对困难的问题,或者更快地称为自己想成为的人。另一个是避免对技术的偏执(“Religious”),,这个其实很常见,比如网上常见的”Vi vs Emacs”, “C# vs Java”, “Windows vs Linux”等等,其实所有的技术都是好的,能解决问题的就是好的,而对于技术的偏执会限制自己的事业,所谓百害而无一利。
从自己的角度总结一下这个章节,那就是首先要不同的思维来看待自己的职业,明确自己的职业目标并落实到每个月每周每天的实际行动中,在日常工作中形成专业的态度,坚持学习,不断提高自我,特别是注意提高与人相处的技巧,避免无谓的争执,永远相信自己”Fake it till you make it”。经常反思自己的进度,持续改进。勉之!