Job DescriptionYou will be part of a team of really smart, motivated, and diverse people, and you will be given the autonomy and support to do your best work. It is a dynamic and flexible workplace where you'll belong and be encouraged. Join the Oracle Cloud Infrastructure (OCI) VCN Dataplane team. Within OCI, our focus is on networking / new SmartNIC platform delivery.
ResponsibilitiesWe are looking for a Senior Software Engineer, Core Infrastructure to join a motivated and highly collaborative team to design and build features on next-generation SmartNICs from the ground up for AI infra. This will involve working with DPUs and working with DPU and GPU manufacturers
Qualifications:- Proficiency with C/C++ and P4 programming
- Scripting proficiency, in a language such as Python.
- Hands-on experience developing multi-threaded embedded Linux application/infrastructure.
- Experience in one or more Network or Storage stacks - DOCA, TCP/IP, NVMe, PCIe, DPDK.
- Firmware development skills and experience with embedded systems.
- Knowledge of at least one of Intel/AMD/ARM computer architectures.
- Hardware and/or System bring-up experience.
- Experience with Linux Kernel/Driver programming.
- Proficient with Linux.
- Virtualization technologies (SRIOV, VirtIO etc).
- Experience in CI/CD environments.
Required Education and Work Experience:- BSEE, BSCS, BSCE, or equivalent. MSEE, MSCS, or MSCE is a plus
- Minimum 5 years of Software Engineering experience working on challenging issues with a self-starter and self-motivated attitude.
Required Soft Skills:- Excellent problem solving, analytical skills and technical troubleshooting skills
- Ability to learn new skills quickly as needed
- Ability to work with minimal supervision.
- Ability to prioritize, self-manage, self-study, and organize effectively.
- Ability to collaborate and work as a team with peers and project members.
- Outstanding communication and presentation abilities.
- Engaging actively in the technical decision-making process.
- Participating in technical discussions and providing feedback depending on the needs of the team/department.
- Ensuring compliance with development methodology and technical process.
QualificationsMinimum Job QualificationsEducation and/or Experience:8 years of experience in software development
OR
Bachelor's of Technology (B.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Bachelor's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Master's of Technology (M.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 year of experience in software development
OR
Master's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 year of experience in software development
OR
Doctorate in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field.
Job Skills:
Same skills as prior level plus;
Distributed Systems: Demonstrated ability in or knowledge of distributed systems, including designing or managing scalable, secure, and highly available software systems.
Prototyping: Demonstrated experience creating and refining prototypes for system validation and stakeholder feedback.
Computer Science Programming: Demonstrated understanding of computer science principles and ability to implement them in code.
Software Engineering: Demonstrated proficiency in all phases of software engineering and development.
Web Development: Demonstrated ability in or knowledge of web development, including designing, developing, or maintaining modern web applications using current frameworks.
Innovation: Demonstrated ability in or knowledge of innovation, including generating or supporting new ideas, technologies, or processes for organizational growth.
Cross-Functional/Team Collaboration: Demonstrated ability in or knowledge of cross-functional collaboration, including working with stakeholders across teams or geographies to achieve common objectives.
Information Vulnerabilities: Demonstrated ability to assess and mitigate vulnerabilities in IT and physical information assets.
Operating Systems: Demonstrated ability in or knowledge of operating systems, including installing, upgrading, and troubleshooting various operating environments.
API Development: Demonstrated ability to develop, test, and maintain secure APIs for application integration.
API Integration: Demonstrated ability to build and manage robust API integrations for seamless interoperability between systems.
Applied Algorithm Engineering: Demonstrated skill in designing, analyzing, and optimizing algorithms for efficiency and scalability.
Source Control: Demonstrated ability in or knowledge of source control, including managing and documenting code versions and release branches.
Cloud - Cloud Platforms Experience:2 years of professional experience with cloud platforms (e.g., AWS, Azure, Google, Oracle Cloud).
Testing and Automation Experience:3 years of experience working in testing and automation at the system level.
Distributed Systems Experience:2 year of experience working with delivering and operating large-scale distributed systems.
Preferred Job QualificationsEducation and/or Experience:8 years of experience in software development
OR
Bachelor's of Technology (B.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Bachelor's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Master's of Technology (M.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 years of experience in software development
OR
Master's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 years of experience in software development
OR
Doctorate in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics.
People Leadership / Management Experience:2 year of experience with cloud platforms (e.g., AWS, Azure, Google, Oracle Cloud).