#

requirements

(1 articles)

What If the Code Doesn't Matter Anymore?

๐—ช๐—ต๐—ฎ๐˜ ๐—œ๐—ณ ๐˜๐—ต๐—ฒ ๐—–๐—ผ๐—ฑ๐—ฒ ๐——๐—ผ๐—ฒ๐˜€๐—ป'๐˜ ๐— ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ ๐—”๐—ป๐˜†๐—บ๐—ผ๐—ฟ๐—ฒ? Most programmers aren't very good at writing requirements. Itโ€™s not because theyโ€™re lazy or careless. Itโ€™s because ๐˜„๐—ฒ ๐—ฑ๐—ผ๐—ปโ€™๐˜ ๐˜๐—ฒ๐—ฎ๐—ฐ๐—ต ๐—ถ๐˜. In most CS/EE programs, the focus is on algorithms, data structures, and writing code that works. Nobody teaches you to say: โ€œLetโ€™s discuss how to describe what the system ๐˜€๐—ต๐—ผ๐˜‚๐—น๐—ฑ do clearly, unambiguously, and completely.โ€ Programmers often donโ€™t develop that skill until theyโ€™re senior engineers. But here's the twist. We may be heading toward a future where your ability to code matters less than your ability to specify what the code should do. ๐—™๐—ฟ๐—ผ๐—บ ๐—”๐˜€๐˜€๐—ฒ๐—บ๐—ฏ๐—น๐˜† ๐˜๐—ผ ๐—”๐—œ: ๐—”๐—ฟ๐—ฒ ๐—ช๐—ฒ ๐—ฅ๐—ฒ๐—ฝ๐—ฒ๐—ฎ๐˜๐—ถ๐—ป๐—ด ๐—›๐—ถ๐˜€๐˜๐—ผ๐—ฟ๐˜†? When higher-level language compilers first appeared, many programmers were skeptical. They pored over the generated assembly, shaking their heads: โ€œ๐˜๐˜ตโ€™๐˜ด ๐˜ฏ๐˜ฐ๐˜ต ๐˜ฐ๐˜ฑ๐˜ต๐˜ช๐˜ฎ๐˜ข๐˜ญ. ๐˜๐˜ตโ€™๐˜ด ๐˜ช๐˜ฏ๐˜ฆ๐˜ง๐˜ง๐˜ช๐˜ค๐˜ช๐˜ฆ๐˜ฏ๐˜ต. ๐˜ ๐˜ค๐˜ฐ๐˜ถ๐˜ญ๐˜ฅ ๐˜ฅ๐˜ฐ ๐˜ฃ๐˜ฆ๐˜ต๐˜ต๐˜ฆ๐˜ณ ๐˜ฃ๐˜บ ๐˜ฉ๐˜ข๐˜ฏ๐˜ฅ.โ€ And they were often right...at first. As compilers matured and hardware got faster and cheaper, priorities shifted. They stopped obsessing over machine code and focused on the what and whyโ€”not how every instruction worked. Most stopped looking at the assembly output altogether. Fast-forward to today. Weโ€™re hearing a similar refrain about AI-generated code. When developers use AI to โ€œvibe codeโ€ (expressing intent in natural language), the critics are quick to respond: โ€œ๐˜›๐˜ฉ๐˜ช๐˜ด ๐˜ค๐˜ฐ๐˜ฅ๐˜ฆ ๐˜ช๐˜ด ๐˜ด๐˜ญ๐˜ฐ๐˜ฑ๐˜ฑ๐˜บ, ๐˜๐˜ตโ€™๐˜ด ๐˜ฏ๐˜ฐ๐˜ต ๐˜ฆ๐˜ง๐˜ง๐˜ช๐˜ค๐˜ช๐˜ฆ๐˜ฏ๐˜ต, ๐˜•๐˜ฐ ๐˜ณ๐˜ฆ๐˜ข๐˜ญ ๐˜ฅ๐˜ฆ๐˜ท๐˜ฆ๐˜ญ๐˜ฐ๐˜ฑ๐˜ฆ๐˜ณ ๐˜ธ๐˜ฐ๐˜ถ๐˜ญ๐˜ฅ ๐˜ธ๐˜ณ๐˜ช๐˜ต๐˜ฆ ๐˜ต๐˜ฉ๐˜ช๐˜ด.โ€ Itโ€™s the same tune, different instruments. If AI keeps improving and hardware keeps getting faster and cheaper, we may be heading to the same place: One where ๐—บ๐—ฒ๐—ฒ๐˜๐—ถ๐—ป๐—ด ๐˜๐—ต๐—ฒ ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ถ๐—ฟ๐—ฒ๐—บ๐—ฒ๐—ป๐˜๐˜€ matters more than how clever the code looks. Maybe programmers will even stop looking at the code all together. ๐—ฆ๐—ผ ๐—ช๐—ต๐—ฎ๐˜ ๐——๐—ผ๐—ฒ๐˜€ ๐—ง๐—ต๐—ฎ๐˜ ๐— ๐—ฒ๐—ฎ๐—ป ๐—ณ๐—ผ๐—ฟ ๐—ฌ๐—ผ๐˜‚? If youโ€™re not great at writing requirements, you should work on that skill ๐—”๐—ฆ๐—”๐—ฃ. Take a class, read a book, offer to help with the spec. If the future of software really becomes telling an AI ๐˜„๐—ต๐—ฎ๐˜ to build, then development ๐—ฅ๐—˜๐—ค๐—จ๐—œ๐—ฅ๐—˜๐— ๐—˜๐—ก๐—ง๐—ฆ ๐—”๐—ฅ๐—˜ ๐—ง๐—›๐—˜ ๐—ก๐—˜๐—ช ๐—–๐—ข๐——๐—˜. Even if that future never fully materializes, learning to write clear, testable, complete requirements will still make you a better programmer: - Youโ€™ll think more clearly. - Youโ€™ll design more robust systems. - Youโ€™ll collaborate more effectively. Whether leading a team or prompting an AI, youโ€™ll benefit from speaking the language that matters most: ๐—ง๐—ต๐—ฒ ๐—น๐—ฎ๐—ป๐—ด๐˜‚๐—ฎ๐—ด๐—ฒ ๐—ผ๐—ณ ๐—ถ๐—ป๐˜๐—ฒ๐—ป๐˜. - By [Greg Burk](nostr:npub19jvl8q5ll78k7n3q9l86pqjwz2y2yheqwxze6wz832ph7jsc7srstr8wd2), cross-posted from [LinkedIn](https://www.linkedin.com/posts/gregburk_ai-requirements-wolffelectronicdesign-activity-7350932512094703618-TQUB?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAADIYUBB5l1IIFszVCZ6VA2UTV0S0wIcoI) #ai #requirements #WolffElectronicDesign