Joel其人
joel作为软件行业的前辈,阅历可谓丰富,只是令我更加震惊的是他的文字功底竟然也如此了得,嬉笑怒骂间鞭辟入里。因为网上有人评论他为美国的和菜头,顺便说一句,和菜头是我非常景仰的南大学长。
Joel在1991年加入微软的excel开发小组工作,曾经作为程序经理,接受过比尔盖茨的审查。后来辞职了自己开始创业。
招募人才
他在第二章里面介绍了优秀程序员的定义,以及如何寻找他们。他联系自己的经历,说了三个基本方法。第一是走出去,第二是招募实习生,第三是建立和经营自己的社群。
他鼓励招聘人员要到开发者会议上结识程序员,关注最新的趋势,和他们产生共同话题。
此外,他还强调了,要招募那些还未出现在招聘市场上的优秀人才,就是以实习生的身份,将那些学校里面的优秀拔尖学生招入自己的公司,并且在实习期间,给予他们最好的资源,最优的待遇,让他们接触最新的最实用的工作,那个成本看上去可能有些高,但是作者认为建立一条输送人才的管道是非常具有回报的。
作者提到的要建立社群,他的办法就是在论坛上发表文章,然后吸引优秀的程序员阅读,借此找到招募他们的机会。
最后作者还讲了自己招募程序员的实际经历,他会给程序员安排独立的办公室,为他们提供良好的环境以及独立自主的氛围。
另外重要的一点是,他认为让程序员干有趣的活是吸引他们的最好方法之一。比如可以让一流的新员工挑选他们自己的项目,以及使用一些非必要的热门新技术。
作者还总结了让程序员对公司产生认同感的方法,并且断言道,程序员在乎的是公平公正而不是钱。
给未来程序员的建议
第二章中,作者谈到了给未来程序员的一些建议,这部分给我留下的最深的印象,也使我对现在的学习状况,进行了反省。
作者先是拿java举例,因为它隐藏了两个很重要的知识点,指针和递归,因此无法区别一个程序员的优秀与否。并且揭露了一个残酷的事实,就是如果课程不够难的话,无法将一些资质平平的学生淘汰掉。而且认为大学应该是,给予学生知识的地方,而不应该为他们的第一周上班做准备!
作者还提醒读者,不要做一个内部程序员,理由如下。第一,你总是被迫用最保险的方法做事,那不是正确的方法。这次一旦你的程序可以用了,就必须得停止开发,需要立即停止在这上面的投资。第三,如果你只为内部程序服务,那么你的工作将与公司的运营业务没有关系,那就意味着管理层并不会如何重视你。
作者还为计算机的学生提供了一些非常实用的建议:
第一是练好写作,一个优秀的程序员应该具有很好的文字能力,以便可以写很好的说明文档,以及放大自己的影响力。
第二,要学好c语言。对,他是程序员之间最基础的共同语言,也是最接近机器原理的语言。
第三是学好微观经济学,你才能搞清楚,基本的经济原理,从而明白自身的竞争优势。
第四要选修有大量实践的课程,因为它能使你真正动手来开发一个软件,就像你选修历史学习包含大量写作的课程,在这样的刻意练习下,你的技术将会突飞猛进。
作者对于设计也发表了一些自己的看法,首先是不能给用户太多的选择,因为这会造成用户的困扰,从而影响用户体验。接着他还根据自己论坛运营经验讲了这方面的实践。
项目管理
第四章中,作者设想了一副为火星人设计的耳机,并由此引申的一个好的设计需要经历的过程。
此外他还根据自己在微软的跟工作经验,剖析了office的文件格式如此复杂的原因以及提出了一些对策。
作者还在本章中提出了一个直白的道理,那就是赚钱要以解决麻烦为前提,就是找到客户的痛点,并且帮助他解决。并且扩张自己擅长处理的麻烦的边界,是保持增长的不二法门。我要记住的重要一点,可是每当你今天解决了一件麻烦事,你的业务和市场都会有巨大的增长。
编程建议
第四章中作者介绍了一些关于编程的建议,首先他觉得应该定一个日程规划,然后需要将日常时间花销都记录下来,要进行用途追踪,模拟未来,并且不要有强迫症,最后还讨论了匈牙利命名法。