Software development is so much more than writing code
May 30, 2021
Most education focuses on how to code, but this is only a small part of becoming a productive software developer.A common frustration I hear (and feel) is that traditional (and even less traditional) education doesn’t do a very good job of preparing people for a software development career. Most education focuses fairly narrowly on how to code.
The problem is that learning to code is only a small part of learning to be a productive software developer.
Software development usually involves writing code, and other closely related tasks:
- Writing code
- Debugging code
- Writing and executing automated tests
Many or most of these one might assume are covered in a typical bootcamp.
But software development also involves many non-coding activities:
- Talking to customers/end users, to understand their needs and desires
- Designing software and other computer systems (both before, and during the act of coding)
- Prioritizing tasks
- Communicating the intent of your code (both in the code itself, as well as in documentation and other artefacts)
- For many: Shipping, deploying, maintaining code once it’s written
- Branch and feature management (in git or some other VCS)
- Proper/best for generating and reading logs
- Monitoring and alerting
- Considering the security implications of code and systems
What else would you put on this list?
Related Content

Tacit knowledge vs explicit knowledge
How much of what you do on a daily basis would you struggle to explain to someone as step-by-step instructions?

Help wanted naming this code
Do you have a helpers or utils class or directory in your project? Maybe both? Quit it!

Regular Expressions Are the Best! s/Best/Worst/
Regular Expressions. Ya love 'em or ya hate 'em. But it shouldn't be so black-or-white. Here's when they do, and don't make sense.