High School Math Teacher’s Path to Software Development


We love hearing from Udacians who have discovered and developed their passion for programming. Daniel Wilson, formerly a middle and high school math and science teacher, was able to develop his programming skills with Udacity, and started his new job as a software developer three weeks ago! Congratulations, Daniel!

Daniel shares his story below:

I worked as a middle and high school math and science teacher for a number of years, but was always frustrated by the lack of technology resources available to me. After some idle hours spent learning to code with Codecademy, I was given the opportunity to teach a Computer Programming course. Along with my students, I dove into the finer points of Javascript and Python during the day, and in the evenings I took Udacity’s Intro to Computer Science course. I took the Web Development course, and then the Programming Languages course as I became more and more engrossed with coding. Without ever really realizing it, I had decided to start developing real applications.

Udacity’s project-based structure was incredibly compelling to me. I taught my students HTML markup using the wiki I wrote in the Web Development class. They had tons of fun producing something that they could go home and show their parents on their computers or smartphones, and they were inspired to learn because I was learning simultaneously. They were my team of bug testers, and they just loved trying to break my websites every Monday morning when I would come in with new features to show off.

At the end of the year, I had them create an HTML/JS game based on some template code I had written. As it happens, my youngest student in the class was a 7th grader, and also in one of my math classes. She had been struggling in math with the concept of coordinates. In programming class, she was mapping her sprites to the <canvas> in her game, and wanted to move one block to the right and one block down. I will never forget the moment when I asked her how she might do that in the Javascript, and she told me “well, I just need to make the first number one bigger, and the second number one smaller.” She tried it and it worked, and then I said “you know, this is the same thing we were talking about in math yesterday. The first number is the x-coordinate, and the second is the y-coordinate.” Her eyes went wide and she said “Ooooooh! Now I get it!” Those are the moments for which I teach.

And so, I want to make tools to help students learn math and science! Fortunately, I had been telling my friends and coding mentors about my Udacity projects, and one of them told me of an opening at a local web development company. I was already well familiar with Google App Engine, but he suggested that I dive into the Django framework (that’s what we use here, primarily), as well as some other technologies that complement the web (Git, Backbone.js and other javascript libraries, etc.). I applied for the job just as the school year was ending in June, studied intensively for three weeks, and aced the job interview! Really, I was quite lucky, though. For the code test portion, I wrote an algorithm for solving a logic puzzle. Apparently, my main competitor for the job had years of experience over me and was the clear decision. But when it came down to the code, his was an absolute mess, while mine was clean and well-commented! Yes, folks, it really does matter.

So here I am, just two weeks into my new job as Software Developer on the Django web team at Concentric Sky in Eugene, Oregon. Just 20 months ago, I had hardly written a line of code. And, what’s more, it looks like I’m about to get to work on a project to help kids study remedial math topics! It sure hasn’t been easy to do, but it’s absolutely possible, and within your power if you love it enough. So good luck!

Daniel Wilson