While not always recognized for their fuzzy personalities and breezy conversational skills, most programmers do want to work well alongside other human beings — or, at least, they begrudgingly recognize the need to. Why else would hundreds of software engineers spend a precious hour of Google I/O time on a lecture about interpersonal communication? After all, that’s time they could have been fiddling with the new Samsung Galaxy tablet giveaways.
“Programming Well with Other: Social Skills for Geeks” was among the more heavily attended panels of the day here at the Moscone Center. Google software engineer Ben Collins-Sussman and engineering manager Brian Fitzpatrick led the room in a rundown of life’s greatest questions; from “How do I get my co-workers to leave me alone so I can write code?” to “How can I get the marketing people to leave me alone so I can write code?” (Note: according to the pair, the answer to both questions is, “You shouldn’t”).
Clad in signature white lab coats, the pair began Tuesday’s session like a self-help group. They acknowledged the most difficult part of programming was in fact, “working with other humans.” In the programming game, people are equivalent to a “giant pile of intermittent bugs.”
The guys used their hour to address a range of typical programming stumbling blocks programmers run into. So whether you are the low man on the totem pole at a certain search giant or the founder of a new startup, here are some of their helpful hints from the Google relationship experts.
- Show your work. Hiding away in a dark cubicle and refusing to show your code to coworkers is a typical programmer instinct. But it’s also a surefire way to waste a lot of time going in the wrong direction. So instead of complaining about coworkers who want to see what you are working on, consider it an opportunity for peer review. And use the break to go to the bathroom.
- Impress your manager. Don’t wait around for orders. Have opinions. Don’t just be a yes man. Tell your manager about roadblocks and successes. Oh, and get your work done. Says Fitzpatrick, “So long as you put in your 85 hours a week, it’s all good.”
- Don’t worry so much about your mistakes. Founders are often mythologized in tech culture. But they don’t always deserve all the credit they get. “Linux kernal didn’t spring out Linus Torvald’s head fully formed,” Fitzpatrick said. Instead he led a great team. You should worry less about how to present yourself as a genius, and more time worrying about how you present yourself to your team.
- Get a mission statement. The easiest way to get everyone on the same page in a startup is to write your mission down — and put it on the Internet. Programmers can be averse to mission statements they see as “smarmy big corporations saying we’re focused on focusing,” says Fitzpatrick. But a mission statement has a direction and limiter. It’s important!
- Don’t yell at people. Whether you are a team lead on a project or a non-techie manager of developers, remember that yelling and threatening won’t get you results. “Engineering is a creative thing. Its not a rote activity,” Fitzpatrick said. “If I shake a carrot or stick at you, you aren’t going to be smarter or think creatively faster.” Programmers want to feel like they are driving the bus, not just sitting in the back seat. So let them take control of their own portion of the project.
Photo courtesy of Google.