Gia Thinh Nguyen
Published on
In 2022, I took an interest in learning about full stack development, and I found that learning with established JavaScript frameworks can provide a great deal of insight and knowledge as well as guide me on my career as a budding developer.
I discovered Nest.js by way of a typo while looking up documentation for Next.js, and from the few minutes I had browsing through their docs, I took an interest in building backend applications.
I always found that building Express.js applications can be messy, like most greenfield projects, it requires a decent amount of research into package dependencies for the features you might want to build, and achitecting middleware can be a headache. Nest.js was conceived to bring structure and organization to this task, with excellent first party support to common Express modules like authentication, database adapters, logging and much more.
It was an interesting challenge to write Object Oriented Programming code with Nest.js and TypeScript, and the more I coded, the more I learned about the concepts behind building backend applications. Authentication was always something I wanted to build from scratch, and it took me multiple attempts with Nest.js to grasp the ideas behind middlewares, interceptors, guards and dependency injections, but once I did, it was absolutely rewarding to see my frontend app authenticate to my Nest.js backend.
Being able to build an authentication service while learning OOP concepts and backend principles felt like an amazing achievement this year as a professional web developer. For those interested, the repo can be found here.
I think the mindset that drove most bootcamp students like myself to continue our journey in this career was in the form of building new projects.
Ideas that came from daydreaming suddenly became a possibility that we needed to act on by quickly spinning up a create-react-app
repo.
While this is not a bad thing, I found myself developing a nasty habit of leaving unfinished projects to obsolescence. Open source packages advance at blazing speeds, and sometimes my interest in the latest trends in web development can outpace my interest in projects that I'm working on.
While I was working on the website for the non-profit organization YAHPA, I learned the importance of always maintaining your projects on a regular basis. New features for the site might always be on my mind, but my package dependencies will always see updates and breaking changes that I need to address, and from time to time they present an acceptional challenge that can bring forth great re-factors or learning opportunities.
It goes without saying that any developer working with JavaScript will eventually feel a wild west theme song playing in their minds once they realize how many JavaScript frameworks get released on a regular basis to fight other frameworks. Not just frameworks, but in general packages as well that tackle every aspect of web development. By the time I graduated from my coding bootcamp, the React-Redux package had basically seen its height in popularity for state management and suddenly I was back to writing vanilla React for newer projects.
The best career advice I was given came along the lines of always immersing myself in my chosen industry. In the case of web development, it can be difficult for anyone to always keep pace with the tremendous amount of advancements happening in the open source community while still learning on the job, but it is absolutely possible.
You don't need to always be on top of the latest trend, but being aware of upcoming trends in the JavaScript world can be surprisingly easy to follow. Personally, I found the State of JS survey every year insightful, and content creators like Fireship keep me on my toes for the latest and greatest in JS. Newsletters like JavaScript Weekly or tech journals like Hackernoon do an excellent job at keeping me up-to-date and motivate to learn about new trends in bite sized articles and videos that won't leave me too anxious about the FOMO on JavaScript.
In 2022, I worked as a full stack developer following my first job as a frontend dev, and these opportunities gave me valuable insight into what I want to achieve in my career as a software developer. I still find web development interesting, and the time I spent learning about the intricacies and programming paradigms of JavaScript, the more I want to focus myself on becoming an expert in web technologies using JavaScript.
I find myself choosing this career at an extraordinary time where JavaScript is taking the software development world by storm and I don't feel any sense in stopping now. For this year in 2023, I see myself continuing to learn about JavaScript through its many frameworks like Next.js, Angular, Vue and Nest.js which provide me with plenty of content into understanding the two fundamental pillars of JavaScript.