June 8th, 2012 by Elliott Mitchell
Today I’d like to introduce you all Steff Kelsey, Infrared5′s most recent full time employee. Steff has worked for Infrared5 as a contractor the past few months and this week leveled-up to an All-Star team member! I have personally worked with Steff on a particularly challenging project recently and have been very impressed by his skills, attitude and beard. I had the pleasure to interview Steff this week with the goal of uncovering some more details about his background, goals and ambitions.
1) How did you first learn of Infrared5?
I had worked on a few projects that used the Red5 streaming server in 2008, so I guess I knew about the group from that. For whatever reason, I did not realize that Infrared was in the Boston area until I met Michael Oldham performing a demo for the ad agency I was working at last April or May. After meeting Michael, I took a closer look at who was in the group and the kind of work they were doing. I really wanted to be a part of it.
2) What is your professional skill set?
I have a BS in Mechanical Engineering and that brings a lot of math with it. I started off doing animation for broadcast, so my first pipeline centered around After Effects, Illustrator, and Photoshop. I had experience coding in High School and college, so it didn’t take long for me to start scripting animation in AE and 3ds Max (rather than keyframing everything) and also get into developing software for kiosk and the web. Then I read my first design patterns book and I was hooked. Now, most of my time on the job is spent writing code.
3) Do you have a favorite programming language and why?
I think its important for developers to get exposed to as many different languages as they can. As far as favorites go, I prefer languages that are strongly typed. I like getting quick feedback when I code. When working with strong typing, your IDE lets you know right away if you have done something wrong. If you’re working with a compiled language, compiler errors and warnings are you’re next layer of feedback. And unit tests are the next round. In an uncompiled language without strong typing, unit tests can be your first feedback loop from the system, rather than giving an error right in the IDE. I like tools that help you, so I guess my language preferences are really about the toolset.
4) What is your favorite 3D tool and why?
I have spent the most time in 3ds Max and once you get comfortable in a package it can be hard to switch. I really like rigging with CAT and I got very familiar with their particle system and with RenderMan. At this point, I just feel good about the pipeline.
5) Are there any development platforms or languages you’d like to work with more?
I am getting into Unity3D and am very excited about it. It’s a great end point for someone who is into motion math, creating 3d assets, and creating simulations. I also got exposed to GPU programming on my last project and want to explore that more. I really want to harness the GPU as an implicit solver of systems of linear equations. Once you get a framework in place, you can simulate a variety of things from more complex realtime physics to fluids and also geometry processing and image filtering. I am also interested in using Python to write plugins/scripts for Maya, but would have to break my bias toward 3ds Max to do so.
6) What are a few of your hobbies?
I run, draw, and have recently been getting into
woodworking (mocking everything up in 3ds Max before cutting any wood). I have a piano I used to bang on that I need to get back to. Honestly, most of my spare time is spent trying to keep up with things in the field. Everything changes so fast in the tech world and there is always so much to learn. It is both awesome and terrifying!
7) What super hero do you most identify with and why?
I have a Batman keychain, but who doesn’t want to be Superman?
8) What one nugget of advice would you give an individual thinking of getting into either game or web development?
Work hard. Work hard. Work hard. And never stop learning. Being able to teach yourself new things is an invaluable skill. And don’t worry if you’re not a rock star right away. Just keep churning out work and the quality will come with experience. Take time after each project to review what went well and what didn’t. Make a lot of mistakes and then recognize them and learn how to not fall into the same traps on your next sprint.