Digging In with Jimmy Cox
Digging In is a regular series of blog posts profiling UDig employees. We hope this series helps you to get to know our team and understand why we dig what we do!
UDig: Tell us a little bit about your background and your role at UDig.
JC: I recently joined UDig as a Senior Consultant focusing on mobile development. I’ve worked in the mobile app industry for over five years and worked with teams of varying sizes on apps that are used by millions of users. I love the industry because of its pace, Apple and Google are always trying new things that require the developers creating and supporting apps for their devices to be nimble and challenge their assumptions about the best way to solve a problem. I enjoy being challenged with new problems to solve and learning about new thought processes and approaches to solve those problems. Read my first UDig blog on ReactiveX programming here.
UDig: Why did you choose UDig?
JC: UDig has a startup feel that gives me some autonomy, but UDig is also more secure than a true startup because it’s been around for 15 years. There is a desire to be at the cutting edge of our practice areas at UDig which will mean I get to start stumbling into questions again that nobody else has come across, it’s going to be fun!
UDig: How do you approach mobile apps?
JC: My philosophy about mobile apps is that the user experience is king. A mobile app is such a small form factor it forces you to focus on what is the most important thing for a user to see. On top of getting the most important thing in front of your user, you have to make the navigation so self-explanatory that you don’t need any sort of coaching. The thing that I see done all too often though, is the jump to build views first. I am a big believer that taking a quick step back and think about architecture and how to expose dependencies and break your application out into decoupled pieces. I have been a part of multiple app re-writes now and the reason a complete re-write was necessary is that there was something underlying that needed to be changed because it was fragile, or deprecated, or the business moved the cheese and there was no way to swap out that piece of spaghetti from the plate without impacting everything else. I like to build applications in more of a building block way so that a single block can be replaced with minimal impacts to the blocks around it.
This focus on decoupling and defensive programming has led me to love the subject of application architecture. I am a big believer in Uncle Bob’s Clean Architecture and the derivatives that have been inspired by it. I am fascinated by the world of functional programming, reactive programming, and the overall elimination of state management wherever possible. I think simple is beautiful and simple is testable, so I strive to maximize local reasoning in code.
UDig: What’s the best project you ever worked on?
JC: The best project I ever worked on I can’t tell you about or I’d have to kill you. No seriously I did a brief stint at a DoD contractor where I was prototyping and got to use pieces of hardware in unconventional ways and write low level software and see it work on different pieces of hardware as well. The thing I liked best about the work was the pressing into the unknown, there were no experts in the things we were trying to do so there wasn’t a boring StackOverflow response to my questions. I was forced to think creatively to find answers to questions that others hadn’t come across yet.
UDig: What is your favorite online procrastination tool?
JC: When I’m looking to procrastinate I will turn on Twitch.tv and feed my inner video game nerd. Why watch instead of play? I can tell myself because I’m not invested in the game I can turn it off whenever I please… doesn’t always work, but that’s the theory.
UDig: What is the most played song in your library?
JC: The most played song on my iTunes is Titanium/Pavane by The Piano Guys, when I’m working I can’t listen to music with lyrics or I get very distracted so I have a playlist of only instrumentals.
UDig: You’ve been told you are not allowed to work tomorrow, how do you spend your day?
JC: My wife, Christina, and I love to explore Richmond’s food scene. We are always looking at what new restaurants we have yet to try. I also really enjoy the local craft breweries we have in the area and the local coffee roasters. We are looking forward to our summer trip to Smith Mountain Lake where our dog, Logan, loves to swim for hours at a time. I enjoy playing board games with my three siblings when we can all get together and play Destiny with my two brothers when we can’t be in the same city. If you have a cool spot for a casual dinner/date night or a favorite beer I’d love to hear about them.