Job Description :
Principal Developer
Expert knowledge of Java 8 (Scala desirable), JVM ecosystem, memory model,
tuning, threading, reactive streams, modularization
Knowledge of Domain Driven Design concepts and microservices
Expert knowledge of Spring ecosystem (Spring Boot, Spring Cloud, Spring
Integration, Spring Cloud Data Flow etc
Knowledge of NoSQL data stores and polyglot persistence (MongoDB, Cassandra,
Neo4J, CouchDB)
In depth knowledge of distributed systems concepts, CAP theorem
Knowledge of event sourcing and distributed message systems (Kafka, RabbitMQ)
API design and implementation (remote vs local APIs, routing and reverse proxying,
load balancing, optimization techniques)
Knowledge of distributed computing, in memory computing, map/reduce frameworks
(Spark), streaming (Storm, Samza)
Expert knowledge of build tools and dependency management (gradle, maven)
Understanding of the testing pyramid (unit, functional, integration, system, API
testing) and testing approaches TDD, BDD
In depth hands on experience with virtualization approaches (VMs, containers,
unikernels)
Hands on experience with cloud based IaaS (OpenStack, AWS) and distributed
schedulers (Kubernetes, Mesos)
Expert knowledge of Unix OS, tuning, command line utilities
Comfortable to operate in an agile, dynamic environment
             

Similar Jobs you may be interested in ..