Hello GameDevs. I've been AFK from almost everything internet for the last several months. Gamedev.net, Facebook, Netflix, Chess.com, Warcraft, crypto, bank accounts, everything. Just didn't have time. I am happy to say the reason why I didn't have that time was that I was changing jobs. After finishing my Certificate IV in programming I embarked on what proved to be a lengthy and depressingly fruitless job search for an entry level software engineer position. About halfway through that search COVID hit and trying to find an already rare job opening (we're talking like, endangered species rare) in the COVID market was a solid fail. Being in a position of having 0 paid experience as a programmer and competing for a programming job is in my mind basically an exercise in futility. I did some open-source work (including this project), I hired a professional resume + cover letter writer that I must have sent to 100 ads. I even got a few interviews. I won't say with which companies, but here's roughly how they went.
Company A: Aced their code test. The interview began smoothly. I went in a suit & tie, nervous and anxious to show what I knew. I will say that I ticked many but not all of their boxes. It came time to do a whiteboard session and there I struggled badly with some time complexity / optimization trivia. Never heard from them again, but I did see a news article a few months later that this company was so frustrated finding candidates they ultimately built a new office in a city that is considered a “tech hub” rather than take any of the applicants that very nearly were at the skill level they wanted and training them up. The real estate prices in the city they expanded to are… well they are legendary. They might as well have been renting office space in an orbiting space station. There is no way that costs less than training up a few junior devs into senior devs. The experience left me dumbstruck.
Company B: Approached me and asked me to take a code test offering a very high salary and relocation to Germany. My first reaction was no, but after talking this over with my spouse, I decided to give them a chance. Step 1 was a code test. I actually pulled an all-nighter to complete this test. After almost 9 hours of unpaid labor I was simply redirected to a page that said “You did not pass”. That's it. No feedback, no constructive criticism, no hint if I was close, no nothing. I emailed asking what I got wrong, but they wouldn't answer because then they'd have to get off their butts and rewrite the test. This left me pretty raw and I think I remember PM'ing the recruiter that approached me that next time I'm charging him $100 / hour. After venting on FB a friend I knew from a few years before related a similar experience. His position now is he will refuse to go forward with any interview that takes > 1 hour. I concur with this.
By this point I was getting down. The stress of it was effecting myself and my family. I connected with an employment services provider and made it plain to them that I needed anything. Ultimately I accepted an IT consulting position at a local telecom company – a non-development position. It was a stressful job which combined some elements of sales and IT tech support. The pay was not very good. The office space was loud and obnoxious. The boss rubbed me the wrong way and we got on each other's nerves. I was grateful to get a lifeline but after a year and change I could see the writing on the wall. This was not going to last and I had to get out or I was going to get fired or go insane. By some measures I don't have far to go on count 2 so better make it quick.
Company C: Then 2 months ago out of the blue one of the IT recruiters I first talked to at the beginning of my search reached out to ask if I would be interested in a job opening. Stunned, I agreed and I discreetly arranged 2 interviews while ramping down my consulting work. I studied up on the company, on the technologies and on everything else I'd learned by bombing other interviews. The developers were very friendly, put me very much at ease, asked questions relevant to the open source work I'd done, got a sense for my thought process and gave me a chance to actually show what I knew. I left the interview hopeful but wary. Not even a week later they made an offer. Just like that. I finished my last project at the telecom and now I have finally transitioned my career to developer. The experience still has me a bit stunned but here are some of my views now that I'm staring back at that tunnel from the other end
- The job search was ultimately a success – which means that everything that happened during that search, even though it severely messed with my head and left me in bad mental shape -- needed to happen. Including the bombed interviews which were an extremely humbling experience. It could obviously have gone a lot smoother but ultimately it did succeed.
- The hardest part about a programming career is not learning a programming language, or finishing a degree or code school. It is getting the first job.
- Finding the right company is very important. I got extremely lucky and had one searching for talent and was willing to see past the lack of paid experience and train up a junior dev. Many will not do this and will only seek to hire straight senior devs. I guess some people thrive in positions like that but that was not the right company for me.
- As well as knowing how to program in a given language, you also need to understand design principles and writing production quality code
- As an applicant, you cannot know too much trivia about Git. Database principles are a nice one too
- Don't stop learning just because you're done with your code school.
- Have 1 or 2 big-ish projects you can apply what you're learning to. The current iteration of Valkyrie may render similar looking frames but the software looks almost nothing like how it started. Once you've made some painful refactors and gotten into some messes with Git, gotten frustrated and gone back to UML diagrams and solved some really hard bugs that is all valuable experience. You will immediately put those same skills to work in your first position.
So what does this mean for Valkyrie moving forward? It means it no longer has to carry the burden of supporting my resume and that's actually a pretty nice feeling. I feel the hard work I've done so far in Valkyrie was instrumental to advancing my career even though it isn't yet at MVP. Now I have the luxury of working on this project in a relaxed state of mind in my spare time. I am happy to let others contribute to it too if they're trying to advance their careers. If you're interested, just go to the GitHub page, pick a ticket, clone the repo and start a feature branch. Shoot me a PM if you get stuck or need help.