Dependency injection is an approach to solve inversion of control that facilitates components that are easier to test and mock. To better understand dependency injection, this article walks through the creation of a simple DI framework and explains step-by-step how it works.
10 Years, It is hard to believe that I have been posting thoughts here that long. And how so much has changed since I begun?
I started this journey with the encouragement of some amazing people in Microsoft, as an opportunity to spread the news about Hyper-V and even more relevant at the time System Center Virtual Machine Manager which was still known by its code name!.
My daily experience with this application, Windows Server, and real-world enterprise issues; positioned me at one of the leading edges of Microsoft Technologies; and fully armed with a true business driver pushing forward. Wounds and pains exposed, I gained a lot of insight to the digital plumbing of these technologies and as a result of a lot of fantastic information to share - sometimes not good news; but never the less - reality.
I have primarily worked in the mindset that when I find an issue to be addressed, before sharing, escalating or attacking - I need to stop and consider solutions; which normally result in a more constructive and progressive approach to unblocking my path. That ethos spans back to my days working as what would be considered today in 2018 as an IoT architect; but 20 years ago in a Rubber Molding plant, The Operations Manager always reminded me as I entered his office, “If you don’t have some suggestion for a solution before entering and presenting a problem, leave now, and come back when I am prepared (But don’t spend all day - Problems cost money!).”
In Hindsight, this approach challenged my limits every day; but I now also realise that he actually had no technical knowledge, and without my suggestions, we were heading the route of the Titanic!
While the solution itself continues to live on, as clear from the very recent launch of System Center 2019 at the Ignite Conference in Florida; My own passion and engagement with this technology has ultimately diminished to a point of history., despite co-authoring and technically reviewing a number of books, speaking at so many events, and investing 1000’s of hours.
After almost 20 years I changed Jobs, A decision which was extremely difficult to make; and honestly post that change point; I took at least 6 more months to adjust to the new world order.
I found myself amidst a team of like-minded peers, left to find a niche which I could own. Despite working with fantastic scenarios, these new challenges were amazing; and I was learning new stuff again. But, yet I still felt uninspired.
Just reflect on the number of blog posts I have published in the last 3 years.
My personal life also took a major change; and today after celebrating 21 years of marriage; I am a super proud father of two amazing girls, with my oldest just after celebrating her 4 birthday and the youngest just turned 2.
When I reflect on these massive changes, it is a totally different world from when I stood just 10 years ago.
Last week I participated in my first Microsoft Ignite event; and spent the vast majority of this opportunity meeting with so many old friends who have also evolved into completely new roles within their organizations.
As an example, Mr Taylor Brown; I had the honour of meeting Taylor for the first time almost 12 years ago. Back then we both were working on Test Scenarios for Hyper-V; in his role, he ran the labs for Microsoft’s internal testing; and I was responsible for our internal Technology Adoption Program (TAP) Pilot testing. Today, Taylor owns the Docker (Container) features in Windows Server. An amazing achievement, from an inspiring person and a good friend.
There are so many amazing people, with just as amazing stories; and I was so proud to be able to stop, and say hello to these icons, and learn how their lives have also changed.
As the adoption, and practices of Cloud become centrally focused for so many organizations the focus shifts left, as Compliance, Control, and Culture changes ignite to enable a completely fresh view of the potential.
When I combine past experience, with the foundational tooling which 3rd parties like Terraform offer, and native tooling which Microsoft adding to the core of their offerings, the next challenge is clear.
Now, I see a clear path to assist organizations of any size to evolve from what might have been the chaos of Shadow IT, the central control of IT, or the old practices of Enterprise Architects; and guide them to a culture driven enablement of Cloud; supported with Governance and enabling that missing trust thought the use of Safety Guard Rails
Finding my Mojo
Looking back at Ignite and the last 12 months of work; I now feel like I have a new rhythm. I have found a new passion - Namely that of enabling organizations on this transformation trough common sense, debate and technology.
Addressing political issues, and provisioning the structures of support required to encourage trust and co-operation, all of which is based on logical technical foundations (Yes Mr Spock!).
Even more rewarding, I am actually observing directly the impact this has on people and processes as they evolve their life’s with the culture changes required to start a new fabric of growth in cloud and DevOps practices; while also addressing their relationships with the business owners.
I believe I have found my Mojo.
The Next Step…
Over the last years, I have had the honour of presenting at so many fantastic conferences, delivering workshops, and engagement in meetups. When I reflect on the topics I have focused on these all have contributed to building strong foundational elements to this new way.
Topics ranging from Containerization and Automation with Docker and Kubernetes, Serverless to AI, BOT Frameworks to Python, Git flow to Infrastructure as Code, DevOps to Event Handling; while all feel very disjointed, these technologies combined are core to understanding how the world is evolving, and therefore how the organizations can adopt.
Its time to Hit Refresh, and join me on this next wave, as I share, present, document, and offer guidance; both here on the Blog, On stages in various locations and professionally, through a range of mediums from ‘hands-on’ demonstrations, Technical guides, papers, and talks.
I have my mojo charged and ready; Have You?