How do professional programmers convey that they don’t just know their way around web and mobile projects, but they can also be of value when it comes to solving complex, expensive business problems with software?

How do professional software developers jump ahead from their current position…

WITHOUT being language and framework agnostic
WITHOUT practicing for 27 hours per day for 3 years
WITHOUT learning seven new programming languages

For those of you who don’t know, allow me to summarize what I learned from Patrick McKenzie, Grandfather of the Internets (at Atlas by Stripe and Kalzumeus Software).

Professional programmers who’re able to create a remarkable career in software development focus on just three thing – the same three things that drive most hiring and promotion decisions at business of all sizes, including startups and F500 companies.

Professional programmers who’re able to stand out from their peers focus on…

  1. Satisfying a need for their customers / marketplace
  2. Solving an expensive, internal business problem
  3. Capitalizing on an emerging, profitable opportunity

Let’s look at three examples of how this plays out in the real-world.

1 – Satisfying a need for their customer / marketplace

Did you know that the average Staff Software Engineer at Walmart, the lowest ranked developers, earns $151,283 per year? Walmart spends a fortune on these developers NOT because they’re better than other developers out there.

Instead, their main responsibilities, which includes optimizing their ecommerce web app so that it becomes a machine that turns casual browsers into buyers is very important to both Walmart and the people who buy from them.

Even though the “business folks” at Walmart are experts in the brick-and-mortar business, their customers appreciate an ecommerce site that works 24/7/365. Hence, Walmart hires these developers and spends a fortune on them to satisfy that need.

It doesn’t make sense from the outside looking in, but I’m sure they’ve done the math and know that they can provide a lot more variety of products to their customers through their ecommerce site, and at more profitable margins, just like Amazon.

Regardless of what product or service a business sells, they’d hire a developer to build a website to peddle their wares because their customers and marketplace prefer to purchase products online.

An expert, professional programmer understands this and makes that crystal clear to their potential client or full-time employer, instead of selling themselves based on only the tech stack they’re familiar with.

2 – Solve expensive, internal business problems

Fortune 500 companies subscribe to Salesforce and spend, on average, $114,000 per year on Salesforce Consultants to customize the software because they want to find more customers, close more deals faster and keep customers happy.

Unhappy customers and slow sales-cycles are expensives problem for almost every B2B company, a spreadsheet could do the same job as a CRM, right?

But a spreadsheet simply can’t solve the problem of keeping customers happy.

That’s why Salesforce exits. And thousands of Salesforce Consultants focus exclusively on adding new features to system to help sales teams meet their quota, and improve the overall bottom line of the business.

You can also build a remarkable career as professional programmer, if you focus on building software that helps businesses solve problems like keeping customers happy, consistently meeting sales quotas, and improving the overall bottom line.

3 – Capitalize on an emerging, profitable business opportunity

Basecamp, Shopify and GitHub created software to capitalize on business opportunities. Entrepreneurs and startups build software products because they want to capitalize on an opportunity before another person does.

It happens that most startups today use Ruby, Python and JavaScript because if it’s good enough for Basecamp, Shopify and GitHub, it must be good enough for them too.

Ruby, Python and JavaScript are popular among entrepreneurs and startups because they can build MVPs quickly and bring their products and services to market faster to capitalize on an emerging opportunity before a competitor does.

That’s why the average software developer in NYC takes home $91,410 per year.

You could build software for a Fortune 500, a non-profit organization, or a small startup in the middle of nowhere. It doesn’t matter where or for whom or what industry.

You’ll be doing it for one or more of these reasons:

  1. Satisfying a need for their customers / marketplace
  2. Solving an expensive, internal business problem
  3. Capitalizing on an emerging, profitable opportunity

It took me more than 2 years to internalize this, so don’t blame yourself if other technical trainers haven’t taught you this. Perhaps, they don’t know.

Had I known this sooner, I would have spent more time to sharpening the skills of turning business problems, needs and opportunities into working software.

Had I known sooner that businesses hire software developers to build web and mobile applications to satisfy a need, solve a problem, or capitalize on an opportunity…

…I would have learned how to build robust and secure software, that’s easy to maintain and uber-profitable sooner, not just working software.

I wouldn’t have wasted time trying to understand how to implement authentication from scratch or the 7 different ways you can deploy and backup a web application.

