About three years ago, I posted an article on Medium titled "So when can I call myself a developer?". At that point in my career, I was at an agency called Kite Media building WordPress websites and occasionally tweaking a little CSS or PHP in order to force something to work on one of our clients' sites. I was employee number three at the time and I wore a lot of hats, one of them being writing code. I struggled with having the title as "web developer" because I was only coding about 10% of the time. I wrote that post because I wanted to be a developer, but still had intense imposter syndrome (and to this day I still do, but that's a topic for another blog post).
Fast forward three years, and I'm a software engineer at Clearlink, a marketing and sales company in Salt Lake. As I mentioned, I still feel inadequate most days and often times feel like I'm tricking my superiors into thinking I actually know how to code. But at the end of the day, I'm a software engineer. I write A LOT of code every day, I'm pushing code on an almost daily basis, and I can't remember a day where I wasn't browsing StackOverflow for an answer to a question I'm stuck on. Even though I feel like an imposter, I do have to sometimes take a step back and look at how far I've come and how much I've learned. I'm always surprised when I start realizing how much I do know. And then of course, almost instantly humbled when I realize how much I have left to learn.
When I was starting out, I found a lot of inspiration reading about other engineers and how they got started. In fact, I kept going back to one specific article on Medium called "When are you too old to become an engineer". For some reason every time would read this I'd think to myself "I can totally do this, even if I don't fully understand data structures". This inspired me to keep trying. Software engineering is a unique career in that everyone has a different journey. Some go the traditional 4-year Computer Science degree route, others choose a 12 or 24-week coding bootcamp route, and others are 100% self-taught with no formal education at all. I've worked with talented engineers that come from all three of those routes and it really doesn't matter at the end of the day.
But like I mentioned, I had felt motivated by hearing others' stories as I was starting out, and I wanted to share how I got to where I'm at. I definitely took a long route with several turns and detours. Several times I thought I'd go a different direction and not even code at all. Other times I was obsessed and positive I wanted to be a developer. Here's the timeline of how things happened for me:
I'm a sophomore at Utah State University in Logan, UT. I've never written code but I'm fascinated with technology. I'm thinking about majoring in English but I'm not really sure what I'd possibly do with an English degree. I stumble onto Technical Writing, which is still an English degree but with an emphasis on technical and professional writing. I decide it's right up my alley and decide to declare my major. During the first year of the program, I take an HTML and XML course. It's very, very basic. But for some reason I'm hooked. When the rest of the class is complaining and looking forward to the class being over, I'm wishing there was more we could learn about building websites. Turns out this is the only class with this structure. Since I'm still craving more, I start looking into changing majors. Naturally my first instinct is to change to Computer Science. However upon looking into it, I realize I'll have to go to school another 3-4 years (at this point I'm only about 2 years away from graduation). I decide to minor in Computer Science instead.
I delve into introductory Computer Science classes and start my minor. I immediately realize I'm in over my head. I thought I'd be learning some more HTML and CSS. Nope, I'm learning about implementing data structures in C++. I struggle through almost every class of the minor. I end up hiring a tutor just so I can pass CS2. I spend several all nighters on assignments and projects. In my final class for my minor, CS3, my professor tells me maybe I should pursue a different career because I'm struggling and asking too many questions. --Sidenote: I wish I could go back and tell this professor what I thought of that comment and tell him where I'm at now. I'm sure he had good intentions but it made me furious. Although looking back I think it also fueled me. I ended up getting a B in the class and I got an A on the final. Hopefully that was enough for him.
I interview at a small software agency in Logan called Atomic Jolt. --Sidenote: I'm not sure how I got the interview, but during the interview, he quickly realized I was nowhere near ready to be hired. I also went in basically saying "I'll do UX or app development or web development or design or...". Admittedly I wasn't prepared, I think I tricked him a bit into getting the interview. He called me on my bullshit. I'm glad he did. This ended up helping me move forward and helped me hone in on what I wanted. I bomb the interview and I'm really discouraged. I was hoping for one of those rare "yeah we'll hire you with no experience and we'll just teach you on the job" opportunities. Instead he tells me I need to go learn more and build some projects and decide where I actually want to fall in the software development world. My then-girlfriend and now wife is encouraging and helps me get back to applying for jobs. I apply at a small digital marketing agency, Kite Media. The job is to do a little SEO, a little web design, a little content writing. Basically whatever is needed. I jump at the opportunity since I know I'm not quite ready for a software engineer job and since it was getting tough making ends meet at my college job at the local fly shop making $7.50/hour. I love working at Kite Media. My boss is great and allows me opportunities to dive into just about every aspect of the business. I build a couple WordPress websites from prebuilt themes and he likes them. He ends up making me the web designer and hiring other people to handle the SEO responsibilities. I'm still eager to code, but I'm only writing small amounts of CSS here and there for WordPress sites. I propose we build a price quote plugin since most of our clients are home services clients. I write all the PHP and JavaScript and somehow struggle through it thanks to following tutorials on YouTube. I learn more building the plugin than any other formal learning I'd had up to that point. This triggers something inside of me to want to code full time. When I finish the plugin, there aren't any other opportunities for writing our own code. I get burnt out and decide to look for other jobs.
I'm stuck in a tough place. I still don't know how to code well enough to land a job as a developer, but I also need to move on and find a new job. My wife and I move down to Salt Lake City and I get a job at Podium doing Integration Fulfillment. Basically this consists of installing Podium's software on clients' servers. It's a cool startup culture with a CrossFit gym inside the office and everything. I work on an awesome team and do some technical things like work with APIs and read error logs, but I'm not coding. I write small snippets of JavaScript inside Zapier to essentially automate my job, just because that's way more fun that installing software on outdated Windows Servers. I decide I need to jump in with both feet and really get to the point where I can get hired as a developer. I look into coding bootcamps around the state. I land on Dev Point Labs in SLC. I talk to the CTO at Podium about doing the class after hours and then interviewing at Podium at the end of the 3 months. He says he fully supports it and is always wanting to hire new engineers and especially finding talent internally. I go through the 3-month course at Dev Point Labs. I go to work every day from 9-5, then drive straight from Lehi to Salt Lake in rush hour to make it to class by 6. I grab a Dr. Pepper and then sit in class from 6-9 every night and then stay another hour asking questions and doing homework. I get home about 10, eat, and go to sleep. I am very unhealthy, but I just need to push through the 3 months. --Sidenote: here's a blog post I wrote about my experience at Dev Point Labs. I learn SO MUCH during the course. I learn Ruby on Rails, JavaScript, React, testing, git, css, and other topics. I go the extra mile and do everything I can to get the most out of the course. I graduate and immediately tell the engineering manager at Podium that I'd like an interview. I go through the entire interview process only to be told there isn't a spot for me at the moment. I'm frustrated, especially since I was told I had done exceptional throughout the entire process.
Shortly after Podium doesn't move me into an engineering role, I start looking for positions at other companies. I interview a couple different places and land at Clearlink. I'm very thankful they're willing to take a chance on a junior engineer. I get tossed into building their new publishing platform. I a lot of SCSS at first and am mostly fixing bugs in PHP. I start moving into more technical projects building out the actual platform.
I'm still at Clearlink as of today, and I still have so much to learn. Learning to code has been a challenging yet very rewarding career path. I still struggle with data structures and complex algorithms. I still have to look up syntax basically every day. But I love it. I love the challenge. I love getting to learn more every day and knowing there's no real end to the learning. I love getting something to finally work. I love building a project start to finish and seeing real people use the app and actually enjoy their experience doing so. My path has been a bit unorthodox, but I've gained a lot of skills outside engineering along the way. And at the end of the day, I'm very happy with where I'm at. And I'm very excited for the future.
Back to blog