Phil Haack loves to code. He says he wants to make sure other programmers keep their love of coding too, even though they face challenges in an ever-changing work environment.
Haack presented a keynote speech on how to maintain your passion for coding at work at the inaugural Codemania, a conference for programmers held in Auckland on March 30 and attended by around 300 delegates according to co-founder Ben Gracewood.
His official topic was ‘Community Development on the Microsoft Platform,’ but what Haack had to say went beyond just Microsoft development shops.
According to Haack, programmers value three things above everything else when it comes to their trade: value, autonomy, and purpose.
Haack, who has worked at Microsoft as a senior program manager for the company’s ASP .Net development framework, now helps other .Net developers bring their coding projects together on the social git-repository site GitHub, working as the vice president of product development.
When Haack left Microsoft he says it was not about money (he says he took a significant paycut) but because he wanted to maintain interest in his work.
“I’ve been offered a lot of money in the past, but it’s the old cliché - money isn’t everything,” says Haack. “When your work makes you bored of coding, leave. There’s no shortage of exciting work in our field.”
Haack says small friction points at work can quickly build up to serious issues, unnecessary meetings in particular have been a source of pain for the developer.
“I found myself spending 30 percent of my week in meetings, which was time not coding and not doing things that really contributed to my business,” says Haack.
At GitHub, Haack says the company discourages meetings and instead focuses on using asynchronous communication and collaboration tools, which let the employees discuss work projects without them needing to book time blocks during the day or even be in the same location.
“Not every job would let me come to another country and give a talk like this. I keep up with important work information and using chats on our Campfire [an online collaboration tool], and we track our progress on that too,” says Haack.
Haack says it is important for programmers to demand the right equipment and working environment, so they can produce the best results. He points to a blog post by Stack Overflow co-founder, Jeff Atwood, who proposes a Programmer’s Bill of Rights, which suggests that every programmer be given the right working space and seating.
“Let’s face it, we spend more time sitting in our chairs than we do in bed. We should make the same investment. It’s about having the right tools for your job, if your employer doesn’t provide something for you, then get it yourself,” says Haack.
Haack says employers need to acknowledge that not all programmers work the same way, or at their best at the same time.
“Creative people like coders usually work in bursts of work. It’s important that you’re not trying force out bad code,” says Haack.
“There is a responsibility for you to deliver, but you should consider arranging alternate work hours. I know a lot of programmers that are useless during the day, but write amazing code late at night.”
Haack says there are misconceptions about what makes a good programmers because of what he calls ‘hero workers’. These are programmers who put in 60 hours or more in their work week, often working late into the night. In his experience, Haack says these programmers usually contribute a lot of bugs into a project, and usually burn themselves out in the industry.
Is there sexism in programming?
During his presentation at Codemania, Haack touched upon the subject of sexism in coding, pointing to an article by blogger and programmer Katie Cunningham where she details her experiences in the IT industry, and her trials as a female programmer.
Cunningham’s complaint is that sexism in IT is not usually manifested in large horrendous acts, but is instead demonstrated from the piling up of small sexist acts which demoralise women in the industry.
Speaking to a mostly male audience, Haack says male programmers, and IT workers in general, often do not believe that sexism exists in the industry because they have not experienced it themselves.
His sentiments were later backed up by the comments of a female programmer in the audience, who said that Haack surprised the audience by saying open-source frameworks in particular are intimidating to women entering the industry, quoting a study which showed only 1.5 percent of open source developers are women.
The 1.5 percent figure was taken from a survey conducted by the Free Libre Open Source Software (Floss) Project in 2002, but more recent surveys put the figure as anywhere up to 4 percent.
For Haack, there was a personal element in his bringing up the topic of sexism at the conference. Haack says he hopes his young daughter will one day want to code, but is worried what kind of attitudes she will have to face in the future.
Asked during a panel discussion whether the IT industry needs to diversify, and whether the lack of women in IT was from their own choice - Mike Koziarski replied that the industry needs diversity to better address user issues.
“When you consider that the products you’re developing will half the time cater to women, not having someone on your team to identify with that trend seems like a missed opportunity,” says Koziarski.
Coders and bike sheds
Mike Koziarski is no stranger to trolls. The Wellington-based Koziarski’s work in the Ruby on Rails core team sees him managing bug reports, maintaining code bases, and communicating daily to a community of open-source developers, often to his frustration.
Speaking at Codemania, Koziarski says open-source frameworks face a unique challenge because it is open to contribution from the community. The number of people contributing to Ruby on Rails, he says, far outweighs the number of maintainers - and this often results in developers in the community writing heated comments on the most unhelpful topics.
He likens this to the building of a particularly good bike shed, and then having its users complain about the shed’s colour. Koziarski says developers in particular are prone to “bikeshedding”.
“When you are using a library of code you’ll always find things that are annoying and which you wish you didn’t have to do, but as developers we all seem to live somewhere on the autism scale. We don’t have the ability to block out the fact that yah it’s annoying that this thing is annoying, but it turns out that every other line of code is awesome,” says Koziarski.
“The bike shed is green, get over it.”
Focus on the small digestable things that will contribute to the overall work, not just things which are purely academic in annoyance, says Koziarski.
His advice for people looking to get into open source development, and contributing to open-source libraries is to start by “doing the shit jobs”.
“The most useful thing an open source contributor can do is look at bug reports and replicate them. This is the kind of thing usually done by testers on commercial projects, we don’t have those kind of people in open source,” says Koziarski.
“That’s the stuff that takes up a lot of the maintainer’s time, and is something which you can dip in and out of. It’s much more valuable work.”
Phil Haack, middle, with Codemania organisers Ian Randall , left, Ben Gracewood, right.
Koziarski says managers of open-source communities often unintentionally offend their own contributors, but this is usually due to the sheer number of contributors versus maintainers, and because of time limits.
“People put a lot of time and effort into compiling their bug reports, replicating them, and submitting them. They take it personally when we close them, but its a matter of numbers, maintainers need to look at thousands of them,” says Koziarski.
He says open source maintainers like himself often make the mistake of closing a bug report prematurely, and causing offence to the contributor.
“I made a jackass of myself recently. We had someone submit a bug on cryptography. It was worded poorly, and I thought thanks but I’d rather hear about this from someone who’s a cryptographer, so I closed the bug and moved on,” says Koziarski.
“He reopened the bug and said he had a PhD in cryptography and works on Google’s cryptosecurity team. ‘I’m not suggesting it’s a problem, I’m telling you it’s a problem.’”
“A lot of coders have this mentality that they need to work these ridiculous hours, but after 40 hours a week your work is full of bugs. How is that contributing to your business?” asks Haack.
When asked whether it was likely for a programmer to receive flexible work hours and other leeway in an enterprise or public sector environment, Haack says it is up to the programmer to at least ask.