That One Thing Every Software Engineer Wanted Their Customers to Know
Okay, to claim that this is the most significant thing that a software engineer wants his client to know would be a little presumptuous. But what I am about to say is something that most software engineers can relate to. “What’s that one thing you wish your customers know?” is a question that’s been asked many many times in many different fora and I always had one simple answer to it.
If you asked a software engineer for something and it took him more than two seconds to give an answer, then what you’re asking for is most likely not easy to do.
It’s intentionally exaggerated to make things light but that doesn’t make it any less true. And for fellow engineers this should be easy to understand. But for the sake of clarity and actually making customers understand why asking “That’s easy right?” can be a little ridiculous for a follow up question, I am here to elaborate.
Software development takes a lot of planning in many different levels than it seems. As a software engineer, whether your company has very well defined software design practices or not, flexibility to changes and maintainability is always a part of your plan. Rework is never a cool thing and therefore you must be several steps ahead when designing an application; you can even say anticipation is key. Before you even get to code, you already have an idea which components need to be isolated or which schema to use to accommodate changes in the data you need to store. This is so you can quickly introduce changes once a customer requests for something. This is so you can say yes without thinking too much about it. This is why taking a little too long to respond means there’s a problem with the request.
As many businesses from many different industries start to harness modern technology and hire software development teams, this is something that customers should bear in mind. You of all people know your business. The development team would only analyze and work on the requirements you provide. It entails actually working with the team to create the most suitable solution for your business. While applications can be magical, it’s actually more hardwork and science. -aB