Sr Bioinformatics Software Engineer
Baylor Genetics · Houston, TX · 3 wk ago
HybridEngineeringFull-time
About the Role
The Senior Bioinformatics (BI) Software Engineer plays a critical technical role, responsible for designing, developing, and maintaining scalable and efficient software solutions for Baylor Genetics’ bioinformatic pipelines. This role involves collaborating with and supporting cross-functional teams to deliver data-driven software solutions aligning with business needs.
Responsibilities
- Design, develop, and maintain robust software solutions using various tools, databases, and technologies to meet business requirements.
- Create and optimize data models, ensuring the accuracy, integrity, and performance of computational algorithms, particularly for assembly, mapping, variant calling, and variant annotation.
- Develop and optimize ETL (Extract, Transform, Load) processes to efficiently extract data from various sources, transform it, and load it into the BI system, with an emphasis on utilizing APIs.
- Analyze and optimize SQL queries and database performance to enhance data retrieval and reporting speed; contribute to schema design and review sessions.
- Develop interactive dashboards and automated reports using BI tools (e.g., Azure Pipelines, Teams Power Automate, email, Nextflow) to provide actionable insights for stakeholders.
- Collaborate closely with stakeholders, including data analysts, business users, clinical reviewers, laboratory personnel, and software developers, to scope requirements and deliver timely integrations.
- Integrate disparate data sources and ensure consistency, accuracy, and reliability of data across the BI system, focusing on minimal code debt and high maintainability.
- Conduct rigorous testing of BI solutions to ensure data accuracy, system stability, and optimal performance, including automating testing suites (e.g., pytest, doctest, Azure Pipelines).
- Create comprehensive documentation, including in-line comments (Jira ticket references, genomic diagrams, reasoning, TODOs, docstrings), wikis, README files, and trace mappings for software organization and user implementation.
- Perform other advanced job-related duties as assigned.
Requirements
- Bachelor’s degree in Computer Science, Software Engineering, Bioinformatics, or a related field; Master’s degree preferred.
- Minimum of 5 years of experience in software development, with a proven track record of designing and implementing scalable software solutions based on diverse user feature needs.
- Proven experience implementing production-ready software solutions from scratch.
- Prior experience or domain knowledge collaborating with laboratory scientists, computational biologists, or clinical reviewers is a plus.
Skills
- Technical Skills:
- Deep knowledge and expertise in at least two programming languages (Python, Perl, R, Bash; Java, C++, and Groovy also considered).
- Proficient in database technologies, including SQL Server, NoSQL, MongoDB, MySQL, and ElasticSearch, with skills in database management, optimization, and query development.
- Proficiency in Agile frameworks and CI/CD practices using Git; knowledge of Azure is a bonus.
- Strong implementation of object-oriented programming (OOP), including building intuitive classes relevant to science, systems, or services.
- Demonstrated ability to build performant, maintainable, and production-ready software packages from scratch.
- Solid understanding and practice of unit and integration testing.
- High regard for documentation and explicit object/variable naming; ability to relay scientific concepts in documentation or code.
- Proficiency in designing and building APIs and microservices from scratch.
- Familiarity with Linux OS and HPC clusters (SLURM, Kubernetes, GCP, Azure) is a plus.
- Solid understanding of package management (PIP, Conda) and containerization (Docker, Singularity).
- Proficiency or knowledge of workflow management tools (Nextflow, Airflow, Snakemake) is a plus.
- Analytical Thinking: Strong problem-solving skills with the ability to translate complex business needs into technical solutions; works independently and collaborates with stakeholders and subject-matter experts.
- Team Collaboration: Excellent interpersonal and communication skills to collaborate effectively with multidisciplinary teams; open to receiving and giving constructive feedback.
- Adaptability: Ability to adapt to evolving technologies, learn new tools, and implement best practices in BI software engineering; assesses when drop-in solutions are preferable to custom implementations and runs proof-of-concepts as needed.
- Project Management: Experience managing individual projects, adhering to timelines, and delivering high-quality solutions while communicating scope fluctuations.
Physical Demands and Work Environment
- Frequently required to sit and stand.
- Frequently required to utilize hand and finger dexterity.
- Frequently required to talk or hear.