[quote style=”boxed”]Answer email as soon as you can. There is nothing ruder than letting an email linger and not getting back to people.[/quote]
Brian Cardarella is the founder and President of DockYard, a leading Ruby on Rails software consultancy based in Boston. Brian has been developing software since he was in high school. He started as a C and Assembler programmer, but when he discovered Ruby on Rails in 2005, he never looked back.
Prior to founding DockYard, Brian worked for enterprises and startups. He also spent a year in Washington, D.C. developing political software.
Brian runs the Boston Ruby Group and Rails Camp New England, an annual retreat for Ruby on Rails developers. Brian also plans to kick off Boston’s first Ruby conference in 2013. His hobbies include competing in sailboat races and snowboard competitions, and he recently became interested in photography.
What are you working on right now?
I am the founder and President of DockYard, a Web and mobile app consultancy based in Boston, Massachusetts.
Where did the idea for DockYard come from?
To be frank, I was tired of working for other people. I very much enjoy starting new applications and working with clients to deliver on their vision. I tried freelancing for a year, but in December 2011, I partnered with two other developers to form a company, allowing us to accommodate larger contracts.
What does your typical day look like?
Our morning meetings are at 10:30 a.m. every day. We have four people (including myself) in Boston, one employee in Rhode Island and one employee in Washington, D.C. We use Google Hangouts to accommodate everyone for the meeting. I try to get as much email answered in the morning as I can and spend the remainder of the day on development.
How do you bring ideas to life?
DockYard’s development process is continuously evolving, partly because we are always seeking better techniques for building applications, but also because newer technology is constantly coming out that may change how we develop. For example, how we develop a mobile application is a different process from how we develop a web application.
With clients, the basic structure of our process begins with an initial engagement. We sit down with the client and try to get as much information as possible regarding their big picture, as well as where they want to be for launch. We push back on certain features if we feel they may put deadlines in jeopardy or don’t make sense for launch. We have a lot of experience launching client applications and expect our clients to take our advice into consideration.
After we have all agreed upon the feature set for the Minimum Viable Product (MVP), we enter a rough design phase. Our goal during this phase is not to design what the finished product will look like, but to establish a workflow for the application that allows development to make a more accurate estimation. Because estimating in software development is never easy, we try to give as much information to development as possible to make better estimations.
The development phase is the final—and longest—phase prior to launch. Our expectations are that the features have been finalized prior to this phase, but in reality, this is not always the case. There are many reasons why new features are requested during this phase, and we try our best to take those new requirements into consideration.
We use Pivotal Tracker to keep track of the features we are developing. Some other consultancies might disagree with this next part, but we like to maintain a level of transparency with our clients. We give them access to our Pivotal Tracker projects and allow the client to accept or reject features as they are completed. Overall, I would say we have had positive experiences with this, as long as the client is engaged. If the client is looking to be completely hands-off, we are okay with that as well.
What’s one trend that really excites you?
Mobile web applications really interest me. I believe there is a huge future there. Real-time applications are also intriguing. We recently launched a client application that is a real-time chat application. We built the servers for scalability; those types of technical challenges are very fun for us.
What was the worst job you ever had, and what did you learn from it?
The worst job I have had started out great. In 2001, I worked for a year and a half as an intern at a research facility. When I began the internship, I loved it. I was doing firmware development and learning more from the internship than from classes.
Then the bubble burst. The company’s stock price took a huge hit, as did everybody’s. The company was still making money, but that doesn’t mean much to the investors when the stock is trading at less than half of what it was a few weeks prior. All of a sudden, the R&D facility came under scrutiny.
We were doing great work but were put on a financial lock-down. We literally couldn’t expense a pencil, and considering I was at the very bottom of the totem pole as an intern, I was asked to do a lot of menial tasks. The cleaning staff was reduced,and it became my job. I recall one day being given a rag and cleaning solution and having to clean all of the whiteboards in the facility. Some people might brush this off as “yeah, but you were the intern.” In my opinion, however, internships are not for slave labor. I’ve seen too many companies that believe the opposite.
My experience at this company soured very quickly, and I completely lost interest in software development. By the time I quit, my desk had been shuffled around so often I had trouble recalling just where I was sitting. The last straw came when they decided to sell off all of the “surplus chairs.” I guess the chair the intern had was considered “surplus.” I was asked to stand in a corner with a monitor mounted two feet above my head. I decided it was time to go.
I have not forgotten that experience. I’m very sympathetic to developers who are just getting started, and at DockYard, we strive to provide quality internships. When we hire interns for development jobs, that is what they are going to do. They are here to learn, not to be a janitor.
If you were to start again, what would you do differently?
I would not have re-signed with our first client. It was the single biggest mistake I’ve made to date. I also would have explicitly laid out what my expectations were for my co-founders. Since this is the first company I’ve founded, I really had no idea what those expectations were at the beginning. It is only through experience that you learn how you want to run things. In addition, I would have built in more downtime for our team. We’re just now starting to establish culture in our company, and this is my fault for letting it take this long.
As an entrepreneur, what is the one thing you do over and over and recommend everyone else do?
Answer email as soon as you can. There is nothing ruder than letting an email linger and not getting back to people. I am guilty of this, but I try to be as good at it as I can.
What is one failure you had as an entrepreneur, and how did you overcome it?
I had to part ways with one of my co-founders. This is 100% my fault. I never laid out what my expectations for the partners were at the beginning, but as I realized what those expectations should be, I unfairly expected this partner to live up to expectations he never agreed to. It wasn’t fair, and our professional relationship soured. We ended it amicably, but I regret that it even came to that. If I had to go back and change one thing, it would be this.
What is one business idea that you’re willing to give away to our readers?
An ACH provider. There are tons of credit card gateway providers out there like Authorize.net, Braintree and now Stripe. But there are almost no companies on the opposite side that properly handle Automated Clearing House. The few that I have seen are complete junk. Whoever is the first to deliver on a well-built ACH provider is going to make a killing.
If you could change one thing in the world, what would it be and how would you go about it?
Assuming this is limited to the world of technology, I wish people would stop using Internet Explorer. Even the latest versions are no good. It is just more money wasted on browser compatibility. If you work at a company where the IT department insists on Internet Explorer, then you have a lazy IT department.
What are your three favorite online tools or resources. and what do you love about them?
1. GitHub is the #1 development tool that I could not live without. It has changed the way software development is done, and I refuse to go back.
2. IRCCloud is another. Internet Relay Chat (IRC) is a very old protocol on the Internet. The idea is that there are servers out there that are mostly open to the public, and on these servers there are different chat rooms. The development community for the most part is friendly and open to helping people that ask questions kindly. IRCCloud is a service that I use to connect to IRC servers. It has had a poor record for up-time in the past, but in the last few months has been very stable. I highly recommend it.
3. Gmail is my third favorite resource. I love the conversation threading in Gmail. Having a sane way to search and interact with the amount of email I deal with on a daily basis is essential.
What is the one book that you recommend our community should read and why?
Design Is A Job by Mike Monteiro is a fantastic read for anybody who is already doing or looking to get into client work. Mike is a designer, but the book is applicable for a much wider audience.
When was the last time you laughed out loud? What caused it?
Probably at the last episode of The Daily Show or The Colbert Report.
Who is your hero?