No one teaches us how to ship software

Shipping a product to your customers is a complex, but empowering, process. Software allows you to solve real problems for users and make money without investing much more than your time.

Getting there is tough.

Today we have lots of amazing content to teach us about the technology needed to build delightful software. This content can teach us the specifics:

  • JavaScript/React proficiency
  • Stripe payments
  • CSS
  • Storing data

But now, how do we integrate our newfound knowledge? How do we bring it all together, and ship our software to customers?

Join the newsletter for updates

Something’s missing

Educational content often focuses on language details or the abstract around building products. But you’re here because you want to learn how to practically build and ship software in the real world.

You’re left with as many questions as you started with. How do I patch together two services? When should I ship the product? How do I wire in user authentication and store data? How do I accept payments?

It starts to feel like you’re wasting all of those new skills you just learned.

Iterative Ship will teach you how to answer these questions, and take advantage of what you’re already learning.

What is it?

Iterative Ship is multimedia content structured as an ebook, videos, and code samples you can play around with and customize for your own needs.

Together, we discuss and explain our approach as we build different aspects of a product that we ship to users at the end.

Where do you start?

We’ll use modern web development practices to build a product quickly and efficiently. We’ll start by building a landing page with a beta sign up for gauging interest in our future product. Then, we’ll work on designing and building a UI, followed by user authentication, billing with Stripe, and serverless database management. Finally, this will all culminate in a polished product ready for our first customers.

We’ll build using an iterative approach. This means our product will start out as the smallest version possible. If your software was a vehicle, version one would be a scooter.

As we iterate, we’ll add new features, update old ones, and shift the product as we learn more from using the product and showing it to users. Your scooter is now looking more like a motorcycle.

As we test our software with users in the wild, we start to gain more insight into what people want, gathering data and creating automatic channels for understanding how to make the product better every iteration. Your motorcycle turns into a sedan, and eventually, a supercar will emerge!

This is a powerful method for building software because it dramatically decreases the amount of time needed before getting something into the hands of your users, your greatest teachers.

The earlier the better.

Glue code is the best code

Developing in today’s day and age often consists of patching together existing libraries and services to create something new. It’s important to focus on what makes your product special rather than reinventing the wheel.

When starting out it’s natural to want to implement everything. This approach will drastically increase your workload to feature ratio; that’s a bad thing.

If there’s a service or existing library you can use to avoid writing code, it’s often worthwhile to leverage it. However, that’s easier said than done. If you’re not careful, you can find yourself on a “tooling treadmill” - things seem to constantly be changing under your feet, and you can’t seem to keep up.

In Iterative Ship we will dive into how to vet services, leverage documentation, and debug issues. When needed, we will even do a bit of reverse engineering to get a library working.

What you’ll learn

  • How to ship a real world software product
  • Serverless architecture
  • Patching together modern services (“glue code”)
  • Integration testing
  • User testing and surveying
  • Software automation
  • Using “No Code” approaches to avoid code

What you’re expected to already know

In order to keep Iterative Ship tight and focused we will build off a foundation of assumed knowledge. If you don’t feel like you know these technologies, it’s quite possible that you still know enough to get a lot of value out of this course. If you feel too swamped, don’t worry! You can always come back later.

  • JavaScript fundamentals (functions, variables, loops, async/await)
  • Component-based frameworks (React/Preact/Vue)
  • Using APIs from 3rd party services (Stripe, Twilio, etc.)
  • HTML/CSS

A bit about us

We’ve been shipping software products to customers for a decade. Some products we’ve worked on and released have been wildly successful. Others we have worked on have failed miserably.

Through these failures and successes we’ve gained a lot of experience on building and designing software for large companies, startups, and our own side projects. We’d like to share this knowledge with you in a practical way.

“We” is Jonathan Cutrell and John Otander. You can learn more about us here:

The beta

We’re not ready yet, but are currently recording lessons and building the product. If you join our mailing list you’ll get access to the unedited videos before we post them on the website.

Join the newsletter for updates