Hi, I am going soon to the new career adventure. I will be working as Application Solution Architect and I am starting August 1st, 2016. This is my dream come true opportunity. I prepared myself to that possibility more than 11 years working in computer software industry. And truth be told it was not a easy journey. I worked on the green fields projects, on stable products with very good code quality, on some very old products with a lot of technical depth inside the code and design. I was less qualified team member and the best qualified team member. I solved very advanced problems usually related to the computation performance or advanced security. I solved a lot of defects. And I made many career mistakes and that sometimes costed me a lot. But mistakes for me are lessons I take and move forward smarter and better.
I learnt that one of the most important attitude is not look back and think mostly about future. Of course I am not sure what happen and if my skills are enough to success as Application Solution Architect. For sure I learn that the best software should have non-functional architecture. Design that define technologies and its boundaries. And as less code as possible to make everything works correctly, fast and secure. That is something I often try to explain with a Cup of Coffee as an example of Architecture-Design-Code. Architecture is a cup for coffee and for example spoon to prepare it as non-functional elements (in software: assemblies or packages, database tables, directories, files… and more), Design is a way you fill the cup, cup cover, cup lost temperature protection, ready to be used in car etc. (in software: design is a way it works and all possible use cases it can satisfied and makes possible to make coffee good, fast and secure… and be ready to prepare a tea too). Code is an adoption of use particular kinds of coffee, coffee machines, kinds of sugar, different spoons, monitoring of temperature (in software: design patterns for example singletons, facades, adapters, factories, chains of responsibility, strategy, inversions of control, data structures and algorithms, transactions, security, monitoring and more…).
All above is not a trivial thing, many people need a lot of time to understand that, but once they understand the presentations and communications of the software build decisions are much simpler. Also I like very much IDesign Method presented by Juval Lowy in 2010 and in my opinion He knows the subject very well. I for sure need some time to understand the method better. If you want you can look for my blog for the subject “The Best of All for Software Architects” or search on the Internet for “Zen of Architecture” video on Channel 9 or YouTube… If you also have similar to mine dreams and want to become Software Architect, I would like to encourage you to self-study Software Architecture from the nice book Microsoft Application Architecture Guide, 2nd Edition. The lecture is not very trivial and you have to have some background. In my opinion if you pass Microsoft Certified Professional Developer: Enterprise Application Developer certified title exams or have got about 5-7 years of different kind of systems experience, you are ready to read it and adopt all from this book very quickly. I wonder how my next career step goes and if I succeed as Application Solution Architect… will see, but please wish me luck ;). Thanks for reading!