Navigation

ADS specializes in using Ruby on Rails to build advanced, scalable, database-backed web sites for organizations of all sizes. Find out more at our website.

Atlantic Dominion Solutions

My wife and I went to the mall today to do a little shopping, and of course, since we were there, I figured we could drop into the Apple store. We did. The first thing to catch my eye were the two large iPhones in the window, and the horde of people crowding around a table playing with six or so of them. My wife, being crafty, got someone to let one go and called me over. In about two minutes of using the map and contact features I was sold. We purchased some iPod accessories, and left the iPhones behind to continue our shopping. About one hour later, after calculating the cancellation fees the purchase would incur, and convincing my wife to let me buy it, we went to the AT&T store and each got an iPhone. Aside from the iPhone being top of the line and the latest thing to hit the street, the main reason for the purchase was to replace my BlackBerry that won’t sync with my Mac.

No more of that, we can’t have that!

Now I can sync my contacts, calendar, email, photos and music, taking it all with me wherever I go. Take all of that, and add in a fairly reasonable plan with rollover minutes and unlimited email/web, and life with Apple is getting sweeter.

Oneness is a beautiful thing.

Share this post

We are in the process of creating a video post to help us find an experienced Ruby on Rails developer or two to join the ADS team. In an earlier post (answered by our intern Matt), we mentioned that the candidate needed to have a car to get to my house. That was not a misprint. Currently, most of our core team works out of my house a few days a week. So, why not spread out and have an office? My response is, why?

I hate to commute. During my last full-time job I spent many an hour in my car wondering why I couldn’t use available technology to work from home. It is incredible the level of communication that one can achieve using a scanner, the phone, IM, email, Skype, online project management tools (we use BaseCamp and Unfuddle), and team calendars. We are also in the process of creating a corporate wiki and Intranet to capture and manage all of the files and knowledge that our growing team is producing. Leverage these technologies wisely and reap the benefits.

Another reason for not needing an office is that our clients do not come and visit us, we go and see them. It gets us out, and we get to see new places. We work with clients throughout the US and internationally, and thanks to the Internet and a generous helping of communication, projects go very smoothly.

Yet one more reason for not needing an office is that personally, I would rather work in the comfort of my home, in a comfortable and familiar space that I created, not feel pressured into working a schedule that is not of my own making, be able to spend more time with my wife (and soon a little one), take a break outside with my dogs, and not have to drive to work on a daily basis. In addition to that, I do not want anyone lording over me, and I don’t want to have to lord over anyone working with me. Everyone on the ADS team is empowered to work a schedule suitable to them (within reason - no sleeping until noon) as long as the work is done on time (or Rob is not a happy nor a nice person). Everyone knows what is expected of them, and is smart enough to be able to manage their own day. Micromanagement is not my forte, nor it is part of my job description. We trust that our people know what they are doing, and we get out of their way and let them do it. The results have been marvelous.

Now, I can just hear the cries of those wondering how a team can be cohesive if not locked into a space together. First, reread the two previous paragraphs. We do get together on a regular basis, either at my house for conference calls with a client (when Skype won’t work), or at lunch. When we get together in these environs meetings are a lot more fun, and the ideas flow freely.

So, for us, empowerment, trust, communicating expectations to the team, heavy use of communication technologies, and lunch keep our team going, and growing. See you soon, on YouTube.

- Robert Dempsey

Share this post

What happens when you throw a couple newly-forged step siblings together and tell them to get along? You might see a little of the interaction like what we’ve been seeing between Java users and Ruby users lately — a little tete-a-tete back and forth about who is better because they’re bigger and older and well established, and who’s better because they’re small and fast. But at the end of the day, they simmer down and realize that they get a lot more done if they just work together.

All programming languages are really just tools with which you write software. The mark of any good tool is the level of transparency it attains while being used. The less time you spend thinking about how your tool works and the more time spent on creating something with it, the better it is. This is one reason why Ruby is so attractive — because it’s considered a natural language programming language, and it is (relatively) easy to understand, even for the non-programmer.

That being said, there is a balance between ease of use and power of the tool when used at a more proficient level. Here is where Java has excelled. It has been in use for quite some time, and in that time has been improved, amended, and built upon to create large and complex systems.

Now, don’t think I’m saying Ruby or Rails are lightweights, or won’t be able to achieve the same power. Rails is *new* and has brought more attention to Ruby. With any new or emerging technology, it takes time for the collective user base to start to realize just what can be done with that tool. What comes first are the questions of how it can better solve existing problems. Next, as challenges are solved, a new perspective is gained. We can then use that new perspective to cast light on both existing and emerging challenges. It is then that we start to see the real power of that tool/technology/language, and what it can accomplish.

So what I’m getting to is this: there is no single, all-powerful tool which will solve all problems, all the time. New issues are continually emerging which require new perspectives. What we need to do is break out of our sandbox, and join our neighbors to build better castles. Perhaps JRuby is the bridge between Ruby and Java that will do just that. Why choose when we can work together? This, my friends, is what programming is about.

Happy coding!

- Naomi Butterfield

Share this post

Awesome quotes of the day

By: Robert Dempsey | Tags:

Classic stuff: “Ruby is the language Buddha would have programmed in.” “Yes, pay peanuts and I’ll get monkey.”

Share this post