Dave Collins is into programming, sensors and science. A raving fan of Minnesota winters, Dave is a self-confessed Rails addict currently involved in some local startup action.
When and how did you originally become interested in technology?
In Chicago, growing up, my dad ran a small company that manufactured automation equipment for radio stations. The company was in the middle of the technology transition from using mechanical relays to using microprocessors (Zilog Z-80) and the entire concept just amazed me. Prior to the Zilog, they used these old telephone company switching relays which were gigantic and noisy. They replaced all of the relays with a single Z-80 on a circuit. When I saw the first finished case that was using the microprocessor it was hilarious: this big, empty steel box with nothing but a circuit board.
My parents always encouraged me to be investigative and to just “try to make things work”. Mom put up with a lot of disassembling of things (TV’s, lawn mower, etc.) and still gives me a hard time about all the “spare parts” that were left over when I fixed something.
At what age did you write your first computer program? What did it do?
I was about 13 with a Radio Shack TRS-80. There was a video store within biking distance of home. Most businesses were not yet “computerized” and this store had a hand-typed movie list for customers. The list was alphabetical but as they added new movies they just slapped “new releases” pages to the end.
I wrote a BASIC program where I could enter all the movies, sort them, and then print out a two-column list. I entered their movies then brought the owner the printed list and asked if he was interested. We struck a deal: Every week he’d give me the titles of the new movies, I’d add them and print out a new sorted list. He just reached in the cash register and gave me ten or twenty bucks each time. Pretty good money for a kid on a bike so I was hooked on software early!
What do you do now? What languages are you proficient in?
I recently sold a software company that was in the transportation and logistics space. Since then I’ve started CC-Logic – a consulting company – and am involved in a few startups. I’m extremely interested in the Internet sensor space, science, and green technology and am looking to form a team around those areas.
Most of my work is in Rails, Ruby, and C. Historically I’ve done a ton of C#, SQL and, believe it or not, VFP. I can hack around in Java but it isn’t pretty.
How have you increased your skillset over the years, formally or otherwise?
Three years ago I got fed-up with the Microsoft stack. We were a straight MS shop with a solid group of experienced programmers but web development took way too long. Out of frustration I started googling for better ways to develop. Started reading on Reddit and other sites and kept seeing “Ruby” and “Rails”. I think my “aha” moment was when I saw a t-shirt that said “If you had developed in Ruby you’d be home by now” – that resonated with me and the problem I was trying to solve.
Out of that frustration I threw myself into learning Rails and found the Ruby Users of Minnesota. One unexpected bonus was the Rails community. I never realized that the culture of the people was going to have such a positive impact on my life, but it was a pleasant surprise. Today I wouldn’t miss a RailsConf for anything.
Which do you prefer in programming, the struggle or the achievement?
Ahhh… Isn’t that kind of like asking “Which do you prefer, sunshine or warmth?” I guess I’d have to say the achievement: I abhor technology that serves no useful purpose (art excepted). Seeing a roomful of people using a system that you designed and implemented is an awesome affirmation of the ability of technology to make people’s lives better.
What people, groups, projects, or resources were most influential in your development as programmer?
I had a Comp. Sci. teacher in High School – John Connelly. Mr. Connelly was incredibly influential: Not only did he constantly challenge me with “outside of the class” exercises (to the point where he was forcing me to write assembly language) but he also awakened me to the “Science” aspect of Computer Science: Unveiling the Donald Knuth “The Art of Computer Programming” set and teaching the need for thought and design before you just start cranking out code.
When building the transportation software company, it was more like a lack of resources that influenced our development! We started getting some pretty large customers that were really pushing the bounds of the technology stack we used, and that got us very focused on optimization and stability.
What do you enjoy about it? Is there anything you dislike?
I’m constantly amazed at the technology that a small team of creative developers and analysts can create. I get completely psyched to brainstorm through a technical challenge with a team – there is just such a creative, positive energy in that process and you feel as if absolutely anything is possible.
I dislike the hardening of the lenses of the eyes that comes with age. Luckily monitors keep getting bigger.
If you were to be doing anything else, what would that be?
I’m doing it!
What does agile software development mean to you?
Great question. We spent a lot of years as a “waterfall” shop and made the transition to agile when we realized that waterfall just wasn’t keeping up. To me, agile is all about fluidity. Rather than trying to solidify these complex design documents, you just start immediately working toward the goal. You don’t have every detail mapped out, but you are always moving toward the target. Working in smaller, quicker, more iterative steps toward a goal with a group of people seems more natural or “right” for most humans. Developers collaborate more and the business users don’t need to come to grips with 30 page design documents.
I get concerned with agile if the Product Owners aren’t ready to spend the time commitment in the sprint planning and sprint review meetings… You can end up with a “rocketship without fins” if you don’t have solid participation from the product owners.
Where do you spend most of your time online?
Github, Twitter, and StackOverflow.
What concerns you most about where technology is headed?
I’m a bit saddened and concerned that, as a country, we’re losing (have lost?) the ability to actually create the hardware and circuits on which we run the technology that has become so important to all of us. We need a dramatic emphasis on STEM education and we need it yesterday.
What excites you most about where technology is headed?
I hope you feel as fortunate as I do about what we are experiencing! Many of us have been lucky enough to live through multiple technology revolutions: First, we got to witness the transition from “no computers” to “computers everywhere”. Then, we got to witness the transition from “knowledge in books and libraries” to “knowledge everywhere at your fingertips”. Soon we will witness the explosion of sensors and the integration of day-to-day objects into our technology “info-sphere”. I’m sure this wave of the revolution will be every bit as amazing as the others. Self-driving cars will be the icing on the cake.
Is there anything else you would like to add?
The weather in Minnesota is basically unbearable, but the technology scene is fantastic. Last week I was looking at the Tech.MN calendar and on a routine Thursday there were six different technology events. Minneapolis is an awesome city for technology and development!