- Set up and integrate HPC job schedulingcapabilities. Implement features to submit, queue, and track simulation jobs on HPC resources, interfacing with job schedulers likeSlurmfor managing workloads.
- Build monitoring dashboardsfor job status and results. Develop front-end components that display real-time status of simulation runs and provide data visualization of simulation outputs (e.g. charts, graphs) for analysis and decision-making.
- Design and developthe simulation platforms web application, including both client-side interfaces and server-side logic, ensuring auser-friendly UIandscalable back-end
- Implement inter-service communicationandservice-oriented architecturefor the platforms backend components. This includes designing RESTful APIs for efficient communication between services
- Ensure code quality and reliabilitythrough unit testing, integration testing, and code reviews.
- Collaborate with cross-functional teamsthroughout the development cycle to gather requirements, refine the platforms features, and ensure the solution meets user needs and performance goals.
- Optimize performance and scalabilityof the application. Profile and improve system performance to handle computationally intensive simulation data and concurrent users, leveraging best practices for high-throughput and low-latency systems.
- Stay updatedwith emerging technologies and industry best practices. Bring new ideas to the team by exploring modern frameworks or tools that could enhance the platforms capabilities.
Required Qualifications
- Education:Masters degree in Computer Science or a related field,orBachelors degree in Computer Science (or related)with at least 3 yearsof hands-on web application development experience
- Experience:Minimum3+ yearsof professional software development experience, including building web applications or services. Proven track record of delivering software projects from design to deployment.
- Programming Skills:Proficiency inReact, Fast-API, PythonandJavaScriptprogramming languages, with the ability to write clean, efficient, and well-documented code.
- Team Collaboration:Strong communication skills and ability to work effectively in across-functional teamsetting. Comfortable collaborating with diverse team members (developers, testers, domain experts) and conveying technical ideas clearly.
- Adaptability:Awillingness to learnnew technologies and adapt to evolving project requirements. Enthusiasm for working in a dynamic,fast-changing environmentwhere priorities may shift as the project grows
Preferred Qualifications (Nice-to-Haves)
- Full-Stack Experience:Demonstrated experience as aFull Stack Developer, comfortable with both front-end UI development and back-end server development. Ability to switch between building intuitive user interfaces and optimizing server logic is highly valued.
- HPC/Simulation Background:Experience working on projects involving scientific computing, simulations, or HPC applications. Familiarity with parallel computing concepts or engineering simulations (CFD, FEA, etc.) can help in understanding the platforms context
- DevOps & CI/CD:Hands-on experience with DevOps tools and workflows. Knowledge of setting up CI/CD pipelines using platforms likeAzure DevOps, Jenkins, or GitHub Actions to automate build and deployment processes
Containerization & Cloud:Experience with container technologies (Docker) and orchestration (Kubernetes) for deploying microservices is a plus. Familiarity with cloud services or infrastructure (Azure, AWS, etc.) for scalable deployment environments
Minimum Qualifications
Masters degree in Computer Science or a related field,orBachelors degree in Computer Science (or related) with at least 3 yearsof hands-on web application development experience .