Java Software Developer (Senior)
IBM
Software 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 Responsibilities
Data and AI Development team is looking for enthusiastic and talented Java Software Developer to join us.
Our services belong to IBM Knowledge Catalog product area, part of IBM WatsonX and IBM Cloud Pak for Data where customers can access a suite of leading data and AI capabilities in a unified experience.
- You are a Java developer, who will design, develop and/or re-engineer complex product components, and integrate software packages, programs and reusable objects residing on multiple platforms.
- You are curious to learn as demonstrated by your up-to-date technical knowledge.
- You are a good team player and you are familiar with Agile methodologies and principles and/or have experience working in a SCRUM team.
We seek an applicant who will thrive in an open, dynamic, flexible, fun, spirited, collaborative environment; an individual who desires creative freedom and the opportunity to work in a high performing team.
Required Technical and Professional Expertise
- Professional experience in software development using Java
- Understanding and practical knowledge of microservices architecture
- Experience in Building Restful API, SDK APIs using different frameworks
- Experience writing/executing Unit Tests and REST API automation
- Strong sense of ownership of deliverables
- Experience in using messaging brokers like RabbitMQ, Kafka, etc.
- Practical knowledge of Python in the context of Machine Learning and LLMs
- Good understanding of Docker, Kubernetes, OpenShift Container Platform, Ansible, Jenkins, Linux Operating Systems (such as Red Hat, Ubuntu, etc.)
- Experience and working knowledge of version control systems like GitHub and build tools like Maven/Gradle
- Ability to learn and apply new technologies quickly
- Ability to independently create designs and coordinate their acceptance by stakeholders
- Experience in analyzing and designing new functionalities
- Minimum of 5 years of relevant professional experience
Preferred Technical and Professional Expertise
- Leadership skills with the ability to coordinate work across teams
- Ability to provide support to less experienced team members
- Proven experience in delivering both minor and major functionalities independently