# Brainpower Group > Brainpower Group recruits software developers in Serbia and places them in the teams of companies in the Netherlands and Europe. The client interviews the candidates and decides who to continue with; Brainpower Group takes care of recruitment, the workstation, security and admin, from its own offices in Belgrade, Novi Sad and Niš, with a point of contact in Amsterdam. A full-time developer costs from €4,800 per month, all-in; part-time by arrangement. Brainpower Group is the combination of Reemo (nearshore sourcing, founded by Maarten ter Velde) and ESBL (digital agency, founded by Erik Schoorl and Bas Leijder Havenstroom). It is a trade name of ESBL B.V. (Dutch Chamber of Commerce 81886837), which also operates the brand ESBL Digital (https://esbl.digital). Languages: Dutch (default, /nl), English (/en), German (/de). Blog posts are in Dutch and English. ## Key facts - How it works: introduction, then we recruit and screen (including a technical assessment), the client interviews and chooses, then the developer starts with workstation, accounts and security ready on day one. - Offices: Belgrade; Novi Sad (Science Technology Park); Niš (Science Technology Park). Point of contact in Amsterdam. Serbia is in the same time zone as the Netherlands (CET/CEST). - Working language: English, with a Dutch point of contact. - Price: full-time from €4,800 per month all-in; part-time by arrangement. - Terms: a two-week trial (if it does not work out, the client pays nothing), then monthly contracts; scale up or down per month. - Security: managed, encrypted laptops, centrally managed accounts, SSO with two-factor authentication, secured access; a way of working aligned with the GDPR and NIS2. - Roles: backend, frontend, full-stack, mobile, QA/test, DevOps and AI engineers; also fractional CTOs. Developers use AI coding tools such as Claude Code daily. - The agency side of the group (ESBL) also builds complete products in-house. ## Contact - Book an appointment: https://on.sprintful.com/introduction-esbl - Chat: on every page of https://brainpowergroup.eu - Email: hello@brainpowergroup.eu · Phone: +31 20 210 1978 - Visiting address: Oudezijds Voorburgwal 282, 1012 GL Amsterdam, Netherlands - Postal address: Keizersgracht 62, 1015 CS Amsterdam, Netherlands - LinkedIn: https://www.linkedin.com/company/brainpower-group-eu/ ## Pages - [Home](https://brainpowergroup.eu/nl): how recruitment works, who does what, the people you talk to, profiles, comparison with hiring yourself and offshore, clients, FAQ. - [werkwijze](https://brainpowergroup.eu/nl/werkwijze) - [cases](https://brainpowergroup.eu/nl/cases) - [blog](https://brainpowergroup.eu/nl/blog) - [overOns](https://brainpowergroup.eu/nl/over-ons) - [remoteTeam](https://brainpowergroup.eu/nl/remote-team-opbouwen) - [technologie](https://brainpowergroup.eu/nl/technologie) - [contact](https://brainpowergroup.eu/nl/contact) - [privacy](https://brainpowergroup.eu/nl/privacy) - [voorwaarden](https://brainpowergroup.eu/nl/voorwaarden) - Markdown version of every blog post: add .md to its URL. - RSS: https://brainpowergroup.eu/nl/feed.xml (Dutch), https://brainpowergroup.eu/en/feed.xml (English) - Sitemap: https://brainpowergroup.eu/sitemap.xml - Full text for language models: https://brainpowergroup.eu/llms-full.txt ## Services - Custom software: Through ESBL, the other half of the group, we design and build complete products in-house: strategy, design, development, testing and DevOps. One team is responsible for the whole project, through to delivery. ESBL has been delivering software for about twenty years. - Legacy modernisation: We move outdated systems step by step to a modern, scalable stack while your business keeps running, for example from ASP.NET Web Forms or PHP to a cloud-native architecture. - Remote developers and teams: We recruit developers in Serbia for your team, individually or as a complete team. They work in our own offices in Belgrade, Novi Sad and Niš, with one point of contact in Amsterdam. They work full-time, or part-time by arrangement, and you scale up or down each month. - Fractional CTO: Erik Schoorl and Bas Leijder Havenstroom work as fractional CTOs: an experienced CTO for part of the week. They handle tech strategy, architecture, security and leading your team. This suits scale-ups that need technical leadership but not yet a full-time CTO. ## People - [Bas Leijder Havenstroom](https://brainpowergroup.eu/en/about-us/bas), Managing director, Amsterdam. Together with Erik Schoorl, Bas founded ESBL, one of the two companies behind Brainpower Group. He is managing director of ESBL B.V. and the first point of contact for clients. - [Maarten ter Velde](https://brainpowergroup.eu/en/about-us/maarten), Head of partnerships, Amsterdam. Maarten founded Reemo, one of the two companies behind Brainpower Group. Reemo recruits and supplies nearshore developers. Maarten leads business development and partnerships. - [Erik Schoorl](https://brainpowergroup.eu/en/about-us/erik), CTO and lead architect, Amsterdam. Erik founded ESBL together with Bas. He is CTO of Brainpower Group and has final responsibility for architecture and delivery. - [Roderik Schiele](https://brainpowergroup.eu/en/about-us/roderik), Project manager, Amsterdam. Roderik is a project manager and full-stack developer at ESBL, one of the two companies behind Brainpower Group. - [Milos](https://brainpowergroup.eu/en/about-us/milos), Tech lead and general manager, Novi Sad, Novi Sad. Milos runs our office in Novi Sad, both technically and as general manager. He is a software and AI engineer with ten years of experience. - [Aleksa](https://brainpowergroup.eu/en/about-us/aleksa), Tech lead, Belgrade, Belgrade. Aleksa is tech lead in Belgrade. He leads the development team, oversees the architecture and reports to Erik. - [Barry Willems](https://brainpowergroup.eu/en/about-us/barry), Head of AI, Serbia. Barry is Head of AI at Brainpower Group and part of the team in Serbia. He is a full-stack developer. - [Boris](https://brainpowergroup.eu/en/about-us/boris), Developer, Serbia. Boris is a developer at Brainpower Group and works from Serbia inside client teams. ## Client cases - [ABN AMRO Clearing](https://brainpowergroup.eu/en/cases/abn-amro-clearing) (Financial services): Our developers worked on security, a new data lake and a trading system in C++. They also handled release management and maintenance of the legacy Windows Forms applications that are the interface to the trading system. - [Vision Healthcare](https://brainpowergroup.eu/en/cases/vision-healthcare) (Healthcare): We migrated a PHP backend and a .NET Framework Forms frontend to a modern stack on Azure, with CI/CD and separate release and beta channels. - [KiKa](https://brainpowergroup.eu/en/cases/kika) (Charity): A donation platform in .NET on Azure that is simple for donors and correct to the cent behind the scenes. Payments run through certified providers. - [Nannies at Night](https://brainpowergroup.eu/en/cases/nannies-at-night) (Childcare): We replaced separate tools and emails with one platform for matching parents and nannies, planning and payments, and built a new website alongside it. - [ViaLuxury](https://brainpowergroup.eu/en/cases/vialuxury) (Travel): We rebuilt ViaLuxury's ageing platform from the ground up, with a payment platform, escrow, an availability database and hotel onboarding. - [Zibber](https://brainpowergroup.eu/en/cases/zibber) (Property photography): We reviewed Zibber's photography platform, tackled its performance and scalability bottlenecks and designed an architecture that can handle further growth. - [Shell](https://brainpowergroup.eu/en/cases/shell) (Energy): An internal .NET system that brings the whole permit-to-work process together: requesting, monitoring and managing permits. - [Ahold](https://brainpowergroup.eu/en/cases/ahold) (Retail): Commissioned by Respons, we built an API for Ahold to load event data, so that traffic and load per store can be forecast more accurately. - [Kruidvat](https://brainpowergroup.eu/en/cases/kruidvat) (Retail and travel): For Kruidvat's surprise trips we worked on the online side: buying a voucher, redeeming it, entering preferences and only later finding out which European city you are going to. - [PostNL / CBRE](https://brainpowergroup.eu/en/cases/cbre) (Real estate): A sales platform with which CBRE brought a large, confidential PostNL property portfolio to market in a structured and secure way. Off-the-shelf property platforms did not exist yet. ## Blog (English) - [Keeping guests' mobile numbers out of hotel systems](https://brainpowergroup.eu/en/blog/keeping-guests-mobile-numbers-out-of-hotel-systems): Hotels get the travel agency's phone number instead of the guest's mobile. They get the real number only with the booking number and the guest's postcode. - [Patching without waiting for the CVE](https://brainpowergroup.eu/en/blog/patching-without-waiting-for-the-cve): The Collabora flaw in Nextcloud was exploited a month before its CVE appeared. Update what faces the internet on a fixed schedule, not after an advisory. - [Stacks that work well with AI coding tools](https://brainpowergroup.eu/en/blog/stacks-that-work-well-with-ai-coding-tools): AI coding tools write better code in stacks with static types, clear conventions and fast tests, because that is where the tool gets the most feedback. - [Trends in development platforms and what to do about them](https://brainpowergroup.eu/en/blog/trends-in-development-platforms): AI coding agents are part of daily work, 90 percent of organisations have an internal platform, serverless has matured and Postgres is the default database. - [NIS2 and your development team: what changes in practice](https://brainpowergroup.eu/en/blog/nis2-and-your-development-team): NIS2 is now law in Belgium, Germany and the Netherlands. Your team gets requirements on secure development, access, logging and incident reporting within 24 hours. - [Agreements for AI coding tools in a remote team](https://brainpowergroup.eu/en/blog/ai-coding-tools-in-a-remote-team): Let your remote team use Claude Code only with business accounts, put the rules in the repository and keep production keys out of the tool's reach. - [React Native or Flutter: choose based on your team](https://brainpowergroup.eu/en/blog/react-native-or-flutter): If your team already writes React and TypeScript, choose React Native. For a separate mobile team or an app that must look identical everywhere, choose Flutter. - [The OWASP Top 10 for your dev team](https://brainpowergroup.eu/en/blog/the-owasp-top-10-for-your-dev-team): The OWASP Top 10:2025 adds supply chain failures and exception handling. Use it for your review checklist and tests, but as proof of security it is too narrow. - [Supply chain attacks on npm and PyPI: what your team should do](https://brainpowergroup.eu/en/blog/supply-chain-attacks-on-npm-and-pypi): In a supply chain attack on npm or PyPI, malicious code often runs during installation. Lockfiles with hashes and a waiting period for new versions limit the risk. - [Choosing a headless CMS that suits your editors](https://brainpowergroup.eu/en/blog/choosing-a-headless-cms): Pick a headless CMS for your editors, then for hosting and the price in year three. You can self-host Strapi and Payload; Storyblok is SaaS with a visual editor. - [Laravel in 2026: still a good choice?](https://brainpowergroup.eu/en/blog/laravel-in-2026): Laravel is a good choice in 2026 for most web applications and SaaS products. Less so when your team only writes TypeScript or your product is mostly data and AI. - [Adding AI features to existing software](https://brainpowergroup.eu/en/blog/adding-ai-features-to-existing-software): Start with one narrow LLM feature on data you already have, test it on fifty to a hundred real examples and track cost and privacy per feature. - [Vercel or self-hosting: which fits your product?](https://brainpowergroup.eu/en/blog/vercel-or-self-hosting): For a small Next.js team, Vercel is usually the fastest way to production. Self-hosting in Docker pays off with steady traffic or when you already run servers. - [TypeScript across frontend and backend: what you gain](https://brainpowergroup.eu/en/blog/typescript-across-frontend-and-backend): With TypeScript in frontend and backend you share the types of your API contract. Types only exist at build time, so validate incoming data with a schema. - [Running stand-ups with a remote team](https://brainpowergroup.eu/en/blog/running-stand-ups-with-a-remote-team): A stand-up with a distributed team stays under fifteen minutes once you drop the status round. Walk the board and only talk about work that is stuck. - [How much scale your product needs](https://brainpowergroup.eu/en/blog/scalability-what-you-actually-need): Measure where the time goes, fix the database first, add caching and queues where the data points, and only then add servers. - [Managing secrets and API keys safely](https://brainpowergroup.eu/en/blog/managing-secrets-and-api-keys-safely): Secrets belong in a vault or your CI's secret store, never in git. Locally you use development keys with limited rights, and every key must be replaceable. - [Serverless or your own servers: cost, cold starts and lock-in](https://brainpowergroup.eu/en/blog/serverless-or-your-own-servers): Serverless pays off with low or irregular traffic. Your own server wins with steady traffic, long-running processes or a lot of computation. - [Working with developers in Serbia: time zone, language, holidays](https://brainpowergroup.eu/en/blog/working-with-developers-in-serbia): Developers in Serbia work in Central European Time and in good English. What differs: public holidays, names and the GDPR, as Serbia is not in the EU. - [When headless architecture makes sense](https://brainpowergroup.eu/en/blog/when-headless-architecture-makes-sense): Headless pays off when you serve several frontends or need more than a standard platform can do. For a single marketing site you mostly pay for extra moving parts. - [Hiring in-house or nearshore: what a developer costs per month](https://brainpowergroup.eu/en/blog/hiring-in-house-or-nearshore-what-a-developer-costs): A Dutch developer on €5,000 gross costs about €6,240 a month with holiday pay and contributions alone. Through us, a nearshore developer costs from €4,800, all-in. - [Why and how to meet your remote team in person](https://brainpowergroup.eu/en/blog/meeting-your-remote-team-in-person): Meet your team in Serbia in person at least once, after six to eight weeks of work. Two or three days is enough, and Dutch or German visitors need no visa. - [Next.js, TypeScript and Postgres as the default for web products](https://brainpowergroup.eu/en/blog/nextjs-typescript-and-postgres): Next.js with TypeScript and Postgres is a sensible default for most new web products: one language on both sides and a database that covers nearly everything. - [.NET and React for enterprise software: team and pitfalls](https://brainpowergroup.eu/en/blog/dotnet-and-react-for-enterprise-software): .NET with React suits enterprise software. The risks sit where the two meet: types that drift apart, two separate releases and a team split into two camps. - [When Python and FastAPI belong in your AI backend](https://brainpowergroup.eu/en/blog/python-and-fastapi-for-ai-backends): For calls to a language model API, TypeScript is enough. If you process documents or build your own embeddings, choose a FastAPI service with a typed client. - [Why time zone matters more than the hourly rate](https://brainpowergroup.eu/en/blog/why-time-zone-matters-more-than-rate): A low hourly rate far away can cost you more than it saves. Every question that waits overnight costs a day, and that day is not on the invoice. - [Postgres as the default database: when it fits and when not](https://brainpowergroup.eu/en/blog/postgres-as-the-default-database): Pick PostgreSQL for a new product. With jsonb, full-text search and pgvector you rarely need a second database early on, which saves operations work and money. - [Monolith or microservices: decide on team size and domain](https://brainpowergroup.eu/en/blog/monolith-or-microservices): With one team of up to about eight developers, a modular monolith is the better choice. Microservices pay off once several teams want to release independently. - [Finding developers for older stacks, and keeping them](https://brainpowergroup.eu/en/blog/finding-developers-for-older-stacks): You find developers for .NET Framework, Web Forms, old PHP or Delphi through their past experience. They stay when there is a plan to modernise step by step. - [Do you need Kubernetes? What fits which team size](https://brainpowergroup.eu/en/blog/do-you-need-kubernetes): With one or two teams you usually do not need Kubernetes: Docker Compose or managed containers is enough. Kubernetes pays off with many services and several teams. - [Handing over legacy code to a new team](https://brainpowergroup.eu/en/blog/handing-over-legacy-code-to-a-new-team): A legacy code handover works with a few weeks of overlap, a new team that can build and deploy on its own, and small first tasks that go all the way to production. - [When a remote team does not work, and what to do instead](https://brainpowergroup.eu/en/blog/when-a-remote-team-does-not-work): A remote team does not work when nobody gives technical direction, nothing is written down or the job only takes two weeks. Fix that first or choose another setup. - [The modular monolith and how to keep its boundaries](https://brainpowergroup.eu/en/blog/the-modular-monolith): A modular monolith is one deployment with modules per domain, each with a public interface and its own tables. Checks in CI keep those boundaries in place. - [Monorepo or separate repositories: what fits your team](https://brainpowergroup.eu/en/blog/monorepo-or-separate-repositories): If one team builds one product, choose a monorepo. Separate repositories fit parts that have their own team, their own release rhythm or their own access rules. - [Designing API-first with an OpenAPI contract](https://brainpowergroup.eu/en/blog/designing-api-first): An OpenAPI contract in the repository, linting and a breaking-change check in CI let a distributed team build both sides of an API at the same time. - [Keeping cloud costs under control](https://brainpowergroup.eu/en/blog/keeping-cloud-costs-under-control): Cloud waste sits in test environments running all night, orphaned disks and logs without retention. A monthly review per owner keeps it small. - [Fractional CTO and remote team: who does what?](https://brainpowergroup.eu/en/blog/fractional-cto-and-remote-team-who-does-what): The fractional CTO makes the decisions that are expensive to undo, the tech lead turns them into daily work and each developer decides within their ticket. - [Writing tickets a remote developer understands](https://brainpowergroup.eu/en/blog/writing-tickets-a-remote-developer-understands): A remote developer can pick up a ticket without a call when it says why the work is needed, what works differently afterwards and how you can tell it is done. - [How we screen developers in Serbia, and what you should test](https://brainpowergroup.eu/en/blog/how-we-screen-developers-in-serbia): We test English and technical skills, including a short assignment in your stack. You test whether the candidate fits your team, and the trial shows how they work. - [Growing a remote team from one to five developers](https://brainpowergroup.eu/en/blog/growing-a-remote-team-from-one-to-five): Grow one developer at a time. With two you need review rules, at three someone has to divide the work, and at four or five you need a lead. - [Async work: what to write down and when to call](https://brainpowergroup.eu/en/blog/async-work-what-to-write-down): Write down decisions, assumptions, questions and where your work stands. Call when you need to work something out together, then write down the outcome. - [Code review agreements for a remote team](https://brainpowergroup.eu/en/blog/code-review-across-distance): Remote code review works with small pull requests, a response within one working day and a pipeline that checks everything a machine can check. - [Onboarding a remote developer: the first two weeks](https://brainpowergroup.eu/en/blog/onboarding-a-remote-developer-first-two-weeks): A remote developer is part of your sprint after two weeks if access works on day 1 and a small, real task is ready in the first week. - [Lessons from Log4Shell, MOVEit, xz utils and Snowflake](https://brainpowergroup.eu/en/blog/lessons-from-well-known-hacks): Log4Shell, MOVEit and Snowflake had ordinary causes. Know what you run, patch quickly, put MFA on every account and agree clear terms with your suppliers. - [Security and GDPR with remote developers](https://brainpowergroup.eu/en/blog/security-and-gdpr-with-remote-developers): Give remote developers a managed laptop, one account with two-factor authentication and no real personal data. Access from Serbia can be a transfer under the GDPR. - [Backups and disaster recovery for your application](https://brainpowergroup.eu/en/blog/backups-and-disaster-recovery): A backup only counts once you have restored it. Set RPO and RTO per system, follow the 3-2-1 rule and run an automated restore test every night. ## Blog (Nederlands) - [Patchen zonder op de CVE te wachten](https://brainpowergroup.eu/nl/blog/patchen-zonder-op-de-cve-te-wachten): Het Collabora-lek in Nextcloud werd al misbruikt een maand voordat de CVE verscheen. Update wat aan internet hangt op een vast ritme, niet pas na een advisory. - [Telefoonnummers van gasten buiten hotelsystemen houden](https://brainpowergroup.eu/nl/blog/telefoonnummers-van-gasten-buiten-hotelsystemen-houden): Hotels krijgen bij een boeking een 020-nummer in plaats van het 06-nummer van de gast. Het echte nummer krijgen ze pas met het boekingsnummer en de postcode. - [Welke stacks werken goed met AI-codeertools?](https://brainpowergroup.eu/nl/blog/welke-stacks-werken-goed-met-ai-codeertools): AI-codeertools schrijven betere code in stacks met statische types, vaste conventies en snelle tests, omdat de tool daar de meeste feedback krijgt. - [Trends in ontwikkelplatformen en wat je er nu mee doet](https://brainpowergroup.eu/nl/blog/trends-in-ontwikkelplatformen): AI-codeeragents horen bij het dagelijkse werk, 90 procent van de organisaties heeft een intern platform, serverless is volwassen en Postgres is de standaard. - [NIS2 en de Cyberbeveiligingswet: wat er verandert voor je devteam](https://brainpowergroup.eu/nl/blog/nis2-en-je-developmentteam): Sinds 15 augustus 2026 geldt de Cyberbeveiligingswet, de Nederlandse NIS2. Je devteam krijgt eisen aan veilig ontwikkelen, toegang, logging en melden binnen 24 uur. - [Afspraken over AI-codeertools in een remote team](https://brainpowergroup.eu/nl/blog/ai-codeertools-in-een-remote-team): Laat je remote team Claude Code alleen met zakelijke accounts gebruiken, zet de regels in de repository en houd productiesleutels buiten bereik van de tool. - [React Native of Flutter: kies op basis van je team](https://brainpowergroup.eu/nl/blog/react-native-of-flutter): Schrijft je team al React en TypeScript, kies dan React Native. Bouw je een apart mobiel team op of moet de app overal identiek zijn, dan past Flutter beter. - [De OWASP Top 10 voor je developmentteam](https://brainpowergroup.eu/nl/blog/owasp-top-10-voor-je-developmentteam): De OWASP Top 10:2025 voegt supply chain en foutafhandeling toe. Gebruik de lijst voor je reviewchecklist en tests, want als bewijs van veiligheid is hij te smal. - [Supply chain-aanvallen op npm en PyPI en wat je ertegen doet](https://brainpowergroup.eu/nl/blog/supply-chain-aanvallen-op-npm-en-pypi): Bij een supply chain-aanval op npm of PyPI draait besmette code vaak al tijdens de installatie. Lockfiles met hashes en een wachttijd beperken het risico. - [Een headless CMS kiezen dat bij je redacteuren past](https://brainpowergroup.eu/nl/blog/een-headless-cms-kiezen): Kies een headless CMS op je redacteuren, dan op hosting en de prijs in jaar drie. Strapi en Payload kun je zelf hosten, Storyblok is SaaS met een visuele editor. - [Laravel in 2026: nog steeds een goede keuze?](https://brainpowergroup.eu/nl/blog/laravel-in-2026): Voor de meeste webapplicaties en SaaS-producten is Laravel in 2026 een goede keuze. Minder als je team alleen TypeScript schrijft of je product vooral data en AI is. - [AI-functies toevoegen aan bestaande software](https://brainpowergroup.eu/nl/blog/ai-functies-toevoegen-aan-bestaande-software): Begin met één smalle LLM-functie op data die je al hebt, test die op vijftig tot honderd echte voorbeelden en houd kosten en privacy per functie bij. - [Vercel of zelf hosten: wat past bij jouw product?](https://brainpowergroup.eu/nl/blog/vercel-of-zelf-hosten): Voor een klein Next.js-team is Vercel meestal de snelste weg naar productie. Zelf hosten in Docker loont bij constant verkeer of als je al servers en beheer hebt. - [TypeScript in frontend en backend: wat één taal oplevert](https://brainpowergroup.eu/nl/blog/typescript-in-frontend-en-backend): Met TypeScript in frontend en backend deel je de types van je API-contract. Types bestaan alleen tijdens het bouwen, dus valideer binnenkomende data met een schema. - [Een korte stand-up met een remote team](https://brainpowergroup.eu/nl/blog/stand-up-met-een-remote-team): Een stand-up met developers op afstand blijft binnen een kwartier als je het statusrondje schrapt. Loop het bord langs en praat alleen over werk dat vastzit. - [Hoeveel schaalbaarheid je product nodig heeft](https://brainpowergroup.eu/nl/blog/schaalbaarheid-wat-je-echt-nodig-hebt): Meet eerst waar de tijd heen gaat, pak dan je database aan, zet caching en queues gericht in en voeg pas daarna servers toe. - [Secrets en API-keys veilig beheren](https://brainpowergroup.eu/nl/blog/secrets-en-api-keys-veilig-beheren): Secrets horen in een vault of in de secret store van je CI, nooit in git. Lokaal gebruik je ontwikkelkeys met weinig rechten, en elke key moet je kunnen vervangen. - [Serverless of eigen servers: kosten, cold starts en lock-in](https://brainpowergroup.eu/nl/blog/serverless-of-eigen-servers): Serverless is voordelig bij laag of onregelmatig verkeer. Een eigen server wint bij constant verkeer, lange processen of veel rekenwerk. - [Werken met developers in Servië: tijdzone, taal en feestdagen](https://brainpowergroup.eu/nl/blog/werken-met-developers-in-servie): Developers in Servië werken in jouw tijdzone en in goed Engels. Wat anders is: de feestdagen, de namen en de AVG, want Servië is geen lid van de EU. - [Wanneer headless architectuur de moeite waard is](https://brainpowergroup.eu/nl/blog/headless-architectuur-wanneer-wel): Headless loont als je meerdere frontends bedient of eisen hebt die een standaardplatform niet haalt. Voor één marketingsite betaal je vooral voor extra onderdelen. - [Zelf werven of nearshore: wat kost een developer per maand?](https://brainpowergroup.eu/nl/blog/zelf-werven-of-nearshore-wat-kost-een-developer): Een developer van €5.000 bruto kost met vakantiegeld en premies al zo'n €6.240 per maand. Een nearshore developer via ons kost vanaf €4.800 per maand, all-in. - [Waarom en hoe je je remote team een keer ontmoet](https://brainpowergroup.eu/nl/blog/je-remote-team-een-keer-ontmoeten): Zie je team in Servië minstens één keer in het echt, na zes tot acht weken samenwerken. Twee of drie dagen is genoeg, en een visum heb je niet nodig. - [Next.js, TypeScript en Postgres als standaard voor webproducten](https://brainpowergroup.eu/nl/blog/nextjs-typescript-en-postgres): Next.js met TypeScript en Postgres is voor de meeste nieuwe webproducten een goede standaard: één taal aan beide kanten en een database die bijna alles dekt. - [.NET en React voor enterprise software: team en valkuilen](https://brainpowergroup.eu/nl/blog/dotnet-en-react-voor-enterprise-software): .NET met React past goed bij enterprise software. De risico's zitten op de grens: types die uit elkaar lopen, twee losse releases en een team in twee kampen. - [Wanneer Python en FastAPI in je AI-backend horen](https://brainpowergroup.eu/nl/blog/python-en-fastapi-voor-ai-backends): Voor aanroepen naar een taalmodel is TypeScript genoeg. Verwerk je documenten of maak je eigen embeddings, kies dan een FastAPI-service met een getypeerde client. - [Waarom tijdzone belangrijker is dan tarief](https://brainpowergroup.eu/nl/blog/waarom-tijdzone-belangrijker-is-dan-tarief): Een laag uurtarief ver weg kan je meer kosten dan het scheelt. Elke vraag die een nacht blijft liggen, kost een dag, en die dag staat niet op de factuur. - [Postgres als standaard database: wanneer wel en wanneer niet](https://brainpowergroup.eu/nl/blog/postgres-als-standaard-database): Kies voor een nieuw product PostgreSQL. Met jsonb, full-text search en pgvector heb je in het begin zelden een tweede database nodig, en dat scheelt beheer en geld. - [Monoliet of microservices: kies op teamgrootte en domein](https://brainpowergroup.eu/nl/blog/monoliet-of-microservices): Met één team van tot ongeveer acht developers is een modulaire monoliet de betere keuze. Microservices lonen pas als meerdere teams los van elkaar willen releasen. - [Developers vinden voor oudere stacks, en ze houden](https://brainpowergroup.eu/nl/blog/developers-vinden-voor-oudere-stacks): Developers voor .NET Framework, Web Forms, oude PHP of Delphi vind je op ervaring van vroeger. Ze blijven als er een plan is om stap voor stap te moderniseren. - [Heb je Kubernetes nodig? Wat past bij welke teamgrootte](https://brainpowergroup.eu/nl/blog/heb-je-kubernetes-nodig): Met één of twee teams heb je meestal geen Kubernetes nodig: Docker Compose of managed containers is genoeg. Kubernetes loont bij veel services en meerdere teams. - [Legacy code overdragen aan een nieuw team](https://brainpowergroup.eu/nl/blog/legacy-code-overdragen-aan-een-nieuw-team): Een overdracht van legacy code lukt met een paar weken overlap, een nieuw team dat zelf kan bouwen en uitrollen, en kleine eerste taken die tot productie gaan. - [Wanneer een remote team niet werkt, en wat dan wel](https://brainpowergroup.eu/nl/blog/wanneer-een-remote-team-niet-werkt): Een remote team werkt niet als niemand technisch richting geeft, er niets op papier staat of het om een klus van twee weken gaat. Regel dan eerst iets anders. - [De modulaire monoliet en hoe je de grenzen bewaakt](https://brainpowergroup.eu/nl/blog/de-modulaire-monoliet): Een modulaire monoliet is één deployment met modules per domein, elk met een publieke interface en eigen tabellen. Controles in de CI houden de grenzen overeind. - [Monorepo of losse repositories: wat past bij je team](https://brainpowergroup.eu/nl/blog/monorepo-of-losse-repositories): Bouw je met één team aan één product, kies dan een monorepo. Losse repositories passen bij onderdelen met een eigen team, releaseritme of eigen toegangsrechten. - [API-first ontwerpen met een OpenAPI-contract](https://brainpowergroup.eu/nl/blog/api-first-ontwerpen): Met een OpenAPI-contract in de repository, linting en een check op breaking changes in CI bouwen frontend en backend in een verspreid team tegelijk. - [Cloudkosten onder controle houden](https://brainpowergroup.eu/nl/blog/cloudkosten-onder-controle): Cloudverspilling zit in testomgevingen die 's nachts draaien, losse schijven en logs zonder bewaartermijn. Een maandelijkse review per eigenaar houdt het klein. - [Fractional CTO en remote team: wie doet wat?](https://brainpowergroup.eu/nl/blog/fractional-cto-en-remote-team-wie-doet-wat): De fractional CTO neemt de beslissingen die duur zijn om terug te draaien, de tech lead zet ze om in dagelijks werk en de developer beslist binnen zijn ticket. - [Tickets schrijven die een remote developer begrijpt](https://brainpowergroup.eu/nl/blog/tickets-die-een-remote-developer-begrijpt): Een remote developer pakt een ticket zonder call op als erin staat waarom het nodig is, wat er daarna anders werkt en hoe je ziet dat het klaar is. - [Developers screenen in Servië: wat wij toetsen en wat jij toetst](https://brainpowergroup.eu/nl/blog/developers-screenen-in-servie): Wij toetsen Engels en techniek, ook met een korte opdracht in jouw stack. Jij toetst of de kandidaat bij je team past, en de proefperiode laat zien hoe die werkt. - [Van één naar vijf developers: wat verandert er per stap](https://brainpowergroup.eu/nl/blog/van-een-naar-vijf-developers): Groei één developer tegelijk. Bij twee heb je reviewregels nodig, bij drie moet iemand het werk verdelen en bij vier of vijf heb je een lead nodig. - [Async werken: wat schrijf je op en wanneer bel je](https://brainpowergroup.eu/nl/blog/async-werken-wat-schrijf-je-op): Schrijf besluiten, aannames, vragen en de stand van je werk op. Bel als je samen iets moet bedenken of een thread niet opschiet, en noteer daarna de uitkomst. - [Afspraken voor code review op afstand](https://brainpowergroup.eu/nl/blog/code-review-op-afstand): Code review op afstand werkt met kleine pull requests, een reactie binnen een werkdag en een pipeline die alles controleert wat een machine kan controleren. - [Een remote developer onboarden: de eerste twee weken](https://brainpowergroup.eu/nl/blog/remote-developer-onboarden-eerste-twee-weken): Een remote developer draait na twee weken mee in je sprint als de toegang op dag 1 werkt en er in de eerste week een kleine, echte taak klaarligt. - [Wat we leren van Log4Shell, MOVEit, xz utils en Snowflake](https://brainpowergroup.eu/nl/blog/wat-we-leren-van-bekende-hacks): Log4Shell, MOVEit en Snowflake hadden een gewone oorzaak. Weet wat je draait, patch snel, zet MFA op elk account en maak afspraken met je leveranciers. - [Security en AVG bij remote developers](https://brainpowergroup.eu/nl/blog/security-en-avg-bij-remote-developers): Geef remote developers een beheerde laptop, één account met tweestapsverificatie en geen echte persoonsgegevens. Toegang uit Servië kan onder de AVG doorgifte zijn. - [Backups en disaster recovery voor je applicatie](https://brainpowergroup.eu/nl/blog/backups-en-disaster-recovery): Een backup telt pas als je hem hebt teruggezet. Leg RPO en RTO per systeem vast, volg de 3-2-1-regel en laat elke nacht automatisch een restoretest draaien. ## FAQ - How does it work when you recruit a developer for us? First we discuss who you are looking for and how your team works. Then we recruit and screen in Serbia, including a practical technical test. You interview the candidates yourself and decide who you continue with. On day one the workstation, the laptop and the accounts are set up. - What does a developer through Brainpower Group cost? A full-time developer costs from €4,800 per month, all-in. Recruitment, workstation, security and admin are included. Part-time is possible by arrangement. In a call we work out the numbers for your team. - What if a developer is not the right fit? Every new developer starts with a two-week trial. If you decide not to continue, you pay nothing. After that the contract runs month to month, so each month you can scale up, scale down or stop. - Where do the developers work? In our own offices in Belgrade, Novi Sad and Niš, on a laptop we manage. In Novi Sad and Niš the offices are in the Science Technology Park. Serbia is in the same time zone as the Netherlands, so the developers work the same hours as your own team. - Do the developers speak English or Dutch? They work in English. You also have a permanent Dutch point of contact in Amsterdam. - What about security and the GDPR? The developers work on laptops we manage with Microsoft Intune, with full-disk encryption and remote wipe. Sign-in runs through SSO with mandatory two-factor authentication. Everyone gets only the access their role needs, and we revoke it as soon as someone leaves. Our way of working is aligned with the GDPR and NIS2, with clear agreements on access and incidents. - Do you also provide a fractional CTO or a complete product? Yes. Erik Schoorl and Bas Leijder Havenstroom work as fractional CTOs. ESBL, the other half of the group, also builds complete products in-house. ESBL has been delivering software for about twenty years. - Is this the same as staff augmentation? It is similar. The developer works full-time in your team and you direct the work. The difference is that we recruit in Serbia and take care of the workstation, the laptop, security and admin, on a monthly contract.