…involved in the software industry for three decades. Started coding at the age of 11 and won a bunch of podium positions on national and international programming contests.
With MSc degree in Computer Science and thesis in AI, I've never stopped searching for new technologies and better means of bringing software ideas to life.
During that journey I've managed to start a company, sell it, build several teams, bring to existence many projects and ideas from scratch, raised a kid and sailed a lot of miles.
Now, I offer my expertise to you.
Helping deliver smart software that works. As simple as that.
Smart is the keyword - smart in choosing the technologies to be used, smart development processes that enable the smart people in the team to be productive and fulfilled.
All these factors result in software systems that work and feel smart.
Software is about people. Either people who use it, or people who develop it.
Technologies are tools. We use them to communicate our ideas and achieve the added value that we want our piece of software to deliver. To people.
Hence, it is the technology that should match the people and their ideas, and each process in the company utilize tools that serve the people involved - developers and clients.
I have always considered efficiency and scalability as top priorities, because they are the key ingredients of smartness in our industry.
More often than not, this boils down to designing a software architecture and development organization, that ensure no problem will be solved more than once.
I work hard to prevent a company from tripping over a same stone twice.
Looks like consultancy. It, actually, is. The way it should have always been - someone bringing external expertise to a new team, working as part of that team.
Therefore, writing code, or automation scripts, or unit & integration tests is perfectly fine with me, when these are part of the team's workflow. This is how I get to know what needs improvement.
I stay in the company until the whole organization is sustainable and my expertise is no longer needed. Then we become old friends.
But, overcoming the inherent fear and discomfort of matching imagination with reality, by settling on a solution, even when it does not feel perfect — this has a lot to do with both completeness, and Agile. The process usually consists of many decisions, and like always in life — decisions are about what should be left behind, not about what will be taken away.read more →
That is not all. Having each copy (floor in our example) be individually “developed”, also means that it doesn’t pay off overthinking the structure and making it too reusable, because it can’t be. In software design, on the other hand, abstractions and structural reusability potential (if done properly) does pay off. Not to mention, that you don’t suddenly decide to add 3 more stories to a finished building.read more →
This brings us to the next big topic. How much area do you think is dedicated to cars in our cities? 5%, 10%? The answer is more than 30%! In US usually above 40%! Even the regulatory norm of having a garage, which roughly equals two not-so-small sized bedrooms, should ring a bell of alarm. Just think — if you remove all the boulevards and streets from Munich, for example, you’ll free enough space to build more than 500 Allianz arenas²!!read more →