0
点赞
收藏
分享

微信扫一扫

业余选手成就了软件开发者?


在一篇名为《软件开发是输家的游戏》(https://thehosk.medium.com/software-development-is-a-losers-game-fc68bb30d7eb)的文章中,作者曾表示:

“我认为,80%的软件开发人员都是业余的,只有20%才是专业人士。”

根据他的定义,业余开发人员指的是不喜欢被广泛接受的最佳实践的开发人员。

其实,我们还可以从另外一个角度来看这个问题。Uncle Bob曾指出,程序员的数量每5年就会翻一番。考虑到大量通过在线资源自学成才的程序员,这个数量实际上会更庞大。这意味着,不论何时,大约有一半程序员的工作经验都不足5年,75%的程序员工作经验不足10年。

还有一个因素我喜欢称之为“期望与经验的关系”。

业余选手成就了软件开发者?_java开发

在刚涉足软件开发时,你会觉得一切似乎皆有可能。你处在懵懂之中,不清楚自己有哪些方面的欠缺。你对某项工作所需的技术、时间以及难度等的估计通常都会很离谱。你还没有经历过软件项目的洗礼。你还没有与团队合作过。你还没有学习到最佳实践。你知道如何写代码,而且充满了活力。在你看来,代码审查、SOLID 设计以及标准等一些令人讨厌的实践似乎都很愚蠢,这些只不过是妨碍你快速写代码的绊脚石。

随着获取的经验越来越多,你对自己的能力期望会呈断崖式下降。你遭遇了几次失败。完美的项目在中途被抽走资源。你掌握了一些极端情况。你了解到,通常用户并不清楚自己真正想要什么。不合理的期限要求,可能会导致代码出现微小的错误,但千里之堤毁于蚁穴,这些错误会变得非常痛苦。于是,你开始意识到最佳实践的重要性,因为你见识了忽略这些实践的恶劣后果。身处谷底的你认为一切都是不可能的。

身处这个阶段的许多开发人员都会觉得疲惫不堪。

坚持过这个阶段,并获得足够的经验后,你就会开始遵循这些最佳实践,而你对自己也越来越有信心。以前没见过的问题会越来越少。最终你会成长为开发人员之中的佼佼者,你对自己的期望会非常高,而且你非常清楚完成某项工作所需的知识和技术。

我喜欢经验丰富的开发人员,他们已经成功度过了低谷阶段,处于上述曲线的右侧。但是,如果我们的行业想避免陷入一团糟,那么前辈就要站出来帮助后辈。这些最佳实践很重要。

目前,软件行业最具破坏性的影响之一是有人认为老程序员该被淘汰。他们认为,这些程序员的薪资太高,而且还需要平衡工作与家庭。他们认为自学成才的25 岁年轻人是物超所值的最佳选择,因为他们愿意每周工作 80 小时。然而,仅靠这样一支新起之秀的团队又如何能赢得总冠军?新老结合才是最佳团队。

一些开发人员经验不足,却认为自己无所不知。我也曾年轻过,也曾愚蠢过。前辈可以帮助晚辈,给他们指路,但这也要看晚辈是否愿意听取这些建议。不幸的是,大多数人只有在经历过几次挫折之后,才能幡然醒悟。

本文开头提到的“80/20规则”本身没有错,但这并不是说大多数人只是业余爱好者,我们应该围绕这个规则调整我们的方法和实践,我们真正应该做的是把这些业余爱好者变成专业人士。



举报

相关推荐

0 条评论