September 22, 2015

Five years ago, I graduated with a Business degree and no real idea what I wanted to do. I had a vague idea that I wanted to be an ‘inspiring, charismatic leader’ of some sort, but little else beyond that. After nine months of job hunting, I finally landed a position as a manager at Target. Cut to a year and a half later, and I was burnt out, disillusioned, and ready for a change. That change came quickly. I applied for a Quality Assurance (QA) position at a local tech company and was offered the job. This was my big break into software development.

I spent four years in QA working on Scrum teams, typically with 5 developers and 5 QA professionals. Starting out, I had a strong interest in learning how to code, but little idea how to start. I also had the notion in my mind that ‘software engineers’ were all-knowing encyclopedias when it came to coding; that when they left their Computer Science program, they had, more or less, all of the technical coding skills they’d need for their career. The more I worked beside my developer team mates, the more I realized that my previous ideas about the ‘all knowing’ nature of developers weren't entirely accurate. These were highly skilled professionals, but they were also constantly googling, asking each other questions, and ultimately, teaching themselves new skills each day. The only thing separating me from joining their ranks was knowledge and practice. So I hit the books.

Two years later, and things were starting to fall into place. I had a solid understanding of object oriented programming and a thirst to use my hard earned skills. I was promoted to QA Software Test Engineer and spent another two years developing programs that automated testing of the company’s product. My development skills continued to slowly grow and mature.

Eventually, my interests brought me down a different path. I had always been interested in graphic design, layouts, typography, and the visual nature of the web. So I started teaching myself Ruby on Rails, a framework for creating web sites. After a year using Ruby on Rails, I realized my real passion was building products that could be seen and interacted with. The question was how to get to a skill level where someone would hire me.

After a lot of thought, I decided to go ‘all in’ toward reaching my goal of becoming a developer. I quit my job and moved 800 miles north to Portland, Oregon where I enrolled in Epicodus, a software development trade school. I spent eight hours a day for five months at Epicodus improving my development skills. The program just finished, and I currently find myself interviewing with local tech companies while working on some personal web projects.

Words of Wisdom

My path to ‘developer’ was a windy road with many stops and rest breaks. With my experience fresh in mind, I have some words of advice for those thinking of pursuing a career in software development.

Make learning relatable
Learning how to program is not easy. By a long shot. That’s why it’s so important to find something you’re passionate about that will motivate you to study on Saturday and Sunday when you could be doing something else. What excites you? What website would you get value from that doesn’t currently exist? Start building it! Always be working on some passion project—it motivates you to improve your development skills while giving you something to talk about during interviews with potential employers.

Find a way to dedicate your full attention to learning, if possible
Much of my four years in QA was spent learning and advancing my development skills, both inside and outside of work, but it was on a part time basis. Toward the end of my time in QA as I was learning Ruby on Rails, it became apparent that it’s difficult to get to a hire-able state without dedicating yourself full time toward that goal. For me, that meant quitting my job and enrolling in a coding school. If you can, consider taking three or more months off work or joining a coding school to dedicate your full attention toward web development.

Have something to show off
At some point, it’s vital that you have something to show off to a potential employer. For me, that meant working on passion projects and building a personal portfolio site to show off my work. This site showcases some of the work I’ve done, but it was also a fantastic opportunity to build a fully functional site from the ground up—an incredible learning experience.

Consider Quality Assurance
QA is a fantastic career path. Most of the 30 QA peers I worked with previously are happily employed as QA professionals. QA roles are generally easier to step into for beginner developers, and it’s a great opportunity to learn about software development while preparing for a ‘developer’ position.

Stay thirsty, my friend

The beautiful thing about software development is that it’s largely a meritocracy. Some of the most brilliant developers I know are self-taught without any formal education. Likewise, some of the best I've met are also from great Computer Science programs. My point: software development has a long history of influential people from all walks of life and backgrounds, both formal and self-taught. Don’t get discouraged if you’re going the self-taught route.

I recently spent five weeks interning with EyeCue Lab. During the interview, I asked Rick, the Director, if he had any advice for a young developer. His response: “Stay thirsty.” To me, that meant never being fully satisfied and continually pushing yourself toward something. Web development is a constantly evolving industry, and there’s no telling what languages will be mainstream in 10 years. If you decide to pursue web development as a career, never stop learning, and above all, stay thirsty.