Back-End Developer - Cloud
At IBM, work is more than a job – it’s a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you’ve never thought possible. Are you ready to lead in this new era of technology and solve some of the world’s most challenging problems? If so, lets talk.
Your Role and Responsibilities
Your primary job duties involve quality code delivery and end-to-end feature enablement across the orchestration layer. Alongside, you will mentor junior developers and play an active role in knowledge creation and sharing initiatives. This role would require you to constantly engage with geographically dispersed teams and software architects for various work assignments.
Here’s a breakdown of job responsibilities:
• Develop a general overall understanding of the product vision and business needs to work on product requirements for determining functional and non-functional aspects while creating appropriate solutions in a collaborative manner.
• Draft high-level product specifications and deliver code with attention to system integrity, feasibility, quality, security, maintainability and modularity.
• Champion usage of appropriate technology and define succinct workflows for adhering to coding standards.
• Shoulder production escalations alongside reliability team and strive for time bound resolution of customer issues.
• Participate actively in peer review discussions of requirements, specifications, designs, code and other artifacts.
• Learn skills and adopt practices to develop innovative and cutting-edge software products in-line with IBM’s high technical standards.
• Drive improvements in development tools and adherence to technologies with inputs from internal teams and external developer communities.
Required Technical and Professional Expertise
• BS/MS in Computer Science/Engineering or related discipline/experience.
• 8 – 10 years of software development experience.
• Well versed in Computer Science fundamentals in data structures, algorithm design and problem solving
• Deep understanding of Unix/Linux internals and Compute networking concepts – TCP/IP, Routing, Switching, NAT, DNS, Linux kernel networking
• Intermediate to advanced proficiency in the following programming languages: C++, Golang, Python and Shell Scripting
• Preferred experience working in a cloud environment with highly available and scalable distributed systems
• Familiarity with using GIT, Jenkins, Makefile, gdb and gcov.
• A passion towards solving complex problems with ability to demonstrate strong debugging/troubleshooting skills
• Strong written and verbal communication skills.
Preferred Technical and Professional Expertise
• Active knowledge of working with data path libraries like DPDK, VPP and programmable ASIC’s/NICs from Intel/Mellanox/Broadcom/Cavium.
• Experience in the area of SDN/NFV domains, Cloud/Datacenter networking specifically – VPC, Subnet allocations, Floating Ips and routing protocols such as bgp.
• Past contributions to open source projects – An advantage to have.