arcuser

Five Tips for Developers Who Work with Designers

As developers, we can sometimes get deep in the weeds of our work. We’re writing code, perfecting our next magnum opus. But don’t lose sight of what you are trying to accomplish.

If you are lucky, you get to work with talented designers, perhaps building applications with a UI/UX designer or creating an application with a cartographer helping a map tell its story. This article shares five tips that will help you and your designer build something awesome!

1. Understand your goals.

Applications are not just born. They are made based on a set of requirements. You probably have a set of user requirements and features that you and the designer need to collaborate on. As a developer, it’s tempting to just start banging away on your keyboard and try to prototype something quickly, but this is the part where you slow your roll, take a breath, and try to fully understand what you are going to build.

When working with a UI/UX designer, that person probably comes up with layouts and user interaction designs. When working with a cartographer, that person begins to craft the story of the map and has some ideas on how a user might interact with that map and explore it. The goal here is to know where you want to be before you start to go.

If you don’t understand a design, ask for some clarification. Just as you may not always write unit tests for your code right away, a designer might whip up an awesome design without all the technical considerations because the designer may not even know them. That’s okay. You can both help each other understand the end goals better. This isn’t about you. It’s about your users.

2. Don’t be afraid to give input.

You may not know the ins and outs of semiotics as related to mapping, but that doesn’t mean you can’t have some valuable input on map design or building the UI/UX of an application. Have you used an app on your phone? Have you navigated a website to pay a bill? Then you are a user and you have some input. The worst that can happen is you learn something. If a design doesn’t make sense to you, ask. You’ll either learn to understand it or improve on it. Both are positive outcomes.

My cartographic skills may not be the greatest, but I can still tell if a map isn’t quite clear, so I can provide that feedback. Your designer is as hungry for feedback as you are. Be honest and constructive with your feedback. “This sucks” is not constructive or helpful. However, a comment like “That looks busy. I think there are too many labels visible at this scale,” is constructive and useful.

Your designer is a designer for a reason. Your designer knows how to tell a story with a map or help users navigate an application. Your designer can also have some great (or at least definitely creative) ideas that can push the limits of what you can actually do.

3. Be honest about tech limitations.

It’s really nice as a developer to say, “You bet I can do that, <insert language> can do anything!” But let’s be honest—you know better. Your designer might want you to constantly rotate the labels on the map. That’s a limitation, so speak up about it. (Okay, maybe you could do it, but let’s be real.)

Remember, your designer is trying to come up with the best story or user interaction. Your job is to try and implement that to the best of your ability. If you really can’t do it, be honest about that. It will save you and your designer a lot of headaches and frustration.

Notice I said can’t do, not difficult to do. This isn’t carte blanche to say no to everything because it may be difficult. If something is going to be difficult and require more time, you can decide together if the effort is worth it or come up with a more viable solution. That’s what collaboration is all about! Sometimes you need to push your limits. The challenge makes it fun, and you might even surprise yourself.

4. Respect the process.

Look, I don’t care how much of a rock star you are. You’re not going to get it right the first time. There are going to be lots of iterations on a project. Your designer will iterate the UI/UX or the design of a map. You will iterate on the implementations and any new limitations you need to consider. This whole thing is a process. You will continually review the work being done and try hard to produce something awesome.

Every time I build an application, I always think, I’m done, it’s perfect, I can move on. Then my designer will test it and give feedback and I realize I have failed on every level. Okay, maybe not total failure, but the point is, you need to trust the process. Every project makes you a better developer, and your designer a better designer. Which brings me to my last tip.

5. Learn.

Take the opportunity to learn as much as you can when you have the chance to work with a designer. Trust me, it’s incredibly valuable. For example, I constantly had to look up how to align text within an image, but once I had a designer walk me through how to add custom fonts to a page, I can now do it (almost) every time.

You may not always have a designer to work with on a project. When you don’t, you can channel the wisdom of designers you have worked with. Designers want to learn from you so they can get a better idea of how far they can push the technology with their ideas in the future.

Designers and developers are both creatives who are full of ideas and eager to build. When you can work well together, you can build some awesome products.

Go on, build something awesome!

About the author

Rene Rubalcava is a product engineer on the ArcGIS API for JavaScript team. Follow him on Twitter @odoenet.