初级程序猿到大神的晋级之路转载自宅客学院

工作了五年的工程师,算不算高级开发者?归类开发者不是简单地看工作年限,因为经验这种东西千金难换但又一文不值。

我们现在工作的行业很奇怪。明明每年都有新的从业人员涌入人才市场,但企业依旧诉苦自己迫切需要大量的开发。这种问题存在已久,而且已经越发严峻。

开发者这个行业非常年轻,也面临着很严重的人才短缺问题。大部分的软件开发项目无疾而终,原因是后期开支过于庞大。那些行业里的大佬是怎么建议我们的,他们说「世界上永远存在解决问题的办法,但我们还是会遇到各种难题。因为除非我们真正去尝试解决,否则永远不知道哪种方法奏效。

认识一个现实吧,当你从事开发工作三年以上,就可以称呼自己为「高级开发者」。但实际上,有些人只是在这个位置上混三年,而他们只是虚有其表,水平严重不符合职位。

这确实是我对同行的评语。

首先,根据知识和经验把人分为初级开发者、中级开发者,和高级开发者,这是非常一刀切地分类。有些人可能只是在一个位置上混了十年,然而他的成长甚至没有另一个人一年所学到和经验多。

开发者的高速成长期

身为一个程序员,我们生活在一个 IT 系统越发复杂且多变化的时代。有时候执行一个简单的开源项目,都需要精准定义并耗费大量时间专注任务。尤其是当你身为一个新晋程序员,或者对手下的数据库还很陌生的时候。

菜鸟程序员很难当。你可能刚从一个还不错的大学毕业,你觉得你已经掌握了基本的常识。但突然间,你在工作上面临的是另一套崭新的知识。在很长时间内,你都对自己所要做的工作没有任何头绪。而对于上司提出的要求,你似乎只能妥协,而且没办法作出有效质疑。

在这个阶段,你必须要做的是专注。而且尽可能地放开心胸,去努力学习。初级开发者在工作之初,需要大量的练习,指导、监管,以及需要一个能帮助他们的老师。缺乏以上的任何条件,初级开发者都很难很难迈过这个初学者门槛。

我最近遇到一个家伙,他已经有十年的软件构造经验,但是我很遗憾地发现,他的真实水平依旧只是初级开发者。你可以说这个阶段,是战略上的积累状态,但就是要学习加积累,积累再学习,缺一不可。

初级开发者必须要专注代码本身,在这个阶段,不要分心想任何其他乱七八糟的事情。在开发一个项目时,如果身为程序员想的是「我想让自己的代码在别人眼里看起来漂漂亮亮的」,而不是「我做的东西应该以用户感受第一」,那么他本身就是一个初级开发。

一个好的开发者可以出色地完成任务,而且不仅如此,他们能以较短时间出色完成任何,后期也会维护好。

中级开发者的瓶颈期间

当一个开发者脱离菜鸟阶段成长为中级开发者时,他们能够在项目失败时反省整个过程(通常,他们会看自己所做工作部分)。而且会意识到,比起匆匆忙忙埋头苦干完成任务,应该在项目最初就建立起一些规矩。甚至于如果最开始有人指正他们,整个项目就能在最初避免走向失败。

而中级开发者还会体验另一个独特心理过程,那就是当他们回首一年前的工作。发现尽管当时认为「哎呦,自己做的还不错」,但现在会发现「这都什么玩意」啊。

一个中级开发者是有能力通过以往经验、文本资料、项目团队讨论等方式,摸索出「正确方法」做事的人。在这个阶段,学习构建软件的理论比学习构建代码更重要(后者应该在学校就掌握了)。

另一方面,中级开发者假如自作主张起来,造成的危害比初级开发者更大。初级开发者只会堆砌算法,一个好的中级开发者努力方向是「模式设计」和「范畴驱动设计」。这些技能是他们搭造 OO 系统的必备过程,学习完这些理论知识如果灵活运用,可以让他们更好地构造项目。但如果僵硬使用,也会危害整个项目。

有的时候,让一名中级开发者搭造系统,他耗费的时间可能比初级开发者更长,而且更糟的情况是他可能带整个团队走向迷途。很可悲的是,很多项目开发之所以走向失败,因为领队者自己只是一个中级开发者,他们缺乏和高级开发者工作的珍贵经验。团队领导自己,而且团队里其他人都没有意识到这点。

中级开发者很清楚自己在团队中起到的角色,能认识到他们给团队工作带来的价值。一个好的中级开发者知道代码是用来解决问题的,而不是用来终结问题的。然而,中级开发者总容易陷入一种认知上的金字塔,那就是他们会遵循一些「正确的方式」去解决问题。

