🎉 New: Find the right AI agent for your business.

Get Started

Full Stack Engineer

Francis Copenhagen, Denmark

About the job

 

Typescript / React / Node / PostgreSQL / WebSockets

Location: On-site in Copenhagen, Denmark (no full-remote option)

Level: Senior

Company: Francis

 

Were building Francis: a collaborative spreadsheet for financial modeling that does the heavy lifting Excel users wish they didnt have to. Its fast, multiplayer, deeply expressive and powered by a custom-built formula language under the hood.

 

This is not just another CRUD app. Were building a product where performance, ergonomics, and product design all converge in the browser, in real time, with no room for bloat.

Were a small team of four, including two engineers. Were looking to bring on a third engineer to help push the limits of what a browser-based spreadsheet can be.

 

We work in-person at our office in Copenhagen. We pair frequently, think out loud, and make technical and product decisions collaboratively. Youll have a strong influence on everything we build.

Were a very small team trying to be fast, deliver quality and have no bureaucracy. Despite our team size, were already serving hundreds of companies.

 

About the job

 

Were looking for a full stack engineer whos excited to:

  • Dive deep into real user workflows to understand their mental models and pain points.
  • Turn ambiguous product ideas into elegant, maintainable full-stack implementations.
  • Push the limits of what can be done in the browser squeezing every bit of performance from React and the DOM.
  • Design APIs and backend systems that support fast, real-time collaboration.
  • Shape the engineering culture, architecture, and product direction as an early team member.
  • Solve difficult puzzles.

 

What youll do

  • Help bring the most promising concepts into the hands of our users.
  • Design and implement full-stack features across our entire codebase.
  • Shape core infrastructure for our collaborative engine (WebSockets, conflict resolution, real-time sync).
  • Contribute to the design of our formula language the embedded language that powers the spreadsheet (tokenizer, parser, interpreter).
  • Work closely with the team to deeply understand user workflows, and find elegant, product-driven technical solutions.
  • Tackle performance challenges in the browser, like virtualized rendering, optimizing React re-renders, multi-layer caching and algorithmic time-complexity.
  • Build AI-based features that actually improve the product.
  • Build test infrastructure and property-based tests to ensure correctness in edge cases.

 

To give you an idea about the type of work youll encounter, here are some examples of work we have done recently.

  • Prototyped a visual tree-based editor based on react-flow for end-user managed configuration of spreadsheets with templating/inheritance.
  • Real-time collaboration over websockets, with automatic conflict resolution for edits in the spreadsheet.
  • Commenting feature for collaboration with e-mail notifications sent to mentioned parties.
  • Aggressive performance optimization of the cache invalidation in our calculation engine aided by browser performance profiling.

 

Were co-located in our Copenhagen office. We believe working in the same space and on the same schedule boosts productivity, learning and fun.

 

Why this role is exciting

  • Youll be shaping a technically ambitious product used by real customers every day.
  • Youll work on performance-critical systems, real-time collaboration, and language design all in the browser.
  • Youll be part of a tiny, high-trust team where your work has massive impact.
  • Youll be challenged and (almost surely) learn a lot.

 

Our stack

  • TypeScript (across frontend and backend)
  • React + Redux + Tailwind CSS
  • Node.js + Express
  • PostgreSQL + Redis
  • WebSockets for real-time collaboration
  • Custom formula language designed and implemented in-house

 

About you

  • Have solid experience building performant applications + UIs using React and Tailwind.
  • Love thinking in systems performance, abstractions, tradeoffs.
  • Enjoy pair programming, deep technical discussions, and co-owning product decisions.
  • Are intrigued by the idea of building something that looks simple, but is technically ambitious under the hood.
  • Have a solid grasp of computer science fundamentals data structures, algorithms, and performance tradeoffs.
  • Likely 5+ years of industry experience (or exceptionally motivated)

 

About us

 

The journey

We prioritize healthy growth

  • We have 300+ companies using our platform
  • We havent scaled prematurely, but taken time to get it right
  • We're profitable

 

What we offer

  • Interesting and challenging work
  • Competitive salary + equity
  • Office with great colleagues
  • Flexible working hours
  • 5 weeks of paid vacation
  • Paid lunch
  • Private health insurance
  • Pension plan
  • Parental leave

 

If youre curious, capable, and up for a challenge, wed love to hear from you.

 

The interview process

  • Intro meeting: A short conversation to discuss vision, role expectations, and cultural fit.
  • Meeting with two co-founders: A longer discussion with leadership on strategy, design philosophy, and collaboration.
  • Meeting with the team: Conversation with the entire team to assess working dynamics and alignment.
  • Final decision: A decision is made and communicated.

 

For more information or questions please contact our CTO at [email protected]

 

Freshly added jobs in Denmark

Cybrient Technologies