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 ResponsibilitiesData and AI Development team is looking for enthusiastic and talented Backend development Engineer to join us. Our services belong to Match360 product portfolio. Our services are tightly integrated with IBM Cloud Pak for Data where customers can access a suite of leading data and AI capabilities in a unified experience. You are a Backend Developer, who will Design, develop and/or re-engineer complex product components, and integrate software packages, programs and reusable objects residing on multiple platforms. As an ambitious individual who can work under senior architect’s direction towards agreed targets and goals, you have the ability to manage change and to work under stress. 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 an Agile 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. Job Responsibilities:
- As a Backend developer you will be responsible for development/ maintenance/ Support of the Match360 applications through the full systems development lifecycle.
- Participate in the design and implementation of sophisticated software systems
- You will work with the Product Architects, Product Managers to understand various priorities and work towards the execution.
- Participate in software design and code reviews. Reviews include other Software Engineers and are held to ensure a high level of software quality and to share knowledge with team members.
- Participate in, and adhere to, professional software engineering practices using such tools and methodologies as Agile Software Development, Test Driven Development, Continuous Integration, Source Code Management (git), and GitHub.
- Ensure good code coverage. Support bug fixes during testing and deploy to target environments.
- Participate in the planning, creation and execution of automated test cases and load/performance testing. Create/maintain technical documentation.
- Hands on experience in handling and debugging customer issues, work with L2 support team.
- Maintain a high level of proficiency with Computer Science/Software Engineering knowledge and contribute to the technical skills growth of other team members.
- You will be providing vigilance and compliance to various software engineering, support and release processes e.g security, stack upgrades that are free of vulnerabilities etc.”
Required Technical and Professional Expertise
- 8+ years experience with Java Development
- 5+ years experience designing and building software applications.
- 5+ years experience building scalable and performant web applications
- Proficient with software design patterns, multiple software languages and development paradigms
- Like to solve challenging problems
- A motivation for innovative thinking and ideas
- Bachelor’s Degree in Computer Science/Software Engineering/Electrical Engg/Electronics Engg or related field
Preferred Technical and Professional Expertise
- 2-3 years experience with relational databases
- 2-3 years experience with various security protocols, such as TLS, and authentication protocols, such as OIDC, OATH, LDAP etc.
- 2+ years experince with C++ skills
- Responsibilities would include reviewing incoming defects, doing the necessary analysis to reproduce the defects and develop test cases, as well as the ability to create test automation procedures.