Java Software Engineer for the AIMMS Cloud Platform

Location: Haarlem, the Netherlands

Our product

  • AIMMS Cloud Platform is an AWS application (set of 10 Docker services);
  • It is multi-tenant, we currently have tens of customers and the number is growing every week;
  • It originates from an on-premise solution that is used publishing and deployment of AIMMS applications;
  • We’re still supporting that on-premise product, but our main focus is at the Cloud.
 

What are the challenges we solved recently?

  • Moved our big on-premise solution to the Cloud (AWS, Docker);
  • Automated Cloud setup so that we can spin up new accounts within minutes (Python, CloudFormation);
  • Started splitting that monolith into microservices (Java, Spring, Spring Boot);
  • We’re adding new features while constantly improving existing codebase. That’s mostly Java, but we also have components written in Scala, C++, Python and JavaScript.

 

What are the upcoming challenges for this year?

  • Evaluate using Kubernetes (currently we’re using ECS for orchestration);
  • Extract more microservices;
  • Make our Cloud platform even more scalable and reliable.

 

How does our code look like?

  • 120K lines of code in Java, 10K lines of Scala, but also some Python and JavaScript;
  • Our team covers everything that is related to our product: design, development, testing, release management and deployment;
  • We have unit and integration tests in place. Our test coverage is low (around 50%), but we’re working on it;
  • We’re using GitLab both as version-control system and CI/CD. Everything’s automated. You can push a commit and in 15 minutes you will have a build with all relevant tests executed;
  • We have scripts (and UI) for deployment. A hotfix can be (and sometimes is) deployed to production within 30 minutes after the commit.

 

What do we offer?

  • Flexible working hours with possibility to work from home
  • A quarterly 2-days Hackathon
  • No managers. We use Holacracy as operating system
  • Daily lunch & fresh fruits
  • A competitive salary
  • Fully paid pension
  • 6 weeks of holiday per year
  • Annual performance-based bonus
  • Annual training & conference budget
  • 15-min train ride from Amsterdam Centraal Station (travel cost covered)

 

Why choose AIMMS?

  • Software engineering challenge. For our cloud platform multiple services written in Java run in a mix of multi-tenant and single-user Docker containers on multiple AWS ECS clusters. The single-user Docker containers are launched on-demand to run custom AIMMS applications. We often exceed 99.98% up-time (incl. planned downtime for updates) and have already hit 100.0% a number of times. We keep strengthening our security and are continuously being monitored by large enterprise customers, external pen-testers and automatic scanning services.
  • Our culture. We are proud of our culture and believe it is special. It is about people, about trust, about valuing differences and about the combination of performance and care. Read in our latest Culture Book what AIMMSians write about it.
  • Holacracy. We are self-organized, using Holacracy. No managers. Plenty autonomy and transparency. Quick adjustments of organization, roles and accountabilities. A place where you can develop yourself to your full potential.

 

About you

  • You have a master degree or comparable education in a relevant subject;
  • You know Java and you are using latest features of the language (we’re using Java 8 and soon will be moving to Java 12)
  • You don’t mind writing scripts in Python
  • OOP and OOD are not just some buzzwords for you
  • You like writing tests and know what TDD is
  • You at least know what Spring and Spring Boot are and you want to use them in everyday development or you know a better alternative
  • You’re not scared of multithreading
  • You can map business model into database
  • You can use command line SQL client to see what’s happening in the database even though we’re using Hibernate
  • You have experience with Docker or at least know what it is and how it can be used
  • You know when to prefer microservices over monolith solution and vice-versa
  • You’re keen to build cloud-native applications
  • You like writing and reading clean code
  • You have a pro-active attitude; you are always looking for tasks to pick up and ways to help colleagues.
  • You are a quick-starter and quick-learner, able to add value quickly: we need you to come up to speed rapidly because our users expect a lot of output
  • You are comfortable with speaking and writing in English.

 

Interested? Contact us via jobs@aimms.com or call Pauline Nobel at +31 23 5511 512.

No acquisition please.

APPLY TODAY