It’s worthwhile to revisit the necessary distinction between “programming” and “coding”, as the two are constantly, erroneously conflated in discussions among the general public – and even among technical professionals.
There’s a difference
between Application Programming and Information Coding.
Information Coding … applies meaning
Application Programming … makes things happen
It’s
The DaVinci Code
The DaVinci Program
I know a bunch of fine application programmers who shouldn’t be let anywhere near information code (like HTML, CSS, or semantic tagging).
Here’s an object lesson in “the reason why”
Programmers and non-tech managers had made individual, opportunistic, slapdash changes … but without any appreciation for clarity, consistency – or a sense of larger implications.
This SharePoint site had grown to 60 template files, 96 WebPart files, and more than 2600 CSS tags.
The pages themselves looked okay on the surface, but the content within them and the connections among them had become unmanageable.
The environment had become a Tower of Babel
The Result of the Code Cleanup
Hey, it’s an important job (the coding of HTML, CSS, semantic tags, etc.). And somebody‘s gotta do it.
No offense to my good friends the Programmers, but many of them don’t know how to “code” information, in the sense of content management, semantics, tags, information architecture, or page self-awareness.
Nope. In terms of practical skills, discipline, and job description – That’s the realm of … information architecture and UX.
Net/Net: Programming is what developers do. Coding is what we UX-er’s do.
What is Code?
Okay, so – just for starters – Waddaya mean by “code”?
Especially when talking with recruiters, I differentiate between “coding” (which I do) and “programming” (which I don’t do so well).
- HTML, CSS, and XML are all codesets. They’re mostly used to tag and identify things. They’re definitely in the baliwick of UX.
- PHP, JSP and ASP are all “coded” programming languages. They are ‘coded’ (as all languages are) but their purpose and rendering is substantially different.
HTML, CSS, XML: more “information architecture-oriented”
PHP, JSP, ASP: more “engine-oriented”
Granted, it’s not necessarily a clear bright line. jQuery and Javascript are a couple of coded languages that fall kind of in-between , since they tend to be more oriented to rendering “behavior” (a helpful UX skill). In that arena, there’s a difference between “doing native programming” and “being able to use existing libraries”.
BTW: There are fine progammers who should NOT be doing CSS structuring and naming – and whose HTML skills are marginal, at best.
For those recruiters who are hawking a jobreq which has “all of the above” as Required Skillsets, I ask
“Does your client want another Programmer-who-happens-to-be-a-UX-hobbyist or a UX-design-professional-with-information-code-skills-and-pretty-good-technical-chops”?
That said; If you can’t grasp/deal with/manipulate the IA structure (i.e. the “coding” of the content) – then how can you craft the UX?
Programming and Design Perspectives
Programming view : Inside out / Design view : Outside in
…at least from a Machine Perspective (which is pretty much the traditional IT view of the world)