My Start in Writing Code
It was in the spring of my junior year of college that I got my first taste of programming. I was studying psychology at a four-year liberal arts university with electives to spare when I stumbled upon Intro to Computer Science 1. The class was taught using the Python programming language. I was not familiar with Python, but I heard coding was becoming an increasingly in-demand skill, so I enrolled.
It was not a smooth ride. I did terribly, so terribly in fact that I withdrew from the class at the midterm. There were so many topics I had never heard of before: strings, booleans, functions, lists, and integrated development environments. I was lost in this strange new land. Overwhelmed. Yet, I felt something I had never felt before from my psychology courses: it was way more challenging and hands-on; it was enthralling.
I decided I was not ready to give up. I knew that if I stuck with it, my future would be bright, but I had to do things differently if I wanted to succeed.
A Second Go
I retook the class the following semester and got an A-. I was very proud of that accomplishment. But what changed? How was I able to become so much more proficient in writing code in Python?
The truth is, it took a whole summer of working through Zed Shaw’s Learn Python the Hard Way. I read each page in depth and retyped each example into IDLE (Python’s Integrated Development and Learning Environment). It was a bit tedious at times, but I was determined to learn. I was determined to become a software developer.
I read each page in depth and retyped each example into IDLE (Python’s Integrated Development and Learning Environment).
I knew this wasn’t enough, however. Python alone could not land me a job writing code professionally. I knew that if I wanted to write code professionally, there were a dozen other things I needed to learn about. I had no time to switch majors though, that would delay my graduation and add to an already hefty student loan bill. I accepted that I would have to learn these things on my own, just like I did that summer with Python.
Supplemental Learning
With the remainder of my senior year, I fit in a couple more programming courses albeit nowhere near the number required to graduate with a Computer Science degree. I took an intro to databases, another Python course, an introduction to web development, and a discrete math course. In my free time, I was reading books about web development, which in my opinion, is where most people without CS degrees have the best shot of entering the larger field of software development. Becoming a front-end developer, specifically, is what I was targeting.
Some skills I had and recommend others to learn for frontend are:
- HTML
- CSS
- JavaScript (ES6)
- A library like Bootstrap or Tailwind
- Git
- Command Line
Finding my First Job
I began the way most do, building out a portfolio at my own domain taylordouthit.com and placing all the code on GitHub so employers could have a look at the quality of my code. I tried my best to write clean JavaScript (at the time I was using a lot of jQuery), CSS, and HTML. I picked up a few more books, worked on projects to add to my portfolio, and entered myself into every local programming scene including meetups and online communities.
With all that I did, I was still having trouble getting my foot in the door. I can even remember being discouraged after talking with an engineer at a local meetup about what he was working on. He listed off the various problems he was solving and what technologies he was using, but I only understood at most 10% of what he was saying. Was I not learning the right things? Was I not working hard enough? I was beginning to think I was not cut out for this.
He listed off the various problems he was solving and what technologies he was using, but I only understood at most 10% of what he was saying.
The application process was daunting as well. Dozens of different platforms to apply on, cover letters, coding challenges, it all felt overwhelming. It felt like I was back in that intro to computer science class and lost all over again. That is until I decided, again, that I would carve my own path. I would not let the process discourage me.
What I decided to do was to go on the About Us
section of local start-ups and cold email developers. I hoped someone would like me or my work enough to pass my resume off to a hiring manager. I also used that opportunity to ask about the company culture, what they liked about working as a developer, what they didn’t like, etc. And it worked! I got an interview with a small education technology start-up.
The Interview
Nothing can quite prepare you for being interviewed by a team of eight simultaneously. That was what happened to me in my first interview. I sat nervously at the end of a conference room table and had to introduce myself to a bunch of strangers and make my case for why they should hire me. I sweat bullets the entire time.
What I tried my best to do at that moment was be myself. I talked about where I was from, what I studied, and what I was passionate about. We ended up talking more about video games and hobbies than we did my actual portfolio. The thing you have to keep in mind, especially for entry-level gigs, is that oftentimes the team is looking for someone they can work with and get along with. They want someone who will be a good fit for the team, the company, and the culture. They understand that the technology you know comes second. If you can be a good teammate and learn on the job, then you’ll likely succeed.
Web Dev Internship Landed
The interview went well and I got my first offer to write code professionally for a whopping $35,000
. I heard the paychecks were supposed to be bigger in the tech industry, but I was still excited. I was going to be a web developer and I was on my way to building valuable skills that would help me become a better web developer.