Job Description
IntroductionSoftware Developers at IBM are the backbone of our strategic initiatives to design, code, test, and provide industry-leading solutions that make the world run today – planes and trains take off on time, bank transactions complete in the blink of an eye and the world remains safe because of the work our software developers do. Whether you are working on projects internally or for a client, software development is critical to the success of IBM and our clients worldwide. At IBM, you will use the latest software development tools, techniques and approaches and work with leading minds in the industry to build solutions you can be proud of
Your Role and ResponsibilitiesWe are looking for a Software Engineer to join our Development team in Bangalore, India.
You will contribute to the full lifecycle for new features beginning from the ideation and design process over taking responsibility for the implementation in both frontend and backend until it is rolled out to our beloved customers.
Moreover, you will come across a wide range of technologies, like infrastructure and Cloud platforms (Kubernetes, Cloud, and others), tracing and instrumentation and data science.
You are proficient in Java/C++ and its ecosystem and have first-hand experience of troubleshooting production issues, because this will help you understand the type of problems IBM Software is solving for our customers. Furthermore, you should be open to learning new technologies and willing to get your hands dirty across the entire software stack. Your responsibilities will include:
- Understand application storyboards and use cases to be able to develop product features
- Be able to troubleshoot bottlenecks and defects and arrive at solutions to these problems
- Help maintain code quality, organization and modularity by following sound development practices and IBM Security design standards
- Understanding user needs, and exploring user-centered designs
- Specifying, building, testing, deploying, maintaining, and supporting your code
- Leveraging modern tools and techniques to develop clean, efficient, and reusable code
- Advocating front-end and backend development best practices
- Implementing features around IBM Software’s core product
- You will interface with senior architects across several locations to ensure that the overall strategy is communicated and understood.
Required Technical and Professional Expertise
8 -12 years of software development experience; Experience developing software using Java and Spring ; Experience working with a variety of databases like MySQL; Experience with Docker and container orchestration technologies such as Open Shift Container; Experience with Terraform; Platform (OCP), Kubernetes; Familiarity with cloud-based providers: IBM Cloud, AWS, Azure, google compute, etc. and their hosting tools and APIs; Experience working with and developing REST APIs; Experience working with operating systems (Linux, OS X); Familiarity with various Cloud and DB technologies: Docker, Kubernetes, Helm; MySQL, Postgres, Redshift, ThoughtSpot; Understanding security best practices and security compliance; User authentication and authorization between multiple systems, servers, and environments (SSO, Okta, Saml, OAuth, etc.); Deployment automation, experience with CI-CD tooling such as Jenkins; Implementing automated testing platforms and unit tests; Proficient understanding of code versioning tools, such as Git; Experience profiling applications and identifying performance bottlenecks (using tools such as Jprofiler, Jmap, etc.); Knowledge on Agile methodologies; Knowledge of Cloud and Cloud tools, microservices architecture; Knowledge on CI/CD based development practice
Preferred Technical and Professional Expertise