Learning a new set of skills, changing careers, or taking on a new project can often seem daunting, until, you’re able to see an achievable outcome. Kevin Scott, a recent Full Stack Web Developer Nanodegree program graduate, successfully changed careers after redefining his expectations about acquiring new skills and what it takes to become a programmer.
At a time when being an “expert” can seem like a prerequisite, Kevin took a moment to step back and consider that skills acquisition is an ongoing journey. Expertise, he realized, is a process, not an end goal.
We caught up with Kevin to learn more about his incredible career transition from adjunct professor to software programmer.
You recently completed the Full Stack Web Developer Nanodegree program and it’s contributed to some career changes in your life, could you tell us a bit about that?
Absolutely! My professional work experience has been mainly in education. I worked in education for 10 years both as a high school mathematics teacher and adjunct ESL instructor at my local college. Over the years, I developed an interest in programming, web development, and computer science. Unfortunately, I had no access to formal training opportunities that could work well with my full-time work schedule.
I researched and tested various online programs, tutorials, and MOOC courses. Yet, I still felt something was lacking: I wasn’t receiving any direct feedback regarding the skills I was attempting to acquire and there was a complete lack of direction on how these skills could be applied in a professional setting. I realized that I needed a resource that would provide a path to learning new skills, personal feedback on my progress, and how to apply my skills in a professional setting. In coming to this realization, it became clearer to me that programming was more than a hobby, I was passionate about it. I made the decision to leave my job as an educator and try to become a programmer.
After making the decision to focus on this big change, my next goal was to find a program that ticked all of my requirements. I focused on programs that included project-based learning and personal reviews. After researching online options that provided both of those requirements, I landed on Udacity. I knew immediately, this was going to be my bridge from a self-taught hobbyist to an industry-trained programmer. The Full Stack Web Development Nanodegree program seemed like the best blend of concepts that were familiar and challenging. I enrolled and I never looked back…the program took me around six months and, while, initially, I was nervous about spending money on an online course, it ended up providing tremendous value.
How was your experience within the Nanodegree program?
I remember the projects being challenging, but the content, tutorials, and resources provided a lot of momentum for success. I received exactly what I had been looking for, I was submitting projects and receiving feedback on every detail of my work. The comments and suggestions were helping me to improve my skills and further cement my new knowledge. Through the process of submitting my work, receiving feedback and then addressing the necessary changes, I found myself learning the overall concepts instead of being lost in the details. I found that focusing on the core concepts allowed me to gather the finer details as I progressed through the course.
One of the most important aspects of my experience was how Udacity helped me realize that becoming a programmer, in contrast to my former profession as a teacher, is not an profession where you can literally learn everything. This can be an overwhelming concept when you’re faced with learning large amounts of complex skills, and it can almost seem like a barrier to success. Udacity helped me create a roadmap to navigate and learn key concepts and how to build industry skills with a “one project at a time” mentality. Over the course of six projects I started to understand how I could become a programmer and continue to build skills on an ongoing basis.
Your progress through the Nanodegree program was in tandem with career growth, is that right?
I started looking for a new job right after I completed the Nanodegree program. I utilized Udacity’s career services to review my LinkedIn profile, interview preparation and resume feedback. When I started looking for jobs, I knew that I wanted a position that allowed me to use my skills practically but also offer guidance as I transitioned to a career in technology.
I applied to quite a few jobs, attended numerous interviews and received an offer. I ended up turning down that initial offer; I was looking for a position where I could grow as a software developer as it pertains to full stack and not tied to a particular tool, language, or framework.
When I applied for my current role, Engineering Professional Intern, I was both nervous and excited. I had multiple interviews throughout the process. It was very competitive (I found out afterwards), but my Udacity projects helped set me apart. I believe a couple of factors contributed to my selection: first, having real projects that can be seen on GitHub (not just academic projects) and, second, seeing a strong thirst to learn. I think the right mix of those two qualities really made the difference.
How are you using some of your new skills in your current role?
Everyday at work I use concepts that I learned during the Full Stack Nanodegree program. There are many tools in web development but core concepts are more-or-less the same. Once you build a conceptual foundation, the patterns are the same regardless of the programming language, framework, or tool being used.
In my current role, I work with a large database with varying tables, views, and procedures connected to a web application controller. The database portion of the Nanodegree program, where I worked with SQL and Python has helped me in incorporating database logic and troubleshooting.
Much like yourself, we’re always looking to create programs that are relevant to the industry. Recently, we launched new Data Structures and Algorithms Nanodegree program, that includes new content specific to data structures and algorithms. How important are these skills in your day to day work?
Very important! The underlying principles of data structures and algorithms help within all aspects of computer science, including web development. For instance, in my current role, whenever I import or export large data sets, they need to be formatted based on the particular database. I’m able to organize and format the data using arrays and dictionaries, key tools I was exposed to through my Udacity experience.
In one instance, I distinctly remember being thankful that my Nanodegree experience included learning python. This language is fundamental to many of my projects that involve modules and data structures.
How did having these skills aid in landing your recent role?
Every interview, including the one for my current role, included at least one general question about data structures. Understanding the basics helped me throughout multiple interview processes. I remember during one of my first interviews, I was asked a simple question about arrays: “How do you loop through an array?” “Can you have more than one type in a standard array?” While I didn’t expect to be challenged with these more conceptual questions, I was comfortable answering them, based on my Nanodegree experience. Additionally, I found that having a foundational knowledge of data structures and algorithms to be equally important to having the basic programming skills to answer typical interview coding challenges.
Is there any other advice you would offer to someone who wants to become a programmer?
In large parts of the industry (not all), quantifiable projects are considered to speak louder than theoretical knowledge, I would agree. Whatever you learn, try to think of a way to show it. And, remember, this is a journey, focus on one project at a time and you will continue to build your skillset; you will never know each and every detail of programming, but you can still become a programmer!
Learn more about obtaining new skills and become a programmer, enroll in the new Data Structures and Algorithms Nanodegree program.