Macadamian Blog
Why did design become so important to me
I have been ranting about design for a while. However, I am not a designer, I am a software engineer dammit. I got all the design information that I know from books and blog posts.
I finally got it this week. I just finished reading Made to stick. I finally realize that it is not all the books with their statistics and theories about design and usability that stuck. It is the personal experience that I had years ago (with a previous employer) when I participated in a usability study of the software that my team was writing.
It was one of those one-way-glass usability studies where the developer team sits on the other side of the glass watching user after user struggle doing simple tasks with the software. It was a softphone type application and users had a lot of trouble just making a call. Despite the huge button that said "call" in the middle of the application window. Some of the developpers were litereally yelling at the glass: "Push the damn call button!"
The Made to stick book made me realize why this experience stuck with me. It was Simple, Unexpected, Concrete, Credible and Emotional. Given the fact that I have a good story to tell about it, it scores a perfect 6 out of 6 on the stickiness scale.
I highly recommend this experience (witness a usability study of your software) to anyone involved with creating software. Then, tell me if it sticks with you.
The developer totem pole
Web developers get no respect. I swear this is the sentence that I used the most often in the past few weeks.
I have said that sentence in frustration because I had to fight the perception that web development is easy. That any developer (except maybe for a VB developer) can do it. This perception is ingrained at all levels of software organizations. From the developers themselves all the way to management.
There is a pecking-order, a totem pole where developers can be classified based on what kind of developer they are. You won't find that description in any programming book. This is not explained in any school curriculum. But it is there nonetheless; implied in the way projects are funded and staffed. It is often assumed that the people at the upper echelons of the order can (when they are coerced or there is no-one else available) do the work of anyone located below. Conversely, it is assumed that you're going to be in a world of hurt as a manager if you are forced to use a developer at a lower level to do some work "above his skill".
Some might argue that Linux kernel hacking is measurably more difficult than ASP.Net web development. That might be true but I don't think that it is so much more difficult that we can assume that it is impossible for a web developer could ever undertake a Linux kernel project. I think that we just have to understand that making a switch in programming discipline requires a certain level of learning. Whether you're going up or down the totem pole.
We have experienced the "going down the pole" phenomenon recently at work. We had an exiting project to complete that was a Java-based web project. We were short on web developers to complete the project so, naturally, it was assumed that if we put a bunch of Windows VoIP developers on the project, they should have no problems completing the work. After all, it's only a web project, how hard could it be?
A few months and a lot of overtime later, we successfully delivered the project. But it turns-out that it was a difficult transition. Everyone involved had to brace for a rough ride and pull together to make it work. It was not as easy as expected. I hope that the developers that were assigned on this project have a new found respect for web developers.
In my career, I have worked at pretty much all the echelons of this totem pole and I felt that I had earned my stripes. But recently, I have been involved in a lot of web development and I have noticed that the perception of my coworkers towards me was different. I have the stigma of the web developer. I do easy stuff now.
I think it is time we get rid of the totem pole. Working in software is challenging enough without the attitudes and the disrespect.