How thinking in server-first component boundaries can simplify data flow and reduce client JavaScript in Next.js applications. When I first started working with the Next.js App Router, I kept running into the same situation. Components would suddenly break — usually after adding a hook or a click handler. The fix felt obvious: add "use client". But after doing this a…
JobTeaser
https://medium.com/jobteaser-dev-team/ · 10 posts · history since 2023 · active
21 Apr
2 Dec 2024
Conduct a technical migration within less than 6 months — Part 3 (final) based on Next.js migration, performed at JobTeaser What is this 3-parts article about: sharing my own experience with handling a technical migration 📖 some additional elements that I find relevant and could help (identified with 📖 emoji) but not personally tested What this presentation is NOT about:…
Conduct a technical migration within less than 6 months — Part 2 based on Next.js migration, performed at JobTeaser What is this 3-parts article about: sharing my own experience with handling a technical migration 📖 some additional elements that I find relevant and could help (identified with 📖 emoji) but not personally tested What this presentation is NOT about: technical…
Conduct a technical migration within less than 6 months — Part 1 based on Next.js migration, performed at JobTeaser What is this 3-parts article about: sharing my own experience with handling a technical migration 📖 some additional elements that I find relevant and could help (identified with 📖 emoji) but not personally tested What this presentation is NOT about: technical…
5 Nov 2024
Managing z-index is a classic challenge for front-end developers. As a project grows, display conflicts and bugs related to z-index can quickly turn into serious headaches. I recently took some time to clean up the z-indexes in one of our projects. In this article, I’ll share the approach I used for this cleanup (while also laying the foundation for keeping…
4 Jul 2024
TypeScript significantly improved JavaScript development with enhanced code reliability and maintainability, ensuring fewer runtime errors and greater productivity for developers. But when you start working with it, the syntax can sometimes feel overwhelming. One of the most intimidating features in TypeScript is “generics”. Look at the example below 🤯 aren’t you afraid ? Types declarations from @tanstack/react-query (library) that can…
23 May 2023
© Midjourney Whether you’re fresh out of school or transitioning from another career, landing a job as a junior developer is a great accomplishment. But it’s only the first step on your path to a successful career. Finding your marks in this new position is the next big challenge. In this article I’ll share with you 7 tips I would…
14 Apr 2023
The Jobteaser application contains a lot of different relatively independent modules to help universities provide career guidance to students: a job board, a career event management system, a career advice appointment management system… When we decided to migrate our application’s backend from a monolith to a service-oriented architecture, we strived to keep each module as isolated as possible from the…
7 Apr 2023
When it comes to the communication between microservices, there are 2 possible extremes: All-sync: whenever a service needs data from another service, it fetches it via a synchronous API call (REST, gRPC, GraphQL). Service calls service calls service… which tends to evolve into layers of APIs, where each layer has dependencies on the next. All-async: no sync calls between services,…
31 Mar 2023
This is an introduction to how we’ve implemented microservices at a mid-size scale-up called Jobteaser , with a mix of Go and Ruby service chassis, gRPC APIs and data replication via Kafka. Foundation: The service chassis Back in early 2019, when Jobteaser decided to get serious about breaking up its decade-old Rails monolith into microservices, we assembled a Foundation team…