Pivotal Labs is a San Francisco software consulting firm that does a lot of Web, iOS and Android development. Their formula for getting things done quickly and raising the knowledge level of their developers is pair programming.
What’s that? “It’s a sustainable culture where I know when I hit ‘deploy’ things are going to go out well, because I’ve got confidence around the code I just wrote,” says Will Read, software engineer for the development shop that tests everything before they write any code.
Pair programming makes all the developers smarter. If Read is sitting next to a database expert, he’ll learn from him as they’re tackling database problems. Read can return the favor when they’re tackling CSS and HTML issues.
While they do a lot of development in Ruby on Rails, Pivotal’s ultimately looking for people who want to learn by doing. Many developers came into its shop with no Rails experience at all.
The company doesn’t have a preference as to which development environment is better. In fact, it’s preferable that you’re flexible, because Pivotal Labs doesn’t want people fighting the holy war as to which development tool should be preferred. It wants people who will simply use the best tool to do the job. It’s open to hiring people who don’t have a specific language experience, but do have experience developing.
Part of the company’s interview process involves actually sitting down and working with pair programming. Candidates pull up a problem and tackle it with the person sitting next to them. No one’s concerned with whether you’re able to program on the spot with the right syntax. Rather, they want to see is if you can articulate what you’re thinking. Can you show that you can ultimately solve the problem?