Good Software Engineers Are Not Satisfied With The First Solution

As I’ve been pairing with several Senior Software Engineers at work, I’ve noticed a pattern. To implement a feature or fix a bug, they start out by looking at the code more generally, trying to figure out what parts of the code the task involves, they then move on to looking more deeply into the relavent part of the code base until they have a general idea of how it works. They might also play around with the code and log some information and even try implementing a quick fix. Nothing special here, makes sense. This is pretty much how all Software Engineers approach a problem, I’m sure.

But here is where the noticeable difference comes in: when the Senior Software Engineer knows enough of the code base to implement at least some kind of solution, they continue learning the code base. Just getting to a solution isn’t the goal. The goal is getting to the best solution. This is in big contrast to the Junior Software Engineer (aka me), who is happy at the first sign of any solution!

The best solution mentality is something I’ll be keeping in mind as I continue on with my career as a Software Engineer. Got to learn from the best!

Enjoy the article? Join over 20,000+ Swift developers and enthusiasts who get my weekly updates.

  • I know it’s a crude parallel, but this is how I look at my spreadsheets. I build fairly complicated spreadsheets to allow for re-use later on for new projects (I do acoustical engineering). Creating new spreadsheets are great to find an initial answer, but I refine over months to come to a solid, efficient, and pretty spreadsheet.

    Too bad I won’t be doing this much longer, instead I have my cohort starting on Monday at DBC!

    • That’s awesome. Great job on optimizing your spreadsheets! You’ll be an incredible Software Engineer 🙂