Sunday, March 16, 2014

Code VS Design

I certainly appreciate the notion of this article, though code knowledge can really enlighten a designer and open up a tool box for creating more direct, elegant design. Many design elements are code-based and are important for making edits. There should be a fundamental understanding of what is code and what is graphic, and part of strategy includes understanding the entire product as a system for not only delivering experience, but for building in a flexible method of maintaining and modifying the experience over time.

Dialogue with engineers is needed for understanding what is possible, and this is where the Pegasus idea really becomes relevant. I'll admit, I've gotten away from front-end coding, and it's a use it or lose it scenario, keeping up with browsers, etc. Some people have a special knack for coding. I was fine with tables, but CSS added a level of tedium that I don't tolerate well. Along these lines, I'll add that I think it's important to untether from code and rely on a coding resource in order to create a more complex experience and focus on the IA, really think outside of the box, and concentrate on results. The key is to at least maintain close association with adjacent resources and that is certainly possible in a team environment.

Unicorn, Shmunicorn: Be a Pegasus

If you’re reading this, you’re probably a designer. Maybe you code, maybe you don’t. But it’s likely you’re feeling more and more pressure to hone your programming skills and become that mythical product development creature who can both create compelling designs and write production code.
There are plenty of reasons why being a unicorn isn’t all it’s cracked up to be. But what you might not have considered is that aspiring to be a unicorn could be the biggest mistake of your career.

Conflict of Interest

Having a coder and designer in the same body is tricky. Coders must, above all, serve the machinery, the OS, and the programming language. They have to, or everything goes boom! in a really ugly way.
Meanwhile, as a designer, you focus on human-scale issues, and you’re comfortable grappling with the inconsistencies of human nature. Which is good, because there’s a metric ass-ton of those.
Both roles are essential to the creation of great software, and close collaboration between a stellar coder and a top-shelf designer—along with a solid product manager—is the fast track to a world-beating product.

But when you try to package these skills in a single person, conflicts emerge. What happens when user goals and technical constraints collide as deadlines loom? Do you build the best product for the user, or the product you can implement in the allotted time given your technical abilities?

The hybrid coder/designer is not a new idea. Coders who designed software by default were standard issue in the ‘80s and ‘90s. The result was a flood of badly designed products that made an entire generation of normal people feel exceedingly stupid as they thumbed through the pages of their _____ For Dummies books. In fact, the primary reason software has improved dramatically is due to the establishment of software design/UX/IxD/etc as a separate profession: your profession.
The movement toward unicorns reverses this progress by assimilating designers like yourself into the coding collective, shifting your attention from the user and to the technology—which is what got us into that mess in the first place.

Checking the UX Box

A singular aspect of the Great Unicorn Quest that should give you pause is the implication that user experience as a discipline isn’t significant enough to be a sole focus. As if designing products that people love isn’t sufficient to justify a full-time position.
I mean, sure, you can get to know your users and customers, determine needs, wants, and goals, create personas, invent a concept design, craft the interaction flows, produce detailed wireframes, design pixel-perfect mocks, respond to last-minute feature requests, create production assets, and a million other details I’m glossing over, but when are you going to do some real work? You know, like code something.
Don’t aspire to be a unicorn, digging up nitty-gritty coding grubs with your horn.tweet this
Frankly, if your company doesn’t feel that design is important enough to warrant a full-time position, you should question how committed they are to an awesome user experience—and, for that matter, how you want to spend the next few years of your professional life.

Drowning in Details

User experience requires a lot of detail work; flows, wireframes, edge cases—you know the drill. You may already be so consumed with reactive and detailed design work that you don’t have adequate time to explore big ideas with the potential to dramatically improve the user experience.
Well, there’s one sure-fire way to make this worse: spend lots of time worrying about the details of a neighboring discipline: programming. Why isn’t this build working? What library can I use for this? What’s with this jacked-up PHP code?

Your time is the ultimate zero-sum game. The more you spend on the complexity and details of coding, the less you have to make the product experience better for your users or to influence product strategy.

A Better Idea: Be a Pegasus

It’s time to think bigger and more strategically about your career. The software industry needs high-powered product people in VP Product and Chief Product Officer roles. Today, these positions tend to be filled by people who came up from marketing, product management, engineering, or general business backgrounds. And some of them are very good in these roles.

But who better to take on the product challenges of the future than cream-of-the-crop UX professionals? No one is closer to the intersection of people’s goals and a company’s products than the designers sweating over every detail of the user experience, day in and day out. Rather than re-inventing yourself as a part-time, mediocre coder, consider aiming your trajectory squarely at these product leadership positions.

Instead of diving into the tactical details of programming, level up: Shadow your product managers and learn how they operate. Take a deep dive into your company’s product roadmap. Explore your company’s market strategy. Discover the top three things that the CEO is concerned about. Understand the high-level strategies in play in all areas of the business.

Don’t aspire to be a unicorn, digging up nitty-gritty coding grubs with your horn. Unfurl your wings and see the 10,000-foot view of where your business is headed, then use your design perspective to help your company and industry soar to new heights.
Be a Pegasus.

"Pegasus" image by Hannah Photography.