I recently talked with a friend who was on a bit of a job hunt. He had a spreadsheet that he was using to keep track of organizations he had done research on and liked. Job openings at those organizations come and go. He wanted to keep tabs on all of these places in case an exciting opportunity came up.
I'm sure that initially he was periodically clicking through the career page links in his spreadsheet to see what was open. As the list grew, this became tedious. He needed a better, less-manual way to keep on eye on all of these organizations.
My first instinct when I heard him telling this story was one that I think a lot of developers have. Perhaps you, the person reading this, already have the same thought bubbling in the back of your mind.
"I bet I could whip up a script for this. It could parse through your spreadsheet, visit each page, look for changes in the job listing, and print out a summary. Maybe I could even figure out how to get it to send you an email of the results."
My friend, a non-developer, had a much more pragmatic solution. He found an app (VisualPing) that can take a list of URLs and notify you when any of them change. His first instinct wasn’t to manufacture some bespoke solution. He assumed there was a tool out there for the job, found it, and started using it.
While he was already tracking these sites and moving on to the next thing, I would have just been starting in on writing a script; a task I would likely run out of steam on. He was focused on solving the actual problem he had, whereas I was manufacturing another problem that I thought I could solve with my skillset. I think this kind of thing happens all the time. My developer mindset makes everything look like a nail for my software hammer. That mindset prevents me from taking a step back and thinking about other approaches. The lesson for me is to ask the question, "If I wasn't able to or didn't have time to code my way out of this problem, how else would I go about solving it?"
Solving real problems instead of manufacturing new ones: this is the power of thinking like a non-developer.
Notes: The term "non-developer" feels off to me. In this case it seems like the most precise way to make my point. I'm concerned that it comes across as demeaning or othering. How else could I phrase this?