Software Developer/ Engineer/ Architect

Senior Scala Software Engineer

About the Role

The successful hire will develop, troubleshoot and debug distributed software programs for enhancements and new products across multiple disciplines and multiple platforms. Capable of designing, developing and deploying software and tools in support of a data processing system, including highly concurrent transaction processing, distributed memory management, communication protocols, and efficient distributed data algorithms.

As an Engineer in our team, you will be responsible for designing and developing scalable components, micro-services and shared libraries using our technology stack in an highly distributed environment in these technologies: Scala, Akka, AWS, Docker, Kubernetes, Jenkins, Kafka, ZooKeeper, Linux, Gradle.

  • 5+ years experience with Scala, or advanced Java with an interest in Scala / functional programming.
  • Experience with distributed, concurrent, high-performance systems.
  • Interest or experience in one or more of the following is advantageous: Akka, Kafka or Zookeeper.
  • UNIX or Linux experience.
  • BS in Computer Science or related fields.

What we expect from you:

  • Love to solve problems with code (and prove it works via automated tests!)
  • Have a passion for developing distributed systems and delivering them at scale while planning for future growth.
  • Design and develop enterprise solutions with high quality standards.
  • Have a strong sense of ownership, having worked on and monitored a service in a production environment.
  • Are excited by shipping new features and know that delivering to production takes more than just coding.
  • Strive to understand the big picture. Given the choice, you would prefer to collaborate than to go it alone.
  • Continuously look to grow your skill set.
  • Love working in an environment where teams are given autonomy and empowered to succeed.
  • You will join a world-class team so you must be a team player with great communication skills.