Senior Software Engineer, Analytics Platform

Salary depends on experience
Posted on 03/21/18
San Francisco, CA
Salary depends on experience
Posted on 03/21/18

About this role

You’ll sit at the heart of the team  that develops, productionizes and maintains Syapse's analytics platform including its data lake, data warehouse and a code base of high-quality data processing, analysis and visualization algorithms. You will work in close collaboration with clinical informatics, other platform teams and our partners to achieve groundbreaking results that advance oncological treatments.

The team will build and maintain a data lake and a data warehouse that stores data in organized format with metadata, and allows easy exploration, analysis and visualization of this data by our clinical informatics, internal and partner analytics teams. The team will also help develop and maintain a repository of scalable, reusable tools for data processing and visualization.  

Responsibilities

  1. Designs and implements cloud scale distributed ETL systems, services and frameworks including solutions to address high-volume and complex data collection, processing, transformation and reporting for analytical purposes.
  2. Works with the team's architects to develop architectural blueprints, and a long-term technical roadmap for Syapse’s analytics platform. Balances their focus between both the immediate needs and the long-term view.
  3. Writes code and unit tests, works on API specs, automation, and conducts code reviews and testing
  4. Owns technical aspects of software development and identifies opportunities to adopt innovative technologies.
  5. Identifies continuous improvements for service availability.
  6. Evaluates and recommends tools, technologies and processes to ensure that the services that the team provides achieve the highest standards of quality and performance.
  7. Debugs and troubleshoots problems in data flow, lineage, transformation and other stages of the ETL pipelines.
  8. Collaborates with other peer organizations (e.g., QA, DevOps, technical support, etc.) to prevent and resolve technical issues and provide technical guidance.
  9. Mentors Junior engineers within the team.

Essential Requirements

  • B.S. in Computer Science or 7+ years of experience with delivering production quality software
  • Expert in Python or Java
  • Expert level skills with building products using distributed technologies
    • Strong and demonstrable experience with more than one of the following:
      • Relational Stores (E.g Postgres, MySQL, Oracle)
      • Columnar or NoSQL Stores (Redshift, Cassandra, DynamoDB)
      • Graph Stores (Neo4J, Titan, Triple/RDF Stores)
      • Document Stores (Postgres JSONB, MongoDB)
      • In memory stores (Redis, memsql)
      • Distributed Processing Engines (Apache Spark, Apache Storm, Celery)
    • Distributed Queues (Kinesis, Apache Kafka, RabbitMQ)
    • Worked with multiple types of databases, including both relational and non-relational
  • Expert in SQL for extraction, querying and handling large amounts of data
  • Experience in building data analytics platforms
    • Working with partner data scientist, data analysts and other domain experts to understand their needs and be able to develop solutions
  • Experience working with AWS or similar cloud platform technologies

Nice To Have

  • Experience with MVC or MVCS frameworks such as Django
  • Expertise in data science or machine learning, especially supervised ML algorithms, clustering, or natural language processing
  • Knowledge of healthcare datasets
    • Sensitivity to healthcare data
    • Having worked in regulated industry
  • Knowledge of hierarchical, relational and unnormalized data formats
  • Experience with visualization software (e.g Tableau, SpotFire etc)
Not the right job?
Join Ladders to find it.
With a free Ladders account, you can find the best jobs for you and be found by over 20,0000 recruiters.