Tech used to fascinate me.
I remember, as a young kid, coveting the few chances I got to play with my parent's mobile phones. I fondly remember playing Snake on my dad's old Nokia... whatever that was. I remember being entranced by the design of the Motorola Razr both my parents got when they came out (loving the pink the most, but hiding it in hindsight as I was a "boy" that needed to "love silver" or something). I remember being fascinated by the internals of machines -- taking apart an old DVD player and rigging up the tray motor to run off a battery, trying (and failing) to modchip my childhood Gamecube (RIP), trips to Best Buy where I got a chance to marvel cool, expensive gadgets that I would only dream of being able to afford.
I caught onto the internet very early, and for better or for worse, it was mostly unmoderated. I emerged from that a changed creature. I was a forum user at 9 years old (Roblox forums, but it still counts!). I would read tech news, Wikipedia articles, soon enough Reddit. I would play around with all the built in programs on the "family computer". I quickly became one of many "tech wiz kids" -- if my parents had an issue, I probably knew how to fix it. Eventually, when I became old enough to scare my parents (through walking to 5th grade class, on my own, because I missed the bus that morning... the school called right after, as you can't just "walk in" to an elementary school without going to the office), I got my first phone: a Samsung Intensity 2, in blue, with the orange case (pictured below, without the orange case).
I loved it, but it only made me yearn for more. I remember lamenting that I wasn't able to get one of the cool "smart phones" that I would play around with when my mom was dealing with Verizon employees. I fawned over the Droid, originally. Watched a hell of a lot of Youtube of people doing "cool shit" with it, like emulators, even terminals. I remember looking into pricing deals for the Droid, trying to financially make sense to my parents (with close to zero understanding over how the predatory pricing practices of the then US mobile industry worked). The details are a bit fuzzy. I got the Intensity 2, not because I "wanted" it, but probably because it was basically free with a contract.
Eventually I did get my first smartphone a few years later: a Nokia Lumia 822. By that time the mobile industry had progressed to a point of adolescent maturity. Phones weren't perfected, but they were starting to burst through to normal people, and the days of the "feature phone" were numbered. If I remember correctly, I only got a new phone because my Intensity 2 had finally given out in some way. I played around with the phones in the store, and I was drawn to the Windows Phone interface. I thought it was genuinely beautiful. By this time in my "tech nerd" phase, I had already amassed a bit of a resume:
- Put a Linux distro on the family computer (thankfully, non-destructively...)
- Had my own laptop with some of the worst specs imaginable, making me learn how to optimize what games I could play from Steam with config files and tweaks.
- Insanely basic programming -- literally and figuratively. I remember playing with an online BASIC emulator, entirely because I caught a lot of Look Around You late at night on Adult Swim as a preteen, and was fascinated with the simple program that made text repeat endlessly. I ended up following a tutorial to make a simple game with it, and remember showing it to my mom, who was unenthused but happy for me.
- A bit of self-taught animation -- I was enamored with Garry's Mod stop-motion, and ended up doing a few shorts as well as a quick venture into Flash animation after becoming familiar with Adobe tools from a graphic design course I took in 6th grade (thank you, Mr Whoever Your Name Was, for giving all of us pirated copies of CS6 :>).
- Some self taught video editing -- Windows Movie Maker on XP, and later Lightworks.
But the smartphone represented everything I had wanted for years -- a computer everywhere I go. Finally, I could browse the web on the bus to school, play a seemingly endless library of games... sure, I didn't have the terminal emulator you could get with an Android, but Windows Phone felt unique enough to me that it satisfied the "hipster itch" I had gotten myself into. I was a weird ass kid, thanks to the internet.
My first FPS game, at the same time all the other boys were playing Call of Duty or Halo? Quake Live, followed by Team Fortress Classic, then Team Fortress 2 (where I'd go on to pour over 1500 hours into, my most played video game ever).
I had gotten into Minecraft, and bored of it, before everyone else had even heard of it -- I remember playing the original Classic version in a web browser, and an online friend buying me my first copy of the full game, and hacking my inventory, modpacks, the Nether update. I distinctly remember telling people in my 5th grade class about how cool the game was, met with a "meh, sounds boring" response from many of the same people that would later go on to pour dozens of hours into the 360 edition when it launched a few years later.
The point being, I had finally gotten the thing I had been yearning for, reading dozens of tech blogs about: the smartphone. Loved the hell out of my 822, despite its flaws, and the inevitable decline of Windows Phone into irrelevancy.
I later went on to convincing my family to switch to T-Mobile on the heel of their aggressive marketing campaigns around the time the Nexus 5 came out. I remember dual booting Ubuntu Touch and Sailfish OS with my Nexus 5, rooting it, making my few friends jealous. Eventually I was able to build my first desktop PC as a gift (some months after basically needing to run Lubuntu on my old craptop with modern windows being basically unusable on it at the time). Check out the setup:
What silly times.
It's easy to be down on myself in retrospect. Looking back on it all, I kind of wish I was able to pursue more of the software development thing that I had always been interested in from about the time I got more social interaction on the internet than in school. Undiagnosed ADHD and a lack of effective parenting ended up resulting in me not... well, doing that. I learned a lot, but mostly how to use, not create.
I was never quite certain what I wanted to do. Given my "tech wiz" status in the house, it was probably inevitable that something in the realm of IT would come up. For a while, I thought I'd end up as a sysadmin -- I loved tinkering with computers, and sysadmins tinker with even cooler computers than I could afford! I even understood Linux! I remember applying for a summer job as an IT assistant with my school district, after my sophomore year of high school -- I didn't end up getting the job, unfortunately. I remember taking a programming course in the second, or maybe first half of freshman year (that year is the blurriest of my high school years, given I spent the good first 25% of it in a suicidal daze). I think that was when I wrote off programming the first time -- our teacher sucked at teaching, we were learning Visual Basic, and you could basically get an A in the course if you just copied the examples from the back of the book and showed them to the teacher. Naturally, I wrote it off as boring.
A few years later, by this time rocking a Nexus 6 (cannot believe I ever let myself own a phone that huge...), I gave programming a second shot. I had been a member of my high school's FRC team for a few years at that point, but mostly had nothing to do with the actual robot. I helped out here and there machining metal parts, after being mostly unable to get into the electrical side of things, and carved out a niche for myself with my video editing skills on the Chairmans subteam we had. That third year, our programming team needed new blood to populate the app development side (one guy was making scoring apps that we used for scouting purposes at regionals/worlds, and needed help). I figured, hey, I'm good with computers, what if we tried again?
This time, I gave up on programming, because I thought I was too stupid. The student lead of the programming team was a bit of a pompous asshole, and a horrible teacher. I made some shitty Android app with a friend, our work was basically scrapped, and I learned basically nothing, which I naturally assumed was because I wasn't at that level. To make matters worse, this was back when Java was still your best bet for Android dev (though Kotlin was fresh and new, I think.)
I floated around for a while, not really sure what I wanted to do after high school. There was some time I was thinking about audio engineering, inspired by getting my toes wet in tracker software, then promptly dropping the interest for ADHD reasons. For a while I floated between different engineering disciplines, inspired by the Project Lead the Way classes I took in high school and my FRC involvement -- the one that stuck around the longest was Civil Engineering, but I floated around to basically every discipline other than software engineering. I purposely avoided taking AP Computer Science, on the back of the poor experiences I had by then with programming (as well as some friend feedback that the teacher sucked). There was a time I seriously considered geology, as I had a fascination with the idea of a job that would involve hiking. There was a time I was dabbling with linguistics, or teaching a language -- I fondly remember an "intro to teaching" class I took, where my capstone project was a 20 minute introductory Esperanto lesson. Always the hipster, I was. Not exactly related, but I do also fondly remember an English presentation I did on Max Stirner and Egoist philosophy, to a crowd of mostly bored and inattentive peers. I floated around basically every career I could think of, for many reasons, but never really considered software engineering.
So how the fuck did I end up there?
After all my deliberation and anxiety, I ended up back where I started years ago, browsing r/sysadmin -- a computer networking program. That lasted all of one semester. See, programming was a required course in my first university's CN program -- the first year for the CS and CN degrees were broadly identical. I figured, it's not exactly my interest, but I'll get through it.
To my surprise, I didn't just "get through it". I loved it. The project that flipped the switch for me was one where we had to rank the words in Moby Dick by order of frequency -- just the right combination of data structure usage and unravelling a "magic" idea made me think "shit, this programming stuff is actually cool, I'm not stupid!" Turns out, having a good teacher makes a lot of difference in the world.
I was still the "tech wiz" even among the CS students. While everyone else was writing their code in Notepad++, I was using VSCode with the remote plugin to avoid needing to SSH files back and forth from the grading servers. While everyone else was futzing with the teacher-supported minGW, I was using Windows Subsystem for Linux on my desktop, and Arch on my laptop. I sailed through programming courses, getting a 4.0 across all my major courses (with the asterisk that I technically got a 3.0 in my linear algebra course, but that course was taken for credit... thanks COVID!). I was smart enough for this. Sure, I'm at no ivy league level universities... but I was smart, right?
So software engineering it was. I took an internship in my sophomore summer year, which ended up being a terrible experience due to mismanagement -- this was immediately followed by getting the lucky opportunity to do a yearlong co-op with another company instead of a normal junior semester. I sailed through the rest of college easily, especially after finally getting diagnosed with ADHD and getting "normal brain pills". I secured two job offers before graduation. I got a great hand, and I thought things would be easy.
Unfortunately, it's been a double edged sword since. While I believe I've made genuine, amazing progress on myself -- coming to terms with my trauma and past, understanding why I feel the way I do about things, working through my disorders, at the same time I've stalled professionally. I got laid off in October 2023, and have had no luck finding a job since. My previous hipster reputation followed me into my internships -- instead of the more typical internships at regular software companies, I interned at a hardware company, and then got hired at another hardware company. I never took a web dev course in college. I ended up finding myself more interested down the stack than up it. My senior project wasn't a to-do app or anything like that, it was a MISC CPU design with a FPGA-ready implementation in Chisel. I'm weird, my experience is weird, and turns out weird doesn't necessarily grant you the bag. Probably would have studied computer engineering, not computer science, in retrospect... but I thought I was too stupid for the math involved. Heh.
I understand tech on a deeper level than I did as a starry eyed kid. I've built things that I thought you needed to be a genius for back then. The fascination, though? That fascination is gone.
Tech is mostly just there, now. I used to tinker with my phone endlessly, but now I'm an iPhone user who just wanted a phone "that worked". I used to run Gentoo, with a custom fork of DWM -- now I'm on Fedora and GNOME. I'm nerdy enough to have distinct, irregular preferences, but not enough to overrule the principle of least effort. It's not even because tech has "slowed down" -- while phones are pretty much all just slabs today, there's a ton of genuinely cool things going on if you're not expecting them to be handed to you from the big guys. FPGAs are more readily available than ever. Drones went from movie fascinations to household toys. AI has gone from academic interest to sometimes actually useful in niches. There's cool tech if you know where to look, but it doesn't feel the same as it used to, when I'd be glued to Engadget and similar publications about what's hot in the world.
It's a bit childish, maybe, to expect to hold a fascination like that long into your adult years. I guess what I lament about it all, is that if I still had that fascination, I might be able to see a path through the dim times I'm in. That this increasingly-chronic unemployment would be worth it, because I'm still in something I'm passionate about. I won't pretend like I've tried the absolute hardest I could. Maybe I could have gotten a job by now if I got over myself and learned a web dev framework, instead of putting such a thing off until two days ago. Maybe I could have used the money I had when I was employed to make cool projects, that now I'm locked out of until I find a source of income. I could spend this whole night lamenting over what I could have done differently, as useless as it would be.
I don't really know where I'm going. I feel like a deflated balloon, resting on the floor, wrinkled and flaccid. I'm starting to wonder if I might have fucked up. It took three tries to get "into" programming, and now what love I did have for it was ripped from me the moment it became a precondition of my survival. Maybe I should have stayed away. Software is something I can do, but it feels like unless it's your life's passion, you're not getting into it anymore.
I could probably make it through. The demons keep telling me that I'm not worthy, that I was right as a teenage to not believe in myself, that I will never amount to the level of anyone I look up to or idolize in the software world. But that's stupid. Ultimately, it's my own battle, right? The only person preventing me from pushing myself further... is myself. And impending bankruptcy, I guess.
I don't really have a thesis for this. I'm just exhausted. I miss being fascinated about tech, mainly because it would be something nice to hold onto, something that I could tap into when I'm frustrated and angry at the world. If I had that passion, maybe I would have built more things in the last one and a half years I spent wearily shotgunning applications and trying to stay sane. Is that passion reasonable? Maybe not, but what else am I missing at this point?
In the medium term I have some plans. I would like to reorient myself on an embedded software path, maybe. I've found some grad programs that accept CS students. Distributed systems perhaps, compilers have always fascinated me... unfortunately, I can't really do anything about that until October, when applications open, other than maybe doing GRE prep. Which just leaves the uncomfortable reality of unemployment. To do grad school, I need money. To get money, I need a job. To get a job? Well, seems like in this world getting a job is a matter of luck and nepotism.
While I'm not about to suggest that I'm totally blameless for my predicament (seriously, why was I so stuck up about web dev so as to not take the elective in college...), it must be said that the luck I have had to go nearly 1500 applications deep with no successes across at least a dozen and a half post-phone-screen interviews is pretty impressive.
I've been final stage with Google, and rejected after waiting over a month for a response from my recruiter. I had almost cried during one of the 4 final stage interviews I did there -- while I ended up salvaging the question and coming up with an implementation with a bit of help from the interviewer, I can't help but feel I was rejected because of that flare-up in emotion.
I've been rejected from a job where the final interview was a leetcode question I had practiced the day before, but anxiety made me mess up the implementation -- they had told me they were looking more for my thought process and approach, and then ended up rejecting me because my implemenation wasn't perfectly coded for all test cases. I've been ghosted by at least two companies mid-interview process.
I messed up a tech interview last month -- the problem was something that I'd normally be very confident in doing, but interview anxiety jitters made me lock into a substandard design approach. I ended up not finishing the second test case, but I thought that I saved it when we went to "how would you improve this implementation?" I explained how I'd rewrite the implementation to use a more functional approach that would be more composable and reusable. I was unceremoniously rejected the next day, and the role is still up over a month later. Maybe I should just apply again, you know?
I interviewed with a robovacuum company through a referral. I did a good enough job with my take-home (a basic unix shell, written in Rust, with comprehensive test cases, which I had no prior experience with) that they let me move to live interviews. I gave my best in the first live interview, and was unceremoniously rejected soon after.
I interviewed with a dream company through a referral, but I just wasn't coming with a good background for the role, being that I had no web dev experience and they wanted to hire around a 3 level. I had an excellent first interview, getting to have a wonderful, high level conversation with the hiring manager and impressing him at points with my responses -- still, unceremoniously rejected, because they wanted someone with a better fitting background.
You would think I would have learned something from all this. I have, but not something I wanted to learn. You can prep, you can be prepared, you can do everything in your power... but it won't guarantee you shit. It's ultimately not up to you. Maybe I need to take CBD or something before interviews, to come off as more normal, and hopefully not show any amount of neurodivergence to add onto my "woman in tech" debuff.
I guess this reveals the point I've been meandering around: How do you regain passion in something that seems like it's trying its best to push you far, far away? When are you supposed to "take the hint", and turn away from it?