Introduction
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
- As a software developer, you will be responsible for designing, coding, unit-testing, and perform FVT for new functions while rigorously adhering to the team's development processes.
- You will be responsible for working in close collaboration with the development and QA team to ensure that defects found in are fixed in a timely manner. The employee will be ultimately responsible for ensuring that any shipped code is delivered on schedule and with quality.
- Another duty will be to analyze and fix defects in existing products.
- Be part of open, transparent agile teams who always thrive for continuous learning and contribute towards continuous improvement.
Required Technical and Professional Expertise
- Graduate or post-graduate in Computer Science or related Engineering field.
- 8+ years of software development experience.
- Strong experience in C/C++ development in Linux environment with system programming background (Concurrency, IPC, Memory Management etc.)
- Very good theoretical fundamentals and hands-on experience designing and implementing highly available and performant fault-tolerant distributed systems.
- Good knowledge of Linux OS and system architecture, data structures and debugging tools like gdb, Valgrind etc.
- Experience working with Relational & NoSQL databases, messaging systems like MQ, Kafka etc.
- Knowledge of one or more scripting languages like Shell, Python etc.
- Familiar or experience with container/orchestration technologies or frameworks - Docker, Kubernetes, OpenShift and cloud native application development.
Preferred Technical and Professional Expertise
- Good hold on technology like Kubernetes, Microservices, Cloud Storage, delivery pipelines, and REST APIs. Experience with Microservices Architecture and design.
- Strong understanding of diverse infrastructure platforms & concepts.
- Knowledge and Expertise of leading development / QA projects.
- Experience with any Cloud Platforms i.e. IBM Cloud, AWS, Azure