I had some interesting experiences recently trying to recruit. The employees entering in the workforce are grown up with Facebook, Twitter and Amazon.com experience and expect the same in their enterprise applications they need to use at work. So, unlike the past boring enterprise apps these days there is a lot of thought is put into the user interaction and sleek user interface. Based on the projects I will be doing in the near term, I want to hire people who are good at web UI design. I didn’t think that it’s that difficult to find good web UI developers. However, my experiences proved otherwise. For example, one student graduating out of a top US university with Computer Science degree didn’t wanted to do UI work. Another colleague’s referral replied that she thought my team is doing backend work and she doesn’t want to do frontend development. Same was the case with someone we interviewed for summer internship.
I am not sure what to make of this. Do people think that working on web frontend is easy or hard? Do they think that backend development is more fun or more challenging than frontend? Personally I never tried to box myself to one or the other. I always wanted to learn the whole stack. Starting from the database to the browser. My reasoning is simple. If I know the whole stack, I can do better design of any application. If I know the whole stack, I can implement an idea all by myself. Besides, I like to observe the various UI styles that I come across using various websites and try to bring them into my designs. Whether someone considers UI work is challenging or not, it’s for sure very creative and more importantly fun.
I am all excited that we will be using AngularJS for our next project. To a regular JavaScript developer, AngularJS is what C++ is for a C programmer. It’s what LISP is to a C++ developer. It would take some time to understand the concepts but once it’s properly learned it can drastically increase the productivity. It can help focus more on the logic and less on tweaking the markup.
I think any serious developer should invest in web UI development (or may be mobile or even both). Understanding concepts like the BOX model will ensure one to not sweat too much layout a UI mockup to pixel perfection.
What I have personally felt, UI development is far more tiresome and involves lot of creativity. The closest analogy would be 3D modeling. You need to know the tech behind it, but at the end of the day it is your skill which can help you build the exact UI you wanted. I have tried my hands at 3D modeling and have gone over its concepts via many books. Once I got one book imported from Netherlands since that was not available in India, people though I was crazy. π However, still I find it extremely frustrating due to my lack of skill.
I have found UI development exactly that. Fortunately I went back again and again and tried many things. Problems are two fold. You have a picture and blank text file. How do convert this blank text file to generate a picture, layout, like in the prototype? So basically you need to look at the prototype and need to just know what you need to do, else you would be left staring at your blank text file. The second issue is, there are too many ways to model the same page. A bad approach could lead to a dead end and wasted hours and frustration. After three years of frustration and attacking it, now I finally think I have made a break through. So, I will say UI development is not easy. π
UI development is Art. Backend development is science. We engineers are more good at science and logic than art. After working on UI projects for a stretch I find it relaxing, to work on backends. No wonder I see many fellow grads, throw their hands up in the air at the mere mention of UI.
I hope to try my hands at 3D modeling again when I have some time. Hopefully my break through moment there, is not far behind.