Archive for September, 2009


Obie Fernandez on Pair Programming

September 25, 2009 Comments Off

Anyone who has been around us long enough knows that we are huge fans of companies like HashRocket and 37Signals. Not because they’re making tons of money, although that’s an admirable trait, but because of their approach to software development as a whole. These companies above all else, pride themselves on excellence, and in our line of work, that’s something to strive for.

Obie recently wrote an article that caught our attention, 10 Reasons Pair Programming Is Not For the Masses and I wanted to comment on a few of the points that he makes. We’ve considered this approach here at Black Ninja and we’ve even gone as far as trying it out for specific projects, but we haven’t committed ourselves the way HashRocket has (its probably safe to say that not many companies have). It definitely has its advantages for development, more specifically by increasing productivity and reducing the output of poor quality code and we can see the value in it.

10. Most software managers don’t want to invest in the necessary hardware

This is a good point with a great ‘gentle rebuttal’ by Brian Guthrie that you can check out here. I think a balance needs to be had, between getting the best tool for the job and not spending $5000 on a developer workstation. There are many contributing factors, but the bottom line is this: most software development shops don’t really take the time to understand the toolset that’s needed by a developer to really be efficient at what they do. That’s the core of what Obie is getting at. Here at Black Ninja we recognize that performance, space and comfort are important to us and we do our best to keep on top of that. While we still have some work to do to get where we’d like to be in terms of hardware and infrastructure, our current setup looks like this:

We all have 24″ iMacs, Razer DeathAdder gaming mice, Wrath of the Lich King mouse pads, (made by SteelSeries – their mouse pad product line is the best out there!), mac keyboards, comfortable desks, mesh chairs and a 4 shelf Red bookshelf for our geeky computer books. Each workstation is also equipped with a whiteboard for jotting ideas down, and we encourage our employees to decorate their space with whatever motivates them most.

I’m in total agreement with Obie, nothing is more frustrating for a developer than working in an environment where decent hardware is difficult to justify. It it makes sense for our business and helps improve our productivity, then it becomes a part of our work life. This also extends into the toolsets we use to get the work done. This ranges from things like Pivotal Tracker to Freshbooks, you can read the entire list here.

Black Ninja Software Office

6. Most software people don’t understand pair productivity

I think this is a fair statement and one that holds true for a great number of software shops. As Obie outlines, it’s easy to equate two people doing a single task as half the work done, but in realty, it’s a lot more productive and the quality of code is a lot better. The difficulty in our mind comes down to what Obie describes as wasted time:

To the average programmer, having to pair full-time means they won’t get to waste time during the day on Reddit or Hacker News.

I’m not sure if keeping up to date on current trends should be considered a waste of time, as long as it’s not taking up the majority of one’s day. There is real value in following a few blogs and reading up on what your twitter followers are talking about. My twitter account specifically contains no personal content but rather, a well thought out range of people that tweet about SharePoint including MVP’s and other consultants that are in the same line of work. The same holds true for everyone here at Black Ninja. I find it intriguing that HashRocket can keep their employees productive all day, every day, without interruption but I also recognize that their business model is slightly different than ours. I think as Black Ninja evolves this is definitely something we’d like to try. Our commitment to excellence will always be our bottom line and if pair programming helps us get there, then it’s definitely something to consider carefully.

A huge thanks to Obie for taking the time to outline how things work at HaskRocket!




Upcoming Training Events


We also have courses on Ruby on Rails and iOS Development!

Check our training page for schedule, content and rates!

We are experts

Black Ninja Software was created with the idea that great software comes from great people. We are passionate about the technologies we use and continually refine our skills to better master what we do. This is what makes us Ninjas. We architect, design, and implement solutions using Microsoft Office SharePoint Server, SQL Server, and ASP.NET

We create software

If you have a business process that needs refining or automation, or you have a current project in distress that needs rescuing, we can help. Our wealth of experience will create your great idea from scratch if that's what you need ninjas to do for you. In addition to the work we do for our clients, we also have several of our own projects that are currently being developed. We use the same tools and the same skills on our projects as we do on yours.