Hello, I'm Wojciech 👋

and that's my daily list

Subscribe to read my programming experiences, ideas, mistakes and tips I wish I'd known myself earlier. Learn how to enable high-performing teams, make an impact, grow as a software engineer and level up your career.

Onwards to Programmer Anarchy

After reading my last post, you might have thought “I’m working on a team of A-players that are free to do their best work, what do I pick instead of Scrum?”. My first answer would be - do Scrum anyway. That seems contradictory, but I’m a big believer in “slow is fast” (“If you need to go fast, go slow. Because slow is smooth and smooth is fast”). It’s very easy to trip and fall on your face when you start running out of a sudden, while it’s much safer to pick up the speed gradually. So, if...
2 days ago • 1 min read

When is Scrum a good choice

So, we’ve discussed lately what are Scrum’s tradeoffs, now it’s time to weigh them and decide whether it’s a good fit for your team or not. The guideline is misleadingly simple: if you’re faster with Scrum - go for it, if you’re slower - ditch it. But what does it mean “faster”? Well, as Marty Cagan says, we should look beyond Time to Market - the metric when your feature gets deployed in front of your users, but rather focus on Time to Money - metric which means that you delivered something...
3 days ago • 1 min read

Scrum - the slow parts

In the last email we talked about the (possible?) benefits of Scrum for the development team. Today, let’s get clear about the costs. There’s the context switch cost of having meetings in general and Scrum is widely known (hated?) for being meeting rich. While most of them are like any other longer meeting you might have, the worst offender is probably the daily standup with some common anti-patterns. Sometimes it’s done with a team that’s too big and everybody just waits for their turn to...
4 days ago • 1 min read

Scrum - the good parts

Today, let’s dive into the good parts of a Scrum process. I’m taking a limited perspective of the software development team here. There are many reasons organisations choose Scrum that are not listed here. However, those benefits would apply to different parts of the organisation and it’s up to different teams to analyse them. Scrum basically awards a protection for the team, allowing them to stop chasing moving targets. Starting with the idea of a sprint, where the team takes a chunk of work...
5 days ago • 2 min read

Scrum is a tradeoff

This week I wanted to share my thoughts on using Scrum. The aim here is to surface its tradeoffs to help you discuss more easily whether it’s the right fit for your team. Many people have instinctive understanding when something’s not working, but it’s hard for them to put a finger on what the problem actually is. It usually manifests in expressing disappointment with “the process” and requesting to “ditch Scrum”, which often doesn’t really address the issue well. So, let’s start with...
6 days ago • 1 min read

Practise only counts when deliberate

I’ve been (re)reading The First 20 Hours book recently and there was one thing that surprised me and kept coming back. When Josh Kaufman discusses his process of switching his keyboard layout to Colemak and he mentioned that his typing speed improved due to his schedule of deliberate practise of typing words and n-grams in the evening up to a point when he was typing fast enough for his daily work. What he did next was common sense - he stopped his practise sessions, because he’s typing the...
24 days ago • 2 min read

Picking the right abstraction layer

Some time ago on a programming podcast I’ve heard something that shocked me. Hosts were discussing how ludicrous, dangerous, and wrong it would be to build your own authentication system on the backend. Obviously you need to pick an off-the-shelf solution like Auth0 to take this responsibility off your shoulders, otherwise you’re just shooting yourself in the foot. I remember my gut reaction - kids these days. For me it was equally obvious that if you’re not able to put together a safe...
25 days ago • 1 min read

Writing is thinking

I’ve used this phrase already here: writing is thinking. Today, I wanted to get deeper into what it means for me and what the writing process helps me achieve. Clearing mind I’ve used to pride myself on keeping everything important in my mind - what I’m doing tonight, what I’m doing on a Wednesday three weeks from now, did I book the flights for my holiday that’s happening in four months? At some point (probably in my late twenties) I had to let go of it. Either my life became complicated...
27 days ago • 2 min read

Make it work, make it pretty, make it fast

Since the early days of my programming career, I've been hearing the "make it work, make it pretty, make it fast" mantra. And the more years I spend programming, the more I'm convinced of its usefulness. Starting with "make it work" lets you focus on the task at hand - figuring out what exactly needs to be done (what does "work" mean), what the edge cases are, what dependencies you have (or need, but don't have). Sometimes this stage will actually show us that what we're trying to do makes no...
about 1 month ago • 1 min read

Should React be your whole universe?

Recently it was announced that the React Native EU conference changed into React Universe. The organisers explained the idea as: React Universe is an idea of utilizing React’s declarative paradigm for full-stack and cross-platform development. It combines different languages, frameworks, and platforms where React with React Native acts as a gateway, streamlining developer experience that’s optimized for platform-native user experiences. That jumped right on top of my recent critique of React...
about 1 month ago • 1 min read

Subscribe to read my programming experiences, ideas, mistakes and tips I wish I'd known myself earlier. Learn how to enable high-performing teams, make an impact, grow as a software engineer and level up your career.

Share this page