We are looking to add a strong Senior Software Engineer to our big data team to work on various aspects of the platform like public and private APIs, distributed services, and data stores. You will help to decide upon technology choice through R&D and prototyping. You are a strong coder and are not afraid to tackle languages, systems, and tools you don't know, and help on projects outside of your area when needed.
- Take ownership of systems and maintain responsibility for your code throughout the software lifecycle.
- Design and develop for the cloud.
- Release services to production; own reliability and uptime of these services once in production.
- Identify and address application and system performance bottlenecks.
- Improve key processes including software requirements, software design, code review, and testing.
- Creating software that is reliable, testable, instrumented and maintainable.
- 5+ years’ experience developing software as Java Developer.
- Extremely well versed in RESTful micro services architecture.
- Prior experience building micro services with strong understanding of scaling, performance; a proven track record in delivering these systems.
- Building Concurrent, Scalable Distributed systems.
- Building analytical solutions using Apache Spark and Streaming frameworks such as Apache Samza or Kafka Streams.
- Comfort in working with multiple databases like SQL, NoSQL, Cassandra, Redis, Elasticsearch, etc.
- Advanced Computer Science knowledge and background (algorithms, distributed systems, low latency, concurrency, big-O notation, etc.).
- Excellent, up-to-date coding skills.
- Excellent design and architecture skills.
- Proficiency in Scala, Akka, Machine Learning
Location: Mountain View, CA