After breaking into tech uncredentialed, last time I wrote how I got my second tech job without really knowing anything. Fortunately for me when I don’t know how to do my job I get overwhelming anxiety.
Here’s how I learned everything there is to know about coding (lol), cured my anxiety forever (reduced it slightly by making more money), and got my next job.
New Job, New Worries
My new office consisted of a windowless room packed with 5 dudes and a lady. And a life-sized cardboard cut out of Master Chief. I could tell it was more of an engineering centric company because I didn’t have a PM.
Everything was managed on a single piece of outdated bug tracking software. Larger features weren’t even written down anywhere; no spec, no story. The lead engineer would simply lean back in his chair and say “hey I think we should do X”, we’d chat for a while and then I’d start working on it. I think I had 3 ‘meetings’ the whole year~ I was there, 2 of them with HR.
In a lot of ways this was my favorite tech job I’ve had, I’m not much for needless process. But it had its own stressors. It was a lot of responsibility for someone with a single year experience and not much of a clue what he was doing. Being in that close contact with My Boss and other more sagely engineers often left me exposed as a fraud. They would be pondering things like ‘microservices’ and ask me what I thought. “Oh, microservices haha, they’re alright.” I’d say. No one was very convinced. But they were patient with me and gracious and for that I will always be thankful.
I tried to repay them with effort. I dove into our tech stack and learned about the Grails framework. Groovy and Gorm and AngularJS. I learned about dynamic finders and property binding and worked on our automotive data web app. I wrote most of a service using C++’s QT . I learned I hated authentication and authorization and CSS, but gave it my best try.
And though I was ever grateful for the opportunity I knew early on I wasn’t going to last there forever. For one, the company seemed to just pile on more responsibility to the lead engineer until he was drowning and gave him no life rafts, I couldn’t see myself growing into that role (turns out this is a lot of senior roles). And for two it wasn’t remote, and I had dreams of moving out of the midwest and finding mountains again. So once I felt relatively confident they weren’t going to fire me at work, I added on even more work. Lucky me.
Imposter Syndrome
It was certainly a welcome surprise to get this job without applying or interviewing, but it didn’t do much for my self confidence. I knew this wasn’t going to happen again and I still had no real idea if I could land a Serious Tech Job if I got fired or simply needed a change. I could have continued on trying to make projects or teach my self algorithms, but those sounded hard and I wasn’t certain of their fruitfulness. I wanted to feel secure, so I did a dumb thing: I re-enrolled in college.
I had found the accredited Western Governors University from a post on hackernews and it stood out for a few key reasons. 1) It was all online, all at your own pace. 2) You could test out of every course. 3) It was pretty cheap and you paid by the semester instead of the credit hour (3750 for 6 months!). A real trifecta for me; I would have never signed up for a place with a big tuition that required me to drive somewhere and took several years of part timing.
It gave me a goal: I was going to complete my remaining 90 credit hours needed for a Data Management And Analytics B.S. in 1 year for 7500 dollars.
In retrospect, I really don’t recommend doing this if you already have a tech job or two on your resume. I suppose it can be useful as a stepping stone towards a masters degree (OMSCS at Georgia Tech is a popular online one). But generally speaking I think your time would be better served doing what I was avoiding doing: actually learning skills, building useful projects, or finding a way into another job (which would help you accomplish the first two).
Given the Questionable Quality of the college and the fact that I already had a robust 1.4 years of real world coding under my belt, it seemed very possible to test out of classes at a rapid speed. I worked and I studied and I studied and I worked. And I tested. It was motivating knocking out the easy Intro To Java classes early on, but the time from studying to testing was growing ever longer as I progressed through the curriculum. I suffered what the youngin’s call Burnout. At the end of the first six months I had finished 60 credits while working full time. 30 more to go, but I was completely out of steam. Luckily the Coding God was about to open another door for me in the form of, you guessed it, more work.
Big Lucky Break #2
In the last two posts I stressed the importance and benefits of networking. I should have just stuck to my own advice. While avoiding studying one day I struck up a conversation with a fellow engineer from the same comma.ai self driving discord I was wrote about previously. He mentioned he was working remotely at a health care start up. That’s my dream I said, I’ve always wanted to get remote. He said they were hiring, and they had a great culture. A week later I was speaking to their CEO for a sort of vibe check and we hit it off. He was a distinctly kind and generous man, the sort of person to hire people without much relevant experience just to give them a shot. I mentioned I had completed 60 credits in 6 months, he nodded and didn’t seem to care. Regardless, he set me up for a half day interview the following week.
I had 30 minutes to talk about a project I’d done in front of the whole team of Ex-Googlers and Ex-Palantirians, and 2 hours to implement 2 mini problems, 1 design, 1 algorithmic, internet access allowed. In fact he wasn’t even monitoring me during these two hours he merely gave me the prompts and said to message him with questions and when I was finished. I have to point out I really appreciated this style interview. I was not at all prepared for algorithmic type questions ( I was saving that class for the end of my coursework ), but this dynamic felt close enough to how I naturally worked that I was able to piece it together and explain my thoughts. After, he asked me some questions about the runtime complexity. I told him I really had no idea what that meant.
5 excruciating days of waiting later I got an email saying they’d love to have me join the team. The offer was for 100,000 US dollars and profit sharing twice a year of around 10 grand. I accepted without negotiating and fist pumped the sky. We’d be hosting geography API’s written in Go on a fully distributed setup on AWS.
Again I felt enthused to be climbing upwards and again I felt worried I would be completely out of my league.
This time I was right though. It was way over my head.
What a cliffhanger to end with LOL. Good read
have really been enjoying this series, and this one in particular -- great storytelling