O'Reilly Blog Post - Solving Software Problems

I wrote a post for O’Reilly’s blog about the problem-solving process. It’s grown out of some ideas I’ve been mulling over for a while, and is an attempt to articulate a key skill that everyone knows we need, but we are rarely taught directly.

I’ve noticed a gap in technical education which oddly coincides with a skill all software developers are expected to have: the problem-solving process. I started my software career with a combination of online tutorials and a coding bootcamp, but I’ve heard similar complaints about academic computer science programs.

I’m not saying no one formally teaches these skills, but it seems more common for developers to have to figure them out on their own. Many classic (and controversial) parts of technical interviews, like whiteboard exercises and “brainteaser” questions, are attempts to test these skills.

That’s why, whenever I’m helping beginners learn to code, I try to walk them through the process of solving problems in the same way I would at my job. I’d like to articulate those steps here, both for software newbies who are overwhelmed by this whole “coding” thing, and to see how it compares to the process other experienced developers use.

Read the rest: 4 steps to solving any software problem

Written on October 18, 2017