Simple
Marcin Osiecki
I solve complex problems through clean architecture, scalable code, and empowered teams—combining hands-on execution with strategic leadership and passion for coding
Always seek the simplest possible solution. This might not involve writing more code. When you do end up writing code, make sure it has automated tests.?
Sounds simple, but the art of simplifying problems into smaller parts is one of the hardest things I had to learn as a technologist and manager. Things that took the technical world by storm (docker, python, aws, sql, excel) have very low entry points but allow you to create beautiful things (don't forget that software development is more art than science). As adoption and demand for new features grows, so does the complexity, but the underlying principles stay the same.
?Notable item missing from the list is Java. Java was simple. Then it grew. Now, you can't really deliver anything of value unless you know Java + million of other things (frameworks, libraries, devops techniques, infrastructure components, cloud principles etc...). It all needs to work together like an orchestra. Mastering those individual components might take time but if you tackle them one at a time, at some point you may reach a nirvana state where it all just makes sense. When you reach that point, some new things come along, and you start over - that is the beauty of technology (Note: Prometheus might have been the first programmer to experience this struggle with a never-ending quest of completing a simple task).
All makes sense, but why the Samurai? This is not just any Samurai. Fellow in the picture is Miyamoto Musashi - warrior, artist, writer, philosopher. He came up with the famous principle of "doing by not doing". By minimizing unnecessary movements, you can get to the goal quicker. Applying this strategy together with discipline and relentless pursuit of excellence allowed him to win over 61 duels (you lose, you die!). The simplicity of this approach may be considered obvious but unless you recognize and consciously eliminate those extra "movements" - like attending a meeting that you know you could skip and things will still be ok - your opponent will get to the final goal quicker.
领英推荐
Forward 500 years later. Agile manifesto, published in 2001, included term "maximize work not done". Technical gurus of the day recognized how powerful simplicity is and decided to build powerful tenants of agile framework around it. Agile is nothing more than breaking the project into phases and emphasizes continuous collaboration and improvement. Sounds easy. It is one of the hardest things to implement especially when you are dealing with large organizations.
There are many more examples of this. Evidence of how powerful simplicity can be is all around us. We just have to apply it.?
Keep it simple!
Software Engineering ? DevOps ? Data ? AI/ML
4 个月It takes a lot of work to keep things clean and simple!
Director of Product Management at Citi | Fund Transformation | Driving Engineering Strategy & Transformation in Global Fund Accounting
1 年Simplicity and doing by not doing are two very strong principles for engineering, management, and life. Doing by not doing and specifically the example you provided around meetings we all know are not needed but we attend anyway, will continue to be part of my goals for 2024. Thanks for sharing Marcin.
Creative / Digital Strategist
1 年Great lesson, Marcin. ?? The incessant flow of information around us at all times tends to convolute and complicate everything. I’ve had to apply this to my creative work too, particularly in writing. If you look at billboards, like Apple, the slogans are now only one or two words max. It’s an art to tell a story (or fix a problem) with minimal words (or code).
Head of Product - Flow
1 年Great post Marcin! Especially since the post itself was short and simple ??