
The past couple of years have been hectic. I have learned a LOT and gained a lot of experience in programming. It seemed like every day I was asking myself, should I learn this? I think I’m gonna need to learn this. In the beginning, I felt overwhelmed. There is just too much to learn. New stacks, packages, frameworks, and languages seem to be appearing every day!
After much tinkering around, I have settled on a few that should enable me to keep building the projects that I am interested in. This is not to say that I have no plans to pick up new things as they arrive or are needed. The key word is needed. I have learned that the technologies we should focus on are those we need for the task or job at hand.
For the things I am working on, I decided to settle on the following technologies:
- React
- Next JS (React)
- Remix (React)
- TypeScript
- C#
- .Net
- Node JS
- MySQL
- MongoDB
I recently began studying C# and am quite impressed. Coming from a JavaScript background, I found C# easy to grasp, at least syntactically. My main languages are now JavaScript, C#, and VBA. I quite dislike VBA but have to use it at work for only one particular legacy project. I have to maintain the project and am looking forward to its retirement from our firm.
Software development can be a bit overwhelming due to the sheer volume technologies and languages out there. In the end, we must decide what to learn based on what we need to create. For example, I love Kotlin. I think it is a fun language to code in, but I stopped studying it because although it may be used in multiple areas, it is still primarily used for Android mobile apps. I am not into developing mobile apps at this time.
Learn what interests you, but put your focus on what is needed for the task at hand. You are not expected to know everything. I would suggest deciding what kind of project you will be working on, then choosing the appropriate language, framework, stack, etc.


