• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 日常工作中程序员最讨厌哪些工作事项?

发布时间:2022-06-24 10:27:46 浏览 2107 来源:博学谷 作者:小谷

    日常工作中程序员最讨厌哪些工作事项?任何工作都有好和坏的一面,每个领域和职业都有它的优点和缺点,大多数时候人们只谈论优点而忽视了缺点,有时候缺点都超过其优点。

    软件开发作为一个职业在过去几年里呈现出爆发式发展,随着入门培训的普及和持续的跨行业渗透,现在确实是成为开发者的好时机。然而,在软件工程光鲜亮丽的背后有着不那么迷人的一面。如果你想像我一样进入软件开发行业,那么在投入大量时间、精力和金钱之前了解一些残酷的真相。

    任何工作都有好和坏的一面,但是我想说的是如果你有70%以上的时间在享受你的工作,那么你就算有了一份很棒的工作。就我个人而言,我很喜欢开发工作,但我还是要指出那30%令人生厌的部分,那些反复出现的问题真的很让人崩溃。

    随着时间的推移任何工作都会暴露出很多问题,但在软件开发领域有某些问题却总是在我的职业生涯里反复出现。接下来谈谈作为开发者最讨厌的5件事:

    一、调试那些不在你掌控中的代码问题

    找bug,bug隐藏于某一行代码中的某个逻辑,如跳过了一个步骤或者调错了一个方法。在所有类型的bug中,这种能通过上下文调试定位到具体位置的bug算是最好修复的,因为我们能找到他并且进行修复。然而那些从第三方库里引入的bug呢?

    作为开发者调试那些你无法轻松访问的代码才是更具挑战和令人崩溃的。也许这是一个你亲手引入的库,但是由于库已经被压缩或者编译使得可读性极差。那么假如这个库是开源的,是否就值得庆幸呢?并非总是如此,而且开源库的bug往往是最难处理的。你需要花费额外的时间设计环境来隔离并单独复现这个bug,这样你才能将问题发送给开源库的所有者,并寄望于他们能够按照你的时间表进行修复。

    许多团队都不得不面对这些问题,可以通过选择开源项目或者本土解决方案来缓解,但如果没有选择你只能硬着头皮上。

    、维护一个没有任何资料的旧项目

    假设你是一个训练有素、经验丰富的生存专家,决定参加一档类似荒野独居的真人秀节目。你已经在这个领域投入了数千小时,是此类工作的专家拥有许多成功经历。与以往不同的是这个赛季你将被随机选中并且被投放到一个你完全不了解的环境。按照经验要成功存活下来需要知道你要去的地点,那里是什么样的或许还有一些成功的方法;你需要知道为什么要带某些物品,它们如何使用,也许还要向一些有经验的伙伴取取经;你需要知道什么方法是有效的,什么是无效的,也许还有一些独一无二的交易技巧。但是,这次不一样,你无从了解上述信息,这将最大程度地挑战你的技能极限。

    作为一名开发者接手一个新项目没有任何背景资料,没有任何可以提问的同事就与上面的荒野独居升级版非常相似。软件开发的问题在于解决问题的路径是多样的,人们之所以选择这套方案的原因是系统性的且经过深入探讨的。在一个没有任何背景资料或者求助人的项目中,你可能会遇到许多看似奇怪的设计,并且很难理解为何要这样设计。是因为开发者偷懒吗?还是为了赶工期而做的一种变通?或者是因为外部约束条件迫使这样设计和编码?不可能知道了,一切都像浮云一样飘散了。尽管如此作为开发者你想取得成绩就需要知道如何在这种情况下完成任务。

    不幸的是这种项目会使许多开发者无所适从滋生厌恶情绪,这种项目起步缓慢就像是在盲目地探索雷区。这就是为什么风格良好的代码和及时更新的文档如此重要的原因。如果你正在阅读本文不管你已经是开发者还是即将成为开发者,请尽量在你的代码中做好文档说明特别是那些奇特的逻辑,这样当下一个人接手时不管你还能不能提供解答他都会更容易理解一些。

    三、不懂的人瞎指挥

    软件团队的主要成员包括软件开发者、项目经理和产品负责人,有时候项目经理和产品负责人是同一个人,所以说到底总要有两类人一类负责编码实现一类负责构思他们想要的产品。在大多数情况下,后者会召集利益相关者开会、制定时间计划表并将产品卖给其他人。

    这两类人之间的关系对于项目的成功至关重要,有时开发者在团队中干得开心也很重要。大多数时候,开发者被视为"码农",需求不加思索地推给他们,没有过多的讨论,有时还有不切实际的deadline。这些将导致产品匆忙上线,无法达成预期,最终导致产品失败,因为它不像计划中那样顺畅地运行并且经常出故障。

    对于开发者来说能够找到一个团队与项目经理或者产品负责人融洽合作,不仅对于产品的成功至关重要同时也增添了工作本身的乐趣。

    四、经常被打断无法专注

    有许多伟大的工作都需要开发者这个角色,大部分开发者也很珍视他们的工作。作为开发者最令人上瘾的部分就在于,可以将灵光闪现快速地通过编码转变为现实。另一个令人惊叹的部分可以形容为"心流",即深度工作状态,这是一个人在深入工作和思考过程中所体验到的一种完全沉浸式的感觉。在需要高度生产力和创新的环境中这很常见,同样的,许多开发者想要高效编码也需要这种状态。

    然而,在当代工作中时间很容易被临时安排的会议或者全天不间断的咨询/疑惑信息所打断。想要进入深度工作状态很难但是被打断却很容易。

    此外,软件开发是一项高度个人主义的工作,这意味着你被指派任务和期望指标之后,其他事项都由你安排。然而,由于持续不断的消息和会议打扰,你很难找到足够的时间进入并保持工作状态以完成手头上的任务。这里的关键是你一天中不被打断的时间,因为即使是一些小事导致你切换工作内容也会造成损耗影响工作效率。

    找到一段不被打断的时间最好是3-4小时,在那里你可以完全进入状态并专注于你的工作。一天中挤满了各种会议或者更糟糕的是,会议时间间隔30-45分钟,这对许多开发者的生产效率都是有害的。

    五、 冒名顶替综合症

    对于许多程序员来说,他们迟早会在职业生涯中经历某种程度的冒名顶替综合症。也许是开始一个新项目加入一个新团队或者只是某天中突如其来的坏情绪,让你产生自我怀疑并影响你一整天的工作状态。

    梅利姆·韦伯斯持将冒名顶替综合症定义为:一种心理状态,又称自我能力否定倾向具体是指“认为自己不配拥有已经取得的成功或成就,对自己的能力持怀疑态度,认为自己是个冒牌货”的状态。

     这是一种适得其反的心理状态,有些人经常经历且难以摆脱,有些人则从来没有。但好在软件社区里有许多人表示他们在职业生涯里都不同程度地经历过这种感觉,并且愿意为其他人提供帮助。

     软件工程是一个伟大的领域,对许多人来说风光无限,看起来很有趣并且拥有无穷无尽的机会。然而,每个领域和职业都有它的优点和缺点,大多数时候人们只谈论优点而忽视了缺点,说实话有时候缺点都超过其优点。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 程序员面对996该如何应对?躺平还是卷起来? 下一篇: 未来互联网人才还稀缺吗?哪些技术方向热门?

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码