程序员缺乏经验的 7 种表现!

黑客帝国
• 阅读 1639

知道这些表现,你才能在自己的程序员职业生涯中不犯相同的错误。

软件行业的工作经验和你从事这个行业的工作年限直接相关。这句话在某种程度上是对的,但是你从事这项工作的年限,并不一定代表你获得了相同年限的工作经验,正如一句话所说:“我们以为我们是工作了十年,其实却只有一年的工作经验,只不过又重复用了九年”。

有一些人虽然工作了很多年,但工作表现就像刚入行的新人。他们几乎不学习软件开发的基础知识 。除了最初几年有所成长,后期一直停滞不前,而且他们不明白为什么。

与此同时,我也曾与一些只有几年工作经验的开发人员共事,他们表现出惊人的增长潜力。他们工作态度端正,并且明白如何避免不称职的行为。

根据开发人员的某些习惯,可以非常明显地分辨出谁更专业,谁更业余。让我们深入剖析下业余程序开发人员的 7 种表现,每个程序开发人员都应该引以为戒,这些错误会阻碍我们的职业发展。

1. 一次性提交大量代码

回忆下,你是否碰到过一次性提交大量代码的人,你都不想给他做代码评审。是的,不专业的开发人员就会这样做。他们会在一次代码评审请求中包含多个模块的修改,而且会催促你优先评审他们的代码。是啊,能不急吗,排到后边,还需要解决代码冲突的问题。这个问题在很多高级开发工程师中也存在,他们在功能开发期间不做任何提交,只有在功能彻底完工后,才会提交所有修改,于是代码评审中的任何意见都会引起大量的修改。

当我碰到这种代码评审请求时,我首先做的是要求提交者按功能模块将其拆分成多个小的请求。我只会对 issues(任务管理系统)中的第一个功能需求评审,然后将其转回提交者。如果我有时间,我会和提交者连线进行代码实时评审。

你能做什么:

  • 进行小的代码提交。一个好的做法是:每个工作日都进行代码提交。
  • 不要提交没有编译或者会导致构建失败的代码。

2. 代码写的很烂

缺乏经验的开发人员写不出漂亮的代码,他们写出的代码会很混乱,而且分布在代码库的各个部分。

当你尝试阅读这类代码时,会感觉自己身处一座迷宫之中。你会逐渐忘记自己是从什么地方开始的,要寻找什么以及这段代码完成了什么功能。

有经验的开发人员知道代码如何设计。除非要开发的功能显而易见,首先需要在纸上写出你对需求的理解并画出流程图(简化版的规格需求说明书),在脑海里对这段代码进行一个完整的构思。除非你彻底弄清楚了如何修改,否则不要开始代码编写。

如果你不遵守以上的规则,当你回顾自己完成的代码时会非常痛苦。以后如果需要修正问题或者增加功能,也会变得非常棘手。

你能做什么:

  • 编写代码之前,对你要实现的功能有个清晰的了解。为了清楚地理解需求,你需要尽量多问问题。
  • 让你的代码简洁而优雅。其他团队成员可以读懂代码并理解它打算做什么。

3. 同时开展多项工作

缺乏经验的开发人员不知道什么时候开始一项任务、如何推进、什么时候结束。他们试图并行处理多项任务。他们不知道如何将一项大任务分解为小的模块,从而减轻实现的难度。

当他们收到一项任务时,并不是第一时间和上级确认需求,而是立刻就开始编程,而且在做任务期间,也不会和上级就任务进度进行沟通。只有当任务完成时,他们才会向你反馈。到那个时候,你只能祈祷他们完成的功能就是你想要的。

缺乏经验的开发人员的另一个表现是同时推进多项任务,他们会同时处理多项事情,如:实现多个没有太大联系的功能点、解决生产环境问题、协助其他同事工作等。

最终,从他们那里得不到有效的产出。虽然他们的态度和出发点是好的,但对整个团队造成的后果是灾难性的,浪费了很多的时间,导致团队得日夜赶工。

你能做什么:

  • 专注完成小的任务。将收到的任务分解为小块,明确需求的优先级,一小块一小块地完成。
  • 领取一项任务,完成后再开始新的任务。

4. 性格傲慢

对于缺乏经验的开发人员,傲慢是非常致命的。傲慢会导致他们不能接受别人的批评和建议。当你对他们的代码或者陈述给出意见时,他们会认为你是在质疑他们的能力。

许多新人由于无知,都会表现出这种傲慢。刚走出校门的他们充满自信,并没有意识到他们在学校学到的东西离社会要求还有很大差距。这些人中的聪明者会很快调整自己,以归零的心态,努力学习并适应公司文化。

