The Ship, Learn, Share Cycle

Ryan Baker
2 min readApr 23, 2018

Ship product that solves real problems. Make sure your peers do the same. These are the most important things software engineers can do. I use this cycle to give myself feedback, request it from others, and share what I’ve learned.

Ship, learn, share, then move on.

Ship

A software developer ships product for a company. Do that. But do more, too — make sure you understand why the thing you’re working on is important. Nobody will slap you on the wrist for asking what the problem is. Ok so you asked, and somebody who is closer to the customer explained it to you, do you get it? I usually don’t, so I ask

“whose problem is this exactly? Can you put me in a customer’s shoes for a mile?”

I can’t tell you how many times I’ve walked away from reading a Jira ticket or Trello card with a specific solution in mind, but no understanding of the problem. The second my solution falls over I’m without a paddle because I didn’t understand the problem in the first place.

This hurts my own pride, but it also slows our team down, and we have to readjust how long we thought it would take to build. The customers go that much longer without their problem solved.

Ship product that solves problems.

Understand the problems.

Learn

What’s keeping at your current job? Is it pay? Your awesome team? You love the mission?

Are you learning?

If you’re not learning, you need to put yourself in a position where you are. If that isn’t available at your current company, leave.

You can’t grow without learning.

It’s satisfying to understand a new thing and rewarding to use that knowledge. Learn from your own mistakes. At every code review I put a section for “concerns”. These are things that aren’t great about my code. Things that I’d like advice on or things I noticed that I could have cleaned up that I didn’t do at the time.

Take a few minutes to reflect on what you could’ve done better (as well as what’s good about it). Understand that making mistakes is important. Identify them, acknowledge them, and learn from them.

Share

Once you’ve shipped and learned, you’ve solved a customer’s problem while improving yourself! You’ve grown while helping people.

There’s one last thing to do: share your learnings with others.

Promote a culture of learning by sharing what you learned with those around you. The main idea behind this step is to be humble in sharing your learnings. Share what went well and especially share what went wrong — share your silly mistakes.

At the end of the day your team is solving problems together. Make your team better by pushing everyone to critically engage.

--

--