"Ever since I got hold of my dusty old 386 in the late 90s, I've known, I wanted to be a programmer."
This one never gets old. Yet, in a way, it's the truth. I have been developing software applications in various form and fashion for as long as I can remember. As a professional, I have been building software products and helping companies for close to a decade.
Though my first forays in programming started with Pascal and C/C++, I have spent most of my professional career dabbling in the Java (JVM) and .NET waters. Both platforms are immensely popular and rightfully power the backbone of many industries across the globe. If I have an opportunity, I would recommend them to anyone starting a new software project. Yet, their high level of abstraction can lead to situations, in which they can no longer match the growing demand of the industry.
I had a first-hand chance to see that, having switched gears towards building cloud-enabled applications during the last couple of years. The IT industry doesn't stay in one place, and I knew I shouldn't either. Building scalable applications requires in-depth knowledge of the underlying infrastructure, and a bit of re-thinking of the ways one has built software before. I discovered languages such as Go and Rust, which because of either spartan syntax, or strict memory management model, offered an opportunity for unlearning some bias and baggage I had collected over the years.
My career as a programmer has given me opportunities to dive into the unique mix of business, technical, and organizational challenges of many projects. I believe that I have the knowledge, skills, and experience to help others too. There is no perfect solution for every project. Let's find out what works for yours.