I have, for the longest time, described myself as a back-end developer. Everything from a database up to a web API endpoint is my comfort zone. Increasingly though, the expectation is for developers to be full-stack; that is they can work across the back and front ends of a given application. As nice as a comfort zone can be, I decided to address this oversight in my skills.
I decided to dip my toe in the front-end waters by building a simple website in Angular. What struck my about this particular framework was the tooling around it. You can scaffold everything! The application, services, components... the tooling takes care of the boiler plate for you. Not to mention you can open the generated folder in Visual Studio Code and just get going.
This level of automation really impressed me, and made getting to grips with the Angular way of doing things really straightforward. In the past I've wrestled with out of date tutorials, manual setup, and odd Javascript errors. None of that here. Angular just works, and its all the better for it!
I completed my simple website in a couple of evenings. Coupled with a Pluralsight video and a book, I feel I have a good grasp of the high-level concepts at play in Angular. Pretty good going for someone who previously disliked front-end development.
Buoyed by my success with Angular, and wanting to leverage my years of experience in C# and .Net, I turned next to Blazor. This really is a gem of a framework. Getting up and running takes near zero time thanks to the built-in solution templates in Visual Studio. Razor syntax is very intuitive for writing the front end components, and you can often just guess (correctly) how to do something.
My knowledge of Angular came in useful too, with concepts such as routing and services already ingrained. Being a component framework, you can get a lot more reuse out of your code than you can with Razor Pages or MVC. Speaking of which, component libraries for Blazor are awesome!
Using MudBlazor, I was able to produce a very nice (if simple) looking website with near zero CSS knowledge. This was a massive boon to my enthusiasm, as I could easily create modal dialogues, validated forms, and collapsible navigation bars with ease.
Am I now a full-stack developer? Well, I've still a lot to learn (particularly around Javascript and CSS), but I'm a much more rounded developer than I used to be. There's a lot of enjoyment to be had in seeing an application come together end to end. The clicky bits are the visible tip of the iceberg, and its satisfying to now be able to go from a pen and paper sketch to an (albeit basically styled) working UI.
I'll no longer call myself a back-end developer. I'd be missing out on too much fun.