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.