7 Signs That Your Software Developer Shouldn’t be Designing Software
A Software Developer’s purpose is to build software. They understand what it takes to write quality code, spending years to master numerous programming languages, frameworks, and key coding fundamentals such as separation of concerns, reusability, extensibility, and scalability. Depending on the project or their role in a company, they may be asked to not only write the software, but to also design it. Much like asking a carpenter to draw the blueprints for a building and then go build it, not all software developers are up to the task.
We’ve seen this happen often and understand how easy it is to fall into this situation. Here are seven signs that you might be asking your software developer to go beyond their area of expertise:
1. They don’t ask why
“Why” is the first step in designing software. Without understanding the ethos, the root, the original inspiration for the project, the software will seem lost, because it is. “Why” clarifies the purpose of your application, the problems you are trying to solve, the impact you are trying to make, and the service you are trying to provide.
Why is this application important? More often than not, you may not be able to articulate it yourself. It is more of a feeling or a concept. Understanding the “why” will fundamentally impact your design. A good Software Designer will ask why, a lot, until they definitively get it, and you fundamentally get it too.
2. They don’t ask who
“Who” is this application for? There is most likely more than one “who”. For each user of the application, what are their goals? Why are they using the software? What do they do today? What are their pain points? Why is your solution better? Good design should be user-centric. You now understand your purpose; tailor it to those who need it most.
3. They don’t make your ideas better
Great design is about creating! It is taking in the raw materials of your ideas, ethos, business goals, culture, user needs, brand, etc. and inventing a solution that does not currently exist, which is greater than the sum of the inputs. Good Software Designers take your ideas and run with them. They are creative. They go left, and right, and backwards, and orthogonal to your ideas to see what sticks. They get messy, try new things, and are not afraid to go down dead-ends before they arrive at a refined concept. Their process is the exact opposite as that of a Software Developer: visceral, not methodical.
4. They resist or avoid change
I say this from personal experience. Software development can be a tedious process. After spending hours of typing, compiling, testing and debugging, the last thing a Software Developer wants to do is to re-do something that is, in their eyes, functional and good enough. A Software Designer, however, understands that functionality is a small part of the puzzle. If initial field tests show that users are having difficulty with certain features or functions, then a software design will be the first on-board to change them. On the other hand, a Software Developer will make the changes, but with a fair amount of grumbling and frustration.
5. They don’t provide options
There is no one right way to create software. There is no one right way to give the user a great experience, either. A good Software Designer is aware of the abundance of options, and although they may have opinions on what works best in certain situations, they know that there are choices available to you and will consult with you on them.
6. They don’t have an opinion
Software Developers definitely have opinions – about technologies, development methodologies, programming languages, memory handling, exception handling, frameworks, code management, etc. But when it comes to your application design, a good Software Designer will be upfront about what is a good idea or a bad idea. How should you layout your screen? What should be on each screen? How many screens should there be? What text should you use on your labels and buttons? Do you use responsive design or a mobile specific site? What color pallets work best? What fonts work best? How do you handle contact us forms that drive more conversions? How is navigation handled to make the screen intuitive?
7. They want to be told what to do
If your Software Developer asks questions that puts the onus on you to make software design decisions, then they are asking you to let them go back and do what they are good at. It is probably a good idea that you do.
Software design and software development are not the same thing. Although there is a long tradition of Software Developers having to do it all, today this is no longer the case. In the last 5-10 years, disciplines of solution design, creative design and user experience have taken off. These specialties focus on bridging the gap between the idea, the user, and the technology, which was not gracefully traversed before. If these signs indicate your software developer is outside their comfort, consider engaging software design experts first, then ask your Software Developer to carry the baton for technical design and coding.