Living here in Houston, I can’t help but know a lot of smart engineers. They do some incredibly awesome things that are over my head, like structural analysis or developing better ways to get oil from an old well. But when it comes to engineering software, there is a difference between engineers and software engineers.
An all too common scenario arises when an engineer runs up against a problem he can’t solve with currently existing software. Being the smart guy (or gal) he (or she) is, this engineer brushes off that dusty coding knowledge from college and creates a handy application for plotting ship locations and streamlining data entry. But this application was only planned for his/her use, and as other co-workers realize how brilliant the idea is, they start using it too.
The only problem is it was never planned with the long-term in mind, so it just can’t scale to the number of users required. You know your company’s engineers have great ideas like this all time. The question is, do you want those ideas to languish and die due to poor planning? Or flourish and grow into a custom engineering software application that everyone can be proud of?
The alternate ending to this story is this: The engineer brings a prototype to his boss. The boss and upper management see the value in the idea and put out a bid to a company that does custom software development on a regular basis. The software engineers at this company know how to properly scope the project before getting started and:
- ask questions about what might be required of the application in the future
- do research on the best technology and software available for creating the application
- create a prioritized list of requirements with a timeline for development
They then encapsulate the engineer’s good idea within the code of the application, allowing the brilliance of the idea to shine, combined with a great user interface and scalability to boot! They say that the best programmers are up to 28 times better than the worst programmers. When it comes to your software and your bottom line, who would you prefer to be in charge?