Last week I wrote about my experience going from a lowly scallywag swabbing the decks in Alaska to a lowly backend Java engineer in the great American Midwest. But though the office latte’s were delicious and the work was intellectual instead of physically brutal, I actually had taken about a 30 thousand dollar pay cut. I wasn’t done. I wanted to find remote work and live my dream of making USD but spending something cheaper. Mostly I still wanted to prove myself in the industry, too feel like I knew what I was doing.
Here’s how I got my next 4 tech jobs, and achieved the prestigious title (lol) of Senior Software Engineer.
It’s never over
Some industries you can pretty much just do your job and call it a day. Maybe occasionally get an extra cert or take a weekend course, but I don’t imagine a barber needing to study haircuts on his off hours to stay relevant.
Coding isn’t like that, I wish it was. To stay sharp employers want to see you keeping up with new trends, doing side projects, or improving in some way. At the very least to switch jobs you’ll usually have to pass a technical interview that will test your chops, chops you often haven’t used since the last technical interview. It’s a move-or-die industry.
(Of course this isn’t entirely true. Many people stick with their jobs a long time, switch roles via networking, and barely put in any work off hours. That’s well and good and I try to do it as much as possible, but the fact remains you will not progress as quickly as your peers who are Not Doing That, and you run the risk of having your skills stagnate and becoming unemployable-ish. And then there’s ageism, but we’ll leave that for another time)
So what did I do to keep up? I stayed moving. I liked my first role and tried to learn all I could there. I learned about version control and JIRA tickets. What a PM and a QA and a Sysadmin did. The miracles of Agile development over Waterfall (just kidding, I still have no idea what people mean when they say agile). But I knew they weren’t Really A Tech company, and that progression was limited. I wasn’t going to achieve my goals mastering IBM Websphere. So after 6 months~ of Taking It Easy, I started learning again, off hours.
Side Projects
I really can’t overstate how little I still knew about software engineering. I could complete tickets yes (often with much help), but I didn’t know how systems worked, how all the pieces fit together. My first attempts at learning were all over the board trying to bridge the gaps. I would read hackernews to try and understand the lingo, see what technologies people were talking about. Complete a Flask Tutorial over a weekend, read about JQuery. Nothing really stuck, I didn’t feel like I was improving.
I always liked reading about AI and kept seeing Fast.AI’s Practical Deep Learning For Coders course get recommended. This one blew my mind a bit. Back then the course had you run your own EC2 server to train your models on; it was my first interaction with AWS or even really the command line. I almost gave up before I got my server working. But the beauty of this course was it had you building projects every lesson. An image classifier (cats or dogs) on day one! I had no idea a novice like me could do something like that so simply. I think I only made it a bit past half way before it started going way over my head, but it was inspiring and I was able to put a couple projects on my Github.
I also had a realization that, at that time (maybe it’s different now), companies were very likely we’re not going to hire people for Machine Learning who didn’t have a strong academic pedigree. They didn’t even really seem to know what it was and therefore wanted Experts to tell them. All the job posting seemed to require masters degree in C.S. or statistics.
I didn’t want to go back to school but I was interested, so I half-assed it and foolishly spent 500 dollars on a Udacity Data Science Nanodegree. I don’t want to say too many negative things, some of the content was good, but it was pretty much all self taught, the mentoring was very minimal. I took several of their mini courses like Data Wrangling With MongoDB before having another realization that 1. all of this could have been learned for free, and 2. nobody was likely to care about my Nanodegree. I either needed real projects or real credentials. I fizzled out of this Nanodegree without much to show for it.
Modern Day Networking
In the bootcamp they recommended attending two local meet ups a week to start networking. That might work for some people, I don’t know, but my impression now is that it probably only works if you regularly attend the same meetup ( to start making real friends ) or attend as a presenter. One off meetups didn’t seem to help in any way, except that their was usually free pizza.
The right way I think is to join an active online community where people can regularly talk to you, get to know you, and ideally you can provide some value even if you’re not yet sharp enough to make substantial changes to the codebase.
I found a community like this with comma.ai, a self driving car company looking to add autopilot-esque features to everyday cars. Think a Honda Civic instead of a Tesla Model S. This was naturally appealing to me as I was too broke to afford a Tesla anyways.
The community was just starting to explode with people porting over their own cars. There was a basic framework for how to do it, all it took was a grand or so in hardware from the company and a compatible car (certain brands or models that had Lane Keep Assist and Automated Cruise Control features which the comma.ai software would override and work it’s magic). One major problem for me though: I drove a stick shift. Never the less I would be active in their discord channels, pointing people to various documentation, explaining the scene to newcomers or just chatting with other self driving enthusiasts.
One day I saw my shot: A man, living 90 minutes from me, posting he had a compatible car, was willing to buy the hardware, but had no idea how to hook it up. I checked and saw there was a similar model with a port already completed. I volunteered to drive to him and give it a shot. He ordered the parts and I met him the next weekend.
The actual port was maybe 10 hours of tinkering with Python over the weekend, attempting to follow the tutorial and feeling extremely stupid when it didn’t line up exactly. I leaned heavily on my friends in the discord, sending them screenshots and attempting any feedback they would offer. Someone even suggested a hardware modification which I had no experience with, but we gave it a go, and it worked! After spending the night in a strangers house we completed the first port of a 2018 Toyota Camry that Sunday morning. Huge wave of relief and satisfaction. I had done a real tech project and it was Cool. I wrote up a doc for my port and posted it in the discord, someone else merged in the code later.
After that I scrounged around looking for a local Self Driving Meetup to share my findings. I attended one meeting and was almost bored to tears, it was some big auto salesman lifelessly shilling their product. I knew I could give a more lively talk than that so I approached the people who ran it and they scheduled me a slot.
A few weeks later I gave a very brief chat about the comma.ai product and my project with it to a room of 15 or so friendly nerds. A man who happened to be the founder of a local automotive tech company approached me and asked me to tour his facility. I didn’t really understand why but I was intrigued. That next week I met him and he introduced me to his team, was this an interview? I wasn’t sure. They asked me some basic technical questions and about my experience. I wasn’t prepared at all so I just said what I knew, I stressed that I did my project with a lot of help.
On the way out he asked me if I wanted a job, I said I’d be willing to interview yeah. He said he was the owner of the company and he already liked me, he’d send over an offer next week. A huge break, almost felt like cheating.
I had recently crossed my 1 year at my first role and negotiated my way up to 65K by showing that some of my bootcamp classmates had just been bumped up to that pay level. My new offer came in about 80. I rambled on about how I Really Really Liked my current job and they bumped it up to 85. I put in my two weeks after I got it in writing.
I was finally making more than I was on the boats, starting to feel like I had made the right decision switching careers.
Still didn’t really know what I was doing though.
Very inspirational!
Thanks for sharing your story! It's very inspiring yet humble. I too don't have a degree of any kind and work as a SWE. Have you found any social spaces e.g. on Discord for our demographic?