Position DetailsPosition Information
Posting date: 09/24/2024
Closing date: Open Until Filled: Yes
Position Number: 1128884
Position Title: Research Software Engineer II (RSEII), Scientific and High Performance Computing
Department this Position Reports to: Research Software Engineering
Hiring Range Minimum: $100,400
Hiring Range Maximum: $115,500
Union Type: Not a Union Position
SEIU Level: Not an SEIU Position
FLSA Status: Exempt
Employment Category: Regular Full Time w/end date
Scheduled Months per Year: 12
Scheduled Hours per Week: 40
Schedule: M-F, 8a-5p
Location of Position: Hanover, NH
Remote Work Eligibility?: Hybrid
Is this a term position?: Yes
If yes, length of term in months.: 36
Is this a grant funded position?: No
Position Purpose: Research Software Engineer II ( RSEII ), HPC & AI Software Engineer at Dartmouth leads innovative software and data science projects, optimizing solutions in Scientific and High-Performance Computing ( HPC ). Collaborating with researchers and research computing professionals, the RSEII provides expert software guidance and manages rapid development cycles. With deep expertise in scientific processes and CPU / GPU -based computing, the RSEII drives advancements in AI, machine learning, and other cutting-edge technologies. Overseeing multiple initiatives, the RSEII ensures alignment with ethical and sustainable practices for successful outcomes. By leveraging the latest tools, the RSEII addresses research challenges and works with a diverse group of experts to enhance Dartmouth's capabilities and shape the future of scientific discovery.
Description: Join Our Team as a Research Software Engineer II at Dartmouth!Are you ready to bring your HPC expertise and bold ideas to a leading research environment? Dartmouth is searching for a dynamic Research Software Engineer II ( RSEII ) to lead, innovate, and make a real impact in high-performance computing and data science.About the Role: As an RSEII at Dartmouth, you'll be at the helm of developing and managing advanced software solutions that propel our research forward. Your experience in HPC , particularly with CPU and GPU -based computing, will be key in driving our machine learning and AI projects. We're looking for someone who doesn't just follow trends but shapes them-someone with strong opinions on the direction of AI and Machine Learning in Research Computing.What You'll Do:
- Lead with Vision: Manage and guide large-scale research software projects, ensuring they meet the evolving needs of our research community.
- Innovate Boldly: Implement and optimize HPC solutions, utilizing your experience with Slurm and parallel programming to push the boundaries of what's possible.
- Collaborate Effectively: Serve as a key partner for Principal Investigators, researchers, and students, ensuring that our software solutions are aligned with the highest standards.
- Mentor Future Leaders: Share your expertise by guiding junior engineers, developing training programs, and staying at the forefront of research computing.
Your Skills and Expertise:
- HPC Experience: 3-5 years of hands-on experience in high-performance computing, with a strong foundation in Slurm and parallel programming.
- Technical Proficiency: Expertise in Python, AI frameworks like TensorFlow and PyTorch, and familiarity with cloud platforms ( AWS , Azure, Google Cloud).
- Thought Leadership: A clear and informed opinion on the future of AI and machine learning in research, ready to contribute to the direction of Dartmouth's initiatives.
Why Dartmouth?
- Impactful Work: Be part of groundbreaking research and innovation that shapes the future.
- Collaborative Environment: Work alongside a diverse, interdisciplinary team of experts who value your input and ideas.
- Professional Growth: Take advantage of continuous learning and development opportunities to further your career.
Join Us: If you're passionate about driving innovation in scientific and high-performance computing, and you're ready to bring your HPC ideas to life, apply now to lead the future of research software engineering at Dartmouth!
Required Qualifications - Education and Yrs Exp: Bachelors or equivalent combination of education and experience
Required Qualifications - Skills, Knowledge and Abilities: - Bachelor's degree in Computer Science, Engineering, or a related field.
- At least 3 years of experience in software engineering within an academic or research environment.
- Strong proficiency in Python and AI frameworks (TensorFlow, PyTorch).
- Demonstrated knowledge of generative models (GANs, VAEs) and natural language processing ( NLP ).
- Experience in source code optimization and troubleshooting.
- Strong understanding and hands-on experience with machine learning, data processing, and artificial intelligence.
- Experience with CPU and GPU -based high-performance computing ( HPC ), parallel ( MPI ), and distributed computing.
- Experience with cloud platforms ( AWS , Azure, Google Cloud) and AI deployment.
- Familiarity with key research and scientific programming languages (Matlab, R, SAS , SPSS , STATA ) and web frameworks (JavaScript).
- Experience leading or contributing to open-source projects.
- Familiarity with data security and privacy best practices.
- Experience working with diverse and interdisciplinary research teams.
- Knowledge of emerging trends and technologies in research software engineering.
- Demonstrated commitment to continuous learning and professional development.
Preferred Qualifications: - Advanced degree (Master's or Ph.D.) in Computer Science, Engineering, Data Science, or a related field and publication track record.
- More than 5 years in research software development, with a portfolio of complex, multi-disciplinary projects.
- Certification in project management ( PMP , Agile/Scrum Master).
- Advanced proficiency with cloud computing solutions and containerization tools (Docker, Kubernetes).
- Significant contributions to open-source projects, showcasing collaborative and community-focused software development.
- Experience with ethical AI practices in AI models.
- Hands-on experience using large foundation models (e.g., LLMs) and associated tool chains and APIs to build applications, tools, and workflows.
Department Contact for Recruitment Inquiries: Jonathan Kulp
Department Contact Phone Number: 603.###.####
Department Contact for Cover Letter and Title: Will Cowen
Department Contact's Phone Number: 603.###.####
Equal Opportunity Employer: Dartmouth College is an equal opportunity/affirmative action employer with a strong commitment to diversity and inclusion. We prohibit discrimination on the basis of race, color, religion, sex, age, national origin, sexual orientation, gender identity or expression, disability, veteran status, marital status, or any other legally protected status. Applications by members of all underrepresented groups are encouraged.
Background Check: Employment in this position is contingent upon consent to and successful completion of a pre-employment background check, which may include a criminal background check, reference checks, verification of work history, conduct review, and verification of any required academic credentials, licenses, and/or certifications, with results acceptable to Dartmouth College. A criminal conviction will not automatically disqualify an applicant from employment. Background check information will be used in a confidential, non-discriminatory manner consistent with state and federal law.
Is driving a vehicle (e.g. Dartmouth vehicle or off road vehicle, rental car, personal car) an essential function of this job?: Not an essential function
Special Instructions to Applicants: This position is a 36-month term position.Dartmouth College has a Tobacco-Free Policy. Smoking and the use of tobacco-based products (including smokeless tobacco) are prohibited in all facilities, grounds, vehicles or other areas owned, operated or occupied by Dartmouth College with no exceptions. For details, please see our policy.
Additional Instructions: Quick Link: Key Accountabilities
Description: Software Development and Management
- Leads and manages large scale research software projects, overseeing timeline creation, stakeholder coordination, and resource allocation.
- Conducts thorough technical surveys to identify and integrate advanced software tools, components, libraries, and tools that enhance project outcomes.
- Designs, develops, implements, and documents complex software solutions, ensuring they align with research goals and are scalable for future needs.
- Implements and optimizes high-performance computing solutions and existing applications for distributed computing environments.
- Maintains the highest standards of software quality through rigorous testing, debugging, and continuous integration practices.
- Upholds ethical AI development practices, focusing on fairness, transparency, and privacy.
- Stays current with the latest advancements in AI research, applying new findings to enhance project effectiveness.
- Develops and maintains comprehensive technical documentation accessible to a diverse user base, including researchers and IT professionals.
- Independently manages multiple concurrent projects, effectively prioritizing tasks to meet deadlines and achieve project milestones.
- Fosters collaboration with the research community to understand their needs and translate them into innovative software solutions.
Percentage Of Time: 50
Description: Collaboration and Relationship Management
- Acts as a key liaison between the software engineering and the cyberinfrastructure teams and research stakeholders, ensuring clear communication and alignment of project objectives.
- Engages in collaborative design and analysis sessions to create user-centered software solutions that address the specific needs of researchers.
- Builds and maintains strong relationships with faculty, computing professionals, and external partners to support interdisciplinary research projects.
- Provides expert consultation on software requirements, leveraging in-depth knowledge of research processes and technology trends to guide project direction.
Percentage Of Time: 30
Description: Training and Development
- Mentors junior engineers and research staff, sharing expertise in software engineering and research methodologies.
- Develops and delivers training programs and workshops to empower researchers with advanced software tools and methodologies.
- Stays updated on software engineering and research computing trends through continuous professional development, including attending conferences and engaging with professional networks.
Percentage Of Time: 15
Description: Other Duties as Assigned
Percentage Of Time: 5Demonstrates a commitment to diversity, inclusion, and cultural awareness through actions, interactions, and communications with others. Performs other duties as assigned.