我希望在开始编程时就知道的事情,第4部分(2019年)

2020-07-02 19:15:43

很少有什么事情比做维护工作和使用遗留应用程序更让程序员鄙视的了。

这可能会适得其反,因为大多数可用的工作都涉及到这样做。公司都有正在运行的系统,有些是很久以前建造的,需要有人维护这些代码。如果你是从入门级职位开始的,那么这一点尤其正确,因为你很可能会在公司运行了十多年的一些旧应用程序上工作。

你可以去做“下一件大事”和它所带来的所有荣誉。

我们如何看待维护工作和新项目开发之间的巨大差异是一件令人难过的事情。一方面,大多数真正重要、影响很大的工作都发生在这些遗留系统上,而Next Big Thing经常会破产。另一方面,这款很酷的新应用一旦投入生产,你就会开始收到新的需求,这将是遗留下来的。

我们应该开始以更积极的眼光看待维修工作。毕竟,提供给最终用户的大部分价值都发生在这些系统上。我们可以通过重构和改进设计,或者增加测试覆盖率来锻炼我们的创造力,所有这些对于任何级别的开发人员都是适当的挑战。

学会热爱维护工作,这很可能是你作为程序员大部分时间都在做的事情。

您是一个令人敬畏的开发人员,总是按时完成任务,编写超完整的测试套件,为客户提供他们想要的东西。你每天都做得很好,并且格外努力地发送那些最后一刻的功能。然后,一年中升职的时间到来了,你……。你还处在同样的位置吗?

我知道这可能非常令人沮丧,最终你可能会怨恨管理层。毕竟,你不是总是工作出色吗?他们怎么敢错过这个机会,向我表示他们有多欣赏我的辛勤工作!

实际上,经理们太忙了,没有时间记录你的成就。让管理层看到你的贡献是你的责任。

这甚至不需要太多的努力。把你每周完成的最重要的事情列一张清单,并在周末发送小报告,列出你完成的事情。你不需要生成一份花哨的文档:一封带有项目符号的电子邮件就可以了。

管理层不需要纠缠你来了解你在工作中在做什么。

你要把你的成就登记在案,这对协商加薪和其他事情很有用。

在管理层评价你的方式上采取积极主动的立场,你可能犯的最大错误之一就是将责任外包给那些已经忙于其他事情的人。管理层会欣赏的,你也会喜欢的。

你得到了你的第一份软件开发工作。一想到要参加面试,你就觉得很着急,但你学习很刻苦,而且整个过程都很出色。最后,你第一天就到了办公室,然后.。

这太可怕了。突然,你觉得自己像一个一无所知的琼恩·雪诺,自我怀疑开始悄悄潜入。如果他们发现我没那么聪明怎么办?我真的配得上这份工作吗?我是骗子吗?他们需要多长时间才能发现我是个骗子,以及他们雇用我所犯的可怕错误?

接下来的几周不会有太大帮助。也许这是一项你不太熟悉的技术,或者他们要求你在他们庞大的遗留应用程序的某个黑暗角落工作。解决这些任务需要的时间是预估的两倍(或更多),而且你会变得越来越焦虑。

这一切都很正常,这是一种好的老冒名顶替者综合症。这是一种感觉,你是假的,你不配出现在那里。几周后它就会消失,你会开始感到更自信。提升需要时间,事实上,没有人真的希望你从一开始就百分之百有效率。你的雇主知道你需要几个月的时间才能知道自己在做什么,所以不要那么严厉地惩罚自己。

继续努力,很快你就会成为团队中重要的一部分,你的贡献也会开始产生影响。我们都感觉到了,我向你保证它会消失的。所以,继续努力吧!

谢谢你的阅读,我希望你学到了一两个新东西,或者至少有了新的想法。

与朋友和同事分享这篇文章。感谢您帮助我联系到可能会觉得此信息有用的人。

查德·福勒在这些主题上做了更多的阐述,并在“激情程序员”一书中提供了一些非常好的建议。这本书和其他非常有帮助的书都在推荐书单上。

给我发一封有问题、评论或建议的电子邮件(它在关于我的页面上)。来吧,别害羞!