As developers, we can sometimes get pretty 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 a talented group of designers. Whether that is in building applications with UI/UX designers or working with cartographers to build an application that can help the map tell it’s story. Here’s a few tips to help you both 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, they probably come up with some layouts and user interaction designs. When working with a cartographer, they begin to craft the story of the map and 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. Similar to how 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. They may not even know them, but that’s ok, 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 the semiotics in mapping, but that doesn’t mean you can’t have some valuable input on map design. That goes for 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. 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. They know how to tell a story with a map or how to help users navigate an application. They can also have some great ideas that push the limitations of what you can actually do. I don’t want to say lofty, but definitely creative.
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’ a limitation, so speak up about it. Ok, maybe you could do it, but let’s be real here.
Remember, your designer is trying to come up with the best story or user interaction for the users. 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 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 continuously review the work being done and working 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. Ok, 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.
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. I constantly have to look up how to align text with in image, but I once had a designer walk me through how to add custom fonts to a page and now I can do it every time… almost.
You may not always have a designer to work on a project with and when you don’t, you can channel their wisdom. They’re looking to learn from you too, 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. Full of ideas and eager to build. When you can work well together, you can build some awesome products, so go on, build something awesome!