Who we're looking for
You don't need to match everything. But this is what characterises people who thrive here.
You want to understand the domain, not just build features
Much of our work is about making implicit knowledge explicit — understanding business logic that lives in people's heads, in legacy code, in spreadsheets. You like digging into a problem until you truly understand it.
You take responsibility for the outcome, not just the task
We're not an organisation where you can hide in a team. When you work on a project with us, you own a real part of the delivery. What gets built needs to work in production over time — not just pass a demo.
You prefer depth over breadth
We don't jump from project to project to try new technology. We choose technology that fits the problem, and we stay until it works. If you're mainly motivated by using the latest framework and then moving on, we're probably the wrong place.
You communicate clearly
We work embedded with clients. That means direct contact with domain experts, decision-makers, and other developers. You need to be able to explain what you're doing and why — not just to other developers, but to people who understand the domain better than you.
You're honest about what you know and don't know
We prefer "I don't know that yet" over bullshit. Everyone has gaps — what matters is that you're honest about them and willing to close them.
How we work
Small teams, real responsibility
Every engagement is led personally and supported by a dedicated team. You're not a resource number in a pool.
Event modelling first
We start by modelling the domain together with the client. You'll work with Event Modeling, domain modelling, and spikes before production code is written.
Spike-driven delivery
We prove the approach before we scale it. That means you need to tolerate uncertainty early — and that you get real influence over the architecture.
Production code that lasts
We build systems that need to run for years. Traceability, idempotency, event-driven architecture — not because it's trendy, but because the domain demands it.
AI as a tool, not a shortcut
We use AI actively in our work. Production code is always reviewed by humans. Tests and documentation get more AI autonomy. You should be comfortable using AI as a tool — and know when not to trust it.
Engineer vs Developer
We make a deliberate distinction between these roles. It's not about seniority or years of experience — it's about how you work.
A Developer delivers working software
Solid technically, reliable, growing. You write good code, you ship, you learn. That's valuable and respected.
An Engineer owns the outcome
You understand the domain deeply enough to challenge assumptions. You communicate directly with stakeholders. You take responsibility beyond the code — for whether the system actually solves the problem it was built for.
The path is open
Growing from Developer to Engineer at Fabillio is about domain understanding and communication — not just technical skill. We'll help you get there if that's where you want to go.
What we're not
We're not a consultancy factory selling hours. We're not an agency that takes on anything. We're not a place where you get to work with the latest and greatest just because it's new.
We are a place where your work has consequences. The systems you build handle real money, real agreements, real customers. That's a privilege, but it demands something of you.
Technical landscapeDraft
You don't need to know all of this. You need to be willing to learn what's needed.
Languages
C# / .NET, TypeScript
Front-end
React / Next.js, Vue
Data
RavenDB, PostgreSQL, Azure SQL
Architecture
Event sourcing, DDD, event-driven
Infrastructure
Azure, GitHub Actions, Bicep
Modelling
Event Modeling, domain modelling
What we offer
Real influence
You help shape how we solve problems, not just implement someone else's solutions.
Deep learning
You work with complex domains over time. That builds a different kind of competence than jumping between short-lived projects.
Direct feedback
We're small enough to talk straight. No matrix organisation, no middle managers between you and the decisions.
Ownership of the delivery
What you build has your name on it. In a good way.
Get in touch
We don't always have advertised positions. But we're always interested in talking to people who recognise themselves in what's written above.
We have offices in Oslo and Malta, and team members working remotely. Where you're based matters less than how you work.