In the InVision hiring survey, 83% of people managers cited “collaboration” as a top soft skill they look for when hiring.
But General Assembly didn’t need a survey to tell them that. UX instructor Tyler Hartrich saw it on the ground a few months ago as his students were seeking jobs after leaving the program. “Interviewers were saying, ‘Talk to me a little bit about your experience working with developers.’ and our students were saying, ‘Oh, I don’t have that experience,’” he says.
So GA got to work and created a design-to-development collaboration within its user experience and software engineering programs. The course was specially designed to help its students enter the workforce more prepared to work on dynamic cross-functional teams—the kind of teams that make digital products that matter. And it’s working. Recent grads have found jobs at places like American Express, IBM, Goldman Sachs, and more.
We asked Tyler what are some of the core principles his team instills in students to create a more harmonious world for both designers and developers. Whether you’re a developer, designer, borrow these principles for your own collab.
Understand common processes, especially Agile
For the uninitiated, there are a handful of main development workflows in use at most companies. The two big ones: Agile and Waterfall. Waterfall is when a project is scoped ahead of time and the phases of a project are handed between teams in sequence. Agile is the process of working in shorter “sprints” to ship a defined phase of a product. The focus of these sprints can change as varying issues or goals are surfaced.
In the program, GA focuses more on an Agile model, which makes sure that both designers and developers get reps practicing modern product workflows. The exercise is more than academic: the way products are made and the way resources are allocated at a company depends on the chosen development processes.
Think of how the Lean Startup or Design Thinking methodologies can influence how products are designed. Developers should be ready to explain these basics to ensure a solid base to work from.
“That exposure [to Agile] is realizing, ‘Okay, now I see why it’s important to think about my work in components.’ Because now devs are in parts thinking much more about component design as it relates to building something in react,” says Tyler.
Now thanks to design systems and apps like Sketch and Studio, both developers and designers are beginning to speak the same language of components.
Modern tools are making it easier for designers to focus on execution and not managing the workflow of updating and replacing various elements. In the past, designers would have to send files manually and oversee they were implemented correctly—not exactly the best use of designer (or developer) time. As a designer or developer, your expectations on how collaboration happens need to keep pace with what’s available.
“I used to slice up a Photoshop file and send it out some of the assets over,” Tyler continued. “And now I tell designers, ‘You know, you’re living in the golden age’.”
Understand how long things take
The role and labor of the developer are often abstract and hidden. Meanwhile, a lot of the conceptual problem solving of the designer happens away from the Studio or Sketch file. A user can never be sure exactly how long it took to animate this or pull the data from that. As a result, when building a minimal viable product, it helps both parties to know what is a quick fix versus a multi-day project—and the answers aren’t always so obvious.
“There’s some basic things around understanding like, ‘Oh, It’s not just as easy as copying a line of coding and pasting it so it just works.’ And similarly for a dev to a designer, it helps to know the consideration it takes to think through a UI library,” says Tyler.
This article won’t dig up the “Should designers code?” argument from 2013. But some knowledge of the labor and technical constraints required to create certain features, leverage an API, or built certain components is an asset to a designer involved in making a digital product.
Likewise, developers should familiarize themselves with the UX process, learn the value of user research, and embrace iteration—all things that lead to a better user experience.
Jackie Spiegel, UX Designer at Equinox and student of the program recounts how collaborating with a developer on a project of a meeting scheduling app helped her be more efficient:
“While designing the UX around deleting a meeting invitee, my developer informed me that we could not simply use the native keyboard’s ‘delete’ button because as the designs stood the selected item (the name of our invitee) was outside of the input field, and would, therefore, fail to trigger the native keyboard.”
Making that approach work would have taken weeks of work. Plan B was to add a simple “x” next to invitees names so they could be deleted upon selection. This only took him a few hours.
”The collaboration prepared me for these types of discussions with developers is by teaching me how to work with developers to understand the amount of logic he or she would have to manually code in order to achieve the functionality dictated by my designs,” says Jackie.
Agree on the human and technical workflows
Part of any collaboration is agreeing on a set of core principles for how work gets done. And that often is split between how people work with one another and how technical tasks are completed.
On the people end, think: Does your dev team prefer communicating through Slack? Face-to-face? Trello cards? What’s the way they prefer to be asked questions? How do you submit bugs and problems according to their process? Does the design team use InVision? An old fashioned whiteboard?
“When students jumped straight into [collaborating], especially with working with their counterparts in dev, they just got a little too excited about getting into the work,” says Tyler. “That’s a shortcoming of not understanding the human workflow.”
And on the technical side what are the tools and processes being used? Are we using a prototyping tool? Inspect? Where are components and assets kept? What’s the best way to get your work in front of the right approvers?
“A dev is going to be very specific and very technical and analytical,” Tyler notes. “And that often isn’t the primary means by which designers consider their workflow.”
The diversity of teams is what makes them great. A designer/developer partnership humming on all cylinders is the stuff productive teams are made of.
For designers and developers, knowing these collaborative skills helps everyone create better work. And, in the case of GA, ensures its graduates leave ready to bring that knowledge to their first roles in the industry at startups and Fortune 100 companies alike.
In the end, everyone is looking for the same thing: to make something that makes a difference in the lives of users. Or as Tyler puts it, “Do you want to just make garbage or do you want to build something truly amazing and delightful?”