Senior Staff / Principal Software Engineer, Rust Genomics Infrastructure
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
Benefits
Additional Information
The Senior Staff Software Engineer manages assigned software systems through strategic direction, technical design, implementation, and operational health. The Principal Software Engineer anticipates, identifies, and provides solutions for complex problems through deep technical analysis. St. Jude is seeking a seasoned Rust developer to lead the development of software to facilitate genomics analysis at scale. Foundationally, this position will work on writing (or rewriting) tools that underpin the genomics ecosystem in Rust. This position requires a deep understanding of the Rust programming language and agility working with the core concepts therein, proficiency in algorithm development with a focus on optimization via profiling, and a track record of developing software with strong documentation and testing. A portion of this position's time will be dedicated to open-source software development: for these projects, active community management and engagement are vital to ensuring adoption of these tools. Beyond engineering, both synchronous and asynchronous communication skills-particularly in the areas of ideating on project direction, tracking project progress, and overall engagement with the community of these tools-are critical to ensuring success of the project. Of note, specific experience with bioinformatics and genomics is not required; we're targeting talented software engineers who want to expand into the fields of bioinformatics and genomics (visit https://learngenomics.dev/ to learn more about genomics in the context of software engineering). Senior Staff Software Engineer Job Responsibilities: Independently manage software systems within an area of responsibility, providing strategic direction, technical design, implementation, and operational health, coordinating efforts with other staff as necessary Serve as a technology advocate and technical thought leader within the assigned area, inspiring productive change through technology solutions, guiding application strategy, and providing recommendations for future development Architect, design, and develop "best-in-class" solutions to all but the most complex problems in the scientific domain Use scientific domain knowledge to perform data analysis and identify problems and areas for improvement and generate strategic leads Stay educated on existing and state-of-the-art technologies, and evaluate technology fits for effective delivery Engage with and influence senior leadership and other decision-makers Participate in the preparation of scientific manuscripts and presentations Drive processes for continuous learning and development across teams, mentoring and guiding when required to ensure quality and productivity Perform other duties as assigned to meet the goals and objectives of the department and institution. Maintains regular and predictable attendance. Minimum Education and/or Training: Bachelor's degree in computer science, data science, information science, business, or related field. Master's degree preferred. Minimum Experience: Minimum Requirement: Bachelor's degree with 8+ years of experience in computer science, data science, information science, business, or related field. Experience Exception: Master's degree with 6+ years of experience in computer science, data science, information science, business, or related field. Experience with programming languages, databases, and software development lifecycle. Substantial experience within the technical and/or scientific domain. Proven performance in earlier role/comparable role. Principal Software Engineer Job Responsibilities: Anticipate problems and opportunities in the scientific domain; advocate for strategic plans based on deep technical and scientific knowledge Independently perform deep analysis of scientific data to identify problems and opportunities for improvement. Mentor junior staff in technical and scientific concepts and actively contribute to local body of knowledge. As part of a multi-disciplinary team, identify technical solutions to complex scientific problems and lead the implementation of those solutions. Serve as a technology advocate and technical thought leader within the assigned area, inspiring productive change through technology solutions, guiding application strategy, and providing recommendations for future development. Prepare scientific manuscripts and presentations. Perform other duties as assigned to meet the goals and objectives of the department and institution. Maintains regular and predictable attendance. Minimum Education and/or Training: Bachelor's degree in computer science, data science, information science, business, or related field required. Master's degree preferred. Minimum Experience: Minimum Requirement: Bachelor's degree with 12+ years of relevant experience. Experience Exception: Master's degree with 10+ years of relevant experience. Experience with programming languages, databases, and software development lif