Job Description
This job was posted over 30 days ago, so it has most likely closed. See newer jobs like it.
Written by AI from the job title and company, not by Magic, so some details may not match this job. The employer's own page has the real description.
Job Overview
The Software Engineer - Supercomputing Platform & Infrastructure at Magic will play a critical role in designing, developing, and maintaining high-performance computing systems. This individual will collaborate with multidisciplinary teams to enhance supercomputing capabilities, optimize resource allocation, and contribute to innovative projects that push the boundaries of computational science. The successful candidate will leverage their expertise in software engineering principles and practices to ensure efficient operation and scalability of the infrastructure, ultimately enabling groundbreaking research and analysis.
Job Responsibilities
- Design, develop, and implement software solutions for supercomputing infrastructure.
- Collaborate with research teams to understand computational needs and provide tailored software support.
- Optimize system performance and scalability through efficient algorithms and coding practices.
- Manage and enhance existing software tools, ensuring robustness and reliability.
- Participate in code reviews and mentor junior engineers to uphold coding standards.
- Conduct testing and validation of software applications in a high-performance environment.
- Work closely with hardware engineers to integrate software with cutting-edge computing hardware.
- Document software designs, processes, and technical specifications for future reference.
Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or a related field; Master’s degree preferred.
- Minimum of 3 years of professional experience in software development, preferably in high-performance computing.
- Strong programming skills in languages such as C, C++, Python, or Java.
- Proficiency with parallel computing and algorithms, especially in a supercomputing context.
- Experience with software development methodologies, including Agile and DevOps.
- Familiarity with Linux-based operating systems and shell scripting.
- Understanding of network and cloud computing principles is a plus.
Technologies & Tools
The successful candidate will work with various technologies and tools including supercomputing frameworks such as SLURM or PBS for job scheduling, programming environments and libraries such as MPI for parallel processing, and cloud platforms like AWS or Azure for scalable computing solutions. Additionally, familiarity with containerization tools such as Docker and orchestration platforms like Kubernetes will be beneficial for enhancing deployment processes.
Ideal Candidates
Ideal candidates for this position will possess a strong analytical mindset and a passion for tackling complex challenges in high-performance computing. They should be self-motivated, detail-oriented, and capable of working both independently and as part of a collaborative team. Excellent communication skills will be crucial, as the role demands interaction with diverse teams. A proactive attitude towards continuous learning and staying updated with emerging technologies in supercomputing will further contribute to the candidate's success in this role.
Not sure what kind of job to look for? Our career quiz is 30 quick questions, then the careers that fit your interests and what they pay. Take the career quiz →
View Similar Jobs
Similar jobs which you may be interested in. Typically using your existing skillset.