Menu Search
Jump to the content X X
Smashing Conf Barcelona

You know, we use ad-blockers as well. We gotta keep those servers running though. Did you know that we publish useful books and run friendly conferences — crafted for pros like yourself? E.g. our upcoming SmashingConf Barcelona, dedicated to smart front-end techniques and design patterns.

Designers And Developers: No Longer A House Divided

As the web continues to evolve at a breakneck, Moore’s-law pace, the divisions between traditional design and development are increasingly shifting. The “learn to code” movement is also gaining momentum among designers, but you’d be hard pressed to find a similarly strong movement for other disciplines within a team. Perhaps there should be.

We should all be striving to learn, but the question remains, what exactly should we learn? Maybe it isn’t as simple as “learn to develop” or “learn to design,” but is about learning to communicate and collaborate, to respect the nuances of each other’s craft — and the artistry and reason that they both demand in equal measure — without attempting to master it for oneself.

Further Reading on SmashingMag: Link

The editor’s draft of CSS 46 arrived in early February, and while the possibilities are exciting and plentiful, it’s very easy to be overwhelmed by them. We’re still fully exploring the fringes of CSS3; for those just starting in the coding world, just knowing where to start can be akin to finding a needle in a haystack. This growth and progress is both a blessing and a curse, and it raises questions about the lines between design, development, creativity and logic, how the disciplines fit together and where we fit in.

Design and code: not altogether different.

Design and code: not altogether different.

These days, both design and development are fragmenting into more and more specialized, nuanced disciplines. There is almost no such thing as a web designer anymore; one is an interaction designer, a visual designer, a user experience designer or something else entirely. The word “developer” ceases to carry meaning, too. What kind of developer? Back end, front end, full stack, iOS, Android, web or something else entirely? Job titles have become more specific, and yet skill sets are expected to broaden.

Developers needs to understand design, and vice versa, but neither wants to give up what they love most about their own discipline. It’s easy to fall behind, to feel pressured to keep a foot in each world. We might want to learn to code or design, but code what? Design what? Each framework or design principle has its own unique dependencies, an entirely separate set of balls to juggle while we learn. Furthermore, without a way to practically apply it — within our work or outside of it — that knowledge is easily lost. A designer or developer looking to learn the other discipline can easily become intimidated and confused about where to begin, no matter how many initiatives and resources are out there.

Cameron Moll tweeted about this feeling7 in early January, capturing very well the expectation of designers and the emotions that come with it. It also begs the question, why is there no similar expectation of developers, of teams, managers, project managers or any other member of the team? Why is the emphasis not being placed on teamwork and collaboration, on fostering a shared understanding based not on technical knowledge, but on interpersonal knowledge? Surely, strengthening interdisciplinary collaboration would create far more effective teams than teaching designers a coding language or teaching developers the ins and outs of Illustrator.

Then… Link

Four years ago, way back in 2010, Elliot Jay Stocks tweeted his surprise8 that web designers still exist who can’t code their own designs. Treehouse cited that tweet in its article “5 Good Reasons Why Designers Should Code9” and in the context of the time, it made sense. CSS3 hadn’t happened yet. HTML5 was still a twinkle in the W3C’s eye, reaching its first public working draft only in 2008. The term “responsive web design” would be coined only four months later10.

While it was an exciting time, the idea of a designer learning to code wasn’t entirely overwhelming, at least in retrospect, and it was about to become the norm. But the expectation was clear: “Learn to code” meant “learn HTML and CSS,” or learn enough of it to bring designs to life. Similarly, “design” was restricted to the Adobe suite and creating flat comps of website designs. There was a solid line between disciplines, but that is no longer the case.

… And Now Link

Things have changed, and quickly. The landscape of learning is shifting, too. Along with the aforementioned CSS 4 specification, which offers even greater control of styles, a whole host of resources are now popping up that are encouraging designers to learn how to code — and code everything. It’s not just about bringing a static web page design to life anymore. There are courses for iOS development11 and prototyping12, and places such as Fast Company offer guides on how to get started, in case you’re at a loss. There’s Ruby on Rails, too, and the data visualization movement is continuing to gain traction.

It’s not just about turning PSD to HTML anymore, but about developing for iOS and creating web applications in Ruby or AngularJS or whatever else your company or customer is using. Design and code blur into one another with exciting concepts such as SVG animation13 and the various data visualization libraries. But this is just a drop in the ocean of possibility, and we can’t possibly be expected to traverse it all. Susan Robertson writes on A List Apart14 about being overwhelmed by code, by “the constant pressure to learn new things and keep up with all the latest ideas.”

With so many options, how do we choose what to learn?

This pressure isn’t surprising, but it is avoidable. To make sure that what we learn will be useful to us, we have to ask ourselves why the learn-to-code movement exists in the first place. It exists to foster inter-departmental communication, to make the process of creating a product that much smoother. So, perhaps, rather than focusing on understanding the mechanics of each other’s work (coding languages and Photoshop etiquette), we should focus on softer skills, on improving collaboration and communication from a holistic perspective. Learning each other’s discipline is only a part of this.

