Web and mobile developer – Code Mentor Adam Tuttle shares how he does it so well, starting from age 12.
“Diversity is the only insurance plan in technology. Strive to continually learn and stay abreast of new tools and techniques. ” – Adam Tuttle
Adam Tuttle is a web and mobile developer living and working near Philadelphia, PA. He started making web pages about Mountain Dew over AOL when he was 12.
Now he helps developers in stress and creates the smartest tools & best user experiences available for Higher Education’s Alumni Relations and Advancement departments with clients like MIT, Cornell, and Columbia.
Maintaining a large collection of open source projects and blogging regularly about web technology at fusiongrokker.com, Adam is only dragged away from the keyboard to play offbeat board games with his wife and two children.
What’s your proudest achievement so far?
After giving a presentation about techniques and frameworks to create REST APIs in CFML I realized that I could do it better than existing frameworks by combining techniques from various other tools I was familiar with.
The REST Web Service Framework for ColdFusion and Railo
A few months later Taffy was born. It’s now been almost 4 years and the framework and the community that formed around it are thriving almost without any help from me. Of course I do still participate and push the project forward, but it’s an amazing experience to see something you’ve created become accepted and popular.
What is the reason for your passion for Javascript?
Because it’s available everywhere.
I write apps for mobile devices using PhoneGap and JavaScript; complex interactive websites with AngularJS and JavaScript.
One of many cool stuff you can program in JavaScript these days
Now Node.js is bringing JavaScript everywhere else that it doesn’t already run. I’ve not done it yet but you can program quadcoptors and robots and all sorts of things with JavaScript these days.
Connect with JavaScript experts on Codementor
_ OK, so Javascript rocks mulitirotorly. Can you share with us one coding trick/tip that you’ve discovered recently. _
Learn EVERYTHING you can about your tools.
Keyboard shortcuts, subtle features, etc. My most used tool is Google Chrome and its developer tools (console, network view, etc). I love that you can bring up a mini-console from the network, sources, and other panels by hitting the escape key. This saves me from having to switch back and forth a lot, and keeps me productive.
_ How do you pick the BEST tool for the job? _
I think this is kind of a loaded question but I’ll have a go at it anyway.
I like to think that there is more than one “best tool” for the job, because part of “the job” is the team of developers that will be working on it.
If everyone on your team is a Haskell rockstar, are you really going to go down the rabbit hole of using Clojure for a new project just because it might be a slightly better fit than Haskell? Probably not. So my approach is to include not only the requirements of the project, but also the available skills of the developers when making that decision.
_ What is your advice for someone learning to code? _
Learn to love debugging. Coding is 5% writing code, 90% figuring out why code you or someone else wrote won’t work, and 5% regretting writing it the way you did.
If you can’t find pleasure in the 90% then you’re going to hate programming.
_ How do you enjoy mentoring on Codementor? _
I’ve always enjoyed teaching when the students are up to the task. I tried tutoring for Computer Science 101 in college and hated it. Most of my students clearly didn’t know the first thing about computers, let alone programming.
I guess you could say I’d rather help you hone your sword than forge it. Mentoring has been a good way to do that. When I help people with a mostly-working project figure out a bug or decide on a path forward for a new feature I feel like everybody is coming out ahead.
Occasionally seeking out new local craft beer, Adam enjoys anything that presents a challenge. This year he is working to become a licensed skydiver.
Connect with Adam on Codementor