Great to see you here!
I hope you have found interest in the topics I cover in that blog.
Nice to meet you!
I’m Mike. Mike Lindner.
Since I ever met the software world – a bit awkward to admit, but that was almost 30 years ago – I have always been interested in “Doing it Right”: Clean, fast, efficient, elegant. Throughout those many years of deep understanding of software systems, I have spotted an interesting thing: The crucial importance of software architecture and design is clear to everyone. Yet, there were very few professional methodologies for that. In the last few years we experience pleasing changes, many of which are related to adopting new methodologies and new tools. Nevertheless, from internal familiarity with the SW development processes in the organizations my friends and myself have worked, there is still a long way ahead.
This is why I have opened that blog.
I decided to share my experience and lessons, learned over a large variety of technological domains and from many positions and points of view, and provide a space for discussions on those topics. I have firstly opened the blog in Hebrew, trying to close the gaps I identified in the local Israeli industry. After its success and the requests from non-Hebrew speakers, I started posting in English as well. In the subjects I raise and the approaches I suggest, I try to concentrate the experience I have gained over the years, and, especially, that part that is independent of specific technologies. Anyone who had the chance to develop in several distinct software industries knows, that when the issues, the problems and the constraints are reduced to their fundamentals, they many times boil down to very similar cases.
When I was looking, before opening the blog, discussions about architecture – I have had mainly found discussions and courses related to tools and platforms, and much less about principles and approaches. Tools and platforms are very important (and, of course, are mentioned a lot in the blog), but at the end of the day, they only provide known solutions to known problems. In order to understand which tools match each problem – and, in fact, what problems are there in the system at all – it is more important to first build the right state of mind. In my philosophy, the meaning of that is:
The ability to look at a system, on any domain, and promptly identifying its pros and cons, its important elements, the way those elements are connected amongst themselves and – mainly – the possible alternatives to each element and to each connection, and the implications of each alternative, on the good side as well as the bad side.
I hope that the blog will serve its purpose, and provide a platform for relevant discussions in the software architecture community.
Where are the approaches, problems and solutions I present taken from?
Throughout the years, I have gained lots of experience in various comprehensive software domains:
I have been working on analysis, design and development of software.
I have made researches – both analytical and experimental – and developed algorithms and engineering solutions to various systems.
I have been working with clients, suppliers, product designers and engineers from many disciplines – electronics, mechanics, optics and more.
I have defined methodologies for software testing, system testing and result analysis.
I have served in the military and civil sectors, in huge conglomerates and in start-ups on various stages.
I have lectured in the academy and in many other organizations.
Among the domains I have been experienced, are – algorithms; image and video processing; communication and networking; GIS; artificial intelligence; real time programming; embedded and multidisciplinary systems; DSP programming; VoIP systems; web; cellular networks; foundations and more. By moving across different domains and positions, I have sharpened and strengthened the understanding of systems – be those local applications, enterprise software, multidisciplinary products or others. Not less important, as in most real-life systems, that includes not only the software parts but also their context within business and other non-technical needs.
I will be very happy to keep in touch!
By a simple registration to my private mailing list you will get new knowledge, ideas and news, directly to your mailbox.