Description


Job Description

THE ROLE:

Client is looking for a specialized junior software engineer who is passionate about improving the performance of key applications and benchmarks. You will be a member of a core team of incredibly talented industry specialists and will work with the very latest hardware and software technology. 
Successful candidates will be working across an international software organization to enable systems used in machine learning, compute, and related components including developing and supporting Linux drivers, tools, libraries, and documentation applied to a full system architecture. You will be primarily focused on developing, implementing, and improving software critical for client data center products

The Person

The ideal candidate should be passionate about software engineering and possess skills to solve sophisticated issues. Able to communicate effectively and work optimally with different teams across client. 
We are looking for a passionate, creative, teammate, and result oriented engineer who is passionate about groundbreaking technology and willing to work in a fast-paced groundbreaking technology environment. A degree in computer engineering, software engineering, or electrical engineering who is interested developing, enhancing, and supporting Linux software desired. Willing to solve sophisticated problems is a must.

Key Responsibilities

Work with client’s architecture specialists to improve future products 
Apply a data minded approach to target optimization efforts 
Stay informed of software and hardware trends and innovations, especially pertaining to algorithms and architecture 
Design and develop new groundbreaking client technologies 
Participating in new ASIC and hardware bring ups 
Develop technical relationships with peers and partners 
Provide high-quality, well-tested, secure, and maintainable code 
Develop for continuous integration and automated deployments 
Provide ongoing maintenance and support of internal/external related drivers, libraries, tools, and documentation 
Create tools for automating building, testing, deployment, monitoring on Linux 
Debug and troubleshoot system-level issues and features 
Proactively drive continuous improvement in all areas of activity

Preferred Experience

Strong object-oriented programming background, C/C++ and Python preferred 
Ability to write high quality code with a keen attention to detail 
Knowledge with modern concurrent programming and threading APIs 
Familiarity with Linux GPU kernel driver development 
Familiarization with continuous integration systems such as Jenkins 
Knowledge and use of Git or similar version control repositories 
Linux kernel development experience, either core kernel development or device driver development. 
Experience with software development processes and tools such as debuggers, source code control systems (GitHub) and profilers is a plus 
Effective communication and problem-solving skills 
Knowledge in developing and debugging system hardware and software or firmware for embedded systems 
Understanding of computer organization/architecture, Machine Learning, HPC 
Outstanding interpersonal and communication skills

Academic Credentials

Desired Bachelor’s or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent 

Education

Any graduate