I HELP TEAMS
Master the Practice
of Software Delivery
I recently had a highly productive day.
I built a lot of things for a client.Ā It was one of those days where you feel accomplished - holy cow - this was aĀ very goodĀ day.
At the end of the day, I noticed thatĀ dependabot was turned off.
Thatās the little Github thing that will update your librarie...
Congratulations!Ā You just realized you are running a software company.
You didnāt start that way, but one thing led to another, and now you have a small team of engineers.
They may be in-house or outsourced, but you are managing them anyway.
Software is tough.Ā Engineers seem to drive you craz...
This is one of the biggest and most common problems I see with software teams.
They try to release too much in one go. Ā
Problems:
- It takes too long, and always longer than they thought.
- Big Bang releases are hard to test and, therefore, hard to release.
- They also tend to block other items ...
My first meaningful code was in Modula-2 and then C and C++ in grad school.Ā Ā
All these were strongly typed languages.Ā Ā
I remember naming member variables m_iPrice m for member, i for integer, etc.Ā
Thatās when IDEs gave you no support in remembering what was what.
After that, I think I may hav...
Engineers are bad at debugging
š Ā
Perhaps that is a bit harsh.
Then again, I have worked with many engineers over the years and only met a few who are good at tracking problems down quickly.
Good debugging seems to come from a mixture of technique and experience.
When I debug code, I consid...
I'm excited to share some news with you.
I'm launching a brand new course called "Bottlenecks to Breakthroughs: Master Effective Software Delivery".
This is a fresh adventure for me, and while I'm super thrilled, I won't lie, there's a bit of butterflies-in-the-stomach feeling too.Ā š¦
Let me give ...
I'm back for another year of "Advent of Code" challenges! š
If you haven't heard of it, it's a month-long coding frenzy where people tackle a fresh two-part problem every day.
The thrill? Competing against your friends (or peers worldwide) for the speediest solution and bragging rights. š
Now, he...
If you're aiming for your teams to deliver value rapidly, fostering their autonomy is key.
Consider this: frequent cross-team meetings and decision-making processes can hinder swift progress.
A logical starting point involves examining fundamental constraints:
1ļøā£ Team Structure: Defining clear o...
Ever heard these statements in your team meetings?
⢠āFor this project, it makes sense to have a long running branch becauseā¦ā
⢠āIt does not make sense to have automated tests for this code, becauseā¦ā
⢠āWe need to deploy this service manually becauseā¦ā
⢠āThe smallest possible deliverable here will ...
I upgraded some tooling yesterday, and since it affected the code writing process (very far āleftā), I was ~50% faster to getting my code to be good with the new tooling.
Which leaves me wondering why I didnāt do that sooner⦠š¤Æ
Happy Friday!!!
Technical debt is often likened to a credit card š³: borrow now, pay back later.
The key notion is that tech debt is something you eventually pay back.
But here's the catch: it's rarely repaid. š®āšØ
Imagine a poorly managed country endlessly borrowing until bankruptcy.
That's the true nature of te...
Understanding cognitive load is crucial in software engineering, yet its impact is often neglected .
š It starts with mental models š§ . Does your team have a clear mental model of the systems they're working with? This foundation is essential for effective reasoning and problem-solving.
š The lan...