Interview with Wess Cope, Wattz.net
I am excited to present this developer interview with programmer Wess Cope. Wess is a regular contributor here on Fuel Your Coding and so this interview was a great opportunity for us to learn more about what makes Wess tick.
Did you go to school for programming? How did you get started in this field?
I am a self taught programmer. I guess you could say I fell into the field when I was eight years old. I learned to program, well, mimic on a Commodore 128. I just typed in the code examples, then I changed things here and there and watched to see how it affected the program. I attended the Air Force Academy for electronic engineering and became an encryption programmer in the Air Force.
When I really started getting into the web development field, it was actually as a design and UI guy, not a programmer. I already knew how to program in C++ and Java, but not PHP. A friend of mine turned me on to the backend technologies, and I transitioned into the field of backend programming. I didn’t lose my connection to design and UI as fell deeper into the world of programming. On a side note, back in 1999 I really liked javascript… which if you remember is when most people didn’t like it at all!
Now I program all the time. Literally all the time. I normally program in five different languages all day at work, then do it all over again in the evenings. I don’t watch TV, I program.
It seems you like learning a lot about new technologies. Why is that?
Yes! Its actually a big joke with my family and friends. When Google announced ‘Go’, my brother-in-law called me right up and asked if I knew how to program with it yet. Anytime a new language comes out, I make a point of downloading it and building an application so I can understand how it works. It is really important to me to have a working knowledge of a technology. Then, when it comes up in a conversation I am not just speaking on hearsay. I have actually used it, so I can be more informed. It’s really all about dominance in arguments. :)
How would you recommend someone pick up an additional programming language?
I always recommend the same thing to anyone wanting to pick up a new language. Program something common with it. What I mean by common is something you know how to build in another language. For instance, whenever I learn a new technology I always build a user management app or a todo list app. The methodologies never change with those apps even though the technologies change. By building the same thing over and over with different technologies, I can more accurately compare them to each other. It helps me really learn the language. Hello World apps don’t show you what is really going on with the language.
Do you prefer physical books or searching for the information on the Internet?
I love books. I read a technical manual a month. I go through every step, try every example. When I am picking up a new language, I tell my brain I have never programmed before. Even when reading about MVC, I pretend I have never heard it before. Since each company handles it a little differently, I don’t pretend to understand how that company views it. When working through the examples, I never copy and paste; I type it all out. Even when I write tutorials, I often use screen-shots instead of easily copied code. I know good and well that if a programmer types each piece of code he will be less likely to forget what he learned. If all else fails, I will go to the internet for answers.
How do you get a personal or work project from idea to completion?
I try to crush goals quickly. If you set a milestone that is so large it overwhelms you, it will slow you down. Set a small goal, hit it, then do something else on a different project and with a different language. Switching between projects and languages keeps you from getting burned out. None of my to do lists on a project have more than 4 or 5 items. This is essential to fight burnout. When you fight burnout, you keep yourself happy. Plus switching languages helps you stay very adaptable.
I have also found that feature creep comes from not stopping when your five tasks are done. When you finish what you set out to do, don’t look at it as being half complete. You are done… stop working on it. If you don’t, you will kill your own motivation. The big picture is beautiful, but don’t ruin it because a single leaf isn’t quite as nice as you imagined it.
Its your hobby, its your work. What else do you do when you aren’t programming?
I build furniture. I Build computer desks. As my needs change, so does my desk. As my languages change, my desk changes. I also spend time with my family. When I get home from work, three hours every night is family time.
I enjoy rock climbing and kayaking, but my current hobbies are really golfing and salt water fishing. However, sometimes I just like driving around and seeing how people interact with each other. I get a lot of inspiration for things I build by watching people interact.
Best thing sometimes is to stop and see the world for what it is. Not thinking about programming, but sitting with the family and enjoying life. Clearing your brain like that helps you get ready to code when you need it. I have never met a really stressed out programmer who writes really good code.
Thank you so much for this interview! What advice can you leave us with?
Push the limits of the technology you are using to the edge. Push it to where it shouldn’t even be functioning any more. An example of pushing the bounds is the Cappuccino framework. It is pushing javascript to the edge of what it should even be able to do. It completely blows my mind. Its the same thing Objective-C did to C. They broke the bounds of what the browser is capable of.
If you don’t think you can push the boundaries any further, then break them entirely. Use research to see how other people are using technologies in combination with out-of-the-box thinking. See how they are applying to to solve problems. Keep pushing the envelope.
How can our readers get in touch with you? Do you mind people connecting with you?
I love interacting with people! I am almost always on Freenode in one of the developer channels. I can be reached on AIM by my screen name: wattzilla. Of course my Twitter account is another great way to get in touch with me. I welcome any and all contact, so look me up!
Note: This interview has been adapted to a question and answer format from my much more relaxed interview with Wess last week.
Doug Neiner is an Editor at Fuel Your Coding and an official member of the jQuery Team. He is addicted to new technology, and specifically loves spending time with WordPress, Ruby on Rails and jQuery. Learn more via twitter or his Google Profile.



Wess Cope is a gentleman and a scholar. Cheers!
Awesome interview Doug — big fan of Wess. Capuccino rocks my world!
What an awesome interview! Great job with the questions and thanks to Wess for the in-depth answers!