Your tech stack is your primary toolkit when it comes to writing code and creating software. It is typically the very first one that you started your coding journey with, though not always. Particularly these days with a new stack being released on a monthly basis.
I often get asked about my primary tech stack, as I've been actively developing for over 15 years, and here it is. I use the same one for both professional and more personal work and this has allowed me to write more sustainable code that is easy to modify and deploy. And I've been using it for over 15 years now, because it works.
By trade I am a .NET developer with C# as the primary programming language, which you can classify as the Microsoft Stack or the .NET Stack.
The primary set of technologies incorporated are as follows:
- Server => IIS (Internet Information Services)
- Database => MSSQL Server
- Language => C#
- Framework: .NET 4.8 (depending on the latest version)
Why have I been focused on .NET for so long?
The simple reason is that it was the first large framework and language that I used early on in my career, so I have gotten to know it very well during the past decade. When working on a new project, I typically find that the most difficult challenge is learning about the ecosystem and the dependencies required to make everything work.
Most of the code that I have running daily on various projects is relying on this stack, and so changing it up would be somewhat difficult and offer little to no real benefit to me personally.
And equally as important, if you are running a recent model of Windows on your laptop/PC, then it comes with IIS and the latest version of .NET already installed. To me, this implies less set up and less dependencies overall, which, again, is something that I find lacking when working with other 3rd party frameworks.
There is also longevity here. Many new programmers have the tendencies to jump to the latest stacks simply because they are new and making the rounds on social media accounts. Which is fine if you are looking to become familiar with current market trends, but can be a hindrance if you are looking to work on more complex and highly scalable software and technologies.
The newer the tech stack, the higher the chance that it might not be around during the first few years. Which means that the adoption rate to these stacks will initially be low as features get added and as it proves itself in real-world usage.
The .NET stack has been around for over a decade now and it has been improved and updated several times over. Since its inception, most of the underlying technologies have become open-sourced projects and setting up a .NET project is essentially free these days. And not to mention that Microsoft manages the entire thing and they have been around for a while.
I'm not personally just a web developer. I work with various technologies and in various fields, such as Data Science, Windows App Development, mobile app development and Game Development (kind of).
And the Microsoft stack allows me to do all of these things with the same programming language and the same framework, and many times the same code, which is a huge plus for me.
At the end of the day, the best tech stack to use is the one that you use daily, helps you with your personal and work goals, and are very competent with. The stack should complement what you are trying to accomplish and not be the primary focus of your work.
If you already have a stack in mind and just need to build up your skills, then check out my article on how to become a full-stack developer.