3 ms·
> Who Says Programming Is Hard? I do—working professionally, cranking out performant mostly bug-free code with useful features is hard. Authoring high-quality
by aranchelk 5y ago
> Who Says Programming Is Hard?
I do—working professionally, cranking out performant mostly bug-free code with useful features is hard. Authoring high-quality applications? Hard. Designing good frameworks? Hard. Understanding the requests of confused business people and turning them into acceptable business logic? Hard.
Some circumstantial evidence that programming is hard: software engineering a very well paid profession (and IMO with regard to social status, engineering is pretty average, so I doubt that has much of an effect one way or the other).
I’m straining to think of any easy activity in which having someone break your concentration for a moment can shitcan a half hour of work or introduce a mistake you may not find for months.
I find ACM to have mostly excellent content; this is IMO not a great representation.
- dkersten 5y agoI would add to what you said by saying that coding (that is, actually writing the code) may be easy enough and you can even get useful stuff made easily enough, but as I said in the github copilot discussions, writing code is usually the least important aspect of my job as a programmer and only a small chunk of what I spend my time on. So, writing code might not be hard, but its also a kinda mechanical process. Most of the coding effort comes from translating your thoughts into what the language understands. Teenage me managed just fine, many kids start even younger. Writing code that does interesting things isn't, for many people and definitely shouldn't be for a professional programmer. However, as a programmer, I spend much more time on other tasks: figuring out what the requirements even are, refining them, figuring out what that even means in terms of code, figuring out the overall architecture, how it fits in with other systems or existing code, what data formats it uses, how it handles faults, persistence, scale, security. The data model (what data I have, what shape does it have, how can I transform it, where does it live/is it stored, who or what owns it, who or what is allowed to modify it/add to it/delete from it, what is its lifecycle, are there any legal requirements around storage or retention). How it interfaces with the outside world (UI or API). Besides the application code itself, I also spend a lot of my time on writing tests and on writing documentation. All of these tasks are, in my opinion, a lot harder and more time consuming than actually writing the code.