一个好的中级开发者需要少而精的监管。他们在代码构造方向非常可靠,而且会在讨论设计的过程中发挥重要作用。中级开发者是团队中的「发动机」。但是,如果进一步的指导和更高级别的监管仍然是必不可少。

高级,甚至是大神开发者需要满足的条件

一个高级开发者,不夸张地说,他能记住自己每次的错误。他们甚至能在设计或者编写代码的时候,就能预见到很多失败。他们会对错误进行非常敏锐地反馈,用一种诚实的方法去评估自己的成功和失败。身为高级开发者,他会更倾向于热爱复杂问题,但会痴迷于简洁地解决它。

高级开发者不会给其他开发者划分等级。与之相比,他更多的是懂得。因为懂得,所以理解每个人在每个阶段都有长处和短处。而他们也比别人更了解自己的长处和短处,力求把自己的优势最大化。

一个高级开发者会懂得,所有理论基础都有背景支持。他们不会执着于「对的方式」去搭造软件,而是把理论灵活运用于实际,理论可以变通用于为客户、团队和组织需要服务的工具。

高级开发者会在项目过程中,设身处地了解客户想要什么样的工作结果,以及他们的喜好。毕竟这些东西,比开发者个人的偏好和成功更重要。他们永远不会说「那不是我的工作」,也永远不会推搡任务和责任。

资深开发者会懂得一件事,那就是他们的工作是为了客户提供解决方案,而不是埋头写代码。而一位资深开发者永远会把自己团队能给顾客带来多少价值,放在考核标准。而不是把自己的努力和客户需求放在对等的 PK 赛场里。

诚然,因为这是一份工作,所以中间的过程总会非常枯燥和无聊。但资深开发者会退一步,思考怎么能解决和打破这些无聊的问题。他们会评估本源问题,直接解决它。或者他们会把枯燥情绪放在旁边,修复日常必须要面对的问题。

资深开发者也会懂得团队工作的高效。没有人能自己做一切工作,他们会致力于提升自己团队的效率。他们把提高团队效率所做的行为,视为提高自己软实力的一部分。

资深开发者懂得,领导力不仅仅只是权力,也不仅仅只是控制力。权力不是交通棒,而是一种服务意识。

如果你的团队中缺乏高级开发者,那这个项目基本都无一例外走向失败。拥有中级开发者能让你做事情非常快,但是在工作中你会发现,项目不仅仅只是搭造和维护程序。最终你只能关闭网站,或者用比预期中更高昂的价格维护它。只有高级开发者能选择技术和网站,而不是任由他们来伤害你。

很多需求很简单,但大多数简单需求后面,隐藏更复杂的需求。

而现实情况是,我自己很厌倦以工作时限来分类开发者。是的,工作经验能告诉你很多事情,但通常提供的都是无意义的信息。甚至于这些信息,也必须要结合很多背景来判断。

更重要的是,我们行业里需要新鲜的血液,需要招收那些刚从大学毕业充满激情的年轻人。而即使给程序员划分种类,也不可仅仅只看工作经验。实际上我们招收程序员前,应该先思考团队都需要那些人才。毕竟,我们招收的人才是为团队服务。当你招聘到错误的人选,不过是给团队和项目帮倒忙。

时间: 2024-10-09 22:44:16

初级程序猿到大神的晋级之路转载自宅客学院的相关文章

医生转行程序员竟然是最简单的?转载自宅客学院

“现在的编程工作就像是对你需要解决处理的部分做科学研究.” ——Gerald Sussman 设计和维护好的软件就像是一个抵制复杂度的永无止境的奋斗过程.任何足够大小的应用程序的代码路径和组件都能迅速成长成令人眼花缭乱的组合爆炸. 一点都不简单. 当部署类似于Heroku和AWS的平台时,单服务器的Web应用程序成为了分布式系统.现代浏览器模糊了客户端和服务器之间的界线.当简单程序在多个CPU内核上运行时,它们就会成为复杂的协调问题.虽然像测试驱动开发等实践和SOLID原则等指导,可以帮助我们模

你高山仰止的诚意有多大?转载自宅客学院

这个时代对于学 IT 的人来说是幸运的.一个普通的程序员可以相对轻易地找到工作,可以轻易拿到比其他行业高得多的工资,甚至自己创建世界级的企业亦非空想.马云.马化腾等企业家的成功,似乎时刻提醒人们:即便是草莽出身的人,也能通过努力令世界瞩目.马云自己也说过:“如果我能成功,那么中国 80% 的人都能成功”. 美国有科学研究表明,95% 的男人认为自己比其他人聪明.更何况中国人从小就耳濡目染“王侯将相宁有种乎”.“诚如是,则霸业可成,汉室可兴矣”,恐怕无人不梦想着有一天自己便是名扬天下的马云,大有“

