Introduction
At IBM Software, we transform client challenges into solutions. Building the world’s leading AI-powered, cloud-native products that shape the future of business and society. Our legacy of innovation creates endless opportunities for IBMers to learn, grow, and make an impact on a global scale. Working in Software means joining a team fueled by curiosity and collaboration. You’ll work with diverse technologies, partners, and industries to design, develop, and deliver solutions that power digital transformation. With a culture that values innovation, growth, and continuous learning, IBM Software places you at the heart of IBM’s product and technology landscape. Here, you’ll have the tools and opportunities to advance your career while creating software that changes the world.
Your Role And Responsibilities
As a Software Developer: You will design, develop, test, and deliver offerings using leading-edge and/or proven technologies. You will work in an Agile, collaborative environment to understand stakeholder requirements and contribute to the development of innovative software solutions.
Your Primary Responsibilities Will Include
-
Develop Component-Level Solutions: Design, code, and test innovative component-level software solutions, ensuring that the implemented solutions are unit tested and ready to be integrated into their product.
-
Contribute to CI/CD Pipeline: Contribute to the automated CI/CD pipeline that takes code through various quality stages, ensuring seamless integration and delivery.
-
Debug Customer-Reported Problems: Design, develop, and unit test code fixes for customer-reported problems, collaborating with stakeholders to resolve issues efficiently.
-
Deliver Offerings: Deliver high-quality offerings using leading-edge and/or proven technologies, meeting stakeholder requirements and expectations.
-
Collaborate with Stakeholders: Work in an Agile, collaborative environment to understand stakeholder requirements, providing input and guidance to ensure successful solution delivery.
In this role, you will help target runtime compilation and dynamic code generation for accelerated execution for GPU-accelerated Watsonx.data. You will work on the layer that transforms logical operations into efficient executable paths for heterogeneous compute environments in Velox.
-
Design and implement dynamic code generation for accelerated operators.
-
Optimize compilation strategies for runtime efficiency and maintainability.
-
Improve execution planning interfaces between engine logic and generated code
-
Work with GPU and engine teams to expose more operations to acceleration paths
-
Build debuggability and correctness checks into generated-code workflows.
Preferred Education
Bachelor's Degree
Required Technical And Professional Expertise
-
Software Development & Compiler Engineering Foundations: Experience designing, developing, testing, and delivering high-quality software solutions using leading-edge and proven technologies, with hands-on exposure to compiler frameworks, language runtimes, or code-generation systems (e.g., LLVM, MLIR), supported by strong C++ proficiency and systems-level reasoning.
-
Component-Level Design & Code Generation: Experience designing, coding, and testing component-level software solutions, including compiler or runtime components, ensuring unit testing, correctness, and integration readiness within larger systems.
-
Execution Engines & Runtime Awareness: Familiarity with execution engines and query-processing internals (e.g., Velox, vectorized execution), enabling effective contribution to performance-sensitive, runtime-integrated solutions.
-
Advanced Debugging & Problem Solving: Proven ability to debug complex issues across both runtime-generated and host code, designing, developing, and unit testing effective fixes while collaborating with stakeholders to resolve problems efficiently.
-
Agile Development & CI/CD Contribution: Experience working in Agile, collaborative environments and contributing to CI/CD pipelines, supporting continuous integration, testing, and reliable delivery of high-quality software aligned with stakeholder requirements.
Preferred Technical And Professional Experience
-
Leading-Edge Technologies & GPU Optimization: Experience designing and delivering high-quality software solutions using modern technologies across back-end, front-end, and DevOps domains, with exposure to GPU programming and kernel optimization (e.g., CUDA, PTX, operator/kernel fusion) to support performance-driven workloads.
-
Execution Frameworks & Query Planning Awareness: Familiarity with cross-engine plan representations such as Substrait and working knowledge of distributed query engine coordinators (e.g., Presto), enabling contributions to query planning and execution optimization.
-
Performance-Oriented Engineering Mindset: Demonstrated focus on performance and scalability, applying optimization techniques and engineering best practices across the stack to improve efficiency in distributed and GPU-accelerated systems.