Ze Ace's Tech Spot

Monday, November 06, 2006

Programming and Professionalism

Software Engineers are known as a rather slack group of individuals when it comes to traditional "professionalism". We aren't a 9 to 5 type of people, and we don't appreciate suits. Many of us would rather have an interesting job than an powerful title, and we idolize the start-up of 3 guys over the CEO of 10,000.

So why aren't we as professional as others, or perhaps the better question is why are others so much more professional than us?

A simplified look at the question occurs during job interviews. In many ways an interview is when we act the most professional. We show up 10 minutes early, we wear a freshly dry cleaned suit, and we act in an absolutely politically correct manner. Even if our natural self would roll into work at 11:30 wearing track pants and a t-shirt, we feel obliged to act differently during the interview.

The interview is itself usually a horribly mal-suited way of hiring people. After a few hours of interviews:
What we want to know:
1. Are they a good worker?
2. Will they fit into the company?
3. Will they be loyal to the company?
4. How much are they worth?
5. Do they have the necessary knowledge for the position? (Do they know how to program?)
What we actually know:
1. Are they comfortable under pressure?
2. Can they answer quasi-philosophical questions with reasonable BS? (What's your greatest weakness?)
3. Can they quickly solve very simple programming questions on paper?
4. Did the candidate know anything about our company?
5. Did they show up on time, wear a suit, and avoid saying bad things?

So how can an interviewer determine what they want to know from what they've found out? Well, often a candidate will show something during the interview so you can determine they aren't qualified, or otherwise won't be a good employee. But most people know the game, and even prepare for it much like they did finals in school. They prepare an answer for "their greatest weakness" type questions, and they review a bunch of simple programming questions so they'll look competent. They'll do a little research into the position and the company. Hopefully they'll practice controlling their nerves, and finally they'll make sure to show up on time, in a suit, and they won't say anything controversial.

So the most obvious thing an interview really tells an employer is "Did this candidate prepare for this interview?" Now while this isn't one of the things we hoped to learn, it is useful. A candidate who successfully prepared for an interview is likely to prepare themselves for projects at work. More importantly, a candidate who didn't adequately prepare for the interview is unlikely to adequately prepare for projects at work.

So the real point of wearing the suit isn't to look good, but rather to show the interviewer that you know and understand that you're supposed to wear a suit. Similarly with showing up a few minutes early, and keeping conversation very sanitary. It's all a game, and the interviewer wants to see that you are capable of playing. The game itself is somewhat arbitrary, but you still must follow it in order to show you understand it.

Attire is also very important because the interviewer sees it immediately before they ask any questions. If a candidate shows the lack of ability to "play the interview attire game" it will taint the interviewers opinion which can negatively affect the whole interview.

Now there's something I've glossed over. In software interviews people don't usually wear suits. Instead the candidate will wear khakis and a collared shirt, no tie. So does that mean the potential software candidate is not playing the game right? Quite to the contrary, he's showing that he understands the subtleties of the game. He knows that the interviewer has seen many candidates without suits, and that the interviewer will not be wearing anything formal either. The business casual look still shows that the candidate put thought into his attire, but also shows that he knows software is different from other jobs. The candidate who shows up in a suit looks out of place and distant, and is almost as bad as the candidate who shows up under-dressed.


So that takes us back to the original question: Why is software less formal than other industries? Well, it may be that wearing professional attire is simply showing to others that you can "play the game". When a salesperson meets a customer, it is much like a job interview: The customer is trying to determine whether the company's product is good or not, but cannot in the limited time possibly make a full assessment. So instead they rely on things like the salespersons professionalism. It's just an arbitrary game, but a salesperson who doesn't play the game seems to not understand what is expected of them, and therefore seems out of place.

Many jobs follow this line of thought. Anyone who has to deal with customers, or other companies, or even other departments depends on making a good first impression. It's not that the way they look is important to the quality of their product, but the other party doesn't have time to fully evaluate their company, so they evaluate how well it's representatives "play the professionalism game".

Software then plays by very different rules. We typically don't interact in person directly with our customers. We make the software, and then our marketing and sales departments try to sell it. Requests come back to us, but they're filtered through our support department. These other departments all act very professionally of course, but when we interact with them it is usually through email or phones. Also, we know that we are making the product and that therefore we are the center of the company. If we upset someone in sales it's a lot easier to replace them than to replace us.

Some companies such as Microsoft have taken this separation to the extreme. MS does development in Redmond and Silicon Valley, but all Marketing and Sales is done at different sites like Dallas and New York. When I worked there (yes I was a Microsoftie) I never once spoke to a person in Marketing or Sales. The isolation meant that working hours and working attire were extremely flexible. It was still important to respect other Microsofties, but it was understood that wearing your pajamas to a meeting wasn't meant to be disrespectful.

Some companies go even further with the separation. Typically a start-up will not have any customers for it's first few months. Most of it's future clients won't even know it exists. This lets the start-up work whenever, wherever and however they want without upsetting anyone.

This in-formalness is of course very positive to the creative process. Since programming is so creative it is important not to stifle it. Of course eventually the start-up ships their product, and now they have customers who expect someone to help them with their issues during normal business hours. They expect the people they interact with to be professional, since they don't have the time or patience to evaluate the company on its real fundamentals.

Separating the professional company facade from the creative programming engine is likely to remain a great challenge in the software industry for years to come...


-----

Paul Graham has some great essays of his own on similar subjects:
What Business Can Learn from Open Source

Why Nerds are Unpopular

If you like my writing, I highly recommend his essays.

3 Comments:

  • Another way of putting this is simple. In software engineering, looks are irrelevant.

    Results count for everything. Your code works, or it doesn't.

    Once I explain it this way to various suit-wearing subspecies, they usually get it.

    Another aspect is that geeks work damn hard, and if they have to do that, they want to be comfortable.

    That is professionalism, as found in Silicon Valley and other nerdy enclaves.

    By Anonymous Anonymous, at 11/06/2006 5:19 PM  

  • Were you working hard today? For the record, Adam doesn't wear his PJs to work. (I won't let him) Just in case some parents read this....

    By Blogger TweedleDea, at 11/06/2006 10:57 PM  

  • When I read that line about wearing a freshly dry-cleaned suit to work, Adam, I started wondering if I didn't maybe have the wrong Ze Ace's Tech Spot.

    BTW, any relation to ZeFrank? ;)

    BTBTW, a high-tech startup with deliveries in its first few months is even rare, no? Depending on the complexity of the product, I'm thinking more like years....

    Keep up the great blargin.

    By Anonymous Anonymous, at 11/08/2006 8:07 PM  

Post a Comment

<< Home