Staff Distributed Systems Engineer
Sunnyvale, CA, or Remote
You will be building distributed systems operating on TBs of data using the latest cutting edge technologies like Apache Spark, Storm, Cassandra, Redis, Akka, Apache Kafka. Your algorithms will be used in production by the world's largest online retailers in millions of emails a day and responsible for millions of dollars in revenue. Our algorithms not only provide a real revenue boost to these companies but are also responsible for the bulk of user engagement and driving a big fraction of Internet traffic to their sites.
The Distributed Systems Engineer is responsible for developing and managing technology solutions to meet the growing needs of Jetlore’s customers. The Distributed Systems Engineer leads software development projects from inception through launch and successful delivery. The following are the essential job functions of the Distributed Systems Engineer:
- Responsible for full software lifecycle, system design and development of distributed data processing systems
- Design, code, and debug the Jetlore system infrastructure engaging in software analysis, requirements analysis, and system architecture planning
- Utilize object-oriented design and analysis (OOA and OOD) skills in the advanced programming language Scala to design and implement Jetlore’s backend infrastructure
- Design and implement concurrency control within the system and its supporting modules
- Contribute to the implementation and modeling of product ranking algorithms, and work with data scientists to scale the algorithms
- Evaluate and identify new technologies and techniques for implementation and participate in their integration
- Engage in the automation of software testing and simulations and contribute to performance tuning, improvement, and load testing
- Utilize the cutting edge big data technologies like Apache Spark, Storm, Cassandra, Redis, Akka, Apache Kafka
The Distributed Systems Engineer position requires at least a Master’s degree in Computer Science or related discipline, and a minimum of 3 years experience in software development and object-oriented design (experience with Scala is a plus). In addition, the position requires theoretical understanding of distributed computing, parallel programming, concurrency control, transaction processing, and databases; experience building systems that manage and process large data sets; and, the ability to develop components/subsystems of a multi-server cloud-based system, optimize and refactor other people's code as well as your own, manage projects from inception to execution, and work in a fast-paced environment and make pragmatic engineering decisions in a short amount of time.