Over the course of my career, I worked with a wide array of technologies. My philosophy is simple: learn whatever technology is required to get the job done. I firmly believe that nothing beats on-the-job learning. With over 20 years of experience, I've consistently demonstrated the ability to quickly learn and master new tools. This adaptability is not just a skill — it's a cornerstone of my professional approach and a valuable asset for any team. To see the foundation of this adaptability and where it all began, I invite you to explore my education.
I used JavaScript pretty much throughout my career, but I have been deeply immersed in it for the past 8 years, with a focus on modern frameworks and tools. Over the last 5 years, I've specialized in React, after previously working extensively with Angular and TypeScript.
On the server side, I leverage Node.js with frameworks like Koa and Express to build scalable and efficient applications. While I'm aware of emerging technologies like Fastify, Deno, and Bun, I haven't yet used them in production. I did use Nest.js briefly for a test project. It reminded me a lot of Angular.
For development workflows, I prefer Vite for its exceptional speed and EsBuild for production bundling. Though EsBuild lacks some features compared to Webpack, its performance benefits outweigh the limitations, encouraging cleaner, more efficient code. I exclusively use ESM imports for both client-side and server-side development, embracing a modern and unified approach to module management.
I am passionate about Server-Side Rendering (SSR) and have a strong interest in web component-based frameworks. While I have not yet worked with Vue, Svelte, or Qwik, I'm eager to explore them in future projects. I admire frameworks like Lit and Polymer for their performance and potential, despite their reputation being misunderstood by some developers.
One of my favorite emerging frameworks is Enhance, which combines web components with SSR effectively. Conversely, I am not a fan of Next.js due to its architectural decisions, particularly around routing and React Server Components (RSCs). I find Remix to be a more thoughtfully designed alternative and would choose it over Next.js for new projects.