其实不只是新人——一些有几年工作经验的开发人员也会表现出这种傲慢,一部分原因是其满足于个人获得的专业成就,另一部分可能的原因是其缺乏和优秀的人共事的机会,有点坐井观天。

此外,傲慢的行为也从另一方面证明这样的开发人员确实缺乏经验。这样的行为会对他们的职业发展造成很多阻碍,因为没有人喜欢和一个傲慢的人共事。当成长变慢时,他们不会从自身找原因,而是更多的归罪于别人。

你能做什么:

  • 在前行的路上保持谦卑。礼貌地对待别人会让你在软件开发职业生涯中走得更远。
  • 尊重每一个人。出现分歧后,在你发表意见时,不管对方是什么身份,都要尊重对方。

5. 不能从之前的错误中学到经验

我一直认为,对于软件开发人员,反馈机制是一个很有效的工具。来自他人的反馈,会让我们明白自己的短板是什么以及如何去改进。一个聪明的开发人员明白如何借助他人反馈来促进自己的成长。

根据一个开发人员对建设性意见的反应,你可以判断出他是否缺乏经验。缺乏经验的开发人员不接受任何建设性的建议,甚至代码评审中的评论,他都会认为是对他个人的一种攻击。

很多年前,我有一个同事给我写了很长的一封邮件,教我如何来评审代码,他对我给他代码的评论感到愤怒。他的主要观点是我不应该关注编码标准,因为他知道如何编码,我应该只关注代码能否满足功能需求。

如果一个开发人员因为别人对他代码给出的评论,而感觉被冒犯,只能表明他不具有真正的开发经验。他抱着做一天和尚撞一天钟的态度工作,却感慨没有遇到赏识自己的伯乐。

你能做什么:

  • 对每个反馈保持积极的态度。对于每个反馈,你可以选择是接受还是拒绝,但拒绝之前要保持心平气和的态度。
  • 从错误中学习。没有人能永远正确,保持终身学习才能让自己持续强大。

6. 工作时间处理私人事务

日常工作中,总是发现团队里的一些成员在工作时间处理私人事务,如:看社交媒体,浏览购物网站,玩游戏。

我之前还有个团队成员,上班时间炒股。因为他需要不时地关注股票的 K 线走势,造成个人的产出质量不高。其他同事对他很有意见,因为他们需要花费更多的时间去赶工期。

当开发经理和这个开发人员谈话之后,他改变了一段时间,但是很快就故态复萌。最终,公司只能把他开除了。

工作时间处理私人事务,这是违反商业道德,并且表现了你的不专业。我们需要对工作敬业,毕竟我们要靠它谋生。

你能做什么:

  • 工作时间尽量不要处理私人事务。当你需要离开几个小时去处理个人事情时,请向你的管理者请假。
  • 使用休息时间浏览你的社交媒体。如果必须要点外卖或炒股,请利用午休时间。

7. 盲目追逐技术潮流

开发人员缺乏经验的另一个表现是面对技术潮流的态度。你会发现他们总是在谈论技术潮流,当有一个新的潮流出现时,他们会立刻丢弃原来的潮流,投入新的怀抱。

缺乏经验的开发人员总是在学习教程。毫无疑问,教程是很有用的学习工具,但是,不进行任何实践而只是按照教程一步步操作无疑是浪费时间。它会让你虚幻地觉得自己好像都掌握了,但是知识是否掌握了,需要通过真实的项目进行检验。

开发人员很少会用热门技术或者从教程中学到的知识来实现新的东西,他们学习热门技术或者教程很多是为了满足自己的虚荣心,或者担心自己会错过什么。

你能做什么:

  • 花费时间和精力学习那些能在工作中或者实际项目中真正用到的技术。
  • 从教程中学习并及时练习,相对于新手教程,自己实现一个功能能学到更多的东西。

总结

缺乏经验的开发人员会因为自己的效率低下进而降低整个团队的效率。他对待自己工作的错误态度,会让其在职业发展中错失很多机会。

了解并避免这种错误的态度和工作方式,是聪明人的做法。如果你不幸染上了这些坏习惯,随着时间的推移,你会越来越难以摆脱。

谢谢你阅读这篇文章。希望你能避开这些陷阱,早日获得职业上的成功。

作者:Lokajit Tikayatray

原文:https://levelup.gitconnected....

译者:王莉敏 策划,李俊辰,来源:infoq
近期热文推荐:

1.600+ 道 Java面试题及答案整理(2021最新版)

2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

3.阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式发布,全新颠覆性版本!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

点赞
收藏
评论区
推荐文章
徐小夕 徐小夕
4年前
15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码)
前言设计模式是一个程序员进阶高级的必备技巧,也是评判一个工程师工作经验和能力的试金石.设计模式是程序员多年工作经验的凝练和总结,能更大限度的优化代码以及对已有代码的合理重构.作为一名合格的前端工程师,学习设计模式是对自己工作经验的另一种方式的总结和反思,也是开发高质量,高可维护性,可扩展性代码的重要手段.我们所熟知的金典的几大框架,比如jquery,
Souleigh ✨ Souleigh ✨
4年前
程序开发人员缺乏经验的7种表现
知道这些表现,你才能在自己的程序员职业生涯中不犯相同的错误。软件行业的工作经验和你从事这个行业的工作年限直接相关。这句话在某种程度上是对的,但是你从事这项工作的年限,并不一定代表你获得了相同年限的工作经验,正如一句话所说:“我们以为我们是工作了十年,其实却只有一年的工作经验,只不过又重复用了九年”。有一些人虽然工作了很多年,但工作表现就像刚入行的新人。他们几
我是阿沐 我是阿沐
4年前
Redis发布订阅:最简单最通俗的文章
前言可能小伙伴的工作年限大部分已经超过三年甚至四年五年,不知道是否有一种危机感,我们写了那么多的需求代码没有20w行也有个10w行了吧,但是出去找工作的时候不是笔试被pass掉就是面试被pass,你会发现好多你只是知道但是回答不上来。这个时候你才知道去补习知识点,其实这种做法对自身发展不太友好的。我去年疫情期间,在大家都不敢跳槽季节我义无反顾选择跳槽,进入大
李志宽 李志宽
2年前
非常详细 建议收藏 奇安信QCCE大牛整理出的网络安全学习路线 学不会我退出安全圈
我是去年9月22日才正式学习网络安全的,因为在国营单位工作了4年,在长沙一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才
Aidan075 Aidan075
4年前
同学,你这简历上没项目啊!
作者:朱小五大家好,我是小五同学,刚毕业或者转行去求职数据分析师的时候,你遭遇过这样的尴尬怪圈吗?比方说下面的jd就很真实:今天小五就跟大家聊聊,面试数据分析师时,如何彻底摆脱拿着单薄的简历与面试官尬聊的场景,关键词就是——工作经验!别慌,不是让你瞎编。没有相关工作经验的确是一个弱势,那么哪些项目经历可以弥补这项弱势呢?例如你以前做过一个完整的分析项
可莉 可莉
3年前
2019年,iOS开发的你不可或缺的进阶之路!
序言我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多。失业即相当于转行,跳槽即相当于降低自己的身价。那么做iOS开发的你,你是否在时刻准备着跳槽或者转行了。我们先看一下现在iOS行业,iOS程序员在如今竞争激烈的市场环境下,你自己还值多少钱,下面是按年限,按要求提出的工作及薪资待遇。一年以内,三至五年,本
Stella981 Stella981
3年前
2019年,iOS开发的你不可或缺的进阶之路!
序言我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多。失业即相当于转行,跳槽即相当于降低自己的身价。那么做iOS开发的你,你是否在时刻准备着跳槽或者转行了。我们先看一下现在iOS行业,iOS程序员在如今竞争激烈的市场环境下,你自己还值多少钱,下面是按年限,按要求提出的工作及薪资待遇。一年以内,三至五年,本
Stella981 Stella981
3年前
2021新年最新分享:阿里Java岗5轮技术面经整理
写在前面又到了收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。!鬼知道发生了什么?痛述阿里Java岗5轮技术面经历,险幸上岸(https://imgblog.csdn
可莉 可莉
3年前
2021新年最新分享:阿里Java岗5轮技术面经整理
写在前面又到了收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。!鬼知道发生了什么?痛述阿里Java岗5轮技术面经历,险幸上岸(https://imgblog.csdn
阮小五 阮小五
2年前
Mac上访问Windows,远程桌面Microsoft remote desktop使用教程
如果你在家里工作,需要从你的Mac上远程访问Windows11或10电脑,我们有好消息:这很容易。微软提供了Microsoftremotedesktop工具来完成这项工作。它可以让你直接从你的MacBook或其他macOS机器上使用你的Windows应用程
黑客帝国
黑客帝国
Lv1
你就在旁边却感觉隔了一个世纪.
文章
3
粉丝
0
获赞
0