Hacker News new | ask | show | jobs
by zavulon 5148 days ago
> I think the greatest companies of the next few years will be build by teams that consist of people that can program AND can do UX.

I couldn't disagree more. I have never met anybody who can program AND do UX well. Maybe there are very very rare exceptions, but these two skills are pretty much mutually exclusive.

First of all, you need completely different modes of thinking while coding and while doing UX. Left/right brain, and all that. But more importantly, to be a good UX person, you need tons of training - design, marketing and psychology being three main areas. To be a great programmer, you need completely different set of training. Both UX and programming require single-minded attention, dedication and years to master.

To expect someone to do both of those things well is not only unrealistic, but plain WRONG.

6 comments

It's hard to meet people like this because of attitudes like this. I have three designers on my team who are also world-class engineers, yet they often don't advertise themselves as such because they run into the "well if they do both they can't be good at either" attitude.

No-one bats an eye when an engineer also turns out to be a fantastic musician, or when an engineer drives great product decisions, yet somehow being able to code and understand design is an impossibility?

We're here to build great things - code and design are mutually-beneficial skills in your toolbox; your brain is not zero-sum.

I would agree with you if these were complimentary skills we're talking about. However, programming and UX design are almost contradictory.

For programming, you need a mathematical inclination, attention to detail, willingness to sit down and focus on one concrete task at a time, etc. For UX (and any kind of other) design, you need more an ability to create art - paint with broad strokes, look at the big picture, etc.

This is my opinion, YMMV, feel free to disagree, etc

No, you're incorrect.

UX (User Experience) is about designing exactly that - an experience. It's about being extremely detail oriented, mathematical inclination (sifting through metrics, a/b testing data, CTR, bounce rates, etc.), willingness to sit down and focus on one concrete task at a time, sifting through hours of user video seeing how people interact with an application and then finding solutions to make the UX more smooth. Sound familiar to what you wrote about your "programmer"?

Not so different after all it seems.

EDIT: Everyone seems to confuse UI design with UX design. They are very different, and in some cases are different job descriptions.

UX is about empathy. Understanding how other people think and the emotions they feel. All those tools you mention are metrics to keep score, but without an understanding of how your users think you are playing a fun game of guess and check. Sure with enough iterations and metrics you can figure out anything, but your users won't give you that many chances. Someone who can get the initial design in the right ballpark and use metrics to fine tune it is your UX guy. As I programmer I really struggle putting together a viable initial UX, and I don't think I'm unique in that struggle.

Quite frankly, it's because I think very differently from most people and have trouble understanding their thought process. I'm not introverted or especially socially awkward or any of those engineering stereotypes. Everything from my ability to creatively approach problem solving to my subtle dry sense of humor is because of my different way to think about things. But when I need to think like everybody else, I just can't do it. That's why I need a UX guy.

> For this you need x, for that you need y

My life experience has taught me this couldn't be more wrong.

To be a great engineer you need to be smart.

To be a great ux guy you need to be smart.

To be a great product guy you need to be smart.

As someone doing all these 3 and more. I live by the saying that a smart person can be anything he wants (intellectually). And the only limits I've seen in a smart person are only what he tries to be good at. If you're smart, you'll be good at it. That whole different types of intelligence hypothesis is pseudoscience.

