Senior Back-end Developer (Java 8+/Scala/Akka)Amsterdam
For our client in Amsterdam we are looking for a Senior Back-end Developer (Java 8+/Scala/Akka)
The goal of the department is to change the way software is developed focusing on quality, speed, and efficiency. We are building a toolset that digitize and automate the end-to-end software development process, from requirements engineering to software deployment.
You will be joining the backend team. There is a completely flat organizational structure. We take end-to-end responsibility of our products and execute in an iterative way towards our goal! Coding, code reviews, as well as tech design, will be the majority part of your daily activities. The team faces various and often unique technical challenges which, according to our engineers' own words, are both stimulating and satisfying once resolved. We strive to provide an open work atmosphere so that our team members are given maximum freedom to explore, propose and employ the best ideas, methodologies, and cutting-edge technology that's best suited for each task.
Th department aims to develop software in a model driven way. The team delivers Domain Specific Languages (DSL’s) that are used to model various business domains. Base on the DSL specifications, software solutions can be generated with consistent quality, lower cost, and shorter time to market.
Knowledge and skills used daily by backend engineers are Microservices Architecture, Relational Database, Reactive Frameworks, Functional Programming, Choreographical Workflow Engines, Events and Messaging, CD/CI pipeline, Docker and Kubenetes, and some operational skills in Cloud Environment.
As a senior backend software engineer, you are responsible for developing and designing the generated software runtime as well as the generator itself. You will need to take ownership and responsibility in one or more areas of the toolchain. With your experience, we want to solidify various aspects of our software solution, including but not limited to coding patterns, the technology employed, and key architecture decisions. You will also take initiative in experimenting and push forward fresh ideas from all areas such as distributed computing, large-scale system design, and extremely high-performance microservices. You are expected to be versatile and display leadership qualities. Cooperate effectively with team members and cross-team personnel alike.
- Have 8+ years of hands-on experience in backend software development
- Experience in Scala, modern JVM, Java 8+, Akka, reactive frameworks
- Experience in Relational Database
- Experience in Microservices Architecture
- Well versed in Git/Gitlab and CD/CI concepts, tools and pipelines
- 4+ years of Scala development experience
- 8+ years of Java experience or other Object Oriented programing language
- Experience in the development of mission-critical software systems
- Experience in designing and building high performant systems
- Abstract thinking skills and academic level in computer science or other engineering studies
- Experience in Workflow Engines, Kafka is a plus
- Familiar with Agile / Scrum methodology.
- Good verbal and written communication skills
- Strong team player and experience in working with teams in and across sites.
- Experience working with Docker and Kubernetes in a production environment is a plus
- Exposure of Virtualization / Cloud platforms such as Azure, AWS or GCP is a plus
- Experience in language engineering is a plus