Senior Bioinformatics Software Engineer bei Baylor Genetics
Baylor Genetics · Houston, Vereinigte Staaten Von Amerika · Onsite
- Senior
- Optionales Büro in Houston
Position Summary:
The Senior Bioinformatics (BI) Software Engineer holds 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.
Key Responsibilities:
- BI Development: Design, develop, and maintain robust software solutions using various tools, databases, and technologies to meet business requirements.
- Data Modeling: Create and optimize data models, ensuring the accuracy, integrity, and performance of the underling computational algorithms, especially as pertains to assembly, mapping, variant calling and variant annotation.
- ETL Processes: 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
- Query Optimization: Analyze and optimize SQL queries and database performance to enhance data retrieval and reporting speed. Contribute to schema design and review sessions to ensure high performance and maintainable databases.
- Dashboard & Report Creation: Develop interactive dashboards and automated reports using BI tools (e.g., Azure Pipelines, Teams Power Automate, Tableau) to provide actionable insights for stakeholders.
- Collaboration: Work and align closely with stakeholders, including data analysts, business users, clinical reviewers, laboratory personnel and software developers, to scope their requirements and deliver timely integrations of new software.
- Data Integration: Integrate disparate data sources and ensure consistency, accuracy, and reliability of data across the BI system, with a focus on devising systems that have minimal to no code debt and are highly maintainable and flexible.
- Quality Assurance: Conduct rigorous testing of BI solutions to ensure data accuracy, system stability, and optimal performance, with the ability to automate testing suites using packages (e.g. pytest, doctest, Azure Pipelines)
- Documentation & Maintenance: Create comprehensive documentation for developed solutions and provide support and maintenance as necessary. This generally includes: (1) detailed in-line commenting noting Jira ticket request numbers, genomic diagrams, reasoning and personal thoughts, TODO comments, docstrings, BG headers, etc.; (2) wikis and README files instructing users on how to install and implement the software along with trace mappings detailing how the software is generally organized.
Qualifications:
- Education: Bachelor’s degree in Computer Science, Software Engineering, Bioinformatics or a related field; Master’s degree preferred.
- Experience: 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. Must have a proven track record of implementing production ready software solutions from scratch. Prior experience or domain knowledge from collaborating with laboratory scientists, computational biologists, or clinical reviewers is a nice-to-have.
- Technical Skills:
- Deep knowledge and expertise in at least two programming languages (Python, Perl, R, or Bash, will also consider Java, C++, and Groovy).
- Proficient in a range of database technologies, including SQL Server, NoSQL, MongoDB, MySQL, or Elastic Search, demonstrating comprehensive skills in database management, optimization, and query development.
- Proficiency in working in an Agile framework and implementing CI/CD practices using Git. Knowledge of Azure is a bonus. Implementation of object orientated programming (OOP) is second nature, which includes building intuitive classes relevant to the science, system, or service.
- Standard software design practices are intuitive to you. Demonstrated ability to build entire software packages from scratch that are performant and highly maintainable, ensuring they are tested and are production ready. Solid understanding and habitual practice of unit and integration testing of software.
- High regard for documentation with the ability to relay or distill scientific concepts within supplemental documentation or inline code itself.
- Proficiency in designing and building APIs and microservices from scratch.
- Familiarity with Linux OS, HPC clusters (SLURM, Kubernetes, GCP, Azure, etc.), and pub/sub methodologies is a plus, but not essential.
- Solid understanding of package management practices (PIP, Conda, etc.) and containerization (Docker, Singularity, etc.).
- Proficiency or knowledge of workflow management or orchestration tools (Nextflow, Airflow, Snakemake, etc.) is a plus, but not essential.
- Analytical Thinking: Strong analytical and problem-solving skills with the ability to translate complex business needs into technical solutions and work independently to solve problems. Also requires good communication skills and flexibility to reach out to stakeholders and SMEs as necessary
- Team Collaboration: Excellent interpersonal and communication skills to collaborate effectively with multidisciplinary teams. Should be open and willing to receive and give reviews/critiques.
- Adaptability: Ability to adapt to evolving technologies, learn new tools, and implement best practices in software engineering and development. Should be able to assess situations when a drop-in solution would be preferable to a custom software implementation and run proof-of-concepts as needed. Should be highly familiar with best practices in software development and an advocate of best practices.
- Project Management: Experience in managing individual projects and adhering to timelines while delivering high-quality solutions, ensuring good communication in situations where project scopes may fluctuate
PHYSICAL DEMANDS AND WORK ENVIRONMENT:
- Frequently required to sit.
- Frequently required to utilize hand and finger dexterity.
- Frequently required to talk or hear.
EEO Statement:
We are an equal opportunity employer and welcome applications from candidates regardless of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
The above is intended to describe the general content and requirements for this job's performance. It is not to be construed as an exhaustive statement of duties, responsibilities, or physical requirements. Nothing in this job description restricts management's right to assign or reassign duties and responsibilities to this job at any time. Reasonable accommodations may be made to enable individuals with disabilities to perform essential functions.
Jetzt bewerben