Staff/Senior Software Engineer - Platform
Background
Before new medical treatments can be administered to the public, they must demonstrate safety and efficacy in a clinical trial. These trials protect consumers from ineffective and dangerous products, but the clinical trial process also presents a tremendous bottleneck in delivering life-saving treatments to patients. A typical trial involves coordinating between numerous parties and data formats to gather, store, analyse, and audit clinical data. Mistakes and delays are common, and fewer than 10% of trials finish on time.
At TrialSpark, we are looking for talented software engineers to help us reimagine the clinical trial process from first principles and build the backbone for our technology platform.
Description
This is a foundational software engineering role at TrialSpark. You will build core infrastructure to help our engineering and data teams scale, iterate, test, and release in a timely way. Moreover, there is a lot of greenfield work to be done and lots of potential for impact.
You will be actively partnering with our Product, Data, and Operational teams to grow your domain expertise and build data infrastructure to enable data-driven decision making for TrialSpark. Your ability to understand and navigate the complexities of healthcare data and clinical trials will be essential to your success and the success of TrialSpark.
Responsibilities
- Build, maintain, and evolve our data pipeline and overall data architecture to accommodate a growing amount of data and scale our patient database
- Implement reliable data integrations from a variety of sources and develop data quality metrics to assess the trustability of these sources
- Create tools to continuously monitor, test, and optimize our pipeline to ensure timely delivery and high quality
- Work with operational partners and product management to connect business and product needs, particularly for high quality data
- Partner with our Data team to scale our data warehouse for high-performance ad hoc querying
- Develop infrastructure, frameworks, APIs, and libraries to support and enable our engineering and data teams.
- Own the monitoring, logging, alerting, tracing, and deployment for the systems you build
- Inform major design, architecture, and capacity planning decisions for the engineering team by applying a seasoned systems perspective.
- Help enforce best practices and promote testability and maintainability throughout our systems and codebase.
- If it can be automated, you will automate it.
Qualifications
- Minimum 5+ years of software development preferably in a Tech Lead role
- 2+ years in a data heavy engineering role
- Fluency in SQL and at least one programming language (Python preferred)
- Strong knowledge of data modeling, pipeline scheduling and flows (e.g. Airflow), database design and architecture, ETL (e.g. dbt), OLAP
- Experience with performance tuning row-based (PostgreSQL) and columnar (e.g. Redshift) data stores
- Comfortable with Linux, Docker, and cloud technologies (AWS)
- Excellent problem solving and debugging skills.
- Exceptional communication skills with the ability to convey complicated systems to both technical and non-technical audiences
- B.S. in Computer Science or related field, or equivalent experience