Finding A Common Foundation Link

As a starting point, we need to balance the expectations on both sides. Yes, designers should understand the workflows of development, but the same is true of developers (and project managers and whoever else is involved in a project). They don’t need to learn the details of Photoshop or Sketch or color theory, but knowledge of general design principles and processes is useful and will ease collaboration and communication. We can only become better designers and developers by learning to communicate better with one another.

Stephen Caver at Happy Cog agrees15, saying that developers need to acquire an eye for design and encourage this empathy among teams. Stephen made the transition from design to development himself and offers the perspective of someone who has been on both sides of the fence, and he understands that the fence needs to be torn down. Similarly, Sam Hernandez, also a developer at Happy Cog, acknowledges the unique communication challenges of developers in particular, but he also says that star developers do not avoid them; rather, they find ways to communicate and collaborate with the non-technical team. These developers are empathetic not just towards design, but towards the product and client as well. They see beyond the minimum viable product.

Meanwhile, the design world is now seeing movements such as Brad Frost’s atomic design — design initiatives that borrow concepts from object-oriented programming. Designers can (and should) leverage tools such as Zeplin and Specctr to better communicate their designs to developers. Smashing Magazine offers a guide on creating design specifications that would be useful to the developer but not too time-consuming for the designer. The co-creation of style guides is an exercise that helps both designer and developer and that promotes understanding of each other’s discipline. The act of creating the style guide together is what is most valuable to this relationship between designer and developer, not necessarily the end product.

We forget sometimes how similar design and development are, both of which boast creativity as their foundation. Great designers and developers see creativity as a key part of their craft, but the connection between the two is rarely made. The term “creative” is used exclusively (and erroneously) to mean “designer.” Great code is its own form of artistry, and it is expressive and beautifully elegant when done well. In my opinion, a great solution to a development challenge shows ingenuity and imagination just as much as a design challenge shows logic and science.

Specialize and generalize in equal measure.

Developers look at designers and see artists, while designers look at developers and see mathematicians or scientists. While this may be true at the surface, it does both professions a disservice. During a project, an excuse of “I’m not artistic” is accepted from a developer who isn’t interested in design, while “I’m not a coder” is not accepted from a designer. These excuses are reductive and unnecessary; creativity is an undercurrent of both disciplines, and the sooner we appreciate this, the better.

Mindsets, Not Technical Details Link

So, once we scratch the surface, we begin to realize that the learn-to-code movement, despite its ubiquity, is a small cog in a much larger collaborative machine. Picking up a language or grasping the basics of Photoshop is arguably easier than learning effective collaboration and communication. It is more quantifiable, more discrete, with a beginning and an end, but it might not always be useful. The emphasis should be on empathy, collaboration and shared understanding — softer skills that aren’t quantifiable, but far more wide-ranging.

Paul Lloyd states, “Instead of viewing ourselves in terms of discrete roles, we should instead look to emphasise our range of abilities, and work with others whose skills are complementary.” We should bring developers into kick-off meetings, and designers to backlog meetings. Brad Frost reminds us, “The modern web design process requires intense collaboration between designers and front-end developers,” and though he advocates for HTML and CSS specifically, this can be expanded to other languages and frameworks, as projects require them.

This communication and cross-disciplinary empathy are just as important as the techniques, methods and development frameworks used to take apart a problem. If a designer learns FramerJS to better communicate their ideas to developers, or if a developer jumps into Photoshop or Invision or CodePen to illustrate why a particular solution would or wouldn’t work, this is an example of using the tools around us to expand not just our own internal knowledge, but our knowledge of others. We focus so much on technique and method that we sometimes forget to remember and to internalize what was learned from the process on a human level, rather than a technical one.

We want to demystify development for designers, and vice versa, build bridges rather than burn them, get rid of the reductive excuses and gain an appreciation for the alchemy of creativity and logic that both designers and developers are products of. This is the kind of learning I want to see in the future. So, let’s learn not how to code or design, but how to communicate. Let’s meet each other halfway.

Meeting Halfway And Moving Forward Link

In this environment, becoming overwhelmed is easy. It’s difficult to choose what to spend our spare time learning, to make sure that our career benefits in the long run. Designers should learn as much code as they’re interested in learning. The same goes for developers with design: Grasp just enough to foster a relationship, not to be a great designer — you don’t have to be. Mastering each other’s discipline doesn’t matter as much as learning each other’s process and quirks. There is also no guarantee that the coding or design we learn for one project will be useful (or even relevant) in the next, which can be disheartening. There’s no need for a designer to go through a full course on Ruby if none of their forthcoming projects would benefit from that expertise.

Make no mistake, however, the efforts required to better collaborate and empathize are hard. An interpersonal learning effort is just as (if not more) difficult than taking a class on development or design. We don’t finish it with a project or an app prototype, something that is easily evaluated. It is continuous, but just as important. Designers and developers share so much — creativity, passion, a genuine motivation to create great digital experiences, apps and interfaces — and we have spent too long creating a cultural divide between us. We should work next to each other and share wins as well as losses, share processes and mindsets, ask questions in order to learn our coworkers’ quirks, strengths and curiosities. Balance16 specialization and generalization.

