Oskar Dudycz

Pragmatycznie o programowaniu

Stacking the bricks in the software development process

2023-01-29 oskar dudyczCoding Life

cover

We, developers, are searching for Holy Grail, one pattern to rule them all. There’s no such.

In his excellent book “Atomic Habits”, James Clear described how we should stack our habits.

If we want to change our bad habits, we should create a helpful environment for better ones. For instance, put our mobile far from our hands to avoid being tempted to check it too often.

In the same way, we should build our dev environment from small habits and good practices to enable good behaviours and make it harder to continue bad habits. That means focusing on composability, on being able to remove specific components without breaking the whole system. On making our dev life efficient and limiting distractions.

I’m thinking about good habits as some form of Kata; by doing them, we’re making those practices commodity. By that, we don’t need to think about how we’re doing it, but as we’re doing that subconsciously, using muscle memory.

That reduces the number of things we need to remember reducing the cognitive load. Thanks to that, we can get more focus on the most important things. So, for instance, the bigger picture.

Of course, there’s a risk when we forget that those small things are just bricks to build something bigger, and we need to keep an eye on that.

What small things then? For instance:

It’s essential to have tools to zoom in and zoom out. We need to have a vision of the solution, but then you need to execute it. A grand vision with poor execution won’t succeed. The same thing goes otherwise. I’m a fan of proof of concepts, so I do a quick dive into the code/tools to evaluate assumptions and ensure that they’re not show-stoppers before moving forward.

Ergonomy is underestimated in our industry. Houses are made from bricks. In the same way, we should be stacking small patterns and practices matching specific needs.

That’s also aligned with the Kaizen concept, so continuous improvement on the process instead of trying to design one that will stay forever as designed.

Don’t think then on Clean, Hexagonal, or Whatever Architecture, but how to make your development and deliver as smooth as possible, limiting distractions.

Enhance accessibility, work on ergonomy, and be consistent. Stack the bricks one by one. Start with small things. Big will come.

Cheers!

Oskar

p.s. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.

👋 If you found this article helpful and want to get notification about the next one, subscribe to Architecture Weekly.

✉️ Join over 6500 subscribers, get the best resources to boost your skills, and stay updated with Software Architecture trends!

Loading...
Event-Driven by Oskar Dudycz
Oskar Dudycz For over 15 years, I have been creating IT systems close to the business. I started my career when StackOverflow didn't exist yet. I am a programmer, technical leader, architect. I like to create well-thought-out systems, tools and frameworks that are used in production and make people's lives easier. I believe Event Sourcing, CQRS, and in general, Event-Driven Architectures are a good foundation by which this can be achieved.