Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >程序开发人员缺乏经验的7种表现

程序开发人员缺乏经验的7种表现

作者头像
@超人
发布于 2021-04-26 06:46:46
发布于 2021-04-26 06:46:46
3250
举报
文章被收录于专栏:Vue中文社区Vue中文社区

作者 | Lokajit Tikayatray

译者 | 王莉敏

策划 | 李俊辰

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

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

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

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

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

1. 一次性提交大量代码

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

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

你能做什么:

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

2. 代码写的很烂

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

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

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

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

你能做什么:

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

3. 同时开展多项工作

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

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

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

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

你能做什么:

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

4. 性格傲慢

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

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

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

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

你能做什么:

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

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

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

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

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

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

你能做什么:

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

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

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

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

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

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

你能做什么:

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

7. 盲目追逐技术潮流

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

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

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

你能做什么:

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

总结

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

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

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

延伸阅读

https://levelup.gitconnected.com/top-7-signs-of-an-inexperienced-programmer-5fc3f04658f3?fileGuid=rrJJ3dW9GdcPCVXp

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Vue中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
程序员缺乏经验的 7 种表现!
软件行业的工作经验和你从事这个行业的工作年限直接相关。这句话在某种程度上是对的,但是你从事这项工作的年限,并不一定代表你获得了相同年限的工作经验,正如一句话所说:“我们以为我们是工作了十年,其实却只有一年的工作经验,只不过又重复用了九年”。
程序员皮皮林
2024/12/25
870
程序员缺乏经验的 7 种表现!
开发人员的客户思维|洞见
都说产品与开发之间的矛盾由来已久。在很多互联网企业,都发生过类似这样的一幕:工程师日以继夜,终于在约定的时间里交付产品——虽然这在产品经理看来可能还只能算个高保真的原型。产品经理体验了这个原型之后,发
ThoughtWorks
2018/04/17
9410
开发人员的客户思维|洞见
[译] 如何成为一名优秀的初级开发人员
回想起来,我仍然记得成为初级开发人员的第一天,走过灯火通明的小隔间,脑袋里塞满了SAP、算法、数据结构、SQL和C++,甚至知识管理和项目管理等更广泛的主题。我拥有所有的知识,而我唯一没有的就是有信心在需要的地方使用这些知识。
云水木石
2020/02/18
3600
开源了!谷歌内部代码评审规范完整版出炉!
代码评审的主要目的是确保代码库的整体质量随时间推移逐步得到提升,所有代码评审工具和过程都是为了实现这一目标而设计的。
开发者技术前线
2020/11/23
1.3K0
开源了!谷歌内部代码评审规范完整版出炉!
​【译】公司留不住程序员的十大原因,你都知道哪些?
当工程师被迫加班,并且诸如升职加薪或者提高工作灵活性的要求被置之不理,他们要么选择默默地离职,要么去寻找新的工作机会。有些人甚至选择“过度就业”,也就是在多个地方同时工作,以实现财务的自由。
Masutaa大师
2023/08/16
2570
​【译】公司留不住程序员的十大原因,你都知道哪些?
如何成为合格的Java开发人员
今天,成为一名称职的程序员比以往任何时候都更具挑战性,人们应该拥有大约70%的技术技能和30%的软(认知)技能。如果一个“硬核”开发人员缺乏所需的软技能,他/她很难进入管理层。
终码一生
2022/04/15
2570
写给程序员的13条工作学习意见
在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是我作为一名软件开发人员所学到的经验,希望能对大家有所帮助。 1.不要害怕在工作中学习。 只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放慢脚步,先将一些基础的知识捡起来。 2.在事业上勇往直前,自己为自己负责。 大 概只有十分之一的人才能得到导师的特殊照顾,如果你是十分之九中的一员,那
程序员互动联盟
2018/03/12
7960
如何成为一名优秀的Java开发人员?
在过去的几年里,政府和社会一直试图让“极客”冷静下来。很多人建议将计算机编程作为学校课程的一部分。抛开这些,成为一名称职的程序员比以往任何时候都更具挑战性。
我就静静地看
2018/09/11
6830
优秀软件开发人员的态度
软件开发是一门艺术,而不仅仅是一门科学。您可以了解软件开发的所有技术细节,但您需要对编码充满热情,并将其视为一种非常擅长的艺术。如果你是这样的人,我将向你介绍成为“伟大的开发者”的旅程。伟大的开发者的目标,就像我给他/她所说的那样,是让他/她的艺术尽可能美丽,并使其成为最好的。
FunTester
2019/09/17
8750
技术人观点:开发人员在处理云应用时该注意什么?
我们与28位分别来自23家企业的高管人员进行了交流,希望了解这些负责立足于云环境进行应用程序开发与部署的技术领导者如何看待相关议题。 当被问及“开发人员需要在处理云应用时注意什么?”时,各位企业高管人
静一
2018/03/26
6230
技术人观点:开发人员在处理云应用时该注意什么?
项目延期半年,我被软件外包坑惨了!
本文最初发布于 Rajiv Prabhakar 的个人博客,经原作者授权由 InfoQ 中文站翻译并分享。
深度学习与Python
2021/07/12
9680
Google程序员他们是如何去做coder review的
Code review 的主要目的是确保Google代码库的整体代码运行状况随着时间的推移而得到改善。Code review的所有工具和流程都是为此而设计的。
苏南
2020/12/16
5800
Google程序员他们是如何去做coder review的
数学是成就卓越开发人员的必备技能
英文:Alan Skorkin 译者:伯乐在线 - 黄利民 网址:http://blog.jobbole.com/444/ 点击“阅读原文”,可查看本文网页版 【伯乐在线导读】:Alan Skorki
智能算法
2018/04/03
6350
数学是成就卓越开发人员的必备技能
新年开篇 | 总结一个技术总监的教训和经验
导语 2017年来了,新年开篇,就不跟大家聊技术啦,给大家分享一篇鹅厂技术总监在多年工作中总结出的教训和经验。 这篇文章自从在腾讯内部论坛发表后,精神哥每年都会拿出来重新研读一番,每次都有新的感悟和收获,所以强烈推荐给大家。 正文 资深程序员是团队中最强大的生产力,但往往被不合理的工作安排浪费掉。因此作为一个团队的技术的“头”,必须要有明确清晰的认识,把主要的事务性工作剥离出来,并且放弃大量的管理“权力”,以提高团队开发质量和效率为最主要的目标去安排自己的工作。 一般来说技术总监其实会被要求做事实上是2个职
腾讯Bugly
2018/03/23
1.3K0
云应用程序开发人员面试应该考虑的6个问题
由于云计算提供了新的灵活性和可扩展性,它也改变了组织开发和部署软件的方式。因此,也促进了人们积极开发新品种的云计算应用程序。 作为一个软件开发者,在其职业生涯中将有机会进入云中。然而,下一代计算需要新的理念、技能和工具。未来的雇主不一定只需要专业代码工程师,新兴的云应用程序开发者也可能必须是建筑师、工程师,分析师和技术人员。 可能在未来云应用程序开发人员面试中,将会被问到以下六个关键问题: (1)你的编程背景和技能是什么? 未来的雇主已经阅读了你的简历,但也会想审查一下你的核心编程技能,并了解一下你的培训经
静一
2018/03/26
1.2K0
程序员求职面试窍门
你在找工作吗?初级开发者应该注意资深开发者David Eastman的以下面试建议。
云云众生s
2024/03/27
1270
腾讯 AICR : 智能化代码评审技术探索与应用实践(上)
本文将详细阐述 腾讯云 AI 代码助手团队和 CR 团队在智能化代码评审领域的技术探索与应用实践。
腾讯云代码助手
2024/11/20
7320
腾讯 AICR : 智能化代码评审技术探索与应用实践(上)
开发人员使用 GPT-4 的 30 种重要方式
翻译自 30 Non-Trivial Ways for Developers to Use GPT-4 。译者提示, Claude 的表现也非常好,某些方面超越了 ChatGPT ,有也可以考虑 Google Bard ,不过目前仅支持英语。
云云众生s
2024/03/27
2010
成为更好程序员的8种途径
▲ 是时候开始认真考虑一下如何升级你的开发技术了。让我们来认真地学习一下吧。 给自己设定一个提高开发技术的目标很容易,但是“想成为一名伟大的程序员”却不是一个容易实现的目标。首先,说“我想变得更好”,是建立在你认识到“更好”的样子基础之上。另外,有太多的人追求进步而不知道如何去实现。 因此,让我分享八个可实际操作的指导方针,你可以把它们作为提高编程技能的流程图。这些智慧都是伴随着计算机35年的发展沉淀下来的。 1.时刻提醒自己:学习 学习某件事的第一步是承认你不知道。这听起来很正常,但经验丰富的程序员还记得
企鹅号小编
2018/01/16
6250
作为初级开发人员如何进行代码审查?
“代码必须经过高级开发人员的审查。” “后辈的评论很好,但他们的认可毫无价值。” 如果您从未听过这些短语,那么您很幸运。当然,他们完全错了。
IT千锋教育
2023/06/25
2200
作为初级开发人员如何进行代码审查?
推荐阅读
相关推荐
程序员缺乏经验的 7 种表现!
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档