Personally, I’ve been afraid to specialize. The favor exhibited towards jack-of-all-trades, particularly in job postings, is implicit and is often overwhelming. I wasn’t sure what would be most useful to learn, and it all takes time — I didn’t want to make the wrong choice of language, paradigm or framework. Learning interpersonal skills wasn’t even on the agenda; it should have been.

How realistic is the “unicorn,” and should we aspire to it?

Having arrived at Myplanet17, I’ve found the sprint retrospective to be an incredibly useful guide for my own development, be it in code, interaction design or interpersonal relationships — I can ensure that I’m improving in areas that matter. Within our retros, we discuss what’s gone well and how to build on it, what hasn’t gone well and ways to improve. This kind of constant adaptation was new to me, but it was exactly what I was looking for. In this way, I’ve learned that whatever skills I develop are of practical use, and I’ve found myself worrying far less compulsively about specialization, generalization and the myth of the unicorn. Whatever I learn on the side, I learn because I want to, not because I feel I have to.

For example, as a result of retros, our team has co-located in order to facilitate communication. I brought up some worries I had about the technical side of a project, and as a result got the opportunity to learn more about Drupal. I also know which method of communication to use (verbal, email, Skype, NERF gun), according to whether my developer colleague has headphones on or what time of day it is. This seems obvious, but it’s the kind of information that we don’t get unless we ask for it, and I find it just as valuable as learning to code. Retrospectives aren’t always easy, and they’re just one example, but whatever technique we use, learning that empathy is important.

As the industry fragments further and further into specialization, unicorns no longer exist, and nobody should aspire to be one. Instead, specialize in what you love, and learn what sparks your creativity and curiosity. Learn whatever helps you to execute your vision or opens up a world of possibilities. Foster appreciation for each other’s craft, rather than attempt to learn something you don’t care for. Resources crop up every day: Bret Victor’s Learnable Programming18 and Dynamic Pictures19, as well as iulang20, HackDesign21 and many others. Use them to get to know your team, to collaborate with them, rather than mirror them.

This personal knowledge is far more transferable than any one programming language or design principle. Learn how your colleagues think and why they indent code the way they do or why they choose certain typefaces over others. This is the kind of learning that is invaluable, the kind of personal improvement that I believe makes us far more accomplished than learning the intricacies of coding frameworks or typographic differences when the person next to us already knows that. Learn collaboration and appreciation, and we’ll all be the better for it.

(ds, il, al)

Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21

↑ Back to top Tweet itShare on Facebook

