origins
I had great grades in high school. My teachers encouraged me, my peers supported me, and I had success in most of my endeavours. I genuinely believed I could do anything. I debated pursuing medicine, law, engineering, or even something artistic. In the end I decided I would be a software developer. The "learn to code" movement was in full force at the time and after breezing through high school computer science classes, and with my general technical aptitude/casual interest in technology, I thought breaking into it would be easy. All I wanted was a simple career at a desk. One that afforded me a comfortable lifestyle without needing to spend years in graduate school or working overtime.
The worst part of my naïvety was that I didn't care about it. I knew little about how the world worked and saw no reason to try and figure it out. Oblivious to the economy, the corporate ladder, the reality of software engineering and work in general, I went to university.
beginnings
I didn't major in Computer Science. I wanted to, but I didn't get in at the school I wanted. I decided to go that school for a different program. I guess this was the first sign I wouldn't make it.
I graduated with some internship experience and decent grades. One of my internships offered to bring me back after graduation and I happily accepted. Officially a Software Engineer I, I felt I had made it. If my salary never went up, if my title never changed, if my responsibilities never expanded, I was fine. I had achieved the simple life I wanted.
Less than a year in I was laid off. It was unrelated to performance. I was the least experienced developer on the team, and they got rid of a handful more. I made great friends at that job, learned a lot, and with my limited expenses, stashed away a comfortable rainy day fund.
regrets
I have been unemployed for almost two years.
In that time I accomplished the following:
- Took some time off to relax and travel a bit
- Tutored high school students at a drop-in facility, and university students 1-on-1
- Pursued a small handful of personal projects (nothing major)
- Took on a large project with a team (ongoing)
- Applied to hundreds of jobs, did several interviews, and received 0 offers
I am disappointed in myself. I have not been productive enough. Even granting leniency for being in a rough patch/struggling mentally, and taking on greater obligations for friends and family, I still had plenty of time to make an impact on my future. I have failed to do so. I should've been working out, reading, networking, and coding like my livelihood depended on it. At the very least I should have projects and blog posts to point to exemplifying my passion and prowess. But after over a year and a half, my unintended vacation can at best be described as subpar, realistically not even hitting that mark.
acceptance
i am not in demand
I fear I am incapable of becoming a great a software engineer. Or maybe I am incapable of doing so myself. I was progressing well in my last workplace, and with the terror that has been unemployment, I expect I would work hard if I were to secure another job. This may be wishful thinking or an excuse I tell myself for my present mediocrity, but I think one needs great things to work on to be great. In my own life, I want to work on apps, tools and small sites that make my everyday life a little better. I have no use for complicated distributed systems, scaling global architecture, getting into the weeds of databases, learning how compilers work, writing programming languages etc., and unfortunately, I do not have an inherent passion for them. I find these complex topics latently interesting, occasionally reading blog posts and feeling appreciation for the people that refine them, but at the end of the day I just want to make good products.
The nature of software allows great individuals to make outsized contributions. Linus Torvalds changed the lives of so many by starting Linux. There are incredibly smart and dedicated people working on all the most difficult problems in computer science, and their solutions are implemented and built on by other incredibly smart and dedicated individuals. I am not one of them and I don't see a path to becoming one.
This talk of greatness may seem odd considering my previously declared goals of a simple job. But there is immense competition in the software development industry, and it feels like getting hired — even for regular jobs — requires at least one of remarkable domain knowledge/talent or great networking skills. Part of the reason I wanted to work in this industry was so I wouldn't have to network — just let my work speak for itself. I think this can still be the case, but my work isn't good enough, and my networking is even worse.
Is it possible for me to lock in and become great? Write brilliant code and make relevant connections? I can't help but think that if it was, I would've done it by now.
What do I lack? I think a clear path to becoming an excellent programmer, and the motivation/confidence to forge a path myself. Yes, I can read books, do courses, maybe even some toy projects, but how long will it take for that to get me a job? What if I focus on the wrong things? Should I just build? Or also study history/theory/intricacies? And what should the focus be on?
The world of programming is wide and deep, and I have travelled through almost none of it. I have poor knowledge of O(n) stuff (I don't even remember what it's called). I never took a course on data structures and algorithms. I am painfully ignorant of good practices in software design (I'm talking about thing like the Singleton pattern, or Decorator pattern). I've always had trouble trying to memorize syntax/libraries/APIs. I could go on and on. I lack knowledge in all aspects of the work.
If a company wanted to hire someone for how strong of a programmer they are, I would probably be low on their list given my lack of experience. If a company is looking for straight productivity, a code monkey as some would deride, I can do that — but AI agents can do it cheaper and better. If a company is looking for someone young with great potential to train, there are plenty of folks younger and more enthusiastic than me they can hire (especially given the dearth of companies looking to do this). Do I have any advantage? Maybe in the realm of communication, personability, or some other soft skill that doesn't get interviews. But at this point, with an almost two year gap on my resume, it is fairly clear to me that there is no reason for any company to ever hire me, unless I can show them something great. Which I cannot, because I am not great.
As an argument against myself — which I should explore further at some point — I do want to be great at something. So why not programming?
do i even want to be in demand?
I used to be enamored by the tech industry, but as I've gotten older it's lost its lustre. I hate the constant cycles of hype (especially with the current AI obsession), the incessant demand for growth from venture capitalists and shareholders, the worship of those that find success. Everything is about money and power. There are very few tech companies I would feel proud to work for (ones that prioritize delivering a fantastic product), and even fewer doing interesting work.
To be clear, right now, I would take a job at an unethical company doing boring work if I could get one. Maybe with enough work I could. But is there something better for me out there? Something I would love to be a part of everyday?
AI has also kind of ruined the experience of programming. It is so much faster to build using it (especially as someone without a ton of experience) but also way less fun/rewarding. Funny enough, I kind of enjoy doing LeetCode problems, and I usually liked doing my assignents/homework in computer science classes in school. But problems like those are rare in the real world. They're usually much more annoying, and when they're not, they'd probably be better handled by an agent than me (again, given my incompetence with architecture/large-scale design decisions, which I struggle to improve).
I still plan on coding in my spare time. I want to get into self-hosting, maybe homelabbing, and still have my little personal projects to finish, maintain, and new ones to start. Maybe I'll even try and do more rigorous self-study when I'm in a stable situation. I've amassed quite a reading list, and a lot of the content is genuinely interesting. I'd love to be able to confidently claim the title of programmer, and I'd love to be great at something.
A while ago I was asked what my dream job is. I didn't really know. I answered with "Software Engineer at Apple, working on consumer apps". I don't know if that's still true, but I also can't really think of anything good. Maybe I just don't like programming anymore (or maybe I'm just depressed?)
Lately I've been thinking I'd like to be a barista. Make people happy, hone my craft, be comfortable. Concerns are: being a disappointment to family, lacking funds for old age, a fading sense of purpose/yearning for greater impact.
For all this yapping, ultimately, I just want a job.
plans
I intend to go back to school. For what, I am not yet sure. Possibilities include:
- teaching — probably math at the high school level
- urban planning — I care about it a lot, but I don't know how in demand it is, or what the work actually looks like
- masters of information — i don't really know what this means, but it seems pretty employable even in an AI dystopia
- going all in on medicine — the feasability of this is up in the air at the moment, and would require a few months of more than full-time studying just for a chance at being accepted
- giving up on education and trying to find a job in retail or a restaurant or something
I'm not sure I'll have a choice on this, and I'm okay with that. I'll take whatever I can get into.
I am embarrassed to admit one of my greatest concerns is what to tell people. I want to apply for the first 3 categories listed above and then start studying for the medical entrance exam. But I don't want people to know I'm studying, because I don't want to tell them if I fail. So what do I say when they ask what I'm doing? Chilling? I need to be doing something... Projects maybe? Taking a break from unemployment? We'll see I guess. In the here and now, the projected launch for my "startup"'s product is coming up, and I would like to uphold what I've committed to my "cofounders". And then I'll start studying and officially be done with writing software for work!
----------------------------------------------------------------