Software engineering may no longer be a lifetime career

Software engineering may no longer be a lifetime career

软件工程或许不再是一项终身职业

I don’t think there’s compelling evidence that using AI makes you less intelligent overall. However, it seems pretty obvious that using AI to perform a task means you don’t learn as much about performing that task. Some software engineers think this is a decisive argument against the use of AI. Their argument goes something like this: Using AI means you don’t learn as much from your work; AI-users thus become less effective engineers over time, as their technical skills atrophy; therefore we shouldn’t use AI in our work. 我不认为有令人信服的证据表明使用人工智能会让你整体上变得不那么聪明。然而,显而易见的是,使用人工智能来执行任务意味着你在执行该任务的过程中学到的东西会变少。一些软件工程师认为这是反对使用人工智能的决定性论据。他们的逻辑大致如下:使用人工智能意味着你从工作中获得的学习减少;因此,随着技术能力的退化,人工智能用户会逐渐成为效率较低的工程师;所以我们不应该在工作中使用人工智能。

I don’t necessarily agree with that. On the one hand, moving from assembly language to C made programmers less effective in some ways and more effective in others. On the other hand, the transition from writing code by hand to using AI is arguably a bigger shift, so who knows? But it doesn’t matter. Even if we grant that the argument is correct, this is still a bad argument. 我不一定同意这一点。一方面,从汇编语言转向 C 语言在某些方面降低了程序员的效率,但在其他方面却提高了效率。另一方面,从手写代码到使用人工智能的转变可以说是一个更大的跨越,所以谁知道呢?但这并不重要。即使我们承认上述论点是正确的,它仍然是一个糟糕的论点。

Until around 2024, the best way to learn how to do software engineering was just doing software engineering. That was really lucky for us! It meant that we could parlay a coding hobby into a lucrative career, and that the people who really liked the work would just get better and better over time. However, that was never an immutable fact of what software engineering is. It was just a fortunate coincidence. 直到 2024 年左右,学习软件工程的最佳方式就是直接进行软件工程实践。这对我们来说真的很幸运!这意味着我们可以将编程爱好转化为一份高薪职业,而那些真正热爱这项工作的人会随着时间的推移变得越来越出色。然而,这从来都不是软件工程本质上不可改变的事实,而仅仅是一个幸运的巧合。

It would really suck for software engineers if using AI made us worse at our jobs in the long term (or even at general reasoning, though I still don’t believe that’s true). But we might still be obliged to use it, if it provided enough short-term benefits, for the same reason that construction workers are obliged to lift heavy objects: because that’s what we’re being paid to do. 如果使用人工智能从长远来看确实让我们在工作中表现变差(甚至影响到一般推理能力,尽管我仍然不相信这是真的),那对软件工程师来说确实很糟糕。但我们可能仍然不得不使用它,如果它能提供足够的短期利益的话,原因就像建筑工人不得不搬运重物一样:因为这就是我们拿薪水要完成的工作。

If you work in construction, you need to lift and carry a series of heavy objects in order to be effective. But lifting heavy objects puts long-term wear on your back and joints, making you less effective over time. Construction workers don’t say that being a good construction worker means not lifting heavy objects. They say “too bad, that’s the job.” 如果你从事建筑工作,你需要搬运一系列重物才能高效工作。但搬运重物会对你的背部和关节造成长期磨损,使你随着时间的推移效率降低。建筑工人不会说“做一个优秀的建筑工人意味着不搬重物”,他们会说“没办法,这就是工作”。

If AI does turn out to make you dumber, why can’t we just keep writing code by hand? You can! You just might not be able to earn a salary doing so, for the same reason that there aren’t many jobs out there for carpenters who refuse to use power tools. If the models are good enough, you will simply get outcompeted by engineers willing to trade their long-term cognitive ability for a short-term lucrative career. 如果人工智能最终真的让你变笨了,为什么我们不能坚持手写代码呢?你可以这样做!但你可能无法因此获得薪水,原因就像那些拒绝使用电动工具的木匠很难找到工作一样。如果模型足够好,你很快就会被那些愿意用长期认知能力换取短期高薪职业的工程师所淘汰。

I hope that this isn’t true. It would be really unfortunate for software engineers. But it would be even more unfortunate if it were true and we refused to acknowledge it. The career of a pro athlete has a maximum lifespan of around fifteen years. You have the opportunity to make a lot of money until around your mid-thirties, at which point your body just can’t keep up with it. A common tragic figure today is the professional athlete who believes the show will go on forever and doesn’t prepare for the day they can’t do it anymore. We may be in the first generation of software engineers in the same position. If so, it’s probably a good idea to plan accordingly. 我希望这不是真的。这对软件工程师来说确实很不幸。但如果这是真的,而我们却拒绝承认,那将更加不幸。职业运动员的职业生涯最长约为十五年。你有机会在三十五岁左右之前赚到很多钱,但到了那个时候,你的身体就无法再支撑下去了。当今一个常见的悲剧人物是那些认为表演会永远持续下去,而不为无法继续从事职业的那一天做准备的运动员。我们可能正处于第一代面临同样处境的软件工程师之中。如果是这样,提前做好规划或许是个好主意。