Senior Software Engineer (Java)
Summary
Senior Software Engineer on the core search engine team of a San Francisco SaaS context-driven marketing platform: you build and scale distributed back-end systems covering data ingestion, processing pipelines/queues, and indexing/querying, using Core Java with JVM tuning, Elasticsearch, AWS, NoSQL stores and messaging systems.
Company Description
Our SaaS platform is used by Fortune 500 companies across a variety of industries including Energy, Travel and Hospitality, Financial Services, Software, Consumer Goods, Retail, and Pharmaceuticals. A majority of the top Communications Agencies use our product. We are growing rapidly in terms of recurring revenue and the size of our customer base in North America, Europe, and Asia.
Job Description
Qualifications
- Deep understanding of Core Java and how to performance tune JVM based apps (required)
- AWS or similar IaaS cloud services
- Lucene, Elasticsearch or Solr (prior experience with Elasticsearch a huge plus)
- NoSQL DB engines (MongoDB a plus)
- Messaging systems (RabbitMQ a plus)
- Scaling distributed data systems
- Optimizing applications, both stand-alone and in distributed systems to maximize performance
- Clear articulation to your team of your design choices
- Comfortable with doing frequent internal pull request reviews
- Scrum master experience a big plus
- Mentoring experience a big plus
- You have a strong interest in scaling distributed data systems such as Elasticsearch, MongoDB, Hadoop, Cassandra or others
- You have a strong interest in open-source search engines such as Lucene and Elasticsearch
- You roll up your sleeves and dive head first into new challenges and technologies
- You know how to leverage many languages such as Java, Scala, Ruby, JavaScript or Python and frameworks such as Akka or Node.js
- You leverage OSS software but also contribute back to it
- You like using technology to empower people
