Posts
To harvest meaningful patterns from your dev log, you’ll need to capture the same things daily.
I’ve been engineering software for 21 years, and I’ll share what I’ve routinely kept in mine. Your context is different, so your list will be also. Just make sure you capture the same things daily.
Use this list as a skeleton to start from. It’s easier when you aren’t starting from a blank page!
In 2001, Lamont Adams of TechRepublic chiseled what would become ten commandments of Gerald M. Weinberg’s timeless wisdom: Egoless Programming. Today we’re going to learn its third commandment:
No matter how much “karate” you know, someone else will always know more.
First of all, this is a good thing. My friend Neal Ford has said that as soon as you are the smartest person in the room, it’s time to look for another room.
In 2001, Lamont Adams of TechRepublic chiseled what would become ten commandments of Gerald M. Weinberg’s timeless wisdom: Egoless Programming. Today we’re going to learn its second commandment:
You are not your code.
This is without a doubt one of the hardest lessons for any early-career engineer to learn. As humans, we take pride in our creations. Unfortunately, software is soft because it’s meant to be changed, rewritten, and very often discarded completely.
In 2001, Lamont Adams of TechRepublic chiseled what would become ten commandments of Gerald M. Weinberg’s timeless wisdom: Egoless Programming. Today we’re going to learn it’s first commandment:
Understand and accept that you will make mistakes.
This one should be obvious. But we engineers often behave as if our fallible human nature does not extend to our chosen craft. And as much as I’d love for that to be true, it simply isn’t.
In 1971, Gerald M. Weinberg wrote1 these Ten Commandments upon the stone tablets of The Psychology of Computer Programming.
Well, they weren’t really written in stone. But they have stood the test of time. Wise is the software engineer who learns them and puts them into practice.
1. Understand and accept that you will make mistakes. Assume that you will write bad code. Find it and fix it before it affects users.
I’m going to explain to you the concept of a paved path to software delivery.
A paved path will make your engineering job as easy as possible. It will complete every task that wastes your time and effort. It will keep you focused on delivering business value through technology solutions.
Sound good? Excellent. Let’s dive in.
It enables getting started with a clean architecture: It’s a lot easier to get started well than to get started poorly and fix it later.
Defects are the last of the Seven Wastes of Software Development.
The Seven Wastes were identified by Mary and Tom Poppendieck, the foreparents of Lean Software Development. It grew out of their efforts to understand and apply the principles of Lean Manufacturing to software engineering. Waste elimination is the essence of Lean’s archetype, the Toyota Production System:
All we are doing is looking at the timeline from the moment a customer gives us an order to the point when we collect the cash.
Task Switching is the sixth of the Seven Wastes of Software Development.
The Seven Wastes were identified by Mary and Tom Poppendieck, the foreparents of Lean Software Development. It grew out of their efforts to understand and apply the principles of Lean Manufacturing to software engineering. Waste elimination is the essence of Lean’s archetype, the Toyota Production System:
All we are doing is looking at the timeline from the moment a customer gives us an order to the point when we collect the cash.
Delays are the fifth of the Seven Wastes of Software Development.
The Seven Wastes were identified by Mary and Tom Poppendieck, the foreparents of Lean Software Development. It grew out of their efforts to understand and apply the principles of Lean Manufacturing to software engineering. Waste elimination is the essence of Lean’s archetype, the Toyota Production System:
All we are doing is looking at the timeline from the moment a customer gives us an order to the point when we collect the cash.
Handoffs are the fourth of the Seven Wastes of Software Development.
The Seven Wastes were identified by Mary and Tom Poppendieck, the foreparents of Lean Software Development. It grew out of their efforts to understand and apply the principles of Lean Manufacturing to software engineering. Waste elimination is the essence of Lean’s archetype, the Toyota Production System:
All we are doing is looking at the timeline from the moment a customer gives us an order to the point when we collect the cash.