My biggest passion in life - the thing that gets me out of bed and makes my heart beat faster and faster the more I do it and the better I get - is not technology but writing. Which may be risky statement to make within the technology community since it’s repeated ad infinitum that for any aspiring technologist, learning new technologies must be the number #1 thing you are truly obsessed with. You have to wake up and grind for it. You have to convince employers that technology is your raison d'être. Code as a justification for life. It's a trope I’ve fallen for with recruiters and interviewers more times than I care to admit.
“Yes, I live and breathe Javascript and Python. It’s the main thing in this world I truly care for,” which is just one of those desperate lies we all play along with and convince ourselves to believe, probably because it's a more aggressive way of saying, "This is something I am more than willing to do over the span of my working life with commitment, loyalty, and dedication to growth," - an honest yet equally promising response that I now use in interviews. (Aggression and desperation are probably to two of the most common feelings for people hunting in today's job market. And these suppressed and hidden feelings can easily slip into how we market ourselves in strange and subliminal ways.)
Of course, there do exist people who live and breathe software engineering and technology. It is, in fact, their existence and deepest passion in life. They may have started out young, as protégés, introduced to code through gaming, puzzles, and the like. They may have grown up to be computer science majors with internships and job offers at some of the biggest tech companies at the start of their youth. But if we’re being honest, those people are in the minority. The fact is, developers are people from broad ranges of life and experiences, each bringing with them their own histories and reasons for jumping into the world of tech.
Anyone who’s worked for any specialist company knows that the main feature of the company does not need to be the main feature of the individuals who work there. It would be quite strange if this were the case. Imagine a book publishing house where everyone was a true bookworm but no one knew anything about book production lines or the general business of books. Imagine a horror movie streaming service filled with top-notch cloud and React engineers, yet knew what the difference between the films of Craven or Romero. Or a neural machine language translation company with no one capable of communicating and presenting to stakeholders and potential investors. A companies range extends only so far as that of its people.
Which gets me back to why I'm writing (about technology). I started learning code roughly 9 years ago. I took my first programming course learning Python at university. It was the strangest programming course I've ever taken in my life. Everything was done by hand and we were not allowed to use our computers. We literally were writing entire Python programs with pencil and paper (folders and files would be represented with bound notebooks and different sheets of paper, respectively). For many programmers out there, this is a huge red flag. No IDE. No terminal. No tests. One could write a hugely erroneous program without encountering a single bug or syntax error. These are indeed red flags and this method can never serve as a comprehensive way to learn how to program. But there's only so much negativity I can say about this course since it's the main thing I remember igniting my interest into the world of programming. As a writer, I found this approach to creating products irresistible. Much like hypertext fiction, a theoretical predecessor to the World Wide Web, I was assigned to create a network of nodes that make up a program on the page. Each node would represent new pages where the reader could direct themselves. And unlike traditional writing, there was no linear constraint one had to follow, allowing them to explore the program based on their own inputs and choosing. Of course, the experience on the screen is entirely different on paper for the user.
But for the writer (i.e. the developer), writing a program on paper brings them closer to the fundamentals of programming by forcing their brain to work through the logic and intuition. It allows them to become experts in pseudocode, an underrated skill that traverses every programming language regardless of syntax. It allows them to brainstorm without the constraints of an IDE. It allows them to illustrate and sketch what may become a hugely innovative computer program. It teaches them the value of documentation and how to write clearly and concisely for other programmers and users who will encounter their program. All in all, it allows them to create a story with freedom which is how all great technological innovations come about.
When I say writing is my deepest passion, it is not in competition for technology. It's the grounded passion from which all other interests stack on top of.