Senior Software Engineer - 1294000O

Beaverton-OR
 Job-ID :   1294000O 
  Category :  Engineers 
  Position Type : Contract & Remote 

Job Description

Does building a scalable suite of platform services to handle the needs of millions of consumers of Client Training, Client Running, and other Client applications pique your interest? Are you passionate about creating experiences which help motivate millions of people to run and train? If so, we’d like to welcome you to our team.

The team’s engineering environment:Client Global Technology is a big place. Our team’s primary concern is supporting the Client Run Club and Client Training Club apps with a team that has a diverse spectrum of experience levels – from industry veterans to recent college grads.We write our production code for the JVM, mostly in Scala / Akka, and deployed on EC2. We tend to prefer strong-typing and functional style over imperative style in our code. The architecture is highly-distributed, decoupled, and favors availability over consistency.We operate the systems we develop and have a rotating on-call schedule for off-hours contact but during office hours, the team as a whole handles incidents. Getting paged is rare!We practice continuous delivery - every merged pull request goes directly to production with appropriate guards against negative impact.

As a member of the team, we expect you to:

  • Successfully operate within our engineering environment and help it evolve over time.
  • Review peers’ technical designs, code, and tests, giving supportive feedback and asking good questions.
  • Work in a collaborative environment that rewards experiments, initiative, curiosity, and mentoring.
  • Use your database knowledge to design data storage for security, reliability, availability, maintainability, and performance.
  • Practice DevOps ensuring a culture of testing and releasing software on AWS continuously using automation and monitoring.
  • Partner with other engineering and product teams to loosely couple and scale the service ecosystem.
  • Work with teams dedicated to mobile development, physiological science, and user experience.

Your expected level of experience:

This is for a senior software engineer. You’ve been in the industry for a while and have learned from a variety of successes and failures. You come to the team with a broad point of view and can discuss the benefits and drawbacks to multiple approaches to solving a given problem. You are comfortable being given a fairly complex project and confident that you can complete it on your own but know that the result will be better by collaborating with your team mates. While your proficiency with the fundamentals is strong, you are constantly pushing your own knowledge and comfortable learning new skills.

To be considered for this position, you should:

  • Have significant experience and a deep understanding of building microservices and event processing pipelines in a distributed environment.
  • Have significant experience consuming and creating web services, with a good understanding of API design.
  • Have significant experience working in the modern Java ecosystem with knowledge of at least one build tool (mvn, sbt, gradle, etc.), library dependency management, and at least one JVM language (Java, Scala, Kotlin, etc.)
  • Have experience with modern web service frameworks in the JVM ecosystem.
  • Have worked in a DevOps environment where strong automation and observability are required to keep the team moving.
  • Have contributed to the software change lifecycle, source control, and review processes on a large team scale.
  • Understand the benefits and drawbacks between SQL and NoSQL databases and have experience with both.
  • Have some experience with continuous integration and delivery practices ensuring frequent and safe deployments.
  • Understand and contribute to agile development methodologies.
  • Have significant experience using Amazon Web Services.

We will prioritize consideration by these preferred skills:

  • Languages: Scala, Python, Java 8+, Javascript, Ruby
  • Frameworks: Akka Streams & HTTP, Cats & Cats Effect, Spark, Netty
  • Platforms: EC2, Lambda, Docker
  • Techniques: Distributed Systems, Functional Programming, High Availability, “Big Data”
  • OSes: Linux, MacOS
  • Databases: DynamoDB, MySQL, PostgreSQL, Cassandra
  • Tools: Jenkins, Splunk, SignalFX, Github, Atlassian, IntelliJ Idea

Client, Inc. is committed to employing a diverse workforce. You will receive consideration without regard to race, color, religion, sex, national origin, age, sexual orientation, gender identity, gender expression, veteran status, or disability.

Chat with us