Software Engineering Is Not For Me
Had a strong hunch, though now I’m 100% sure: coding isn’t for me.
~2 years later (160+ repos, 3k+ commits, 1k+ Codewars’ katas, dozens of online classes, 1 bootcamp, 1 data structures & algorithms Nanodegree, hundreds of job application rejections, and countless tutorials later) I’m happily working as a Data Engineer at Zendesk.
One really cool thing I kind of knew all along, yet now I’m certain of, is that:
coding is not for me. It is for my user instead.
This may sound sort of obvious, sure. But is it?
Is good software the most efficient? The most readable? Or is it the easiest to run, maintain, debug or deploy? Some people say that good software is actually the least bad software.
What I’ve observed is that good software is a function of all of the above, in a manner that optimally solves an issue which a willing-to-pay customer needs resolved.
why solve the most “interesting” problem that nobody cares about?
A lot of the learn-to-program content I’ve seen or used is usually presented in a format similar to this:
“learn [INSERT LANGUAGE], in [INSERT TIME IN MINUTES]; [INSERT COMP INSINUATION SUCH AS COMPANIES WHERE PEOPLE WHO COMPLETED NOW WORK].”
This is fine I guess. I lack expertise in marketing.
From a dev’s perspective though, these can be decoded into “this short intro provides a non-comprehensive selection of elements that can get you started on this path; do your customers have problems that could be solved with this technology? Then this will be a profitable use of your time!”
I wrote this short post hoping someone out there may benefit from this idea: yes, solving hard problems and learning new skills are both awesome, but addressing your customer’s needs is more important.
Thinking like this can have a huge impact in your career, as it’s had (and continues to have) in mine.
PS, could you imagine doing that translation ^ for meetings, emails, and any other efforts that may lead to better serving customers? 🤯