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
Any graduate