作为一个程序员是幸福的,我们见证了互联网、移动互联网和大数据时代的变迁,从来没有一个行业可以有这么多激动人心的产品,可以这样改变整个人类的生活,我们很幸运身处在这个行业中,可以亲身参与那么多令人兴奋和挑战的工作。
同时,作为一个程序员也是迷茫的。这个行业还太年轻,变化太快,无休止的加班,学不完的东西,学完的知识又马上被淘汰。我们好像总是疲于奔命,却不知道未来的路在哪里。很多人说技术这个职业是青春饭,确实,快速的工作节奏,对身体的消耗也是巨大的,岁数越大越会感到压力。
程序员就是这样一个痛并快乐着的职业,随着信息技术对人们生活的渗透,在我们可见的未来里,这个职业仍然是非常有前景的。
程序员的工作像是艺术和工程的结合体,一方面,他不是纯粹的艺术,他是有明确的用户需求的,是要在有限的时间点和资源的情况下,为用户交付高质量的产品。
另一方面,他也不完全是工程化的项目,我们要为用户打造激动人心的产品,就需要有创意的思考,就需要打破常规,给用户惊喜。而创意的来源恰恰和艺术是想通的,就需要我们具有细腻的感知力。
那么,怎么做好这个职业呢?怎么才能不焦虑呢?我想起了日本的寿司之神,到今年已经90多岁的小野二郎,做了一辈子的寿司,他并不觉得做寿司是一件无聊的事情,而是乐在其中,而且每个环节都精益求精。用时下时髦的词来说,他是一个匠人。我们做程序开发不也是如此吗?要寻找这个答案,我们就需要观察顶尖的程序员,看他们是如何思考的,如何做事的,如何打磨自己的手艺并乐在其中的。
下面的章节,我们会分为四个部分来聊这个话题。第一个部分,我们会聊怎么打磨好代码开发这个手艺。比学习更多的知识更重要的是掌握编写好代码的心法,学会其中的思维方式。第二个部分,我们会聊怎么让团队紧密的协作,程序开发是一个需要团队合作的事情,怎么让大家愿意跟你合作至关重要。第三个部分,怎么做出激动人心的产品,或者优雅的架构设计,这些都需要创意,程序员应该磨炼自己的创意能力。最后一部分,怎么成为一个优秀的匠人,专注到当下,而不是被纷繁的欲望和焦虑困扰,这需要我们向内求,了解自己,改变自己。
我观察身边的很多顶尖的程序员,他们跟普通程序员的差异并不在知识上,而是在思考方式和做事方式上,但是反而是这些基本的原则,经常会被我们遗忘,一直坚持下来却很难。我们这四个部分就是想聊一下这些基本原则,期望他能成为程序员的穷查理宝典,能引起大家的一点点共鸣。