导读:本文根据《Do You Morph Into A Different Programmer?》这篇文章翻译而来,译文来自伯乐在线《你在成长为一个优秀的程序员吗》。
内容如下:
在软件开发过程中,你经历的每件事情都会潜移默化地影响着你。随着时间的流逝,年纪的增长,对于程序开发技术(相同/或者相关能力)以及自身的理解也会不断沉淀,这些最终也会帮助你达成目标——成为一名优秀的程序员。这里谈到的经历不仅限于程序员生涯里的里程碑,比如换工作、成为领导/经理或者自己创业。你所经历的每一份工作、每个项目(不论大小)、与团队成员的每次交流、甚至你实现的每一个程序模块,都会让你变得比以前更优秀、更有活力、更有见地。
在日常的工作当中不放过任何一点可以学习的新知识,会让你成为更加出色的程序员。我说的是重要的经验——你不必去关心琐碎的事情(比如每一次敲击键盘是否完美),重要的是把握好每一天的安排。如果你出去旅游归来发现两手空空毫无收获,你肯定认为这是在浪费时间。对于程序员生涯也是如此。如果你在完成一个项目或者实现了一个程序功能之后自己没有收获(比如,对软件开发的理解没有提高并且也没有学到什么新的技术),这同样也是一种浪费。
你可能会说,有些必须完成的工作对你而言是无聊的重复劳动,从中学不到任何东西。事实可能的确如此,但是这取决于你如何看待它。归根结底你需要自己创造成长的条件,在做事的时候需要保持创新。
从每一次的经历中汲取营养
首先,除了学习新的编程语言,掌握你钟爱的开发平台最新特性,你还需要提高自己的沟通技巧。其次,学习如何与别人一起工作,提高自己团队协作能力也很重要。接着,你还需要掌握领导能力、管理能力、如何自我激励、财务知识、行业专业知识、营销知识和组织知识。除此之外对所从事行业相关的内容最好也要有广泛的认识和理解。在学习的过程中不断将自己推向极限,最终你会不断提升成为优秀的程序员。
我想说的是,无论你做什么,都可以从上面列举的这些方面来对照自己,看哪些方面可以有所提高。有的时候你的机遇很好,接触的是最新的技术,采用的是对你而言崭新的开发流程,这时你不由自主地就开始学习和吸收新知识。而有的时候工作确实很乏味,如果你不会自己创造条件自我提升(从上面列举的方面找到可以提高的地方),你就只能做着机械劳动白白浪费了一次提高自己的好机会,以及自己宝贵的时间。
下面我通过一个例子来说明如何从平凡的工作中提高自己。比如说你是一个SQL大牛,有一项工作需要完成很多SQL,只有你是最佳人选。你很精于此道,表面上这项工作很枯燥而且你也不能从中学到什么。但是如果进一步来看,也许这项任务需要与别人配合完成,而你可能并不十分擅长与别人搭档或者沟通,这就是你提高自己的绝佳机会,你要做的就是发现这个机会。或者也许你也十分擅长与别人搭档工作,但是假如这次你的搭档可能连新手都算不上,这就是你提高培训技巧的绝佳机会,捎带地也让这位新人快速成长。
也许这些都没有发生,你在做着一件你闭着眼睛都可以完成的工作,为什么不尝试去更深入地了解和提高你使用的技术呢?也许你也可以就此机会提高一下你的打字技巧,这肯定没有什么坏处。如果你实在不想做这件无聊的工作,可以尝试和老板沟通一下把事情推掉,虽然这不在我们上面的讨论范围之内,你也可以尝试一下。也许沟通不能达到目的,但是你可以从尝试沟通当中锻炼一下自己的机智和勇气(如何在尴尬的情形下保持镇定),毕竟你不会为了推掉任务而去惹恼你的经理/领导:)。所以,如果你能从不同的角度看待一个任务,突然之间你会发现在成为优秀程序员的路上又迈进了一步。
如果你在原地踏步该怎么办?
有的时候你一直无法摆脱一些事情(似乎这些事情本来就是如此)。即使从各个角度看也无法从中找到一点可以提高的地方,这个时候你该怎们办?这个问题问的很好,但你应该问的不是这个问题。如果你真的觉得不能从工作中学习和成长,为什么你还在做这样的工作呢(这个才是你应该问的)?如果是因为经济的原因(比如你现在的收入很高),那么一定要确保不会为了短期利益而损害了未来的前途。如果是因为你舍不得团队里一起工作的同事,那么只要分析一下利弊就会知道,即使你不在这里工作了,你们依然还是好朋友。你只是离开了公司,但你们的友谊没有结束。
如果不是上述的原因,那你为什么还在做这样的工作呢?你应该意识到,你会因此丧失宝贵的机会。请记住,对你所做的每一件事情给出评价,看它是否能给你带来改变或者加深你对程序开发技术的理解。如果答案是否定的,你可以马上离开;如果答案是肯定的,那么(做这件事的时候)你不但能够从中获得满足感,而且每一天(而不仅仅是每一年)都会在技术和人格上朝着完美的境界迈进。
分享到:
相关推荐
程序员成长路线图 从入门到优秀
Read)列出了多达一百条准则,旨在帮助读者全面掌握成为优秀程序员所需的知识和技能。本文将基于原文的标题、描述和部分内容,深入解析其中的关键知识点,以助于广大编程爱好者更好地提升自我。 ### 个人技能篇 #...
程序员成长路线图是 IT 行业中一个非常重要的主题,作为一个 IT 行业职员,我经历过一个普通程序员成长的过程,同时也接触过许多不同层次的程序员。他们或在我身边匆匆而过,或与我共同工作,或在我可以关注的范围内...
关于什么样的人可以被称为程序员,文章中给出了一个相对宽泛的定义:“凡是从计算机专业或相近专业毕业的、以编写程序为职业的人都可算得上是程序员。”然而,在早期,由于计算机行业的快速发展和技术的不断进步,很...
对于想要踏入或正在走在这条道路上的Java程序员来说,理解并经历一个完整的学习和发展过程至关重要。以下就是一篇关于“Java程序员的成长历程”的详细解读。 首先,Java初学者通常会从学习基础语法开始,包括变量、...
### 如何成为一个优秀的Java程序员 在当今快速发展的信息技术领域中,Java作为一种强大的编程语言,不仅在企业级应用中占据着举足轻重的地位,也在移动应用、桌面应用等多个领域发挥着重要作用。对于想要成为一名...
《系统程序员成长计划》是一份针对想要在系统编程领域深入学习和发展的程序员的教程资源,主要基于C语言。源码.zip或.rar文件通常包含了多个源代码文件,这些文件是学习和理解系统编程的关键,因为它们提供了实际...
从1.5K到18K,一个程序员的5年成长之路 《从1.5K到18K,一个程序员的5年成长之路》是一篇励志的博文,讲述了一个程序员从基础薄弱到入职心仪公司的5年成长经历。本文的作者通过分享自己的成长经历,希望能够激励...
在C++程序员的成长道路上,经常会遇到一些常见的误区和弯路,这些弯路不仅会浪费大量时间,还可能阻碍技能的真正提升。以下是C++程序员在成长过程中最常走的四条弯路,以及如何避免它们。 ### 弯路一:通过MS-VC++ ...
51CTO提供的资源包,名为“一个程序员走过的路”,无疑是一套全面的程序员成长指南。这套资源包可能包含了从基础知识到高级技巧的全方位内容,从C语言和C++的语法教程,到文件操作的实例分析,再到算法设计与实现的...
【如何成为优秀的程序员】 在IT行业中,成为一名优秀的程序员是许多...亚嵌老师的讲解会提供一个良好的起点,但真正的成长在于自己的努力和不断的探索。通过不断积累和提升,你也能在编程世界中找到属于自己的位置。
《JSP程序员成长攻略》是一本旨在帮助程序员深入理解和熟练运用Java Server Pages(JSP)技术的书籍。这本书的源代码部分提供了丰富的实践示例,是学习和提升JSP技能的...在实践中学习,是成长为优秀程序员的关键步骤。
"成为优秀程序员的 101 个技巧" 本资源为程序员提供了 101 条实用的技巧,从搜索问题答案到编写有用的注释,从承诺不足到超额交付,从寻找导师到成为导师,从适当命名变量到删除不用的代码,从学习阅读代码到建立...
【优秀程序员45个习惯】是一本旨在提升程序员专业素养的书籍,由敏捷开发领域的权威Venkat Subramaniam和Andy Hunt共同撰写。这45个习惯覆盖了态度、学习、开发流程、用户、编程以及团队协作等多个方面,旨在帮助...
作为一个程序员,真正的成长不仅仅是掌握更多的编程语言或框架,而是涵盖了技术、思维、沟通、学习能力等多方面的提升。本文将围绕这些关键点展开,探讨程序员如何实现自我进化,成为更优秀的开发者。 首先,扎实的...
从给定的文件信息中,我们可以提炼出一系列与C程序员成长相关的知识点,这些知识点对于初学者尤其具有指导意义。...希望这份成长计划能为每一位致力于成为优秀C程序员的朋友提供有益的指导和启示。
因此,对于立志成为优秀程序员的人来说,理解行业动态,把握软件发展的趋势,同时积累丰富的经验和开阔的思维,是必不可少的成长步骤。不仅要精通编程语言和技术,还需要学会如何将程序转化为有价值的软件产品,适应...
程序员作为一个以技术为核心的职业,其成长之路充满了挑战,但同时也充满了机遇。通过深入分析和理解这些成长过程,我们不仅能够获得技术上的提升,更能吸取宝贵的人生经验。 “奋斗篇”通过讲述程序员个人成长的...