More Job Ramblings
Ozan, you poor kid, you're back on a rut, hopping again on your well-acquainted anxiety treadmill. You can be anything you want, but you can't be everything at the same time!
Like a cheaper version of Mr. Nobody or Everything Everywhere All at Once I stand frozen at the crossroads of all the potentialities. Terrified of the consequences of choosing the wrong one.
Like a chicken and egg problem, I will be churning code for a living until my coding dread kicks in and I slowly stop being productive out of a mix of anxiety, anger, boredom and inability to concentrate. Most of the times that happened before, I would quit my job and look for another one. Surely this one wil make the difference?.
I'd blame the programming language, the project, the city or country I lived in, anything!
I'm aware the takeaway from the post up until here could be that I have underlying problems unrelated to the job that could be the culprit and those who trigger the anxiety. It is true to an extent, my anxiety is not only due to the nature of the job, but the rest of ongoing issues in my life are progressively getting better, so I choose to interpret this line of thought as isolated from the others.
However, last time was different. It took very little to burn-out and get fired, in a matter of around 4 months.
After that I was devastated. I was dead certain my coding days were over and even played with the idea of leaving tech altogether. After some time I started to run out of money and out of need eventually found a job at a startup as a fullstack developer, the cycle began again like clockwork: optimism, this time will be different, I will give my best, learn new tech every day type thing.
I have been working for this new company a little over 7 months. The pay is decent, the job is not so stressful, I have good colleagues and people are nice. It is not really interesting, as I'm working on an internal tool for operations management. If you're a mainly tech-focused person, then it's your dream because there are a lot of technical challenges to tackle, but I have grown bored of the "tech for the sake of tech" interest.
Still, last month has been anxiety-ridden. I had task assigned that went quite a bit over the normal level of difficulty I get assigned so I had to have several talks with my boss and more senior developer to discuss it. I struggled a lot to concentrate on the conversation to reach a consensus between all of us, as my mind was unconsciously wandering toward other things.
There are three main pieces to this post:
First, a walkthrough of my professional career to serve as a bird's view of all the different positions I've been in, highlighting the aspects I liked and disliked. Then hopefully a common thread of understanding will have unveiled, shedding some light into which could be a good path forward.
Finally, an enumeration of all the possible alternative paths to coding I've played with in my mind, and why didn't I follow through. This bit however is also quite simple to answer, as one fundamental reason is that I struggle to finish what I start, because I get bored and frustrated easily.
The path
My first job was as a frontend developer using ember.js and coffeescript. The project was a nice pwa that should be completely usable offline so it posed quite a few challenges to tackle in the browser, as it used data heavily and we'd store everything in a document store in the browser.
I learnt a lot there, made good colleagues and soon I hopped into a more full-stack position where I could play around with other languages like python or ruby. I even got some assignments to do several automations where I could play around with bash and makefiles.
Despite the fact that I enjoyed myself after the one year and a half mark I felt I wanted a change. The job itself was interesting but I was commuting for 2 hours every day and I was living in a country with quite a gloomy weather which didn't help. The things I liked the most about this job were the autonomy, relaxed timelines and the possibility of testing new technologies, because most of the projects were research for a public institution so there were no hard constraints on deadlines or the technologies we used (it was a microservices oriented architecture and we could use anything stack we pleased).
By then I was dreaming of the #digitalnomad lifestyle where I could travel so at some point a bit after two years, I decided to quit and go back to my home country, then travel and try figure things out.
Six months afterwards, I went back to that gloomy country because that's where all my professional connections where and found a job working as a backend developer using python, django and postgresql. I lasted for 5 months though. There was nothing wrong with the job, it was a boring dev role developing some ERP software, but a mix of dread for moving back to that country without really wanting to be there and lack of interest in my job were the perfect combination to make me quit again. What I liked in this job was that I was relatively left alone and not bothered much due to the relatively isolated nature of the role. We were several backend developers but each of us tackled a very specific part of the whole system so not much overlap was happening.
At this point I don't really feel disenchanted with coding but the first signs of what could be called burnout were showing up. I blamed it to fact that I very much disliked living there, but I could not care less about the job as well.
As a brief apart, it's worth mentioning that during my formative years in university as well as my first two years of professional coding, I used to gobble down blogs, newsletters and books about coding and tech in general, but mostly coding. I was determined to become an incredibly deep tech guy, but I quite never really got to the point many people I know get where they genuinely enjoy building stuff over the weekend, or scripting their life away automating anything they can think of in their workflows. Funny enough I have quite a low-level understanding of linux (sometimes more than other people that do enjoy coding a lot!) thanks to those years and there were times I did enjoy myself, but I don't know, it just kind of waned? I'll try to circle back to this idea at some point.
Now I'm determined to go back home and find a remote job that allows me to travel. My main concern was freedom and flexibility, I didn't want to be pinned down to one location. It was 2019 and finding a job in tech was way easier than it is now, I had some money saved up and scouting for companies in the area that would be remote-first, I found a fullstack developer job with a focus in the frontend in a small startup in the healthcare industry. I decided to stay for 6 months working in-house to get the hang of the role and I expected to leave then and move around. It was a disaster, the culture was really bad and I was not enjoying working with Angular and Java in the backend and dropped after 2 months. By now I know what you're thinking, "This guy is a quitter." I am decidedly not so, I have a very thin patience when something feels off though, I've never been one for powering through a dreadful experience at work for the sake of doing it, gaining experience or whatever.
The good thing about this job was that I met a very nice colleague that I appreciate to this day, although I don't keep contact with him anymore.
After leaving three tech companies I now see they all shared the fact that I was mostly by myself, coding away 40h+ per week, staring at a screen, punching in and punching out, and I felt trapped. That was the epitome of the rat race.
My burnout was through the roof, I didn't want to do anything with tech anymore and I took a job as a salesman in a small shop. I was really good. I knew I had some sales spirit in me although I was never good at giving talks in front of groups of people. However, in short distances I was off the charts. The fact that I knew very well the product I was selling and I enjoyed having these short, rapid-fire conversations where I would chat up a customer, recommend a product and if there were no other customers in sight I could even explain a bit about the history and curiosities around it made me even a stronger salesman.
My feeling of discomfort came not due to the nature of the job, but I was spending all of my days alone in the shop (well I talked to customers) and I felt like being inside of a shoebox. It was a tiny venue at the city center, I would go early up in the morning, upen up at 10h and close up shop at 20h every day. Once again that feeling of entrapment.
I didn't have to drop anything because covid did the trick for me. It was 2020 and the shop had to close due to lockdown. I was sent home temporarily but eventually my boss told me he needed to close up the shop as he was losing money with no end in sight.
Now I had my unemployment benefits for some months and I decided it was time to try my luck and do something for myself in tech, so if the project progressed I could hire people and slowly totally move away from coding but still keep my technical skills up to date. I met one guy with an interesting project, we decided to collaborate for a bit on it to see whether we were a good fit, and that was the beginning of 3 intense years as a startup founder.
Unfortunately, it didn't work out. Turns out if you're the technical founder of a company, regardless of whether you think you'll stop coding, you still have to and heavily at least in the beginning. That beginning spun out for 3 years where I had to deal with everything, from the landing page to the web application stack, to hiring and orienting an external contractor to work on a mobile native app, all for a fraction of the salary I was perceiving back then.
Would I do it again? absolutely. I am not an entrepreneurial guy and I had many days where I hated everything, I didn't want to code anymore, I was not interested in the business and I just wanted to be out by 17h30, which I did oftentimes. Still, what I valued the most during those three years was the freedom of working on something I knew was purely mine. Additionally, the fact of not having to answer to a boss or abide to a certain schedule was a very strong plus too.
At the end, we had to close up shop because we didn't manage to get to the expected growth our investors had hoped for, and despite the fact we were earning some money, it was not enough to sustain all of our salaries and operational costs.
Once we had our last salary, I had to look out for a job again. I started scouting several job sites and eventually found a job by chance in a small software shop. The stack was in php (laravel) and react.js and the salary was very, very good.
This was the first time I got laid off in my life. I was not adjusting well to developing in those technologies and had a tense relationship with my boss. I liked him in the personal domain, but he was really nitpicky with every single pull request I was submitting, up to throwing them back if my indentation was not on point. I managed to stay there for 6 months. The only thing I really liked in this job was the salary to be honest.
The day after I was laid off I felt relieved, but as the days went by I started to realize I had some serious anxiety and depressive thoughts. However, I could not take any time off, as I had very little money saved up, so off I went again in my quest for a new job.
The next 4 months were brutal. I could not find any position, and I applied to hundreds of job openings. I managed to arrive to the final stage of several startups but I was always rejected for some reason.
At the end, I managed to have a contact of mine recommend me for a job opportunity in a small but growing startup in the fintech industry, and after 2 long months of back and forth interviews and absolutely no negotiation on my side, I got a job as a fullstack engineer working primarily with vue.js, mongodb and python in the backend.
I am still in this job, and despite the fact that my interest in coding is pretty much non-existent, I enjoy going to the office every day, talking a bit to people and mostly having total freedom developing the platform I am working at the moment. I get occasional feedback from my boss and my senior colleague and sometimes it gets tense because they are amazing hackers and very opinionated, but I do accept it gracefully and keep on improving.
Another good thing about this job is that I can take some time to work remotely as long as I stay withing a reasonable timezone. I have gone home to visit my family and they are not very strict in the working schedule, as long as I deliver.
We'll see what the future holds, because right now I don't really have a clear vision or roadmap for my professional life.
The thread
I see the things I've valued the most over my professional life have been flexibility, autonomy and not being bothered by overly micro-managing grunts. I don't feel like a particularly technical hardcore engineer, aware or architecture, good practices, api design, distributed systems, etc.. also because my path has mostly led me to developing quick and simple applications, and it's been a while since I am not keeping up with new tech or try to learn new things in the space.
Another common fact I've valued over time has been the possibility of mixing deep work (system design & coding) with more soft-related tasks, such as managing a project's backlog, doing some minor demos, talking to clients, and such.
I value variety and that percolates over many aspects of my life. I struggle with consistency, but I am not allergic to it. I've worked out, done sports and read in a mostly consistent way all over my life.
Some guy I met a while ago told me "Ozan, to become a high performance person, you need to have a very high tolerance to boredom". He is definitely right, I won't go far by leaping from one branch to another.
I do get bored easily though.
The alternatives
Phew, there have been plenty of different alternative paths I've played with in my mind. Most of them I discarded because I got exhausted and anxious just thinking about the sheer effort it would take to even become a junior in that new area. Others, I got deterred by the huge pay cut I would have to take to start over in one of them.
When I was with my own startup, I liked the business side of things, where you had to deal with finding solutions to multiple problems, finding inefficiencies and smoothing them out. Thus I thought of becoming a business analyst, but quickly I learnt my job would entail a great deal of crunching numbers on an excel sheet (sorry if I am being reductive here).
Product management? It seems there is no consensus around what a product manager does in particular, but being the person that leads the course and roadmap of a certain product was appealing to me. It seems that product managers are sort of mini-CEOs of a certain product withing a company. They deal with stakeholders, feature discovery, they market the product (either internally or externally), and a whole slew of other responsibilities.
What about moving toward a technical project manager role? you still keep your hard skills sharpened but get to distribute work, analyze requirements and prioritize the backlog. That's something interesting!
The solutions engineer and presales engineer role has also been resonating very heavily with me. Taking a role where I no longer have to be a coding monkey anymore but I keep reading about technology and provide meaningful demos for clients, find out how their system can fit with the solution I represent and try to bridge the gap between both client & vendor. The fact that I could be sent around to the world while still having a home base sounds wonderful.
Having said all that, I'm also aware that I won't achieve real freedom by having a paycheck. I believe lifestyle inflation is real and I am not immune to it. Besides that I will always be at the mercy of the market, volatile bosses, frozen salaries, massive layoffs, and such.
That's why I sometimes play around with the idea of becoming an indie developer, and while not going again into the startup route, taking some time after work to develop micro-side projects that could yield some additional income. It seems that all the low-hanging fruit in the space has already been taken and most of the projects are either crm, sales, productivity or website creation tools that resemble the shovels that are sold during a gold rush. Still, it's something to keep in mind because although I don't romanticize the #digitalnomad #indiehacker lifestyle there is something appealing in not having to answer to anyone and earning a decent income while doing it.
After all, this very blog engine is the result of someone who decided to take that route!
Finally, I was doubting whether to include these last two, because I have been always interested in investing and increasingly in seeing how to automate it, but when both quant developer and algorithmic trader crossed my mind and started to dive into what means to go there, I realized it's more a lifestyle than a professional route. And hell if I wanted to spend less time in front of a computer just coding and staring at the screen this was definitely not the way to go!
Also related to taking the quant developer route, it feels the real way to make some serious money is to work for a big firm that has the capital and the resources to hire you as opposed to trying to make profits on your own.
Conclusion
It's complicated. I know there are better alternatives to being a software developer working for a company out there, especially because as I grow older, I'd have to become better an IC that other potential candidates to still be attractive to companies, meaning keep diving deep into the technical aspect of software engineering. Additionally, I have a strong social acumen despite the fact that I struggle to properly navigate the complex web of professional relationships, meaning I do feel comfortable working with people in short, self-contained contexts, say in a project-based setup, but do struggle to properly deal with the web of office politics, power dynamics, envy, jealousy, other people's competitive spirits and ambition, etc.
I believe I want to stay technical, as there are plenty of interesting things coming our way in the future, especially with the advent of AI, circular economy and global warming, housing crisis, etc.. plenty of challenges to tackle so I would not want to refrain myself from that.
I however stay in the same predicament: should I or shouldn't I drop the programming route altogether? It's relatively rich in opportunities, it forces me to keep learning, and I have again relative freedom as opposed to many other industries in terms of where I can work and establish my own schedule. On the other hand, it becomes annoying at sone point the repetitiveness and boredom of it, not to say having to be constantly glued to my screen coding.
My ideal role could be a hybrid one where I can still program and deal with people. The best route to take is one where I stay working at my day job, I keep saving and investing as much as I can, keep learning and looking for opportunities to build something on the side, because right now I don't have a clear idea of what path to take.