他们骗了你。 建造软件很难。
They lied to you. Building software is hard

原始链接: https://blog.nordcraft.com/they-lied-to-you-building-software-is-really-hard

## 快速开发的幻象 无代码和人工智能工具承诺能实现应用构建速度提升十倍,但这种说法往往具有误导性。虽然这些平台擅长快速原型设计并简化初始阶段,但最终会阻碍有抱负的开发者长期成长。 易用性创造了一个“平坦”的学习曲线,提供了一种进步的错觉,但却延迟了基本技能的获取。当出现复杂问题——而它们不可避免地会出现时——用户会发现自己需要从头开始学习一切。 真正的进步来自于拥抱*陡峭*的学习曲线,积极应对挑战,并深入理解底层技术。这培养了解决问题的能力,这对于软件工程师的价值至关重要——分析问题并设计创造性的解决方案。 虽然人工智能可以协助经验丰富的开发者,但其影响会随着技能水平的提高而减弱。人们担心人工智能可能会降低初级开发人员的职位价值,从而可能提高(和工资)对高级工程师的需求。核心建议是:**投资自己。** 建立坚实技能基础,即使这些技能最终会过时,也能提供持久的价值,并使未来的学习更加容易。

一篇由“构建软件很难”文章引发的 Hacker News 讨论,集中在*构建*和*发布*软件之间的区别。虽然创建基本原型越来越容易——甚至儿童也能做到,现在还得到了人工智能的帮助——但成功*发布*和维护软件仍然具有挑战性。 对话强调了拥抱困难以实现成长的重要性,并将其与强迫自己从事弱点所在的角色所带来的危险形成对比。 许多评论者强调持续学习和专注于优势的价值,并建议持续、渐进的改进是关键。 大家承认人工智能正在自动化许多初级任务,可能会影响入门级工作机会。 然而,核心论点仍然是:最初的创建不是障碍; 真正定义软件创建难度的在于生产、维护和持续开发中的复杂性。
相关文章

原文

Every week there seems to be a new tool that promises to let anyone build applications 10x faster. The promise is always the same and so is the outcome.

Andreas Møller

Andreas Møller

February 23, 2025

It used to be no-code tools but recently AI programming platforms have been gaining a lot of traction.

No-code and AI programming tools might seem like different categories but they have a lot in common. They both target users with little prior knowledge of programming and promise to let them build anything they could desire. They are easy to learn and often have you building something in minutes that otherwise might have taken you weeks if not months. 

The problem is that while these tools can help you build a simple prototype incredibly quickly, when it comes to building functional applications they are much more limited. They make the simple parts of software development simpler, but the complex parts can often become more difficult.

The reality is that if your goal is to become a software developer, relying on these tools early on often ends up slowing you down. You get the illusion of progress early on, but the flat learning curve just means that it will take much longer to learn all the things you need.  When you eventually face a problem that the tool cannot solve for you, you will be back at where you started having to learn everything from scratch.

The great thing about a steep learning curve is that you progress a lot faster.

If you are looking for that one trick that lets you get ahead and jumpstart your career, my advice to you is: Don’t choose the path of least resistance. When training a muscle, you only get stronger with resistance. The same is true for learning any new skill. It is when you struggle with a specific problem or concept that you tend to remember. When you are fully engaged and wracking your brain to try and understand what is going on, that is when you grow. Relying on your tools is like copying the answer from your classmate. You forget it the next day.

In simple terms, the steeper the learning curve, the faster you are going to learn.

The true value of a software engineer is in our ability to analyze problems as well as design and implement creative solutions. To get good at these skills you need to understand not just the tools at your disposal but also the technologies you are building on top of. If you don’t understand how an application works then you have no chance of fixing its bugs and issues. 

With no-code tools you often reach a hard limit where the tool simply does not make sense to use anymore. With AI it is more of a gradual curve. It is difficult to get any reliable data on how AI tools can impact developer productivity. One thing that does seem to hold true is that the effect greatly diminishes the more experienced the developer is.

My best estimate is that the curve looks something like this

As you gain more experience, you tend to spend more of your time on complex problems that AI assistants have a harder time solving. At the same time you also just get much better at coding and can solve problems much faster than in your junior years.

There has been a lot of chat on social media about the future of software developers. One point that seems to come up frequently is the idea that companies will only hire senior engineers and rely on AI for the tasks that were previously done by their junior colleagues. This is clearly absurd since without junior developers there would be no senior developers. There is however a real risk that we will start seeing junior developer salaries dropping as their contributions might not be deemed as valuable in the age of AI. In that case senior engineers will likely be even more in demand and their salaries will likely reflect that.

To sum up the advice in this article into a single, easily consumable bite it would be this:

Invest in yourself. 

Your skills and experience as a developer have value. The harder it is to acquire a set of skills the more valuable they tend to be. Even though some of the things you will pick up along the way will become outdated, the experience you gained while using them will stay with you. Each language or technology you use makes the next one a little easier to learn.

联系我们 contact @ memedata.com