That may be, but people interested in computer science are, in my anecdotal experience, less likely to be interested in visual design (and vice versa). E.g. I can look pretty smart when talking about math or cs, but I'd look retarded if I said anything about visual arts. Sure, maybe I could try to learn a thing or two, but I've never cared because I'd rather be learning more math.
I think you are going a bit over the top with regards to the complexity of what it is we do. There are plenty of other careers (http://en.wikipedia.org/wiki/Fallingwater) that require both creative and technical thought.

Does our position really require years to master? Is a java or ruby programmer with 10 years experience that much better than a java or ruby programmer with 3 years experience?

What about design? Is building a website, interactive component or application so complex that only those with decades of experience can really 'get it'? Is someone who has twenty years of UX experience, dating back to the days of VB and Access applications, that much better than someone with five years?

I believe combining technical with creative is something that must be taken as a given with our industry.

You're right, but let's not trivialize the difficulty of programming in general. Want to build a UI in .NET, HTML + JavaScript, or <insert UI framework here>? Sure, that sort of programming is relatively easy and not usually technically challenging. However, that is hardly all that we do.

I don't touch UI's in my day job. You make it sound as if all programmers code UI's and perform other relatively mundane tasks. That may be what you're used to, and yes, it is relatively easy work, but there are a bunch of people like me out there who design infrastructure at a low level so that you can more easily build software at a high level.

>let's not trivialize the difficulty of programming in general

No, let's trivialize it. What exactly do you do on a daily basis? Give me an example of a task that you worked on that took a lifetime to master. Something that you could only truly appreciate after years of focused experience.

I have no example of a skill that took "a lifetime to master" as I am only 28 years old and would not call myself a "master" of anything at this point. However, I can describe the last two projects I worked on.

One was implenting an image quality algorithm for a medical imaging system. I did not do this on my own, but I will wager that it was far more complex and involved than any UI code you last wrote. I had to understand the science behind the algorithm, implement it, and then make it fast (it is run on huge images).

My next project was optimizing a heap memory manager for the device which captures these images. Not PhD level physics here, but not trivial and not something I would expect a UX guy to do.

So yeah, I take a bit of offense when you lump all programmers into the same bucket. Not all programming is engineering IMO, and to compare writing a UI to writing a thread scheduler, a memory manager, a new programming language, etc. is just ridiculous.

I'm not saying that UI work is dumb simple. It is incredibly hard to get right, but that kind of complexity is not technical. It takes a certain kind of aptitude and knowledge to do work that is closer to the metal and closer to concepts taught in CS. Creating a UI is not CS, it is wiring up bits of code that other people wrote in a such a way to be useful to a non-programmer.

So yes, a UX guy could probably be writing his or her own UI's in about 6 months to a year. I would not hire this person into the group I work on because they will be overwhelmed by technical complexity that they simply won't be able to handle.

I'm not sure where you got that I was a "UI guy", with that said you sound terribly defensive about your work and your abilities. It is almost as if you are insulted because you believe what you work on requires an advanced intellect. That's something you'll need to get over eventually.
Well, no, but I see how what I said may cOme off that way. I gathered that you were a UI guy from statements you made. It seemed to me that you were trivializing programming as a whole by saying things like "do you think anything we do is that difficult?". Well yes, some things we do are terribly difficult and require far more knowledge than what may be gained by reading "teach yourself HTML + JavaScript" for a year.
As a UX guy, I'm trying to learn how to program. It's very difficult, and requires a different mental model of learning. However, I recognize the immediate value that understanding programming concepts will provide in evaluating how feasible a UI schema is. It will help balance priorities – do we first deliver a feature then refine, or do we take the extra engineering time to provide an enhanced user experience from the get go? Of course, all of these priorities also need to be weighed against your business needs, and the immediate needs of your users.
Obviously there's nothing wrong with UX people learning how to program, and programmers learning a bit of UX. Doing either will enhance the value you provide to clients, no doubt.

However, all I'm saying is you can't realistically become an EXPERT in both.

I run a business... over the last few years I've been doing a bit of sales, accounting, programming, project management, IA/UX design, QA, long-term strategy planning, etc. Has it helped me that I know how to do each one a little? Yes, of course. Am I expecting to become an expert in all of them? Absolutely not

I think your point actually reinforces the quote you disagree with. You say people with high levels of both skill sets are "very very rare," which is probably true, but that's exactly why the companies who have those people will become the greatest companies of the next few years.
Ever played an early PC game where the programmer also created the graphics? That analogy has stuck with me my entire life.

I think in the educational system, as children and young adults we are taught that we must excel at as much as we possibly can. When, the reality is, doing really well in one area means your skills in another will weaken -- especially when you are trying to do them at the same time.

Ever met an accountant novel writer who base jumps on the weekends? I haven't.

You mean like Sid Meier and Chris Sawyer?
Time might be scarce and you cannot specialise in both. However the separations between different subjects do not exist because of differences in the brain. We categorise subjects in order to aid in efficient dissemination of information. There are social reasons for the soft boundaries which formed in the past, but these are now reinforced by education and the workplace.

Likewise, skills are generally not mutually exclusive: the more mental models you have, the smarter you think. For example, there are some areas of UX which are relevant to API design. In fact, there are similarities between almost everything in life.