After not working for a while as a full stack developer, I got a new job. Now I'm about to be a web developer, again. This time, I will, along with a team, manage a website running a content management system (CMS), Drupal. Since I have never dealt with CMS, or PHP, before, this is a new venture for me. In preparation for this new job, I have watched tutorials, reinstalled Docker and many containers, done some works. Let's say I'm excited to come back to programming. I guess having a job does push you to be more motivated.
During my preparation, my brain just wondered somewhere. I typed in Google ".net vs javascript" and stumbled upon a post in Reddit. I discovered there is such a thing as NET Minimal API, similar to the one I deployed on my server as a music, file server over HTTP on ExpressJS a while ago. This got me thinking a bit so I searched "NET Minimal API" on Google and there was a tutorial for minimal API with .NET by Microsoft. I was surprised.
When I was still working as a Full Stack Developer for my old place, I hated their .NET Core codebase. Because at the time, I didn't understand what MVC was for, and many more intricacies in the underlying structure of their codebase. I often argued with their senior developer about the necessity of such baggage like interface, dependency injection. To this day, I still can't see the reason. Maybe because I'm ignorant to them, or I don't have the view of the bigger picture, as most my web applications are quite small, a simple ExpressJS with a couple of APIs should do it. That's why I was ecstatic when we move on to other backend frameworks. My favorite at the time was NestJS. It was built upon ExpressJS, so right up my alley. And since a new codebase meant moving on from legacy baggages, no more problems from .NET Core haunting me. Another thing I hated was I couldn't program the .NET server on Linux, I could only use Windows with Visual Studio, a behemoth IDE that ate up all of 12GB ram whenever I wanted to debug the program. I could never find ways to debug on VS Code, better yet, create a new .NET Web API project. Now with the discovery of .NET's command line, maybe those could be done on Linux.
But that got me to reflect on myself. What if I had figured this out sooner, would I still hate .NET as much as I did before. Maybe I would have enjoyed the framework, because the language C# syntax is much better than Java. I had difficulty working with LINQ before slowly it becoming my favorite thing when dealing with array of objects. It has two ways of doing things: query-like SQL or method (callback). I used the method way back then. My greatest achievement on LINQ was using that and my then-newfound knowledge of garbage collection to create about 10 million records for a table on MySQL daily. That job used to belong to a MySQL stored procedure, which runs for hours. My new way took 5 minutes to run. I always wondered whether the result was correct every time it ran but no one seemed to complain.