Senior/Principal Software Engineer

As a Senior/Principal Software Engineer at Edgewise, you will develop a geographically distributed command & control platform for real time collection, analysis, and action on endpoint telemetry data from 10M agents producing 100M records per second at scale.

Must be comfortable with modern Java stack:

  • Java 8 
  • Spring, Spring Boot 
  • Hibernate ORM, JPA, JDBC, FlywayDB

Other languages are a plus: Python, Go, Scala.

Working knowledge:

  • Relational and NoSQL/document DBs - PostgreSQL, MySQL, MongoDB, 
  • DynamoDB, RethinkDB, Cassandra, Redis. 
  • Stream processing and message bus technologies – Kafka, RabbitMQ, AMPQ, 
  • NATS 
  • Amazon Web Services - at the very minimum - EC2, S3, RDS, ELB. 
  • Integration of backend services with UI frameworks (AngularJS, ReactJS, 
  • EmberJS)

Ideally familiar with:

  • Scalable cloud based application design - service discovery, microservices 
  • architectures, cloud-native design patterns - autoscaling, circuit breakers, sharding, 
  • load balancing, fault tolerance. 
  • Docker container ecosystem, deployment using containers, clustering - swarm, 
  • Kubernetes, Mesosphere. 
  • High volume data streaming - Kafka, Amazon Kinesis, Storm, Spark Streaming 
  • Search engines - Elastic 
  • JVM performance and GC tuning for server applications. 
  • Approaches to monitoring, performance measurements and instrumentation at - 
  • high scale. 
  • Build processes for modern Java stack - gradle, maven, Jenkins pipeline.

Following best practices and writing clean robust code:

  • Unit testing using JUnit, Mockito, JMock, Spock 
  • Code coverage and static analysis 
  • Minimizing boilerplate 
  • Code reuse across the team

Want to apply later?

Type your email address below to receive a reminder

ErrorRequired field

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field