Andrew Knox was making $8/hr at Starbucks before he taught himself to code. He now makes a six figure salary as a Software Engineer. Andrew shares his tips on learning to code, productivity and mindset and getting hired in this exclusive interview.
Hey, so can you introduce yourself?
I’m currently working as a Front-End Developer, although I have also done Full-Stack work in the past. I primarily work with Vue on the client-side and Express on the server-side. I exclusively work remotely and live right outside of Portland, Oregon.
Why did you learn to code?
I was 26 years old working at a Starbucks for $8/hour. Life had not gone the way I dreamed, though no one else’s fault but my own. I had an uncle who taught himself computer networking when I was young, and it paid off for him well. I’m always of the mindset if I see someone else do something I immediately think, “I could probably figure out how to do that.” So teaching myself to code was going to be my way out. In short, for the money.
There were some idealistic reasons behind it as well. I was moved by an Aaron Swartz documentary I watched on Youtube. Seeing that a child could learn to program truly motivated me and gave me the belief that this path was going to be a viable option.
How did you learn coding?
The first thing I did was buy K&R’s C Programming Language. Turns out that was completely out of my weight class. I also did a semester at a local technical college where I took an intro to programming class. That class led me to Harvard’s CS50 which again was way out of my weight class. I spent some time learning Linux and system administration through a course on EDX. It wasn’t until a year or so into my journey that I became interested in web development.
Once that happened I stumbled on freeCodeCamp. That was the best investment I made in learning to code. I was also awarded a GrowWithGoogle Challenge Scholarship to a front-end development Udacity Nanodegree Program. After I got to a stable point in my learning I joined Chingu Collabs so I could get experience building a project from start to finish within the context of a distributed team of developers.
If I could go back I would have started with the Linux coursework (as Linux has been instrumental in my programming journey) and gone straight into freeCodeCamp followed by Chingu Collabs. I wasted a lot of time in the beginning just getting acquainted with this new world of 1s and 0s and I definitely could have landed a job much sooner.
How has your life changed since learning to code?
I’m doing work that I find challenging and meaningful. Most of my work experience before tech was in the food and beverage industry (I did a brief stint in a steel mill right before I landed my first job in tech). Some people love that work and I say more power to them. For me it was awful. I’m typically very introverted and like working on puzzles so I was definitely in an unfulfilling job for most of my life.
Now a major eCommerce company is paying me to help build their product, I work from home, and my “salary” has gone up 625%, making six figures a year. It honestly has not been easy and I don’t appreciate the “I got my first tech job after 100 days of studying” posts that go viral on LinkedIn and Twitter. I find them unrealistic and unhelpful.
The truth is, it’s hard - like really hard. The market is oversaturated with juniors looking to break into tech and HR writes the most unrealistic entry-level job descriptions. No one you know in real life is going to think this is a realistic goal if you have a similar background to mine. You have to have a lot of mental fortitude to block out the noise and distractions of everyday life to learn the skills you need to succeed, BUT - it’s possible.
What does a typical day as a software developer look like for you?
The stack I work with is Vue, Sass, and Java. I am mainly tasked with front-end work but occasionally have done some work on the back-end. Where I am now is everything all the inspiration “learn to code” blog posts said it would be. I’ve worked for some companies where this was not the case, but my current team is incredible and I’m extremely grateful to be where I am.
In my current role, a typical day looks like waking up and making my cup of coffee so I can log in by 9 am. I generally check slack, teams, and email to get caught up on anything I missed out on from the day before. Stand-Up is at 10:15 am, where we talk about what we worked on the day before, what we’re working on today, and any blockers we might have.
Depending on the day, I might have a 1:1 with my lead, collaboration meetings with the entire team, retro or refinement meetings, fun times (time blocked off to relax and play games with each other once a month), except on Friday which is considered a day for no meetings on my team! Anytime not spent in meetings I’m working on whatever tickets I picked up from the kanban board. I imagine I spend about 60-70% of my time coding and the rest is in meetings, reading messages, etc…
What was the interview process like for your first developer job?
I was referred to my first role by someone I met through the GrowWithGoogle Challenge Scholarship group local to my city. I went through an initial phone screen with my prospective team, it wasn’t extremely technical from what I remember as it was a very junior position. I talked about my experience and the things I worked on up to that point. After passing the light technical/cultural phone screen I went through another round of in-person interviews with the heads of the different departments of the company.
The role was actually for a data engineer so I didn’t need to show a portfolio and there was no whiteboard interview. It is not lost upon me that I lucked out on this first role and interview. It all came down to working hard and networking. Even though I didn’t get a chance to demonstrate my ability, I would have never been referred had I not demonstrated my ability to my referral in a networking meetup well before the actual job interview.
Did you ever have imposter syndrome?
Every. Single. Day.
One of the things that I love about my team is that my lead is open about the fact that he struggles with the same things I do. We are very much alike and I feel empowered to be transparent and open about how I feel about the team and the work we are doing. He is very encouraging and is honest in his feedback about what he appreciates that I bring to the team. The empathy he demonstrates goes a long way in understanding that these feelings of doubt and insecurity are not specific to me.
What are your career goals for the future?
I’m interested in a distributed and decentralized web. So things like the Fediverse and Web3 are what has captured my attention most in recent years. I’m also hoping to bring some kind of Mesoamerican NFT collection to fruition. I can pretty much be found anywhere online under the moniker silentkdev. I’ve started a blog as well where I’ll be talking about my interests as well as writing about helping others like me break into tech at https://silentk.dev