Full-stack Software Engineer

Activityinfo
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate
Compensation
€ 78K

Job location

Tech stack

HTML
Java
JavaScript
API
Data analysis
C Sharp (Programming Language)
C++
CSS
Software as a Service
Databases
Data Mapping
Data Stores
Data Synchronization
Data Visualization
Google Web Toolkits
Web Servers
Object-Oriented Software Development
Software Systems
SQLite
Data Processing
Google Cloud Platform
Large Language Models
Backend
Information Technology
Reactive Programming
Data Management
Front End Software Development
Functional Programming
Glasgow Haskell Compiler

Job description

You will work on front- and back-end projects that solve complex and important problems for our users. You'll spend your time improving existing features and developing new ones, such as:

  • Core Platform Engineering: Improving conflict resolution and data synchronization for our offline-first web client.
  • Advanced User Interfaces: Collaborating with our UX designer to build intuitive interfaces for complex tasks, like interactive dashboard layout, workflow design, and data mapping.
  • Large language models (LLMS): integrating LLMs, where appropriate, in the platform to speed up configuration, formula authoring, and data analysis (definition)., Our platform is built on a stack chosen for its power, performance, and reliability in meeting our users' needs. It's not typical, but neither are our customers' requirements. You will work with:
  • Core Logic: Java (running on both the server and compiled to JavaScript for the client via GWT)
  • Frontend: We stay as close as we can to HTML, CSS, and Browser APIs, with a thin, internally-developed Virtual DOM layer inspired by Preact, Elm, and functional reactive programming.
  • Databases: Our own custom query engine that targets IndexedDB on the client and Google Cloud Datastore for our multi-tenant SaaS server, and Sqlite for our on-premise offering.

Requirements

This is not a typical CRUD application or API integration role. We're looking for an engineer who thrives on complexity and can orient themselves within a large, mature codebase. You are a systems-thinker who can recognize and apply design patterns, and you understand the trade-offs involved in building durable, long-lasting software.

Most importantly, you are driven by user value. You take pride in building robust, performant features that solve real-world problems for people working in some of the world's most challenging environments.

We're looking for:

  • Deep Problem Solvers: You are comfortable working independently to diagnose issues and design solutions across multiple layers of abstraction, from browser-based databases to backend data processing.
  • Strong CS Fundamentals: Your experience is rooted in a deep understanding of the tools you're using. You can write clean, maintainable, and efficient code that takes advantage of Java's latest functional programming features.
  • Curiosity and a Drive to Learn: Our domain is vast. You should be genuinely interested in learning about everything from IndexedDB and Web Workers to GIS, data visualization, and the specific challenges of humanitarian data management.
  • Collaborative Spirit: You will work independently but as part of a close-knit, international team where helping colleagues and asking for help are second nature., * A degree in Computer Science, Engineering, or equivalent professional experience. We welcome candidates from non-traditional backgrounds who can demonstrate deep technical expertise.
  • A minimum of 3 years of professional experience building software with object-oriented languages like Java, C#, C++, or a functional language such as Haskell, Elm, or F#.
  • Proven experience delivering and maintaining complex, critical software systems. You can point to projects where you've navigated a large codebase and contributed to its long-term health.

Benefits & conditions

  • Competitive Salary: A salary of €4500 - €6500 per month (before taxes, and including 8% vakantiegeld paid monthly for NL-based employees), depending on experience.
  • Work-Life Balance: We value continuous weekly improvements over stressful deadlines and strive for a healthy, sustainable pace.
  • A Welcoming Team: A diverse, international team that is supportive of all backgrounds and identities.
  • Benefits: A contribution to a pension plan and 25 days of vacation per year.
  • Flexibility: Hybrid working with flexible hours. We prefer candidates who can join us in our office in The Hague but are open to remote for the right person.
  • Commuting Support: A public transport card for employees in the Netherlands.
  • Professional Growth: Dedicated time and budget for your professional development.

We plan to hire multiple individuals for this role.

About the company

ActivityInfo is a mature, web-based information management platform that supports humanitarian relief and development operations in over 100 countries for clients like UNICEF, the Danish Refugee Council, and many others. Our mission is critical, and so are our technical requirements. We serve users in environments with unreliable or non-existent internet, meaning robust offline-first capability isn't a feature-it's the core of our product. This means that we can't rely on frameworks to the extent that other products can, and have to build much of our own tech stack. If you are a software engineer who is motivated by difficult problems, appreciates reasoned architecture over fleeting trends, and wants your work to have a tangible, positive impact on the world, we want to hear from you.

Apply for this position