晓得这些体现,你能力在本人的程序员职业生涯中不犯雷同的谬误。
软件行业的工作教训和你从事这个行业的工作年限间接相干。这句话在某种程度上是对的,然而你从事这项工作的年限,并不一定代表你取得了雷同年限的工作教训,正如一句话所说:“咱们认为咱们是工作了十年,其实却只有一年的工作教训,只不过又反复用了九年”。
有一些人尽管工作了很多年,但工作体现就像刚入行的新人。他们简直不学习软件开发的基础知识。除了最后几年有所成长,前期始终停滞不前,而且他们不明确为什么。
与此同时,我也曾与一些只有几年工作教训的开发人员共事,他们体现出惊人的增长后劲。他们工作态度端正,并且明确如何防止不称职的行为。
依据开发人员的某些习惯,能够非常明显地分辨出谁更业余,谁更业余。让咱们深刻分析下业余程序开发人员的 7 种体现,每个程序开发人员都应该引以为戒,这些谬误会妨碍咱们的职业倒退。
1. 一次性提交大量代码
回顾下,你是否碰到过一次性提交大量代码的人,你都不想给他做代码评审。是的,不业余的开发人员就会这样做。他们会在一次代码评审申请中蕴含多个模块的批改,而且会督促你优先评审他们的代码。
是啊,能不急吗,排到后边,还须要解决代码抵触的问题。这个问题在很多高级开发工程师中也存在,他们在性能开发期间不做任何提交,只有在性能彻底完工后,才会提交所有批改,于是代码评审中的任何意见都会引起大量的批改。
当我碰到这种代码评审申请时,我首先做的是要求提交者按功能模块将其拆分成多个小的申请。我只会对 issues(工作管理系统)中的第一个性能需要评审,而后将其转回提交者。如果我有工夫,我会和提交者连线进行代码实时评审。
你能做什么:
进行小的代码提交。一个好的做法是:每个工作日都进行代码提交。
不要提交没有编译或者会导致构建失败的代码。
2. 代码写的很烂
缺乏经验的开发人员写不出丑陋的代码,他们写出的代码会很凌乱,而且散布在代码库的各个局部。阿里的《Java 开发手册》倡议看看学习下。
当你尝试浏览这类代码时,会感觉本人身处一座迷宫之中。你会逐步遗记本人是从什么中央开始的,要寻找什么以及这段代码实现了什么性能。
有教训的开发人员晓得代码如何设计。除非要开发的性能不言而喻,首先须要在纸上写出你对需要的了解并画出流程图(简化版的规格需要说明书),在脑海里对这段代码进行一个残缺的构思。除非你彻底弄清楚了如何批改,否则不要开始代码编写。
如果你不恪守以上的规定,当你回顾本人实现的代码时会十分苦楚。当前如果须要修改问题或者减少性能,也会变得十分辣手。你能做什么:
编写代码之前,对你要实现的性能有个清晰的理解。为了分明地了解需要,你须要尽量多问问题。
让你的代码简洁而优雅。其余团队成员能够读懂代码并了解它打算做什么。
3. 同时发展多项工作
缺乏经验的开发人员不晓得什么时候开始一项工作、如何推动、什么时候完结。他们试图并行处理多项工作。他们不晓得如何将一项大工作合成为小的模块,从而加重实现的难度。
当他们收到一项工作时,并不是第一工夫和下级确认需要,而是立即就开始编程,而且在做工作期间,也不会和下级就工作进度进行沟通。只有当工作实现时,他们才会向你反馈。到那个时候,你只能祷告他们实现的性能就是你想要的。
缺乏经验的开发人员的另一个体现是同时推动多项工作,他们会同时解决多项事件,如:实现多个没有太大分割的性能点、解决生产环境问题、帮助其余共事工作等。
最终,从他们那里得不到无效的产出。尽管他们的态度和出发点是好的,但对整个团队造成的结果是灾难性的,节约了很多的工夫,导致团队得日夜赶工。
你能做什么:
专一实现小的工作。将收到的工作合成为小块,明确需要的优先级,一小块一小块地实现。
支付一项工作,实现后再开始新的工作。
4. 性情高傲
对于缺乏经验的开发人员,高傲是十分致命的。高傲会导致他们不能承受他人的批评和倡议。当你对他们的代码或者陈说给出意见时,他们会认为你是在质疑他们的能力。
许多新人因为无知,都会体现出这种高傲。刚走出校门的他们充斥自信,并没有意识到他们在学校学到的货色离社会要求还有很大差距。这些人中的聪明者会很快调整本人,以归零的心态,努力学习并适应公司文化。
其实不只是新人——一些有几年工作教训的开发人员也会体现出这种高傲,一部分起因是其满足于集体取得的业余成就,另一部分可能的起因是其不足和优良的人共事的机会,有点井底之蛙。
此外,高傲的行为也从另一方面证实这样的开发人员的确缺乏经验。这样的行为会对他们的职业倒退造成很多妨碍,因为没有人喜爱和一个高傲的人共事。当成长变慢时,他们不会从本身找起因,而是更多的归罪于他人。
你能做什么:
在前行的路上放弃谦卑。礼貌地看待他人会让你在软件开发职业生涯中走得更远。
尊重每一个人。出现分歧后,在你发表意见时,不论对方是什么身份,都要尊重对方。
5. 不能从之前的谬误中学到教训
我始终认为,对于软件开发人员,反馈机制是一个很无效的工具。来自别人的反馈,会让咱们明确本人的短板是什么以及如何去改良。一个聪慧的开发人员明确如何借助别人反馈来促成本人的成长。
依据一个开发人员对建设性意见的反馈,你能够判断出他是否缺乏经验。缺乏经验的开发人员不承受任何建设性的倡议,甚至代码评审中的评论,他都会认为是对他集体的一种攻打。
很多年前,我有一个共事给我写了很长的一封邮件,教我如何来评审代码,他对我给他代码的评论感到愤恨。他的次要观点是我不应该关注编码标准,因为他晓得如何编码,我应该只关注代码是否满足性能需要。
如果一个开发人员因为他人对他代码给出的评论,而感觉被触犯,只能表明他不具备真正的开发教训。他抱着做一天和尚撞一天钟的态度工作,却感叹没有遇到赏识本人的伯乐。
你能做什么:
对每个反馈放弃踊跃的态度。对于每个反馈,你能够抉择是承受还是回绝,但回绝之前要放弃平心静气的态度。
从谬误中学习。没有人能永远正确,放弃一生学习能力让本人继续弱小。
6. 工作工夫解决私人事务
日常工作中,总是发现团队里的一些成员在工作工夫解决私人事务,如:看社交媒体,浏览购物网站,玩游戏。
我之前还有个团队成员,上班时间炒股。因为他须要不断地关注股票的 K 线走势,造成集体的产出品质不高。其余共事对他很有意见,因为他们须要破费更多的工夫去赶工期。
当开发经理和这个开发人员谈话之后,他扭转了一段时间,然而很快就故态复萌。最终,公司只能把他开革了。
工作工夫解决私人事务,这是违反商业道德,并且体现了你的不业余。咱们须要对工作敬业,毕竟咱们要靠它谋生。
你能做什么:
工作工夫尽量不要解决私人事务。当你须要来到几个小时去解决集体事件时,请向你的管理者销假。
应用休息时间浏览你的社交媒体。如果必须要点外卖或炒股,请利用午休工夫。
7. 自觉追赶技术潮流
开发人员缺乏经验的另一个体现是面对技术潮流的态度。你会发现他们总是在议论技术潮流,当有一个新的潮流呈现时,他们会立即抛弃原来的潮流,投入新的怀抱。
缺乏经验的开发人员总是在学习教程。毫无疑问,教程是很有用的学习工具,然而,不进行任何实际而只是依照教程一步步操作无疑是浪费时间。它会让你空幻地感觉本人如同都把握了,然而常识是否把握了,须要通过实在的我的项目进行测验。
开发人员很少会用热门技术或者从教程中学到的常识来实现新的货色,他们学习热门技术或者教程很多是为了满足本人的虚荣心,或者放心本人会错过什么。
你能做什么:
破费工夫和精力学习那些能在工作中或者理论我的项目中真正用到的技术。
从教程中学习并及时练习,绝对于老手教程,本人实现一个性能能学到更多的货色。
总结
缺乏经验的开发人员会因为本人的效率低下进而升高整个团队的效率。他看待本人工作的谬误态度,会让其在职业倒退中错失很多机会。
理解并防止这种谬误的态度和工作形式,是聪明人的做法。如果你可怜染上了这些坏习惯,随着工夫的推移,你会越来越难以解脱。
谢谢你浏览这篇文章。心愿你能避开这些陷阱,早日取得职业上的胜利。
起源:Lokajit Tikayatray
levelup.gitconnected.com/top-7-signs-of-an-inexperienced-programmer
译者:王莉敏 策动:李俊辰 起源:infoq