Hi, I am going soon to the new career adventure. I will be working as an Application Solution Architect, and I was starting on August 1st, 2016. This is my dream come true opportunity. I prepared myself for the possibility of more than 11 years working in the computer software industry. And truth be told, it was not an easy journey. I worked on green field projects, on stable products with excellent code quality, and on some ancient products with a lot of technical depth inside the code and Design. I was a less-qualified team member and the best-qualified team member. I solved advanced problems usually related to computation performance or advanced security. I solved a lot of defects. And I made many career mistakes, which sometimes cost 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 unsure what happened and if my skills are enough to succeed as an Application Solution Architect. For sure, I learn that the best software should have non-functional architecture. Design that defines technologies and their boundaries. And as little code as possible to make everything work correctly, fast, and securely. I often try to explain that with a Cup of Coffee as an example of Architecture-Design-Code. Architecture is a cup for coffee and, for example, a spoon to prepare it as non-functional elements (in software: assemblies or packages, database tables, directories, files… and more); the 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 satisfy and makes possible to make coffee good, fast and secure… and be ready to prepare a tea too). Code is the adoption of the use of 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 the IDesign Method presented by Juval Lowy in 2010, and 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 the “Zen of Architecture” video on Channel 9 or YouTube… If you also have a similar to mine dreams and want to become a 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 must have some background. If you pass Microsoft Certified Professional Developer: Enterprise Application Developer certified title exams or have about 5-7 years of different 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 an Application Solution Architect… will see, but please wish me luck ;). Thanks for reading!