What I learned from Software Engineering at Google

When I first picked up Software Engineering at Google I thought it was another one of those FAANG books full of lessons that make no sense at human scale. I was surprised, the lessons apply to teams as small as 5.

Snippet:

Software Engineering vs. Programming

The difference between Software Engineering and Programming is at the core of this book. Titus Winters, author of the first chapter, finally made it click for me.

Software engineering is programming over time

Programming is about writing code. You take a task and write code to solve it.

Software engineering is when you take that piece of code and consider:

  • How will this task evolve?
  • How will this code adapt to those changes?
  • What does this code encourage others to do?
  • How does this code encourage other programmers to use it?
  • How will I understand this code in 5 months?
  • How will a busy team member jumping around grok this?
  • What happens when the business becomes bigger?
  • When will this code stop being good enough?
  • How does it scale?
  • How does it generalize?
  • What hidden dependencies are there?

That’s engineering :point_right: considering the long-term effects of your code. Both direct and indirect.

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

2 Likes

Corresponding tweet for this thread:

Share link for this tweet.

1 Like

This was a good article

2 Likes

Probably better to pick up this book

2 Likes