软件开发的阴暗面
不断跟上新技术
项目经理和产品经理不切实际的要求
薪酬的不健康竞争
软件工程师是目前最吸引人、最抢手的职业之一。你可能听说过软件开发有多么美好,我也同意,每次听到它我都会兴奋不已。然而,我想我们应该意识到事情的另一面,因为坦白说,没有一份工作是完美的。
我最近在 Twitter 上创建了一个关于这个话题的讨论区,有 20 多位发言者和 100 多位活跃听众参与其中,分享了他们的观点。想了解更多类似的软件开发讨论区,可以关注我的Twitter。
工作成瘾
你进入这个领域很可能是因为你喜欢编程和解决复杂的挑战。编程是一项很容易上瘾的活动。在错误修复之前,有些事情总是感觉不对劲。
虽然这会让你在更短的时间内完成更多的工作并给你的老板留下深刻的印象,但我们必须记住,这是有代价的。
- 如果您不是极客,您可能会有这样的体会:我们低估了代码,这需要我们投入比平时更多的时间,可能会导致与朋友和家人的计划被取消。
- 如果您在故障修复之前不从椅子上站起来,那么您可能会坐上长达 8 个小时,如果经常这样做,可能会导致严重的健康问题。
- 背部和颈部疼痛难忍。
- 电脑视觉综合症
建议:
-
休息一下
- 我们
经常忘记休息需要提醒自己休息一下。 - 您可以下载休息时间提醒应用程序Stretchly(它也是开源的!)
- 我们
-
脱离工作
- 将您的工作站与卧室或休息空间分开。
- 让您的手机远离所有工作应用程序。
不断跟上新技术
- 您感觉自己落后了,因为您没有在当前项目中使用最新的技术堆栈。
- 您想立即跳到其他所有事情并学习多个技术堆栈。
- (对于高级开发人员)您无意中听到下属讨论您完全不了解的技术堆栈,他们希望您是专家。
由于新技术的步伐如此之快,你不可能面面俱到,但人们却期望你至少对一切有所了解,至少要达到基本的水平。为了跟上最新趋势并成为社区的活跃成员,你认为你需要精通一切。
如何克服这个问题:
-
你需要意识到,同时学习多个东西会降低效率。拥有超过一百万学生教学经验的Tim Buchalka在这个视频中对此进行了精彩的解释。
-
(针对高级软件开发人员)反过来问这个问题,让你的团队成员回答这个问题:
- 你能向整个团队解释清楚,并且让它变得简单到没有人需要研究它吗?
项目经理和产品经理不切实际的要求
你的老板很可能没有技术背景。他们也面临着上级的压力,需要在短时间内发布新功能。这可能会导致代码质量低下,并为未来的构建奠定更薄弱的基础。
你对他们感到恼火和愤怒,这导致你们之间的关系变得不健康,信任也丧失了。不必如此,遵循以下这些方法,就能化解你们之间的矛盾。
沟通是关键
- 进行健康的讨论,概述为什么这项任务不切实际。
- 详细列出要点和不切实际的步骤。
- 为他们提供替代方案。
- 将问题分解成更小的部分,为什么会出现这个需求,以及我们如何以更现实的方式去解决它。
- 讨论所需的(LOE)努力程度,以便您可以获得问题的时间表。
了解你的老板
- 软件开发人员最常见的问题之一是缺乏对业务的商业方面和指挥链的认识。
- 在阅读了John Sonmez 的以下文章后,我获得了极大的启发:
薪酬的不健康竞争
您玩过多少次《Blind》并且沉迷其中以至于不得不卸载它?
-
很多开发人员只是为了追求金钱,因此 6 个月后就换了公司。
-
同事之间不断比较薪水和股票期权,使得竞争异常激烈,影响了他们的幸福感。
您是否感到需要不断提高自己以获得更好的薪水或机会?
- 这无疑会极大地激励你获得更好的职位。但是,到了一定时候,你会因为这种无止境的贪婪而过度劳累。因此,你将不再享受你的工作。
切换并不那么容易
- 当你频繁地跳槽时,你的诚信会受到质疑,这也会反映在你的简历上。
- 显然,对你来说,金钱比软件更重要。
- 你还必须从头开始了解人们、建立信任的所有过程。
生活并不全是金钱
- 金钱不应该成为驱动因素。良好的工作与生活平衡、良好的同伴关系以及应对挑战性问题,从长远来看更为重要。
维护遗留代码
触摸它确实很可怕。
遗留代码的维护可能是一个挑战:
- 该代码没有很好的记录。
- 代码不干净。
- 更少的资源来将其与新趋势相结合
- 你需要站出来改变它,如果你不改变它,它就会变成黑暗的一面。
- 在任何公司,想要晋升,最重要的事情就是承担更多责任。遗留代码是没人愿意涉足的领域。
- 这是最好的测试。这体现了一位真正优秀工程师的实力。抓住这个机会吧。
你在工作中还面临哪些其他挑战?请在下方评论👇🏼
文章来源:https://dev.to/vibalijoshi/the-dark-side-of-software-development-441e