怎样成为一名“喜鹊”程序员? 转载自宅客学院

我时常在想,软件开发人员在某些方面和喜鹊——一种臭名昭著地喜欢偷发亮的物品来装饰它们巢穴的鸟类非常类似.像喜鹊,从定义上说明软件开发人员是一种异常聪明,又有好奇心的动物.但是,我们非常非常容易因为闪亮的新玩具而分心. 我 一点也不觉得阅读类似Scott Hanselman的<Ultimate Developer Tool list>鼓舞人心.相反,它令人疲劳.软件世界前进的改革步伐是无情的.我们的周围充斥着各种所谓闪亮和新的东西,其概念本身开始瓦解,一遍一遍又一遍 地重复这些陈词滥调,直到它们

程序员之歌 - 大神去哪儿

程序员之歌,大神去哪儿 演唱:群猿       起调 菜鸟:大神,你会唱<小猩猩>么 大神:不会啊... 菜鸟:那我教你哦 大神:额,好吧 菜鸟:一步一步调程序,猩猩加班到天明 大神:额,你有调错哦 大神&菜鸟:(一起笑) 菜鸟A:我们公司有个人很酷 菜鸟B:设计接口架设服务 菜鸟C:他的代码有一点难读 众菜鸟:指引我们走出迷雾 老板A:谢谢你在这,我的老朋友 老板B:你是我用过最好的下属 老板C:支撑起无数产品的蓝图 众老板:按时上班,风雨无误 众菜鸟:大神,大神,我们去哪里呀 众菜

【转】“菜鸟”程序员和“大神”程序员差距在哪里

努力做大神程序猿,下面的文章真的说到通点了,最近就在思考这个问题,马上工作五年了略迷惘了.加油,尽快调整好自己 “菜鸟”和“大神” 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术的东西.首先请您先想想这几个问题.现在社会上有很多程序员,那您是否可想过程序员为什么会有不同的水平?你又是哪一类的程序员?“菜鸟”程序员和“大神”程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里? 上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案.确切的

学会思考--菜鸟程序员晋升大神之路

"菜鸟"和"大神" 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术的东西.首先请您先想想这几个问题.现在社会上有很多程序员,那您是否可想过程序 员为什么会有不同的水平?你又是哪一类的程序员?"菜鸟"程序员和"大神"程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里? 上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案.确切的说程序员分为"菜鸟"

“菜鸟”程序员和“大神”程序员差距在哪里

“菜鸟”和“大神” 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术的东西.首先请您先想想这几个问题.现在社会上有很多程序员,CSDN就是我们程序员的家,那您是否可想过程序员为什么会有不同的水平?你又是哪一类的程序员?“菜鸟”程序员和“大神”程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里? 上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案.确切的说程序员分为“菜鸟”程序员和“大神”程序员. 一个程序员有多优秀,就得看他写的代码!

818屌丝程序猿这一年的IT之路,工作,生活,感情(一)

前言 写这篇文章纯属回忆,今天在csdn上看到了一程序猿哥们心酸的相亲故事,本来自己也是准备写下感情方面的事的,因为程序员天生的在感情方面的木讷以及多年的自黑与他黑,已经让外人觉得程序员这个群体天生跟感情无缘,其实不是的.最后转念一想,感情都写了不如连工作和生活一并写了算了.不过今天那位哥们的事迹确实真的挺看着让人心酸的,20多岁的人了,连女孩子的手都没牵过,请一个女孩子吃饭各种不自在尴尬,处处透露出屌丝气息,作为程序猿,我要引以为戒啊,哈哈,不好意思调侃了下那位老兄了,你还是很令人敬佩,很可爱

开发人员程序猿10大聚集地

1.csdn CSDN是中国软件开发联盟(Chinese software develop net)的缩写,是中国最大的开发人员技术社区.它是集新闻.论坛.群组.Blog.文档.下载.读书.Tag.网摘.搜索..NET.Java.游戏.视频.人才.外包.第二书店.<程序猿>等多种项目于一体的大型综合性IT门户站点,有非常强的专业性,其会员囊括了中国地区百分之九十以上的优秀程序猿,在IT技术交流及其周边国内中是第一位的站点. 2.DevStore DevStore全称Developer serv