Rusty Phillips
Software Engineer
Background
Rusty Phillips has over 10 years experience working in nearly every aspect of computer science – from low level things like hardware prototyping and compiler writing all the way up to high level things like user interface/usability design and math languages, and all the levels in between. Rusty is certified by the Sans institute as a Giac Secure Software Programmer, as well as holding a Bachelors in CS from the University of Central Florida and a Masters in Computer Engineering from Purdue University. Notable highlights were his time spent in a research lab at the University of Central Florida working on robotics and computer vision, and at Purdue University working on signal processing applications, and of course, the last four years working at Data Transfer Solutions working on GIS-based software development. With a career focusing on learning, he has over a dozen programming languages and many unusual (and run-of-the-mill) technologies under his belt. During his off time, his major hobby is music – singing and playing guitar with friends, coworkers, and occasionally for actual performances in front of the public.Philosophy
Try to do it the easy way
In software development – especially the multi-developer kind we focus on here at DTS, there's always more than one way to do things. If you keep doing things the same way, you're going to probably miss whatever easier approach comes along. So learn as much as you can, collaborate as much as you can, and you'll probably find out that you can improve your approach. Most specifically, every language, and every design pattern has its flaws and its strengths. If you find that every single project uses the same exact patterns and languages, you've probably either:
a) overspecialized, or b) can improve.Keep Learning
How that will work is never the same, but usually takes the form of eliminating something that you used to have to do a lot.
Refactor
Any code is going to be less than optimally written the first time. Rewriting portions of it is probably the easy way. It's going to have bugs, and it will be possible to make it faster, and simpler. So no matter how you write it, always keep spaces for redesign in your code – e.g., keep interfaces to a minimum, (use them as service contracts), generalize when possible, use error checking absolutely everywhere, and document what you're doing as you go along (version control can help you with this) so that you can pick up easily when its time to refactor.
Try everything!
Okay...I'll admit it. This isn't really a philosophy thing. Variety is the spice of life, and nowhere I've been is it more prevalent than software development, and nowhere does it happen more than in consulting. There's a good expression for a developer who's stuck in a rut, doing the same thing over and over: unemployed. Well...not always, but the point is that software development requires constant research, learning, and innovation. I relish the new challenges I see here at DTS, and look forward to solving all the problems that vary wildly from my current experience.
Rusty Phillips
Contact Info
Email: rphillips( at )dtsgis.com
Office: 407-382-5222
