Onsite Software Engineering Expert, C++

Posted 3 hours ago

Apply now

About the role

  • 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

Job title

Software Engineering Expert, C++

Job type

Experience level

SeniorLead

Salary

Not specified

Degree requirement

Bachelor's Degree

Location requirements

Report this job

See something inaccurate? Let us know and we'll update the listing.

Report job