Software Architect designing high-performance computing software for semiconductor equipment. Work with cross-functional teams and mentor junior software architects and engineers for complex systems.
Responsibilities
Responsible for designing and implementing High performance computing software solutions for the organization
Work closely with cross-functional teams, including software engineers, product managers, and business stakeholders, to understand requirements and translate them into architectural/software designs that meet business needs
Coding and developing quick prototypes to establish designs with real code and data
Subject Matter expert to unblock software engineers in the HPC domain
Profile systems to understand bottlenecks, optimize workflows and code and processes to improve cost of ownership
Conduct technical reviews and provide guidance to software engineers during the development process
Identify and mitigate technical risks and issues throughout the software development lifecycle
Evaluate and recommend appropriate technologies and frameworks to meet project requirements
Lead the design and implementation of complex software components and systems
Ensure that software systems are scalable, reliable, and maintainable
Mentor and coach junior software architects and engineers
Requirements
7 to 15 years of experience in Design and coding in C/C++ preferably in Linux Environment
Very good knowledge Data structure and Algorithms and complexity analysis
Experience in developing Distributed High Performance Computing software using Parallel programming frameworks like MPI, UCX etc.
In depth experience in Multi-threading, Thread Synchronization, Inter process communication, and distributed computing fundamentals
Very Good knowledge of Computer science fundamentals like, Operating systems internals (Linux Preferred), Networking and Storage systems
Experience in performance profiling at application and system level (e.g. vtune, Oprofiler, perf, Nividia Nsight etc.)
Experience in low level code optimization techniques using Vectorization and Intrinsics, cache-aware programming, lock free data structures etc.
Experience in GPU programming using CUDA, OpenMP, OpenACC, OpenCL etc.
Familiarity with microservices architecture and containerization technologies (docker/singularity) and low latency Message queues
Excellent problem-solving and analytical skills
Strong communication and collaboration abilities
Ability to mentor and coach junior team members
Experience in Agile development methodologies.
Benefits
Supportive work culture
Programs and support for personal and professional growth
Backend Developer enhancing core product for FLUX Systems, focusing on microservices with Spring Boot and Quarkus. Collaborating in small teams with a focus on quality and longevity.
Full Stack Engineer responsible for end - to - end development of scalable web applications using Python and React at CI&T. Collaborating in a diverse environment to deliver innovative tech solutions.
Backend Engineer developing Java applications for core banking systems at PayPay. Collaborating with a team to renew banking systems and enhance financial services.
Java Developer creating scalable backend applications with Java and Spring Boot for fintech startup. Collaborating in agile teams to enhance a digital finance product.
Software Developer developing functions and components for SaaS products in the financial sector. Engaging in modern tech stack and agile processes with team collaboration.
Fullstack Developer responsible for enhancing software products using .NET technologies and ensuring code quality. Collaborating on new features, code reviews, and maintaining best practices.
Developer creating new features and components for RAQUEST software used by international banks. Responsible for system maintenance and optimization with a focus on stability and performance.
Senior Fullstack Developer with C#/.NET leading projects at Germanedge in a hybrid work setting. Ensuring high - quality and economic success of software projects with hands - on development.
Fullstack Developer supporting software solutions with C#/.NET for clients in the digital production space. Involves development tasks and close collaboration with clients and teams.
Dotnet Developer designing, coding, and supporting Vantage - One applications at Ameriprise India LLP. Collaborating with teams to comply with technical solutions and quality standards for clients' needs.