Ivana McConnell is an Interaction Designer at Myplanet, applying UCD, lean, and agile methods to make great digital products. She arrived there via Bosnia, Croatia, Vancouver, and Scotland, and has previously made a living as a rock climbing instructor and video game tester. She also enjoys sampling a craft beer or two, reading, and bouldering (though not at the same time).

  1. 1

    “As the industry fragments further and further into specialization, unicorns no longer exist, and nobody should aspire to be one.”

    Thank you, thank you, thank you! I have been saying this to my network of peers for 2 or 3 years now.

    I have branded myself as a “Styling Architect”, filling in the gap between designers who prefer to remain in the photoshop world and developers who use CSS as an after thought to style UIs. Transversing SASS, LESS and the CSS3 spec is a full time job and I absolutely love the work that I do in this niche.

    I totally agree that we all should be learning other aspects of the stack, but just enough to help us to collaborate with our team members and to enhance our own areas of expertise.

    Eventually Human Resources will catch up and stop posting ridiculous full stack requirements for magical unicorns that either don’t exist, or if they exist, are priced well outside most companies pocket books.

    Great article, everyone needs to read this one.

    • 2

      Thanks, Lokase! You’re right that a good deal of this is wrapped up in job titles and descriptions as well, creating an expectation that doesn’t really manifest itself when the job actually begins. I also absolutely agree that “Transversing SASS, LESS and the CSS3 spec is a full time job.” Thanks again for reading!

      • 3

        @Lokase: I totally agree with you on the fact that ‘unicorns’ do not/will not exist, but I think what I really liked about this article is that the author is pushing for each side to learn a bit of the other one to understand each other better and work together (instead of separately until it’s needed, which usually just prepares for a catastrophe and disappointment). As a UXer, I think my first responsibility is to make sure everyone involved in the project has a voice and I can take care of the needs of each area and translate them accordingly – to me the only way to ‘understand the needs’ of a department (product, business, dev etc) is to know a little bit about what they have to do every day and what their challenges are… hence why before my career in UX, I worked in production, marketing, business development and design!

        @Ivana: thank you for this article, I am preparing to host a workshop about learning the basics of coding and will definitely point to your article to ensure everyone is onboard and understands how this knowledge can be used to improve the communication within a team.

    • 4

      Jeremy Cummings

      May 15, 2015 8:58 pm

      I think that we need to continue to learn, and often that learning will not even necessarily get applied, but it might help down the road. At least it will help if the topic ever comes up to discuss it. I find that I have to have a deep understanding of both design and development to be able to do my job effectively as President of my company.

      Although my skillset is more development and sales, I still have to have an eye out for design, along with marketing and a host of other skills such as search engine optimization in order to have useful client conversations and to understand the big picture.

      If you want to understand the big picture, try to get an understanding by doing things in all paths along the Internet road. Have a goal to read a book, learn a new field or group of concepts every quarter. That will keep you on top of things and competitive in the online world.

  2. 5

    One thing that does annoy me about when people ask about how to design websites, they are always (or for the most part) told “Learn Photoshop”.

    This is wrong because you aren’t learning why it is that websites look good, all you’re leaning is how to use that tool. True, you may get to learn about design principles but it’ll take a lot longer to see why things are done the way they are done.

    If you want to become a better designer, for websites or otherwise, learn graphic design (the tool use can come later). Here are a few books to start you on that road:

    The Elements of Graphic Design, 2nd Edition:

    Grid Systems in Graphic Design:

    Thinking with Type:

    There was another book I wanted to suggest but I can’t remember what it was called but as a developer who wasn’t that good at designer skills, these books have helped increase my design skills massively!

    • 6

      In my degree, over 10 years ago, they started the first web dev lecture with the question “What’s the most powerful web design tool?”. All the hands go up and answer “Photoshop”.

      The lecturer shoots them down and says the correct answer is “Notepad”

      • 7

        the avangelist

        May 12, 2015 3:00 pm

        And it would still be the wrong answer. A better answer is a pencil.

        • 8

          I believe your answer would still be wrong. The mind is the most powerful design tool.

          Don’t expect logicians to think creatively.

    • 9

      Good book references, thank you. You’re perfectly right about Photoshop, meantime many people learn about Sketch 3, because all they said it perfect tool for webdesign… Also, I can recommend a fresh article: Why Designers and Web Developers Must Work Together –

      If designers and developers work together on projects from start to finish, the result is a more cohesive web project with great aesthetics, user interface and clean code.

    • 10

      Thanks for reading, James! Agreed– the tool is only useful if the underlying theory is there to support it, and that’s always the more difficult part. It’s similar in development, where languages and frameworks wax and wane in popularity; we don’t always take into account *why* we’re learning a particular language, and if it will help us create better websites or applications.

      As for books, I wouldn’t just recommend learning graphic design, but approaches to design and how it helps us interact with the world around us. In my opinion, graphic design is also a tool– we can make things beautiful and usable, but it’s important to know the psychological underpinnings of why. The Design of Everyday Things is a must-read in this respect:

      Thinking with Type is an excellent book, though; Ellen Lupton edited one specifically for the web entitled Type on Screen: which is also useful.

    • 11

      I fully agree. Give them a blank canvas, here is your brief, give me something, a concept (not an idea btw) on paper then go to your tool and set type ‘from scratch’, lets see how you get along. I personally hate photoshop, very rarely use it. It was hacked for designing websites. WordPress has also helped out the clueless a lot. They don’t know why it looks good, it just does, more often because ‘a designer’ has done the work for them, set the type and structure. I saw someone using Raleway the other day, “its a really nice font” they said while showing me on screen, i told them that’s not a really nice ‘typeface’ for what their intentions were i.e. to design the entire UI in it. 1. you’re looking at a typeface, not a font and 2., that’s a display face designed for headings, not suitable for reading body text, so in terms of readability and legibility i think its pretty muck but don’t worry I’ve seen designers set body text in Avant Garde below 14pt on many an occasion.

      Yep, learn the craft of Graphic Design, 90% of what you’re looking at is information, know how to display it.

      Another thing I see, probably one of the most common tasks a designer will be asked to do is… design a logo. It’s the first thing I will go to when viewing a portfolio. Why? It offers me 2 insights, how they think and how they use type all in one job. Is it thoughtless? Is it ‘copied’? How pushing is it? Is it straight from the shelf? How well executed is it, alignment, proximity, all that etc. How bad is that obvious ‘free’ font? Where does it go from here? Can it be taken 10 steps further throughout an identity system or is it just all funnelled vision and stuck cos there wasn’t much thought there to begin with. Simple things, extend out.

      They see for example Facebook, “but thats just typed out anyway”, is it really? It’s not Klavika, so what is it? Keep looking, you won’t find it so you better start drawing.

      Attention to detail and how to think! Thats what they teach you on a 4 year degree, you won’t find it in Adobe.

  3. 12

    Erm… Did nobody Google “CLISS” before calling it that?

  4. 13

    Great article, although I’m pretty sure CLISS in css 4 was an April fools joke! (–webdesign-11521)

  5. 14

    Kevin Bruce

    May 8, 2015 2:39 pm

    Can you site where you found the CLISS spec, because I have a feeling it was from the April Fool’s post at–webdesign-11521

  6. 15

    If you’d read the CSS4 draft, rather than an April fools post (–webdesign-11521), you’d know that it doesn’t include CLISS.

  7. 18

    “As the industry fragments further and further into specialization, unicorns no longer exist, and nobody should aspire to be one. Instead, specialize in what you love, and learn what sparks your creativity and curiosity. Learn whatever helps you to execute your vision or opens up a world of possibilities. Foster appreciation for each other’s craft, rather than attempt to learn something you don’t care for. ”

    Thanks Ivana for this great article!
    This period perfectly depict the reason why I recently change job :)

  8. 19

    Building cross-functional teams starting from cross-functional people.

  9. 20

    I’m a bit of a jack of all trades. I enjoy being the complete master of a site, front to back, design, code, database design, etc.

    In my team I try to get them involved to think about all aspects and weigh up all levels, but as it’s quite an introverted job, I see them retreat into what they’re most comfortable with. A JS person will see everything as a JS solution, a back end coder will see everything as solved in the back end. They each have their own projects where they are responsible for the code top to bottom. There are different strengths with different members, but by sharing the knowledge we can bring everyone up. It’s increases the whole capability of a team where there is no single point of reliance.

    Otherwise, I think the specialism is an inevitability, as long as we have multiple ways of approaching a specific problem and letting people retreat to their comfort zones.

    • 21

      Hi Will– I agree, it’s nice to have that control sometimes, and I enjoy it for websites; however, I’ve found it almost impossible for larger-scale applications, but that could just be my personal perception of my own capabilities. I do agree that knowledge sharing brings everyone up also, and can result in more innovative and efficient solutions to problems. I’m interested, though— when you work on a site, do you find it difficult or easy to switch from design to code to database design?

  10. 22

    I currently have this exactly conflict. I was a graphic designer. I know a lot about design theories, but I was never a brilliant designer. I can create amazing things for sure, but I’m more technical and I’m not great to communicate someone’s else idea. So, this is how I become a web designer and then a front-end developer when tableless, CSS3 and jQuery arrived.
    I know everything about this. I probably can finish an entire page in HTML and CSS without preview it.
    And then come sass, less, angularJS, ajax, webservices, etc. I’m Ok with it, but I hate to code these things. I’m technical guy, but not an engineer. CSS3 is simple enough and in simple projects I don’t need preprocessors. I’m Ok about using angular or jquery to manipulate the interface, but to manipulate data properly I probably will need to work with a coworker. I don’t know why I have to learn object orientation if my specialty is interface. I have to understand the concept, but I don’t want to code at that level.
    I like to organize things on interface, on screen. Not inject data from somewhere else, validate it, store it, cache it, manipulate it.
    I’ve been working with interfaces for more than 10 years and still is pretty difficult to get a job that don’t asks for angular or ajax. I know a little, I can learn more, but I don’t want to work with it.

    • 23

      John O'Loughlin

      May 8, 2015 7:04 pm

      Yep, this is the reality. You don’t see a lot of demand for CSS-only people like the author.

    • 24

      “I have to understand the concept, but I don’t want to code at that level.” – This is more what I was trying to take issue with in the article; knowing the concept (and therefore how to collaborate with someone who does understand the practicalities of the code) is far more important than taking the time to learn the code yourself. Sometimes it’s necessary, yes, but it shouldn’t be mandatory, as it seems to be in some job specs. It results in applicants feeling overwhelmed or maybe even inadequate, and the company loses out on an excellent designer or developer simply because they don’t know the intricacies of one framework or language.

      • 25

        I think this all stems from development taking away most work.
        The technologies and things possible now make a lot of the old practice irrelevant.

        The past two companies I’ve worked for, the designers had to learn to code basically to save their jobs. When you can build an entire site, UI, etc. in a couple minutes using something like Ruby, or a free CMS like WordPress with seemingly endless themes etc. there isn’t a lot left for designers compared to their costs for custom works.

        What I see in the real world is every designer is learning at least HTML/CSS while the developers just learn more languages etc. because the demand for that work is endless.

        Design is extremely important, this is just my world experience.
        I myself used to love just working with HTML/CSS but had to learn server side languages etc. to remain relevant.


  11. 26

    I strongly believe that anyone who says “Design and code: not altogether different.” has’t done enough of either to gain a deep enough expertise. I agree with the communication & collaboration point of the article but let’s not oversimplify for the sake of a bold statement.

    • 27

      Thanks for your comment— I wasn’t trying to oversimplify, but I do still believe that the two can be very creative disciplines. For context, I have worked as a UI designer and front-end developer, and am now an interaction designer. I am not a back-end dev by any means, but have worked with enough to see how they engage with and perceive their work. I think a truly innovative coding solution to a problem requires just as much creativity as a “design” problem, and perhaps this doesn’t come across in the headline as well as I would’ve hoped. Cheers for reading, though :)

  12. 28

    John O'Loughlin

    May 8, 2015 7:00 pm

    Great to have some clarification of this issue and thought leadership on a possible solution. We probably all resonate with the challenge of trying to be a jack of all trades to satisfy the market. I get the feeling it’s going to take a while to solve this problem, as human-centred solutions definitely don’t evolve at a Moore’s law pace. Recruiters will still favour high level technical skills over communication skills in non management roles as long as such skills and their returns are easier to measure. And suggesting more open collaboration often isn’t very helpful for freelancers and team members who don’t have a lot of power over how their team works. Also, quite obviously, highly technically skilled people are often shocking communicators. My hunch is that more human friendly tools for development will offer the most help. I think Learnable Programming is asking the right questions. Developers like having tools to make things easier for themselves, but they haven’t used a lot of design in general to make those tools because they’re not designers. Clients are often not asking for more functionality, just the same thing cheaper and faster. So at least in those cases, having more better tools will save us from needing to be the jacks of all trades that the market needs right now to deliver the product.

  13. 29

    great article, thanks!

  14. 30

    Jan Klosowski

    May 8, 2015 11:20 pm

    The problem with “not being a unicorn” is that not so many companies are looking for a particular type of a single-task specialist. Your toolkit has to be well equipped for various situations and then – yes – maybe in that particular project you’ll be able to focus on some precisely defined task. Mastering one thing is good at the beginning but when you are intermediate then start learning a new stuff. It will not hurt you – I promise.

    • 31

      I actually agree with this, and am not at all opposed to learning— I love learning new things, particularly in development. I agree that a certain breadth of skills is necessary, and even just knowing the theory or the concepts will help us become better developers or designers. What I think is important (and the distinction that I was trying to make here) is that when we do learn, we learn for the right reason— either because that language or framework or design tool will be useful to us in an immediate timeframe or project, or will help us become better communicators. I think “learn to code” as a movement and buzzword is too vague, and places a bit too much pressure on the people who don’t know how to do so. In reality, everyone should be learning and meeting each other halfway.

  15. 32

    Right now going between UX Design and front-end developer. I want to specialize and it is really hard to figure out where I best fit and what I am best at.

    • 33

      Depends on where you are, of course, but in Silicon Valley developers are more in demand and get more $ than designers. Hope that helps.

  16. 34

    Nabi Awada

    May 9, 2015 5:39 am

    The problem most companies face is the lack of cross-functional employees; finding a talented and experienced Designer/Developer is very rare, but, when you do find one you get a powerhouse – we recently hired a Designer/Developer and he has introduced our department to some interesting (and radical) ideas.

  17. 35

    Lucy Grace

    May 9, 2015 9:32 am

    The quality of end result depends on the cooperation between the developer and designer. Both should work together for a common goal, only then a customer can be satisfied.

  18. 36

    Muhammad Adil

    May 9, 2015 9:40 am

    I need a job but I am nothing….any one teach me…..

  19. 37

    Matthew Trow

    May 9, 2015 11:01 am

    Food for thought indeed.

    Anyone who has been developing websites for the last 10 or 15 years will be well aware at the incredible pace of change in the last 5 years. After years of stagnation, the web for developers became exciting again.

    What I find interesting, is that it’s *coding* that really took off, less so design.

    The code facilitated better *interactive* design – although you could argue that code *is* design too?

    It must be overwhelming for those new to the industry, but there are some simple paths that can be trodden that remain more or less the same as they have for decades.

    Code basics, no matter what language, all have similar patterns. Once you’ve overcome the steep learning curves in one language, it becomes far easier to learn another.

    My advice for anyone starting out as a front end developer is simple – don’t sweat the HTML & CSS – there’s tools and platforms that will guide you as you progress. Instead learn the very foundations of the web – the http protocol. Then learn Javascript. Then bring the two together.

    For those wishing to become designers, there’s no substitute for learning the principles of design & type that have been around for centuries – forget the web until you’ve mastered those principles.

    • 38

      but you see Matthew and rather oddly, ain’t Type nerdy stuff? And C# is not? I’ve heard wannabe developers declare that. What a rather odd statement. Its also not understood, cos they just can’t ‘see’ it, they can’t tell the difference between poor and good typeset or for that matter the entire page or explain why. “Ah it will do, nobody else will notice” lol. Subconciously they will notice, won’t be back and won’t be able to explain why either. They don’t need to explain, and you don’t need to either, just don’t tire them out but make them want to read it.

      I think a few rounds on print, where their head is on the line for 20,000 runs, where it can’t be fixed ‘later’ with a few clicks, might just get them up a few levels and most importantly… pay attention to the details.

    • 39

      It is indeed interesting that coding has taken off but not design; this is part of what I was trying to address with the article. If we want non-coders to learn code, should we be asking those who code to learn design? Resources are cropping up, I think, and this cross-disciplinary learning and communication cannot be emphasized enough.

      I think the problem is sometimes the sheer volume of choice that is out there for what to learn can be overwhelming, and sometimes leads to paralysis. When we look at job specs, they all look for familiarity with various languages, and sometimes we simply don’t have time to learn more than one– how to choose?

      What I’ve also found when learning code is that while a lot of the languages have similar foundations, it can be very easy to get started (“Hello world,” etc.) but that the second step (making the connection between the theory and your own capabilities) is often very difficult, and there is less support for it.

      Good advice for starting out, though, thanks for reading! :)

      • 40

        Matthew Trow

        May 12, 2015 9:12 am

        A note on job specs – in my experience (20 years in the industry), they nearly *always* ask for a ridiculously large set of skills, specifically if the job is advertised via a recruitment agency. It scares a lot of people off, but the reality is, if you don’t ask, you don’t get. I’m not saying you should wing it, but rather go and sell yourself on the skills you *do* have and put in the research on those you don’t. Make it clear you’re an asset now and will be a greater asset going forward.

        Having been on both sides of recruitment, a lot of the job specs created for a role are “nice to have’s”, there’s usually a core skill set that is being asked for.

        As for non-coders learning code, it’s entirely based on interest. Not everyone finds coding easy and not everyone finds design easy. Both *can* be learned. That programmer who cannot draw *could* learn to design if the interest was there. The designer can learn to code, if it fired them up.

        I would say that a *knowledge* of either discipline goes a very long way toward teamwork. A designer that can produce standards compliant, elegant html & css is a god-send. A front-end dev who can turn their hand to design, layout and UX is invaluable.

        It’s a rare breed indeed that can do both very well.

      • 41

        “If we want non-coders to learn code, should we be asking those who code to learn design?” I am surprised that the idea of bypassing developers has not yet been raised. If you are a developer and comfortable with code but not necessarily design, you will be looking to leverage a solution that doesn’t hinder your design work nor your ability to fully modify HTML and CSS. If you are a designer, you probably prefer to work as visually as possible with a professional design tool that incorporates the pixel-perfect precision you expect from Photoshop or Sketch. There are already a variety of solutions for those that code such as WordPress and as Matthew pointed out above, code basics, no matter what language, all have similar patterns. When we are talking about designers Webydo exemplifies why this question is moot with their motto of “by designers for designers” – why should we be asking either of these positions to learn the other when we are in the age of tailored solutions?

  20. 42

    Julien Cuenin

    May 9, 2015 11:12 am

    “Personally, I’ve been afraid to specialize” is exactly what I feel right now. I have been trying to be one of these unicorns since I started uni and I also realized how important communication is. I now have an average level on development and design but it took a lot of time to get there and I can still get stuck after a certain level of difficulty.

    I am not sure if being a unicorn is impossible or not, I would rather say that you can be but you will always need the help of specialists to make sure that you can achieve everything you want.

    So what can I be called, that’s a good question, maybe the best would be to carry on learning project management.

    On another note, thank you for all the tools you mentioned, its always hard to keep updated on this topic.

    • 43

      Thanks for the comment, Julien!

      “Unicorn” can sometimes be reductive; everyone has their own definition for it sometimes. While certain employers will understand that it does have its limitations (someone can be familiar with many things, but it’s very very rare that they will be expert in all of them, and it’s not helpful to expect this of everyone), some won’t. It takes a long time to get there, and not everyone has that time.

      As for the resources, no problem! I often struggle to keep up myself!

  21. 44

    Sagar Basak

    May 10, 2015 4:02 am

    Really Good … You’re right about Photoshop … Creating a website has became very easy with WordPress. specially with the Drag and Drop thing …
    Great Post … Thank You

  22. 45

    it’s emotive again now, its the feeling and if you’re not empathic, you may not have it. Great to see it come back. Introverts can be very strong here, they tend to be very visual with their thoughts. Vaughan Oliver was a master of it.

  23. 46

    Sreenivasulu Saya

    May 11, 2015 3:36 am

    It is an excellent article. The author has beautifully touched upon the soft skills the designers and developers need to acquire. I agree that we should give up the reductive excuses and start appreciating the diverse skills with which each of us are born with or acquire during our professional careers. The things discussed in this article are not only applicable to just web designers and developers, but any other disciplines in science, art and humanities.

  24. 47

    Sheryl Roger

    May 12, 2015 5:32 am

    I totally agree with you that knowledge of general design principles and development processes is useful and will ease collaboration and communication.

  25. 48

    During my apprenticeship I had to code, I didn´t want to do it first, since I wanted to become a web-designer, but now I´m glad. I have no problem finding a job just because I can code a website or webapp just as I can make the wireframes for it or a layout in Photoshop. I love SASS and also enjoy collaborating with my fellow backend-developers.

    What scares me howerver, when I look at the vacant jobs here in Germany, is that I look for “web-designer” and all I can see is “HTML/CSS, jQuery, PHP nice to have”. So the job of a web-designer, in the eyes of german companies, has not only become less design, it transformed into the front-end-developer “with an eye for design”. There are jobs that require you to consult clients, make a concept and wireframes (UX-Design), make a layout (UI-Design), bring it into the browser (Front-End) and somtimes even dynamic. Oh and of course, print-design would be nice too :D

  26. 49

    As a developer who’s fairly comfortable with CSS, but works with developers who are not at all comfortable with it, I can say that the overwhelming happens on both sides! One developer friend, struggling with getting something to work in CSS, complained to me yesterday that CSS is “non-deterministic — you can do the same thing six different ways, and you never know exactly what you’re going to get.” I don’t think that’s exactly true, but I well understand how precedence and inheritance (and non-inheritance) and getting the specificity of style rules right can be bewilderingly complex and make you feel at times that behavior is arbitrary.
    Thanks for a great article!

  27. 50

    James Rosewell

    May 12, 2015 7:35 pm

    Thank you. Resonates with my thinking.

    Readers might be interested to know that if you go to school in the UK you can’t avoid coding. It’s now part of the national curriculum at all key stages.

    Quote from introduction:

    “In September 2014, computing is replacing ICT as a national curriculum subject at all key stages. Computing is concerned with how computers and computer systems work, how they are designed and programmed, how to apply computational thinking, and how to make best use of information technology. It aims to give pupils a broad education that encourages creativity and equips them with the knowledge and skills to understand and change the world.”

    In 5 years time everyone entering the work place will know the basics of coding (assuming they pay attention).

  28. 51

    I find that you are making a good point in this article when you say that development and design is about collaboration and communication of ideas when determining the next style guide for a site. The only thing I disagree is that titles should be more uniform because developers prefer to develop and designers prefer to design. Saying that you want to hire someone as a web designer could mean they will first design the site in PhotoShop and then develop the code for that site in HTML and CSS. This could have dire consequences for when you hire someone. For example, I love developing more then designing. I can know where to start when developing but wouldn’t have a clue with designing. While I agree that developers should have an understanding of design to make suggestions and recommendations I think they shouldn’t feel that they have to start developing in PhotoShop. I don’t believe it works out for the jack-of-all trades as you wouldn’t want one person to play all the instruments in a band because they will probably be better at one instrument over another.

    “They don’t need to learn the details of Photoshop or Sketch or color theory, but knowledge of general design principles and processes is useful and will ease collaboration and communication.”

  29. 52

    Great article. I feel like I have been searching for a unicorn! Any recommendations on the best way/sites to find a qualified designer/developer?

  30. 53

    Stephen Caver

    May 14, 2015 9:09 pm

    Thanks for the shout in your excellent piece, Ivanna.

  31. 54

    I love your point regarding collaboration. We don’t really need designers to suddenly become badass developers, and vice versa. By bringing both workers in the same environment frequently instead of always isolating them in their respective silos, each can expand their skillsets enough to gain functional knowledge of what the other does.

    This self-monitoring process— the awareness of the limitations and boundaries of their ideas when implemented– will help save company time and money by lessening the back and forth.

  32. 55


    May 17, 2015 12:34 pm

    yeah, your article is very creative, but i can not agree with you. because in every cases it is not remain…….

  33. 56

    This article (and all the comments) should be required reading for anyone in the Web Development field.

    I couldn’t agree more with your sentiments here, and on a couple points where my mind wasn’t made up (to unicorn or not to unicorn, that is the question) you pushed me firmly into an opinion.

    In my experience though some of this can’t be absolute, rather it depends on where you are at in Your career journey and what your ultimate life goals are. All I’m saying is that if you are just starting out, you better aim for Unicorn or it’ll be hard to pay the bills. once you’ve got your feet wet, you’ll acquire a taste for what you should ultimately specialize in.

    And really the point of the article is cross discipline communication versus trying to everything about everything leads to Success. So yeah. This article should Be a Ted talk or a lecture at all Web learning institutes. very excellent.

  34. 57

    John Reynolds

    June 24, 2015 12:12 am

    This is indeed a great article – but you didn’t go far enough – the collaborative team must extend beyond Design and Development to include Marketing and even (gasp) Sales!

  35. 58

    All of the successful companies I’ve done work for have one thing in common: they don’t use Business Analysts or UX Designers. Business Analysts might be useful if they ever did what they were supposed to: i.e., analyse. However, they never seem to. Instead, they give Developers specs for solutions, usually ones that are woefully incomplete and self-contradicting, and keep the underlying problem a secret. Or worse still, they produce cave paintings that they call UML diagrams. The genius of these is that they’re just vague enough so that everyone that sees them understands a different thing about what they say.

    As for UX Designers: it’s like you’ve taken the fun part of a Developer’s job (interacting with a human being whose business problem you are ultimately solving) and handed it to some know-nothing back seat driver. If an actual User wants to tell me an interface isn’t right, I’ll listen. If it’s just some wireframe jockey in funny glasses wasting my time, I’ll leave and work in another team with a saner division of responsibilities.

    Business Analysts and UX Designers have one thing in common. Don’t ask either of them to solve an actual business problem using technology, because they can’t. For that you need an actual developer, and a customer who understands their problem well enough to articulate it. (Note: articulating their problem is not the same as articulating a solution to their problem: that’s the Developers’ job.) To be successful, you need to move the bureaucracy that BAs and UXs create out of both Users’ and Developers’ way so they can get on with it.

    TL;DR: Cynically, Business Analysts are generally failed developers that know how to use Word well enough to pretend to contribute something technical to a software team. UX Designers are failed Business Analysts who weren’t articulate enough to use Word, but who can still work with Paint OK. Real Developers and real End Users never work with either.

  36. 59

    I guess that outsourcing is now the best option for designers and developers in general. For instance, I have found some thoughts here


↑ Back to top