Chapter 1. Don't Put Your Resume Ahead of the Requirements

Nitin Borwankar worked at Ingres and Sybase in the early 1990s. He was involved with some of the earliest web-database applications using SybPerl and OraPerl, and soon after with early Enterprise Java. He was also an active participant in New-EDI, an IETF standards process for EDI on the Internet. He has been an independent consultant and researcher since 1994 and has focused on enterprise data and integration along with messaging. His current interests include database schemas for tagging (folksonomy) applications in the enterprise and database issues underlying social networks with applications in the enterprise. He is a member of the Policy Group in the Data Portability effort, where he is tasked with creating the first drafts for EULA templates that respect user data rights. He has written about database issues for GigaOm.com and blogs at http://tagschema.com. He holds a patent in messaging for collaboration across trust boundaries.

Nitin Borwankar
image with no caption

AS ENGINEERS WE SOMETIMES RECOMMEND technologies, methodologies, and approaches for solving problems because deep down we want to have these on our resume, not because they are the best solution for the problem. Such decisions very rarely result in happy outcomes.

The best thing for your career is a long string of happy customers eager to recommend you because you did the right thing by them and for the project. This goodwill will serve you orders of magnitude better than the latest shiny object in the latest shiny language or the latest shiny paradigm. While it is important, even critical, to stay abreast of the latest trends and technologies, this should never happen at the cost of the customer. It's important to remember that you have a fiduciary duty. As an architect you have been entrusted with the well-being of your organization, and it's expected that you will avoid all conflicts of interest and give the organization your undivided loyalty. If the project isn't cutting edge or challenging enough for your current career needs, then find one that is.

If you can't do that and you are forced to be involved in such a project, then you and everyone else will be happier using the right technology for the customer rather than for your resume. It's often difficult to resist utilizing a solution that is new and cool, even when it's inappropriate for the current situation.

With the right solution, the project will have a happier team, a happier customer, and far less stress overall. This will often give you time to go deeper into the existing older technology or to learn the new stuff on your own time. Or to go take that painting class you always wanted to. Your family will love you for it, too—they'll notice the difference when you get home.

Always put the customer's long-term needs ahead of your own short-term needs and you won't go wrong.

Get 97 Things Every Software Architect Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.