While coaching some tech startups, I noticed how eager people get to set up a Bitbucket and fire up the development IDE only to start banging away at the keyboard. Producing lines of code and generating commits seems to be the metric for measuring how fast your product is growing. But is it?

Technology and development languages have become so accessible, many tech oriented people no longer take the time to question the validity or added value of an idea and shoot straight to execution. So it seems to be far easier to start typing code than to take some time to reflect on the value you expect to deliver.

Code now. Fail tomorrow.

I’m all for quick iterations. But it shouldn’t become a free-pass for uninformed decision making, juvenile arrogance, or a laissez-faire attitude in terms of product development hoping the crowd will co-create the product with, or for, you. That’s a naive notion, stemming from misinterpreting lean methods or sheer laziness.

Frankly, I don’t care if you can build it in one night. I’d rather see you spend one day gaining a better understanding of the problem, the market, and expectations of potential end-user before one letter of code is produced. Having made that mistake myself in my past, diving head first into a product will result in large pivots that will consume lots of resources before you reach product-market fit.

User interface now. Code tomorrow.

The basis of a good product, is based on having a crystal clear understanding of your target-user, whom is your customer. Understand his motivations, expectations and frustrations and you will have the core ingredients for building an awesome product. Mind you, a good product is 10% tech and 90% interface.

Typical engineers will build interfaces that work. But that’s it. “But it works” is a common heard phrase when confronting an engineer with feedback. Other commonly heard arguments are “Well, if they can’t use this, they’re are idiots“. While both statements may be factually correct, they miss the point completely.

Many engineers and tech entrepreneurs might forget whom they are building the product for, and quickly forget who their users are. Fact is, if you can’t get your users to work with the product, then you have failed.

Even if you have an IQ of 150 or can produce the most elegant codebase you ever saw. If you can’t build a compelling and frictionless user interface, you simply failed. I recently began hanging up pictures of some end users, as a constant reminder for whom we are building the product for.

Add value now. Code tomorrow.

While the interface is detrimental to the success of a product, the relevance of your product for a potential customer is even more important. If your product doesn’t have any added value, then nobody is going to use it. No matter how sleek or easy to use you make your product.

Get a clear understanding of the market first. Who’s who? How does the ecosystem look like? By better understanding the competitive landscape and industry, you will get a clearer view on which role you will take on, where you will focus and invest your resources, and where you can make a difference.

Bottom line is, building a product and developing it are two separate things, and there is an order in when to do what. Take the effort to never lose sight of your end user nor the competitive landscape you are in, if you want to succeed at building a thriving product. Be a product builder, not a keyboard cowboy.

Because at the end of the day, you are expected to deliver value. Not code.