Senior Software Engineer (JAVA/Kotlin) Platform Engineering

Palo Alto, CA
Satori Application Backend team is looking for a Senior or Staff Software Engineer to join our dynamic engineering team. You will be building large scale backend services for external (smart city) and internal (extending our core distributed messaging platform / datastore) consumption.

The systems we create support:

smart city initiatives around the globe - we provide transit operators with real time fleet information; city planners with  public transit usage data; city operators with monitoring support systems capable of detecting anomalies in video feeds and sensor data; city dwellers with applications supporting public transit usage
developers in the Satori ecosystem - we provide a distributed computation layer allowing internal and external developers to run their stream algorithms on top of the Satori platform
MZ business units - we create services allowing our gaming and digital marketing units to leverage the potential of the Satori platform

Our main technology stack is Kotlin/Java for applications, Python for general tooling and docker / kubernetes for containerization and deployment. We are open to adopting new technologies where relevant.


What you’ll be doing:

    • Holding end to end ownership of application (enable new use cases) and system (increase reliability, design disaster recovery) features
    • Building (often from scratch) new distributed components for the Satori ecosystem (think consistency engines, authorization providers and more)   
    • Designing reliable and robust test, build and deployment procedures
    • Identifying and addressing performance bottlenecks
    • Advocating for best practices in engineering, communication and project management

Your background and who you are:

    • 8+ years professional work experience
    • 3+ years of experience with Java/Kotlin or a similar programming language
    • 3+ years of experience building highly-scalable, distributed systems
    • BS or MS degree in Computer Science or a related technical field
    • Must be proactive, self-directed, detailed and organized
    • Able to work in a rapidly changing environment and to match engineering decisions with business requirement
    • Hands-on experience in maintaining a production system

Bonus points:

    • Past experience tech-leading a team
    • Understanding of SQL, NoSQL, column-oriented, object, blob and other databases and storage solutions
    • High aptitude and technology-agnostic approach to engineering
    • Experience with large-scale Kotlin applications
    • Experience with messaging systems, cloud computing and/or microservice architectures

MZ is an equal opportunity employer and considers qualified applicants without regard to race, gender, sexual orientation, gender identity or expression, genetic information, national origin, age, disability, medical condition, religion, marital status or veteran status, or any other basis protected by law.