Software Developer Range

In the world of acting, an actor or actress is said to have a wide acting “range” if they are able to play a variety of roles. Those who have a wide acting range are considered to be some of the best, and others are sometimes known for playing the same role in every movie. I’m sure you’ve noticed this before…

I believe that in the world of software development, there are two main “roles” that can be played. The people that I’ve worked with and have managed typically fall into one of these two buckets:

The Startup Developer

The first type of developer is one that works well at startups. This person works well under pressure and is not afraid of shipping quickly written and untested code. Often times, this person is motivated by the mission or end-goal of the software, and looks at code as merely a tool to solve problems.

Pros: The Startup Developer can ship tons of code quickly, which is great when you’re trying to get a new product off the ground. This person will build out an entire feature, tear it down and rebuild it multiple times until it solves every problem. This person is not afraid to get their hands dirty, make mistakes, and learn new things as they work.

Cons: The code that the Startup Developer writes will likely be code that solves short term problems, but does not consider longer term problems. At some point this code will likely need to be re-written.

The Enterprise Developer

The Enterprise Developer is an engineer who’s talents are better aligned with larger companies. This person looks at code as an art form, and is motivated by writing perfectly written code with full test coverage. They take pride in doing things the proper way.

Pros: The Enterprise Developer is capable of writing foolproof code that can last years or decades without being updated or fixed. This person often deeply understands the programming language and tools they are working with at an expert level.

Cons: It can be difficult to understand the Enterprise developer’s motivations, or get them excited about the business problem being solved. Without understanding their motivation, it can be difficult to get this person to have a sense of urgency in delivering a working solution.

A Third Role

All companies need a mixture of people that fall into both of these roles in order to be successful. The Startup Developer is likely more valuable to the organization in the beginning as you’re vetting ideas and business problems. However, once you know the problems you’re solving are worth solving, having an Enterprise Developer to build a foolproof solution is extremely valuable. For most companies that are innovative, there is a continuous cycle of need for both of these types of people.

However, I believe there is a third way for developers. Learning from the world of acting, I think that Developers should challenge themselves to have “range” when it comes to their work. When solving new problems with unknown markets, the Startup Developer role should be used. Solve problems quickly without writing the perfect solution. When there is a problem that is core to business and it is proven that customers need a reliable solution, bring out the Enterprise Developer and invest in making a solution that will last years.

This “dynamic” approach to problem solving should seem obvious, but from what I’ve seen this is extremely challenging for software developers to do. What I’ve seen that naturally happens is that new software developers fall into the Startup role because they do not have strong opinions about how software should be written. Thus, they aren’t afraid to make mistakes.

As they learn more, they develop strong opinions about the right way to build software. This is where things are counterintuitive. Once most developers reach this point, they lose the ability to act in the Startup Developer role. It’s not that they choose not to. It’s that they can’t.

I want to be extremely clear here because you may think that I prefer the Startup Developer over the Enterprise Developer. I think both of these personas have strengths and weaknesses. What I’m saying in this post is that truly great developers can evaluate their circumstance, and pick the correct approach for each individual problem. This is something that takes practice, and not every developer is capable of this.


If you’re anything like me, I got into software because I was excited about what could be created. I was motivated by all the possibilities, and at that time I was the Startup Developer. Then, at some point, the code became more important to me. I was obsessed about learning how to write immaculate code, but what problems I could solve with that code become unimportant. Now, I’m once again realizing that code is a tool used to solve problems and make things that bring people happiness. That is my new purpose, and I’ll have to use both the Startup and Enterprise Developer roles in order to achieve this purpose.

Many things can’t just be told to people. They have to learn it themselves, and this is likely one of those things.

Photo by Nicolas Hoizey on Unsplash


A Knife in the Gut

Starting Dropkiq has been one of my first real experiences in software sales. As a technical entrepreneur, I’ve made the mistake several times of having the “if you build it they will come” mentality. The thought that everyone will immediately understand the need for your product and line up to give you their time and money without you needing to do anything to make it happen! The reality is that even if you build something incredible, it will take a lot of time, effort, and money to get the word out. It’s not easy.

In fact, it’s hard to imagine today, but at one time even airplanes were a new concept that faced its own challenges to sell. Many people might know that the Wright Brother’s first flight took place on December 17, 1903. However, many people do not know that the first time they made money from their invention was February 8, 1908. In other words, it took a little more than 4 years to make their first sale.

I was chatting about this problem with a friend, Matt McIntyre, and he used an interesting analogy that really helped me to understand sales better. He told me, you need to imagine that every one of your potential customers has an imaginary knife in their gut. For some people, that knife is pushed in deep, and it’s really painful for them. Those people will buy your product to alleviate their pain. For others, the knife has little-to-no pressure at all. For those people, your product may be a nice-to-have.

I’ve thought about this a lot since we’ve had that discussion, and I think there is a lot of truth to this. Also, it’s important to realize that the pressure on the imaginary knife can change over time. If you think about recent events with COVID-19, there are some obvious examples. In November of last year, many companies had little actual need for Zoom App. Maybe they never had virtual meetings, or used free alternatives that were good enough. However, COVID-19 changed things for many companies. They now have a new pain that needs to be solved. The knife had been pushed deeper. Zoom was able to solve that pain and acquire thousands of new customers.

I’m still new to the world of software sales, and I certainly don’t have all the answers. All I know is that for many of us, the “hustle” is a long, difficult, and sometimes emotionally draining process. Just remember, it’s nothing new and it’s all part of the journey.

Photo by wu yi on Unsplash.