4 Major Lessons I Learned in 2022
Sharing lessons that taught me how to become a better full stack JavaScript developer in 2022
Gia Thinh Nguyen
Published on
I have been working as a frontend web developer for a little over a year since the beginning of 2021 and thought this would be the perfect time to write about some of my progress, from the biggest lessons I've learned, tech stacks I'm excited about, to what I hope to work on in the coming year.
Without a doubt, post-bootcamp life was challenging. I ended up getting a job fairly soon after graduating and I had a ton of questions on my mind about what I should learn to prepare myself better. Turns out, the best teacher I could have is simply hands-on experience.
From morning scrum calls, to the hustle and bustle of moving tickets accross a sprint, I ended up gaining the confidence I needed to start asking the right stackoverflow questions, debugging the right line of code, and contributing to my team all while keeping my motivation fairly high through my own projects or through reading articles about the latest framework craze.
Fast-forward a year later, it's been awhile since I've felt those days where impostor syndrome held me back from believing myself to be a developer, and I have to say, it feels quite refreshing being able to write this down.
Eventually it will come back though, especially once I start my next big challenge of returning to the full-stack spirit.
As a budding JavaScript developer, starting to learn TypeScript right away was definitely a milestone. It can be astonishingly easy to write un-safe code in JS, and through learning TypeScript I also grew to enjoy writing safe code and exploring strongly-typed libraries.
I also learned a great deal about CSS through the numerous frameworks I've experimented with, and from those experiments, I slowly ended up figuring out my favourite way of writing CSS! In order of their most recent usage, the list goes: styled-components, styled-system/theme-ui, tailwindcss, Chakra-UI and finally Stitches.
The more I went through these libraries the more I understood what kind of style I prefer over the other as well as their pros and cons. And of course as a frontend dev, it's always fun to see how many ways you can build the same button.
Learning about accessibility (A11Y) rounds out this year's achievements, in the bootcamp it was a subject that was lightly touched upon, but in my workplace it was absolutely critical and I feel very thankful to have experienced the challenge of building accessible UI so soon (except Dropdowns because this one exists already 🙃).
At some point in the year, I had the sudden hankering to learn more about building backend applications,
which led me to explore NestJS, a Node.js framework that
is similar to creating an express
app but written like Angular (Dependency Injections still
feels like sorcery to me 🪄 ).
I also took the opportunity to explore the JAMStack with Strapi and Storyblok, both headless CMSes, together with a Next.js frontend to leverage the powerful use of server-side rendering (SSR) or static-side-generation (SSG).
From learning about the JAMStack I was able to start working with YAHPA, a local non-profit, to build a multi-lingual web app during my free time. It has been an incredibly rewarding experience, and it really helped me understand the challenges of architecting a full-stack application from the ground up, from the choice of tech, getting performant lighthouse scores, SEO, to ensuring end-to-end type-safety.
Without a doubt, I plan on taking on more projects that involve building full-stack apps in the coming year with some of the coolest tech I've read about lately.
Despite the learning I've done this year, I still feel like I have a long way to go since the world of web development is constantly evolving (the latest Next.js Conf was pretty mind-blowing 🤯).
But it's usually from these types of advances in web that I feel truly grateful for joining the industry at such an exciting time. Speaking of game changing tech, here are a few I plan on exploring this year: supabase, an open source alternative to Google's own Firebase, planetscale a web hosted mySQL service that works absolutely well with ORMs like Prisma. And if there's room, I'll probably add GraphQL sprinkled with NexusJS on top too!
I feel like it's been quite a strong year for myself, not only in the pace that I've been learning but the strides and the direction that I am taking when it comes to learning everything there is about web development. I hope to continue on this path, and with my newly refreshed blog, I would like to pass on some of this knowledge for my forgetful future self and other readers that wander by this blog occasionally.