I have had this post in the pocket for a few months now, but I think I'm ready to share.
Tl;dr: I got laid off. Now I have new plans in mind.
Few months back I was looking for a new role. I got in talks with a recruiter, went into the stage 1 and stage 2 interviews and did decently. So much that they hired me. Hooray! Stage 1 was basic coding, while stage 2 was chatting about the company and getting a feel for the environment.
The company was full remote, and that was something I would totally go for as someone who was dreading going into work every day, putting miles on my car, and not being paid enough to do so. COVID-19 has more than once put a scare on my life by going into the workplace, and going remote was a real ray of light for me.
The first month was weird, and strange, and such a distant experience from all my previous work environments. I was training at an okay rate, but the code was quite frankly, a disaster across the place. No object-inheriting patterns, no code re-usage even if projects were literally doing similar things, and just in general it was across dozens of repositories and there were a ton of tickets in queue.
Going into month two I feel a little confident and I start beginning to plan my life around this job, because it seemed like something I could really grow into. I started making moving plans to move homes and have something of my own (finally!), other new financial ventures, and starting to feel like my life was getting on track at a decent rate.
The Tech Downturn
On the world outside, things were heating up. Elon Musk bought Twitter and severed the workforce from ~7,500 workers to a mere ~2,000 over the span of the next few months. Facebook/Meta laid off employees, Shopify laid off employees, everyone was getting destroyed. I think I read the total count of all laid off tech workers ended up being somewhere in the low 100k figure. Yikes.
It seemed that over the last two pandemic years, tech companies realized their profits/earnings weren't growing with hiring, which is a correct thing to assume given the numbers. It's true that by hiring more workers you don't always improve your cash income, sometimes work is more slow-going or sometimes it's not dependent on how many employees you have. Tech is not a field that always scales like that.
So, I imagine many companies caught onto that trend, and realized it almost within the same quarter. U.S. inflation was at it's absolute highest, and the Federal Reserve raised the interest rates to combat it. In turn, this affects how central banks give out and collect on loans and debt, and some places get shattered by sudden increases in this.
Increasing the interest rate decreases how many people are looking to spend, as the cost to borrow money from banks will go up. This in turn means less people with money will come in for borrowing. Some financial assets like stocks may also lose value, and this can cause a ripple on stocks as people pull out of markets, because the expected value of some assets will decrease.
In turn less people will be borrowing, less people will be buying, and less money will be flowing through the markets. Financial companies are going to panic over this as they try to re-align their books, and tech companies are going to need to figure out how to stabilize to pay off any potential debt they may have, like government bonds or bank investment loans.
So, tech workers got eviscerated. And I was part of that cut. The job I was barely two months into got cut, just like that.
It was a pretty devastating hit to hear, and a lot of emotions went through my head. "Was any of this my fault, and could it have been prevented?" I kept asking myself as I took the day off after hearing the news.
I got the news the day after my birthday, and I felt like crap. This was one of the biggest opportunities I had, and it felt a bit like a rug pulled from under me. My family was pretty disappointed to hear the news that I was suddenly out of a job that I just so happily took on. Also I suppose no one in my company cared to note it was my birthday recently.
The next few days I just did what I could: I brushed off my 2-month old resume, put a 2-month old job on it, and got in contact with as many recruiters and job contacts as I could. I even had to contact old companies I was in talks with to tell them I was now available, after having denied them (whoops). Not the greatest look, but it sucks.
The heartbreak came as I heard more about the layoffs. Everyone was getting cut, but now that just increased the temperature in the room for me. Suddenly there were a couple thousand workers also looking for work. Yikes. That doesn't look good for me. I'm no Facebook-level engineer for sure, so I'm probably not even going to stick out at all in the pond full of piranhas.
It's nearing the end of the year and I have go through my job still hoping to get my severance. At this point I'm completely burnt, I hate the code I'm working on, I don't want to go to daily stand-ups or weekly meetings to listen to people talk about their jobs and how "safe" they feel. I just got cut, and these guys are talking about football like nothing happened. No one on my team even spoke to me about for weeks.
So there I am; a remote worker, with no one to confide in other than my small group of friends/family. They don't really know how to comfort me so I try not to rely on anyone. Losing a job sucks, but I have to get over it eventually.
I don't have any job prospects at this point of writing. Every job position I apply for has well over 100+ applicants to it. I hear from recruiters, I do their stupid quizzes that they ask for, and I never hear back or get feedback. And at that point I am just too lazy to try to follow-up and see why no one responded to me. There's too many faces and too many names, and I already know why no one's responding to my applications: they just don't want me.
I realized that this could very well happen again. I could get laid off just as easily at the next place, and the place after that, in an infinite sequence of work.
N job will hire me, then fire me,
N+1 job will hire me, then fire me. So on and so forth. It's an infinite sequence of pain.
The only way I could make myself more attractive is to do things that no one else does. But if I want to future-proof myself, I need to build something that I can have each time something like this were to happen; I need to become a valuable worker, someone that someone wants to hire. But I also want to have something that is truly mine, that I can share and talk about with people instead of saying "I write code for X company".
I am the worker, I produce the value, and I do care about computers and computer science more than most. I love the academics behind programming and the theory of programming languages. Surely I can think of something to put my brain towards.
It's that reason why I started my own game studio, and will continue to work on it until I find a new job, and will probably also put time on it while employed at said new job.
I love video games as an entertainment source, and I think it does a world of good. I am not saying I am not trying to enter the big business of game development, but I like the casual, laid-back approach of the indie world. I don't think I'd ever be able to make something that's as great as things like Braid or Super Meat Boy, but those are things I do look up to and have a lot of respect for.
No, my approach is to hopefully build accessible games. Much of the gaming world is locked behind smartphones, expensive consoles, high-end gaming PCs, and so on. But it is possible to have games that are fun that don't require those things, and making things accessible is an idea I believe in. I don't want to lock people out of having a good time simply because they are not in the right economic situation.
Zig is the current language I have been using. It's a great systems-level language and is for the most part pretty relaxing to write in. It's not quite as complex as Rust, but it's a much different feeling. There's only so many people who write Zig, so sometimes getting better at it involves talking to others who also use it too. Sometimes you can even talk to the creator, Andrew Kelley, and he has a blog where he writes about Zig a lot, and goes to conferences to talk about software development as a whole spectrum.
Zig's potential is that it is pretty easy to write cross-platform code with it. Normally writing cross-platform code involves using a cross-compiler setup where you write code that targets another platform that's different than your host system. It requires using compilers that have ABIs of the target system, which is not something many have readily available. Sometimes you're often left having to do this yourself with Docker, or Nix, and other times you're going to have to use Ninja, Meson, or CMake to build out your applications create a lot of sketchy and weird build files.
So, that sounds like it sucks, but Zig supports cross-compilation out of the box pretty easily. It does this by having shims for different targets and providing information to LLVM's IR framework for code generation. I have already done cross-compilation in Zig with
libsdl2, and it didn't cost me all of my life to do so as a solo-dev.
Zig also supports WebAssembly, which I have been learning a lot about by using Zig to create WebAssembly demos as part of my recent series on here. I can't say if my writing is beneficial, but I noticed a lack of writing in this category of Zig and WASM, so I figured I'd provide some info for others who were also interested in either WebAssembly or Zig (or both!).
I have also, up to this point in my life, never created what's called a Progressive Web App. I have been interested in installable web pages that act as apps, because the "app store" model is broken by design on both Android and iOS. They are (in my eyes) awful services that both fail the needs of the developers and the consumers. Too many apps that are scams get added to the store, too many legitimate, helpful and well-designed apps get taken down from the app stores for dumb rules that Google or Apple can randomly uphold and apply when they feel like.
The web is beautiful and open, and I think we should embrace that. I am not looking to make money off my really crappy games, I am just hoping some of my games can bring joy. I am not looking to make a quick buck, I am looking to build the best possible products I can while supporting them for a really long time. It sucks when games stop working because developer companies cease to exist. I think we should support people, not soulless gaming companies seeking to extract maximal value from consumers.
Losing a job is a pain in the butt, and in a bad economic market where nobody is hiring, it can look devastating. But the key component is to be able to do something you care about, and spend as much time doing that and being able to present to others that "hey, I do this, and this is something I'm really passionate about".
Whether it's building a web development portfolio because you really enjoy designing coffee shop websites, or you really like data science and grinding up statistics and inference, or if you like designing toy games to share with others online. Do something you care about, do it a lot, and make it your passion.
And at times if you feel like you don't believe in yourself, I will stand up and say "I think you can do it". Everyone has the potential to be awesome, and I think you can be as great as you want to be.
For any companies/recruiters reading: I am open to work and more than happy to chat if you reach out. For anyone in a similar situation, if you need someone to reach out to, I am here as well! We should all support each other in times of need and it helps to have friends.
'Til next time where I write more about Zig and WebAssembly, or maybe something functional. Who knows.
Top comments (0)