5 Things I Wish I Knew When I Started as a Software Engineer
Matt Stine Matt Stine

5 Things I Wish I Knew When I Started as a Software Engineer

When I got started, I didn’t know a damn thing about software engineering.

It was 2001. I’d just earned my Computer Science degree and was starting my first job. I’d taken the one software engineering course my university offered. I thought I was ready for any coding task they could throw at me.

I couldn’t have been more wrong.

Read More
The Cycle All Great Software Engineering Teams Avoid
Matt Stine Matt Stine

The Cycle All Great Software Engineering Teams Avoid

Our industry is possessed by a deadly cycle.

As we build software systems, we always run into complexity and problems. We see happier teams using a shiny new technology, and we run away to its greener pastures. Eventually, we discover the same complexity and problems that made us run away in the first place.

Read More
How to Find Yourself by Falling Upward
Matt Stine Matt Stine

How to Find Yourself by Falling Upward

When you hear the word fall, you probably think of a downward motion.

Fall is almost always followed by down. Gravity, which causes objects to free fall, is intuitively understood as a downward force. Even our Fall season takes its name from the annual phenomenon of dead leaves falling down from trees.

Read More
Every Scout Knows the Secret to Eliminating Software Engineering Toil
Matt Stine Matt Stine

Every Scout Knows the Secret to Eliminating Software Engineering Toil

If you’ve been a software engineer for very long, you’ve probably worked on a codebase that’s seen better days.

It’s not clear where the next feature should be added. Some components do too much, and some components do too little. Every change you make seems to break something else. Writing software has transformed from delight to drudgery. Your task list has become a toil list.

Read More
The Perfect 10 That Wasn’t So Perfect
Matt Stine Matt Stine

The Perfect 10 That Wasn’t So Perfect

I did not want to write today. I still don’t.

Today is supposed to be a perfect day. A “Perfect 10.” The tenth consecutive day that I’ve published as part of Ship 30 for 30.

Read More
3 Strategies That Helped Me Turn a 40-Hour Side Hustle Into $18K
Matt Stine Matt Stine

3 Strategies That Helped Me Turn a 40-Hour Side Hustle Into $18K

In 2015, I made $18,000 from a 56-page O’Reilly book titled Migrating to Cloud-Native Application Architectures.

Time clocked from the first word typed to publication? 40 Hours.

I’m not here to sell you a magic formula. A surface-level analysis might suggest this was nothing but dumb luck. But it would be wrong.

Read More
How Software Engineers Succeed by Selecting Tech That Sucks the Least
Matt Stine Matt Stine

How Software Engineers Succeed by Selecting Tech That Sucks the Least

Your technology organization cannot afford unlimited innovation.

Dan McKinley coined the term innovation token to model this concept. Every organization gets a fixed supply of approximately three innovation tokens, and it can spend them on anything. As your organization grows in maturity, you might earn a few more tokens. But for the foreseeable future, the supply is fixed.

Read More
As a Software Engineer I Want to Use the No Free Lunch Principle So That I Can Save Myself Some Pain
Matt Stine Matt Stine

As a Software Engineer I Want to Use the No Free Lunch Principle So That I Can Save Myself Some Pain

In 2008, I believed the only way to save a critical software system was to rewrite it from scratch.

I had just been promoted to engineering manager of my team, and that system was our biggest project. And it was in trouble. I knew we had made a lot of mistakes along the way. Now that I was “in charge,” I was going to fix everything.

That rewrite almost failed, and I nearly got myself fired.

Read More
How to Use Slider Bars to Make Software Architecture Decisions
Matt Stine Matt Stine

How to Use Slider Bars to Make Software Architecture Decisions

Today, I’ll teach you how to leverage The Slider Bar Principle to make better software architecture decisions.

The Slider Bar Principle teaches us that most software architecture decisions are fuzzy rather than binary. That is, the possible choices lie along a spectrum.

Read More
Two Things All Great Software Engineering Teams Share
Matt Stine Matt Stine

Two Things All Great Software Engineering Teams Share

What is a great software engineering team?

It routinely delivers differentiated value to its customers.

It can go fast forever.

It can respond to changing market conditions and move in the right direction.

It can deliver software that runs on day one and keeps running on day two.

Read More
How I Turned a $200 Carrot Into a Writing Habit
Matt Stine Matt Stine

How I Turned a $200 Carrot Into a Writing Habit

It’s Day One of shipping an Atomic Essay every day for 30 consecutive days. Ship 30 for 30 gave us a recommended day one prompt, and I am here for it. So why are we going on this journey in the first place?

I really needed a firm kick in the ass to get back into writing.

Read More