Our Data and AI Development team is looking for an enthusiastic and talented Full Stack Developer to help shape the future of the IBM data management portfolio, of fundamental importance to IBM's strategic direction on hybrid data management offerings for IBM Db2 , IBM Cloud Pak for Data watsonx.data (IBM's data Lakehouse for AI workloads), and more.
You will work alongside local and global teams of Developers, Architects, and Engineers creating the future of enterprise data management in the
context of AI. You are a Back-End Software Developer, who will design, develop, maintain, and support complex product components on multiple platforms. As an ambitious individual who can work closely with a senior architect's direction, you have the ability to manage change and to work under pressure.
You are curious to learn, as demonstrated by your up-to-date technical knowledge. You are a capable team player, familiar with Agile methodologies and principles, or have experience working in an Agile team. We seek someone who will thrive in an open, dynamic, flexible, and collaborative environment; an individual who desires creative freedom along with the opportunity to work in a high performing enterprise software team.
As a Full Stack Developer, you will:
Work in an Agile, collaborative environment to design, build, deploy, configure, and maintain IBM Data and AI data management software, including SaaS products on multiple hyperscalers.
Design and implement new features, optimizing and maintaining existing code in a variety of languages, including Java, SQL, Python, Go.
Ensure the software meets the quality standards of enterprise-grade, mission critical software.
Work closely with other developers, architects, designers, and product managers
Work with renowned IBM products, including open-source technologies.
Develop using object-oriented, and multi-threaded, and highly concurrent programming techniques.
Implement industry standards and best practices for security.
Develop SQL queries, and back-end database procedures and algorithms.
Drive software design and code reviews.
Participate in, and adhere to, professional software engineering practices using such tools and methodologies as Agile Software Development, Test Driven Development, and Continuous Integration.
Create and maintain technical documentation.