I wouldn’t have worried about which framework or open source library I should learn to use next so that I’m employable and in-demand.

That’s because I would’ve mastered almost everything that’ll make me build software without constant hand-holding and apply them correctly DURING the process of actually building valuable and working software.

I would have learned them while writing code and being aware of what needs to be done to make to the codebase stand the test of time and getting feedback from stakeholders.

And I did, as soon as I stopped focusing on the tools of the trade – HTML/CSS, Ruby and Rails, JavaScript, Python, PostgreSQL etc – and started putting on a “business analyst hat” when deciding what topics, tools and techniques I should learn next.

I’m not telling you this to brag, but to impress upon you that understanding the business of software development helps you focus on the right things when approaching potential clients and full-time employers for work.

And figuring out how to demonstrate the value you provide.

You can also break into the tech and SaaS industry, create a remarkable career for yourself and jump ahead from your current position…

WITHOUT worrying about when you’ll be good enough
WITHOUT learning through career-killing trial-and-error
WITHOUT becoming “language agnostic” for a rainy day

That’s why I’m going to show you how to “model” the way you create software products after some of the great minds in this profession, like Ryan Bigg, DHH and Chris Oliver.

I’ve already shown you the only three things you should focus on as a developer who wants to show the value you can provide so that you can also create a remarkable career in software development for yourself.

In case you’ve forgotten (or skipped that section) it’s the same three things that drives hiring and promotion decisions at almost every business, including growth-stage startups and Inc. 5000 companies.

It doesn’t matter if you’re a consultant or looking for your next full-time position, you’ll be hired or promoted based on whether you can build software that helps the client or employer achieve these business objectives:

  1. Satisfy a need for their customers / marketplace
  2. Solve an expensive, internal business problem
  3. Capitalize on an emerging, profitable opportunity

Once you determine the WHY behind a particular software project you’re working on, the next step is to capture the requirements for the solution you plan to implement.

Here’s How To Structure Your Software Delivery Process

This is the exact process used by highly-skilled, high-paid developers you admire, including DHH, John Sonmez and Cory Althoff to ship profitable SaaS products.

Need/Problem/Opportunity → User Stories → Requirement Specification → Technical Specification → Implementation

Before you write a single line of code, you must wear your “business analyst hat” and create a requirement specification for the software solution you intend to implement.

Your requirement specifications should always be clear and testable, so one of the best ways to make sure you always build valuable and easy to maintain software is to write your requirement specifications as user stories.

Let’s take the most common web app functionality and write a clear and testable requirement specification as user stories.

Instead of Writing – Sign In Functionality Required

Professional Programmers Write – as a customer, I want to sign in using my username and password, so that I can check my order history.

The benefit of using user stories to write clear and testable requirement specifications is that you always fit your requirements into a format everyone involved in the project can understand, including non-technical “business people.”

As a [STAKEHOLDER] I want to [GOAL] so that [MOTIVATION]

The [STAKEHOLDER] describes whom you’re implementing a feature for.

The [GOAL] describes what the stakeholder does with a feature.

The [MOTIVATION] describes why the stakeholder wants that feature.

Here’s the previous example again, with each component of the user story identified.

As a customer [STAKEHOLDER] I want to sign in using my username and password [GOAL] so that a can review my order history [MOTIVATION]

When you write requirement specifications as user stories, you focus on the people who will use the software you build, instead of the exact solutions and the technology stack that you’ll use.

It also makes you think more logically and strategically about the complex, expensive business problem you’ve been tasked to solve, so that you can build valuable and working software for your clients and full-time employer.

Your Ideal Next Step…

Now that you know professional programmers use stories to ship secure and robust software that’s valuable and uber-profitable, how can you take this knowledge and make it a core part of your own software development and delivery process?

If you’re drawing blanks right now, don’t fret because I’ve got your back.

Just checkout one of these crash courses for studios programmers and SaaS founders so that you can start modeling the pros and ship a useful software product. You’ll be glad you did and amazed by how much you can accomplish with your skills and knowledge.

ps - don’t forget to share How New Kingmakers Ship SaaS Products That Sell to spread the word. Your fellow Kingmakers will thank you for it and return the favor, eventually.