Skip to content

Instantly share code, notes, and snippets.

@rsperberg
Forked from anotheruiguy/email.md
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rsperberg/457b2d9e06728f89ff9c to your computer and use it in GitHub Desktop.
Save rsperberg/457b2d9e06728f89ff9c to your computer and use it in GitHub Desktop.

An aspiring UX developer recently contacted me [Dale Sande] and asked some interesting questions. The one that really got me was, "I'd love to hear more about your course (i.e., who is involved, what types of people attend and what were your original motivations for offering such materials?)"

What was my motivation? Why are there so few schools that offer this kind of course? Well, here is my response.


You sound like you are in the right track and learning some JavaScript will be beneficial for sure. More and more things will be going in that direction. jQuery is a good start, but be sure to spend some time learning the basics behind JS like ... what does it mean to be a loosely or dynamically typed language and what the hell is a prototype anyway? What is coercion and what is an object.

You make an interesting statement about JavaScript being a bridge between the front-end and back-end. What's interesting is that app engineers who were typically server-side devs are now front-end devs because of JavaScript's abilities to run application logic in the client. So what was typically a front-end dev (HTML/CSS/(presentational)JS) has now been replaced with the new front-end developer, which is client-side application engineering with JavaScript. Because ... that makes sense. HTML and CSS, whatever.

You ask what motivated me to start my class? This is one of them. I have been doing this for 15 years now and I have seen some interesting trends and more often than not, the art of presentation layer development is always overshadowed by application engineers. But ... and this is a big but ... the one theme that ALWAYS runs through a project is that the HTML and CSS runs out of control. The technical debt in this area with every team I encounter is amazing. It's almost to the point where the application needs to be scrapped and rebuilt. But unless you change your mindset about what you are doing you are destined to make all the same mistakes.

App development looks to the designers to bridge this gap, as well they should. But too many 'designers' in the industry have ignored even the simplest of technologies and say that this is the domain of the engineers. So what we have here are largely ignored technologies that are the cornerstone of all web app development.

So HTML and CSS responsibilities get put on the designers, but the fail there is that they don't think like developers. They aren't making the right decisions. Most simply take some blog post to heart and do exactly what <enter any UI blog author> says. And this ticks me off. We need to question everything and explore what the right answers are. Their opinions are exactly that — theirs. I even tell my students to question everything I say, because these are my opinions.

So when we have designers who don't really understand what is happening and blindly follow some example from a blog, they aren't thinking about how that blog's solution may apply to their domain and how it may positively or negatively effect their environment. They are just blindly following a pied piper. A year down the road, the results are typically the same, and they are not good results. People are usually pretty frustrated at this point.

My course, while it focusses on UX web app engineering, its real goal is to get designers to think like developers. I want my students to drop into a team of engineers and hang in all the conversations and question all the things. Start exploring solutions versus consuming someone else's framework and taking verbatim advice from some blog post.

I think the real answer to the question of why I am doing this ... I have demons, bro. Demons!

One thing that drives me crazy is that app engineers feel the need to solve all the problems for the designers. We as designers need to solve our own problems, but we need to buck up and learn how things really work. Designers need to stop leaning on crutches. Learn Bash, learn how to use Git in bash. Build a Node project from scratch. Learn Jade/Haml. Understand package management and build your own packages. Learn 'why' responsive works the way it does, not just master how to write a media query. Learn VIM or SublimeText.

Designers who have stepped up and starting doing this are the thought leaders and the more successful devs I work with regularly.

I don't know exactly where you are at with your education or skill set, but one thing that I lean on hard in my class is that learning the mechanics is easy. Don't just learn the 'how' but get to understand the 'why' and you will be a much better developer.

Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment