Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Tim Rosenblatt, Senior Software Engineer at Ship.io, a Continuous Integration and Continuous Development platform for mobile app development.
1. What have you been working on lately?
The #1 focus of my professional life is Ship.io, a Continuous Integration & Continuous Development platform that exclusively targets iOS and Android app development. On the side, I'm working on a book about technical debt, which I think is an issue that's going to grow in importance in the coming years and decades.
2. You seem to identify mostly as a developer within the DevOps space. What are some of the most enjoyable and least enjoyable things about coding for DevOps? Where do you see DevOps going in 2015?
There are a lot of things I love about this! As a developer, getting to build tools for other developers is naturally satisfying to me. With Ship, a big part of it has to do with integrating other mobile development tools. There's a challenge around doing this when there are so many good tools that exist, but I wouldn't describe it as "not enjoyable". The challenge is fun, and there's opportunity there to build something great.
As far as 2015? The thing about building DevOps tools is that you have to react to the needs of the development community. We have to support other developers, and multiply their efforts. There will always be short-term needs that require moving quickly to help engineers and their businesses. Ship.io has a very particular focus -- CI & CD for iOS and Android. In 2015 mobile developers are going to have to manage the new release of iOS9, plus the Apple watch, and the huge variety of Android devices and rollouts of OS updates. The demand for high-quality apps and high app ratings is endless, so we're going to stay focused on helping people keep producing quality apps, even as it gets harder to do so.
That being said, I think focusing on fundamentals is always valuable. To me, there are two basic needs that engineers have from devops: first is to automate repeatable tasks. The more mundane and time-consuming a task is, the more satisfying it is to eliminate it. The second devops need is providing useful info quickly. If an automated process fails, it's no fun to grep through tons of logs to figure out what has to be done to solve the problem -- the faster it is to discover the cause, the better.
If we as a community stay focused on these things, it means that the engineers we support can stay focused on the most enjoyable and productive part of their jobs -- writing good and useful code.
3. Are there any particular developer tools or resources you couldn't live without?
http://pryrepl.org/ is a darn good debugger, and I really like it. To me though, more important than any one tool is the mental state of things -- balancing the need for focused and consistent progress with an open mind to find new and better ways of feeding the progress machine.
4. Do you have a favorite open source project (or projects) that you've contributed to recently?
In the past I've worked on releasing utilities that have made my development life easier, and add-ons to larger tools. Right now my community-oriented work is through a non-profit group in the San Francisco Bay Area called the Oakland Digital Arts Literacy Center where we focus on the digital literacy gap, and making it easier for people to get into the tech industry. I was lucky while growing up. I had a computer when I was very young, and had people who supported me as I learned to program. There are some very smart people out there who aren't lucky enough to have the same resources I did, and helping them is one way that I'm able to give back to the greater community.
5. Do you follow any blogs or Twitter feeds that you would recommend to developers?
Instead of any one blog, Google is always going to be my first go-to when I have specific questions. There are so many people putting good ideas out on DZone, Stack Overflow, and many personal/company blogs, and it's just easiest to search. Hacker News is a great resource for finding things that are helpful, that I wouldn't have thought to search for in the first place.
I've never found one single news source that perfectly matches the subjects I'm interested in. What's worked for me is building a great list of Twitter followers. Whenever you find a useful blog post, search for the person on Twitter and follow them. After a few months of this, you'll have a really good customized news feed of useful info.
6. Did you have a coding first love – a particular program, gadget, game, or language that set you on the path to life as a developer?
My Commodore 64 was probably what got me started. After that I had an IBM desktop, and I put that 486 to work as hard as I could! 33 MHz, 4 MB of RAM, the math coprocessor...who could touch it?! I also found myself writing BASIC programs on my Texas Instruments calculator. That's where I really found that I could automate my ability to do my math homework, and that definitely made the connection that writing code could save me time in the future.
7. Is there anything else you'd like to mention?
I think if people focus on working hard, keeping an open mind fed with good ideas about what is possible, and asking good questions, they'll eventually get what they're looking for.