撰写此文,旨在向对编程及软件开发抱有热情的朋友们传达信息,即新入行的软件工程师将要遭遇诸多挑战。这些挑战或许会给初学者带来压力,然而,一旦我们掌握了它们,我们便可以提前做好应对准备。接下来,我将逐一介绍这五个挑战。
超长工作时间
初入职场,我的工作负荷颇重。每周至少要投入编程45个小时,每月还有一至两周需要工作50到60个小时。最近几个月,平均每周的工作时长几乎达到50小时。尽管编码能让我有所进步,但持续的疲劳工作让许多人感到身体不适。对于新入职的工程师来说,这样的高强度工作环境无疑是一项巨大的考验。
理解客户需求
在日常工作里,客户会提出种种需求。他们可能会问:“为何要按照Z-X-Y的方式去满足需求,而非采用X-Y-Z?”亦或是询问:“为何要让原本不能手动输入的唯一标识符变得可手动输入?”尽管这些要求大多并不复杂,但向客户解释为何不能采纳这些要求却并非易事。项目对工程师的核心要求是具备一种使其脱颖而出的能力,这种能力需要通过实践来培养。不进行尝试,技能就无法掌握。因此,新入职的工程师必须认真磨练这一技能。
与测试人员协作
合作的测试员能力很强,年纪只比我稍长,却非常聪明。不过,与他共事并不轻松。若高级项目里出现了bug,由他发现并转交给我,我则需要额外花费时间来修复。尽管如此,与测试员合作也有其益处,能保证我负责的产品质量上乘。随着时间的推移,我们逐渐适应并开始欣赏他们。可这对新晋工程师来说,刚开始处理和测试人员的关系也是挑战。
软件设计难题
实际上,软件工程师需要掌握软件设计技能。以我自身为例,我深感遗憾在大学期间没有在这方面投入更多时间。首先,得有一个创意,比如开发一个app或者网站。然后,要确定所需的技术框架,并设置好工作环境,也就是在电脑上安装必要的软件。接下来,需要制定项目的时间规划,把想法转化为代码。一个明智的做法是先迅速构建一个能展示项目核心功能的原型。经验丰富的程序员做这些任务,也要花费一周甚至更长时间。面对如此繁杂的流程,新手工程师往往容易半途而废。就拿我来说,开发第一个个人应用项目,用了整整六个月才在Play Store上上线。
项目推进压力
从构思到完成,每一步都需要细致操作。首先,制定项目的时间规划是一项挑战,需要准确预测每一步所需的时间。新入职的工程师由于经验有限,往往难以准确估计时间。在编写代码时,还会遇到各种技术难题。即便完成了初步版本,还需不断调整和完善。此外,实现后的成果还需公开发布。在整个项目推进中,每个阶段都可能出现问题,压力自然不小。
阅读完这些资料后,你认为对于新加入的软件工程师来说,哪些困难最为难应对?若你对这篇文章有所共鸣,不妨点个赞或者转发一下!