Tenacity Makes Great Developers
Programmers often joke that our job is mostly copying and pasting stuff from Stack Overflow.
If that were true, we wouldn’t be one of the most highly paid professions. And the hiring market wouldn’t be as insane as it is right now.
More often than not, the answer is not out there. A developer’s skills are put to the test when they have to implement something no one’s written about or is poorly documented.
My first job out of college, I was working at a company that made networking devices. We competed directly with the likes of Cisco. One of the sales tactics was that we had software that not only made managing networks with our hardware easier, but also with all our competitor’s hardware.
Those competitor’s weren’t exactly cooperative with documentation or support in helping us get the software to work with their devices.
Getting our software to work involved trying to stitch together what public documentation there was while trying all sorts of random things in an attempt to find something that worked. No one was going to come to us to save the day with solutions. We had to persevere and figure it out.
At one job, my team often had to work with various third party technology with minimal support. Not that we weren’t paying support mind you. It just so happens when the technology you use is niche, the companies that provide that technology tend to not provide great support.
Example: when we contacted one vendor, their support team needed to wait for an independant consultant to help them answer the question. The company’s internal team had such a poor understanding of their own product that they needed to hire a consultant to help.
We didn’t have the time nor financial resources to replace any of those vendors. Yet, my team persevered and made it work.
There are also plenty of situations where there is material out there on what you want to do, but it’s not what you need. SEO in general is a constant problem for developers. Lots of bogus websites create a flood of low quality programmer content that tells you some basic information you already knew, but doesn’t help in the slightest.
We’re not paid to give up though. The job isn’t to copy and paste solution we find on the internet. The job is to build software that is useful for someone.
These situations where there are no solutions out there can be demoralizing. They are partly why estimates in software development are notoriously inaccurate. If you have to implement something that no one has the answer to, how can you possibly figure out how long it will take?
More importantly, after spending days or weeks on a problem, you’re going to get tired of it. You just want it to be done and over with. Or at least for someone to take the pile of poo from you.
Many developers find a way to get something to work though. The solution may not be pretty. It may not have the best UX. It may not be performant. It may have all sorts of other trade offs. But it will be a solution that provides value to users. Getting to these solutions is rarely easy. It often takes a huge amount of persistence and creativity. Great developers have this tenacity that’s required to get the job done.
I keep this blog around for posterity, but have since moved on. An explanation can be found here
I still write though and if you'd like to read my more recent work, feel free to subscribe to my substack.