Why The Shortage Of UI Engineers Is Going To Get Worse
usabilitycounts.com
usabilitycounts.com
He's obviously not an engineer and doesn't really understand AJAX, jQuery or HTML5.
Personally, I believe the shortage is going to get worse because there is going to be an increase in demand and there are VERY few paths through traditional educational outlets that will produce a good UI/UX designer/engineer. HCI at Stanford is the closest I've seen recently while interviewing candidates, and even then it has less to do with web technologies than interaction principles.
So in addition to computer science based HCI programs like CMU and Stanford, keep an eye on programs in studio-based design schools. A lot of undergraduate programs in designing technological experiences - combining engineering training with studio method - are starting up in places like NYU, SVA, SCAD, CCA, CMU's art department, and the like. Many of these schools already have strong masters programs which take undergrads with computer science backgrounds.
I think it's well established that it's never been easier to get a web application off the ground, and UX+design in this space definitely is a differentiator, and probably more important for those initial first impressions than the programming.
It's a function of market saturation though, creating your average web application or site is a pretty established problem, with a huge number of options when you need to go about building it.
Where engineers are not a commodity? Any company that needs things to be delivered yesterday, in a space where you need cross-disciplinary, out-of-the-box thinking, with the ability to play multiple roles (sysadmin, support, customer service, programmer).
These types of engineers are quite hard to find, and satisfaction with the average "commoditized" engineer will be extremely low.
Let's say, making an HTML5 iPad app talk to a proprietary hardware device using a proprietary application protocol over TCP to make for a rocking walking salesman appliance.
Yeah, good luck making that sing in a sufficient timeframe if you don't know what you're doing.
First, you don't want to build a major for every new technology; the half life of most technologies is very short. Second, sifting the cruft from the stuff that will outlive the specific technology (think personal updates vs. friendster -> myspace -> facebook -> twitter) is difficult.
So you end up with a compromise: A school of thought that teaches (or tries to) timeless principles of interaction. This is an incredible advancement in education, but unfortunately means less to someone looking for employment right out of college.
The problem is that UI and UX are a mix of science -- something taught at universities and colleges -- and what is traditionally relegated to vocational schools. It's not an applied science; it's more like being a mechanic or someone who makes those really fancy import cars even fancier.
The solution, I think, is going to be a long way off; universities will have to hire people that teach more about the history of design, what people are accustomed to and expect, what interfaces work and why and how to design for people whose aesthetic changes once every couple years. Art schools will have to hire hardcore CS people to teach rock solid foundations of logic, how languages work, etc etc...
The only useful thing I've learnt is that when you're doing a questionnaire with lickert scales, don't use mean because the distances between each point on the scale isn't equal...
Towards the lower end (read: almost everywhere else) of that scale, you're best bet is actually to look at a design degree, and learn the tech on your own.
Your best bet is experience in the field. Very few schools are teaching comp sci programs that are worth anything (Stanford, CMU a few others), and I have seen almost nothing of value in academia in terms of product/UX development (which is why I say focus on Math or pure Design). The web stuff you're really going to have to teach yourself, I think for at least another 3-4 years, maybe longer.
The author is somewhat right about the commoditization of the backend, but it's not to India, it's to frameworks like RoR. Larger companies that require serious, responsive scaling, sharding and cacheing are not, and will not be, outsourcing to these frameworks. But it's definitely not to India (data entry, sure).
That might be too broad. Specific to UX, I would say that many companies only consider what a user experiences and the stories they accumulate when their brand is mature -- usually much too late to pivot.
A good UX designer in an early stage venture is usually also an interface designer, to some degree, and taps into the following:
1) Deep understanding of the market and demographic
2) A solid grasp on what people expect
3) A great appreciation for the things that compel people to action
UX designers and engineers make things that cause people to accomplish goals in a way that is unobtrusive (except when it needs to be) unoffensive (except when it needs to be) and not confusing (ever). That's my take, at least.
Everyone in tech fancies themselves an engineer and architect these days, although they have little nothing to do with the original intent for those long established professions.
It can be confusing and misleading for non-tech people.
Yep, it's just that easy. Everyone knows that AJAX calls are outsourced to Chinese and Indian people on the back end. One per request.
For mobile applications he recommends developing a mobile website instead of a native app. The biggest downfall of mobile websites is that iphone and android have rather different vocabularies for user interactions (hardware buttons vs. all touch screen) and what makes sense on one platform often is confusing on the other. That's probably the biggest downfall I've seen to using a framework like PhoneGap. Yes, you can quickly mock things up to try (which is great for iterating on the UI/UX aspects) but there either end up being two versions (sharing some common code for logic/backend interface) with different UIs built on PhoneGap or you go ahead and build native apps to fully fit into the expected user experiences from both platforms.
Is it silly to ignore UI/UX, of course, but expecting the backend to just magically work (and work well) is just as unwise.
I mean, yeah, Google wasted money on all those engineers. Why did they build on that infrastructure? All they needed was a few AJAX calls, duh! Finally, Google figured it out and through away all that massive indexing set of algorithms so they could just make AJAX calls.
I don't see what this guy's fascination is with AJAX and "making calls from Javascript" or how this means we don't need programmers anymore. Apparently, we can just appeal to some vague "throw it in the cloud and it will scale" mentality.
What makes it worse for me is that apparently this Usability guru was involved in this website:
Really ... a usability guru?
In fact, you start needing more work to make it efficient since you have to break down everything into exactly what needs to be in that call with appropriate permissions etc.
As one comedian said, "I don't come down to McDonalds and make fun of you while you're working..."
You might not agree with all my reasons or some of my thoughts. However, the indifference of great UI by engineers kills companies. I have sat in environments time and time again where lack of attention of detail creates horrible user experiences, and this affect the bottom line in a very real way.
This should read as, "you are bitting the hand that feeds you."
The best engineers I have met ask questions, and have a genuine concern for the user. They want to create great experiences. The engineers that don't want to get involved in a positive way without being a destructive gatekeeper, I have no time for them.
We have now reached a tipping point where most companies are recognizing the need for great user experiences, because poor one's cost companies time and money, both in lost customers and lost productivity.
This indifference by engineers is the reason why a UI Engineer position was created by many companies; they realize that most back end engineers just want to code in a way that most people at car manufacturing plants want to put the bolt on.
That mentality didn't work out well for GM and other car companies. It's also not working out for most technology companies.
You can bitch all you want, but if you aren't contributing to the bottom line, you're just a cost center. And cost centers get outsourced, plain and simple.
Also, I have managed those outsourced situations and you are naive: "plain and simple." I mean seriously, either respond to the criticisms like an adult or don't play at all.
I've worked at amazing shops where there was a clear role definition (made easier by the beauty that is Django) and the expected code quality was really high. There were project based code reviews to ensure this.
I've worked at places where a front-end developer meant you write Java in Eclipse (which took 15 mins to launch) that in turn generated JS that manipulated the DOM to create your markup. This is common practice in more places than we realize.
If you're a UI dev do your homework before accepting any position. The market is really dry for our field and people on the interview will lie to get you to come over. I've been to over a dozen interviews in just the past year (and I am thinking I should write more about this) and the industry expectations are simply rarely properly determined of what the role entails.
Apologies for the rant. Downvote if you sense my frustration :)
there, I said it.
"There has to be solid knowledge of how it should be used properly (as opposed to way most UI Engineers use it today), and how to create great user experiences that use jQuery right and not just to use it." Sigh. That's not just really badly written, it's almost almost 100% fluff.
Also, you can get a true 'engineering' degree in software in Ontario, Canada (UWaterloo)