Senior Software Engineer, Plat...

apteligent Apteligent

Apteligent lets organizations understand and quantify the link between the performance of their mobile apps, the happiness of their users, and the success of their business. Using Apteligent, developers can build better apps faster and PMs can measure what matters most, ensuring the best possible user experience. We’re baked into over 23,000 apps, logging 100B app launches per month for users across 120 countries, across all kinds of industries. 3 of the top 5 credit card issuers, 3 of the top 5 media companies, 3 of the top 5 retailers, and 2 of the top 3 hotel chains trust us with the success of their mobile initiatives.

Position Description
We're looking for a great engineer to play an important role in implementing our platform strategy. The ideal candidate will have experience in high-performance multi-tenant applications with a focus on data architecture and processing. Knowledge of ingest architectures, developing internal and external APIs and querying very large data sets are also key skills in this position. The person in this role will work closely with engineers in different teams across our organization to build a world-class, scalable and high-performance platform for handling big data. We're currently working on building out our systems for mobile application performance management, transactions processing, user tracking and error monitoring using lambda architectures. We're building out a new architecture for global search, so you'll work on that too. If this sounds interesting to you then contact us. We want to learn more about you.

Responsibilities:
You're a programmer. You like things in lists. Here's what we want you to do:

  • Lead the design of features and solutions for data and processing infrastructure, as well as other systems to support a large scale multi-tenant SaaS application
  • Acquire an expert-level understanding of the open-source technologies we use and be able to independently solve problems never faced before
  • Hands-on coding, implementation, unit testing
  • Participate in agile development process (scrum)
  • Build knowledge of industry standards and advance the state of the art by researching technology and presenting at conferences
  • Mentor and coach teammates
  • Partner with technical operations to build in scaleability and operability into every aspect of the platform architecture
  • Partner with QE to ensure quality and testability of platform architecture
  • Work with Product Management to scope, plan and provide LOE estimates for new features

Qualifications:
Interested? Here's what we're looking for:

  • 5+ years experience
  • Proficient in at least 2 languages, one of which must be Java or Scala
  • Expert with scalable, high volume storage architectures for Batch Processing in production; you've built out at least one of these and have opinions on the One True Way to do this next time

    • Experience with Spark is preferred
  • Working knowledge of Stream Processing systems, e.g. Spark Streaming
  • Detailed knowledge of Data Serialization technology (Avro, Parquet, etc. etc.), including their respective benefits and tradeoffs
  • Expert writing scalable, high volume storage architectures for noSQL (Cassandra is best, but Hbase, Mongo, Neo4j, or other similar system are applicable)
  • Experienced in persistent, distributed message queue systems, e.g. Kafka
  • Experience with Job Scheduling / workload management technologies that interface with YARN (Azkaban, Oozie, etc.)
  • BS in Computer Science required, a Masters degree is a plus
  • Knowledge of AWS is a strong plus, as is an understanding of Docker
  • Excited to dig in, learn, build and see it through to production

To apply for this job please visit tinyurl.com.