Greg Gates got his start working in the content department helping to build Kites while WebKite was called Pikimal. Now he works on our dev team contributing code to the WebKite product. Greg is a recent graduate of our Non-Traditional Programming Internship, a program we’re now accepting candidates for. This is how he made the leap to programmer from philosopher.
Six months ago, I did not really know what Ruby on Rails was. I hadn’t written any significant computer code since I worked on a text adventure game demo in GW-BASIC when I was eight years old (with significant help from my dad). I was teaching a class on the skepticism of Socrates, Montaigne, and Hume at the University of Pittsburgh.
Today, I’m a software developer at WebKite.
When I tell people the basic outlines of this story, they usually have two questions: Why did you decide to become a programmer? How did you successfully make that transition? The short answer to “Why” is that the opportunities for philosophers are very limited these days. While I had a temporary position, and could have kept probably kept adjuncting indefinitely, a move into a career that would open more doors seemed wise.
But I think the more interesting question is “How.” That’s the hard part, after all. How does one just suddenly switch careers after investing years in a PhD or other advanced degrees, and perhaps more importantly, how does one do it successfully?
If there’s one thing that academics get good at, it’s self-directed learning. There are a ton of tools out there for teaching yourself Ruby on Rails. Moreover, Ruby and Rails live up to their reputations for being accessible, fun tools to work with. It’s quite possible to throw up a basic web application in a weekend, with the right tutorial.
But without support from more experienced mentors and an interesting problem to solve, you can only get so far. And that’s where WebKite comes in. Here, we’re developing a cutting-edge web application that is trying to solve important problems, and which is already quite large. We’re not talking about “Hello World” here — my first day, I was set up with a copy of our code base and told to start writing code that would actually be merged into our application! Daunting, sure, but so much more interesting than a purpose-less tutorial. And having all that existing code to look at, to really read and understand, is an excellent learning tool, as well.
Of course, the support of my co-workers has been absolutely instrumental. I joke sometimes that when I break something (and of course I’ve broken the app pretty badly once or twice!), everybody seems more concerned that I will get discouraged than they are upset that it’s broken. Only it’s not really a joke! I do try to make use of the tools I’m given to work through problems on my own, rather than waste other people’s time walking me through them, but when I get stuck somebody is always ready to lend a hand, or provide a much needed pointer in the right direction. And as my skills have grown, my team has been excellent about giving me new projects that match them. This support has been so effective that in a short time I’ve come to own projects that are large, crucial, customer-facing features of WebKite. It’s a great environment in which to learn and grow.
I’ve wound up learning the basics of about six or seven different languages, and tons of other tech tools — I’ve been involved in every aspect of the application from cloud servers and file storage to front-end design (right now I’m working on a brand new user interface for building and managing Kites). But the actual day-to-day work is all just a matter of using those tools to solve real and diverse problems. It’s challenging but very satisfying.
The best part is that, while I already feel like a full, contributing member of the team, there is still a ton of stuff I can learn, lots of interesting unsolved problems, and plenty of room to grow. I’m terribly excited about the possibilities the future holds in the field of web development and especially here at WebKite!
We’re very thrilled to offer this type of on-the-job training at WebKite to give those with a high-level degrees a chance to apply their knowledge to programming. For more information about the apprenticeship and other open positions, visit the WebKite jobs page.