Where in the world are the great user interface developers? – Part II, The Interviews


 After we saw why most UI developers are underpaid, let’s examine why it is hard to filter out the best ones.The problem starts with defining the job description. I wanted to build an enterprise class web based service on .Net platform.

In ideal world I would have hired the following people:

1. Product manager to define product requirements, use cases and priorities

2. User experience expert to define interaction, hierarchy and guidelines

3. C# back-end programmer to program business logic, ERD and database access

4. C#, UI architect to define and implement UI modeling , framework, components

5. HTML master who handles ASP.NET, HTML , JavaScript & CSS

6. Graphic designer to implement ,well, the graphics

7. Flash programmer\designer for rich client experience

In the real world I am the product manager. The user experience and graphic design positions are outsourced. The hard part is to differentiate the C# back-end programmer,UI architect and the HTML Master. Sadly we could only afford two in-house positions for the three roles.

In the beginning, we made the mistake and asked for a “Web developer”. As a result we got the resume of John. John had no computer science degree; he worked for three years as a web site administrator and studied HTML in a technical college. John could not fulfill our position since he has no coding experience and did not develop any enterprise class applications.

Our second definition focused more on the programming aspect and on the “.Net” side.

Rachel listed six years of developing VB application in big IT software integration shop. Unfortunately she had neither web based background nor C# experience.

Tom sounded very promising. He had ten years of experience, four of which as team leader for multifaceted system management software. He had a graduate degree from a top university and seemed mature, experienced and friendly. In our first talk we shared insights about UI design, modeling and common mistakes. I really liked his character and insights.

We moved on to the technical part of the interview. Now, everyone has his own type of questions in such occasions. I usually hate asking riddles or peculiar C++ fine details that only stroustrup understands. My favorite questions are real life problems I encountered, which are hard to solve and have more than one acceptable solution.

Just to get going, we asked Tom to write down binary search implementation. Amazingly, he had a great difficulty in performing the task.  More surprisingly, he was not the only candidate who had trouble in this question.

Internally, this caused some debate. Some people claimed it has been ten years since he graduated, and it is possible he just does not remember the more algorithmic side of computer science. While I am willing to accept this assumption, I just fail to see how one can be a programmer and forget how binary search works. This is really elementary stuff. It’s true 90% of programmers  get it wrong, but we are not very picky on the exact implementation details.

To make matters worse Tom did not seem to have a clue on the internals of frameworks he was using. While it would have been great if one could develop web application with no concept of HTTP, but it just does not work like that in the real world. An exceptional UI developer needs to know how HTTP works to test the application, debug it and improve its performance.

Jane was far more impressive in the technical aspects, she had lots of experience in C++,MFC, desktop applications and a great track record. Unfortunately she was afraid to move into a new domain after 12 years of expertise. I tried to explain MFC is a dying art, bud had very limited success.

Frank came to the meeting with amazing samples of his work. He built a complete network modeling application In AJAX which looked as good as any desktop application. The only problem was that he was a JavaScript purist. He was not willing, or interested, in coding in the server side. His methodology assumed complete separation of the fat client, programmed in JavaScript, from the business logic code. While this concept can work, it would leave us entirely in his hands. There are very few people or tools that support this paradigm. Furthermore, Frank was cocky and only agreed to work as contractor.

Next Post – The Consclusions !


Tags: ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: