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
IBM seeks a seasoned Senior Software Developer with substantial industry experience and proven leadership capabilities. This Band 8 role demands a strong technical foundation in full-stack development, a passion for leading teams effectively, and a proven track record building robust and scalable Java-based applications. You will play a pivotal part in driving the design, development, and delivery of innovative software solutions for IBM.
Responsibilities
- Technical Leadership:
Provide technical guidance, mentorship, and code reviews to a team of Software Developers.
Lead architectural discussions, promoting best practices, and ensuring solutions align with business objectives.
Drive the adoption of modern software development methodologies and tools.
- Architecture and Design:
Design scalable, secure, and resilient software systems with a focus on maintainability and long-term impact.
Collaborate with architects and product managers to translate requirements into comprehensive technical designs.
- Hands-on Development:
Actively contribute to the development of critical components, features, and complex integrations within a full-stack environment.
Champion clean coding practices, unit testing, and integration testing for quality assurance.
Deployment and Maintenance:
Lead troubleshooting efforts and provide timely resolutions for production issues.
Maintain and enhance existing codebases, ensuring ongoing performance, security, and compliance with standards.
- Agile Collaboration:
Successfully navigate a dynamic agile environment, prioritizing outcomes, adapting to changes, and fostering a collaborative team culture.
Effectively communicate technical concepts to both technical and non-technical stakeholders.
Required Technical and Professional Expertise
- Bachelor's degree in Computer Science, Software Engineering, or a related field or equivalent experience.
- 12+ years of overall industry experience.
- 5+ years of experience leading software development teams.
- Extensive Java/J2EE expertise, including RESTful APIs, Spring Framework, and Spring Boot.
- Proficiency in front-end development utilizing JavaScript frameworks (AngularJS, React, Vue.js, etc.), HTML, TypeScript, and CSS.
- Deep understanding of relational databases (PL/SQL), JDBC, JPA, and familiarity with No-SQL databases (e.g., MongoDB).
- Experience with JUnit/TestNG and mocking frameworks for robust unit and integration testing.
- Demonstrated success working within agile methodologies (Scrum, Kanban, etc.).
Preferred Technical and Professional Expertise
- Experience with containerization, kubernetes and Openshift Container Platform.
- Experience working with Hyperscalars like AWS/IBM Cloud/Azure Etc
- Master's degree in Computer Science or a related field.
- Contributions to open-source projects.