Software Development Engineer
Full Job Description
About the Role
IBM Cloud Computing offers comprehensive cloud solutions and tools essential for modern industries. Our portfolio encompasses Infrastructure as a Service (IaaS), Software as a Service (SaaS), and Platform as a Service (PaaS), delivered through public, private, and hybrid cloud models. IBM Cloud ensures seamless integration across environments, providing secure, scalable, and flexible infrastructure that has positioned us as the Hybrid Cloud Market leader. We are the Cloud for Smarter Business, built on open technology and developer tools, supporting solutions across various industries including Watson, Blockchain, Security, and IoT.
This is an exceptional opportunity to contribute to IBM's success in the cloud market. You will research and learn new cloud technologies, design and implement cloud-based prototypes, and advance your career in a leading-edge technological environment.
Who You Are
As an IBM Cloud Software Development Engineer, you are a talented, innovative, and enthusiastic professional driven to develop and enhance software that powers the cloud. You will be instrumental in building the next generation of cloud and security services to ensure our customers' success.
Growth Opportunities
At IBM, we invest in your growth. You will have access to extensive technical and management training courses, mentorship from senior leaders in the field, and opportunities to engage with a diverse range of clients.
Your Responsibilities
You will be an integral part of the Cloud Platform Service Engineering team, responsible for delivering infrastructure services with unparalleled performance, security, reliability, and quality. You will lead the development of new cloud services on the IBM Cloud Platform, collaborating with Fortune 100 enterprise clients to build hyperscale cloud services for major global organizations.
As a member of our global team, strong communication skills (verbal and written) are essential, as is the flexibility to collaborate with colleagues across different time zones.
Qualifications
Preferred Education
Master's Degree
Required Technical and Professional Expertise
- 11+ years of industry experience with deep knowledge of Golang/C/C++ (Golang preferred).
- Proficiency in object-oriented design principles and patterns, with a solid understanding of REST and gRPC.
- Experience with data modeling and API design.
- Strong knowledge of data structures.
- Hands-on experience with distributed applications in container environments (Docker/Kubernetes).
- Considerable experience configuring and administering Linux (or UNIX) systems.
- Strong experience in large distributed microservice architectures.
- Experience building tests for gRPC, RESTful APIs, and SOAP webservices.
- Experience with relational databases (Oracle, MySQL, PostgreSQL) and SQL; ETCD experience is a plus.
- Familiarity with cloud infrastructure (AWS/Azure/GCP), CI/CD, and DevOps practices.
- Ability to script in shell or Python.
- Experience in large systems software design and development.
- Demonstrated experience leading junior developers and driving technical delivery.
- Ability to quickly learn new technologies and implement prototypes.
- Demonstrated problem-solving and analytical skills.
- Ability to identify areas for improvement and automation.
- Expertise in performance optimization and scalability of complex systems.
- Experience with asynchronous programming and concurrency models (Goroutine, channels are a plus).
- Proficiency in security best practices and secure coding principles.
- Skilled in conducting code reviews and providing constructive feedback.
- Responsible for ensuring code quality and maintaining high standards.
- Ability to manage technical debt and ensure codebase maintainability.
- Thorough understanding of the networking layer and OSI model.
- Strong understanding of software design patterns and various operating systems (Linux, Mac OS, Windows).
- Excellent communication and cross-functional collaboration skills.
- Ability to drive technical decisions and provide architectural guidance.
- Expected to foster innovation and continuous improvement within the team.
- Excellent communication, analytical, cross-functional collaboration, and stakeholder management skills.
Preferred Technical and Professional Experience
- Familiarity with virtualization (KVM/QEMU/libvirt a plus).
- Certified Kubernetes Application Developer (CKAD) preferred.
- Understanding of security and compliance issues.
Company
IBM
IBM is a global leader where innovation thrives. We are a collective of technologists, developers, and engineers dedicated to creating solutions that advance the world through cutting-edge technology ...