程序员的自我修养 - (EPUB全文下载)

文件大小:0.27 mb。
文件格式:epub 格式。
书籍内容:

程序员的自我修养
第一章 谈职业生涯
第二章 谈实践与认知
第三章 谈个人发展
第四章 谈编程中的教与学
第五章 谈自学设计
第一章 谈职业生涯
一、写给年轻程序员的10点启示
最近,陆续在51CTO和CSDN上看到好几篇写程序员如何成长,如何拿到高薪的文章。文章都很不错,一些观点也很实用,但整篇文章读下来,我总觉得意犹未尽,感觉还应该再给年轻的程序员们说些什么似的。
其实我离开正式的程序员岗位(当时我是一名架构师)已经快3年了,现在我仍然在业余时间做一些感兴趣的开源或个人项目。但我发现恰恰是最近几年,让我能够从不同的角度和视野,对程序员这个职业有了更深入的理解和认识。当我成为一名IT管理者时,我从更多的程序员身上看到了他们身上的一些特质对其职业生涯所产生的影响;当我开始自学设计,我又从设计大师们那里得到很多极具启发性的观点,而它们对程序员们同样具有很大的价值;而当我开始写作,每一篇文章完成后与年轻的程序员读者们进行交流的过程中,我的想法和观点又能得到进一步的完善和提升。
因此,我迫不及待地将这些记录下来,希望从一些不同的角度给予年轻程序员朋友们一些启发。
1.正确地认识自己
我听到过很多用来形容程序员的网络词汇,例如,码农、程序猿、软件工程师、张江男、屌丝程序员,等等。其中大部分都略带贬义,有些甚至是程序员们自己发明出来用于自嘲的。其实这些称呼对你来说并不重要,关键是你自己内心中用了哪一个词汇来形容自己。当你仅仅将自己定位成一个码农,那你可能就是那个整天用着相同的工具,写着相似代码的码农;当你把自己看作是一个屌丝程序员的话,那你也可能就是那个衣食不愁,但整天浑浑噩噩、无所追求的屌丝。
我更愿意用技匠这个词来形容程序员,就像我给自己起的花名一样。程序员应该是那些不断追求更高技术,并有着自己产品梦的工匠。当你通过对自己技术不断打磨,一次又一次做出那些优秀产品的时候,你会发现自己不再是他人口中的码农或是屌丝,而更多被称为了大师、大神,而受到大家的尊重。
我相信没有一个真正的程序员内心里会将自己当作码农或屌丝,那么不妨也像我一样找到一个能真正反映你内心的词汇来定位你自己,通过努力,你会慢慢变成你希望的样子。
2.比一般人更加努力
我曾看到一个关于天才与普通人的有趣漫画(很遗憾我没能找到原图,只能用文字进行描述)。
漫画描述1:一个普通人每天都很努力,他头顶上显示的能力槽也在慢慢地增长。而图中的另一个天才,则整天不务正业,当然他头上的能力槽也几乎没有增长。
漫画描述2:经过了长时间的努力,普通人头顶上的能力槽慢慢接近了满格,此时那个天才醒悟并开始了努力。
漫画描述3:又过了一段时间,普通人头顶上的能力槽终于满格了,但此时天才头顶上的能力槽却早已爆表,高出了那个普通人很大一截,那个努力的普通人只好无奈地抬头仰望着那位天才。
漫画描述4:但当普通人默默回过头来,却惊讶地发现有更多的人正同样充满敬意地仰望着他,因为此时的他也早已成为了大多数人眼中的那个佼佼者。
这组漫画非常发人深省,优秀的程序员往往会被同天才或高智商的人联系在一起,但我想告诉你,你周围所看到的那些天才(身边的优秀程序员)只是在你没看到的时候花了更多时间工作或者学习而已,当你也坚持这么做时,你也会变得和他们一样优秀。
3.适时建立个人权威
我以前有一个美国同事,是个东欧人,在公司里负责一个非常老旧系统的开发和维护工作,用的技术也是几乎快被淘汰的Power Builder,因此他在公司里是个不怎么被重视的人。然而有一天,他突然拿着笔记本电脑敲开了老板办公室的门,并且给老板展示了一个非常漂亮而且易用的Web系统。原来他利用业余时间自学.NET技术,将他所负责的那个系统整个重写了一遍。这个焕然一新的系统一下子让老板和整个公司惊呆了,大家由衷地对他报以敬佩之情。不久,他便被提拔为了开发团队的负责人,而他的那套系统也很快作为公司的拳头产品推出了。
我经常听到一些程序员抱怨自己的职业生涯毫无起色,或者在工作了几年之后就担忧自己遇到了瓶颈。其实,造成这些的原因往往是他们已经习惯了听命于人,而缺少自己的观点和主张,久而久之便成了那个在他人眼中可有可无的平庸之人。你不妨也学一学我的那位美国同事,选择合适的时机去表现自己,建立个人权威,这能让其他人看到你的不同之处,并为你在公司或团队内部构建起良好的影响力。当然,这一切的前提是你通过不断努力积累了自己的实力,并在恰当的时候去展现它。
4.遵循最佳实践
技术总是在不断发展,我们每年都能看到很多新的开发语言、工具和框架的出现,而每隔几年又会产生一些大的技术变革。那么作为程序员,如何才能适应这种变化呢?其实,就像每年都会有新的流行设计趋势,然而设计的本质和原则却始终不变一样。作为一名程序员,你也需要尝试去理解那些软件领域最本质的东西,而我的建议就是学习那些最佳实践。
当你理解了GOF的那些经典设计模式,你就会知道如何使用一个单例来最有效地实现一个Logger组件;当你理解了SOA或是最新的微服务架构,你就能够通过架构使你的企业IT治理更加有效;当你理解了DEVOPS这种新的运维文化和理念,你就能使企业IT运维效率得到显著提升。此外,你还需要理解在网络安全、性能调优、代码优化等各个方面的最佳实践,以使你写出更高质量的代码、做出更优秀的产品。
这些最佳实践或由此衍生出来的框架、工具都是那些富有经验的程序员通过大量实践,总结出来的最优秀的软件开发思想。通过理解和对它们的有效实践,能够让你站到前人的肩膀之上,对软件开发本身获得更深入的理解和认识。
5.保持好奇心并乐于探索新的事物
好奇心可能是那些优秀程序员与普通程序员之间最显著的区别之一。优秀程序员们往往不会满足于对手头工作的认识和理解,他们有很强的意愿去了解那些更深入的东西。比如,他们会通过研究公司的框架(甚至是更底层的框架)源代码,去了解它们具体的实现原理和设计思想。这对提升程序员的技术深度是非常有帮助的。
另外,优秀的程序员们也往往非常乐于探索那些看似与工作无关的技术。比如,做后端的 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 程序员的自我修养 - (EPUB全文下载)