IBM Senior Research Software Engineer, Artificial Intelligence in CAMBRIDGE, Massachusetts

Job Description


IBM Research is the innovation engine of IBM. Nearly every game-changing breakthrough in the information technology industry has its roots in an IBM Research lab. It has been a home for creative scientific minds since 1945, when Thomas J. Watson Sr. established the first corporate pure science research lab in the U.S. We are primed to define the future of technology for many years to come specifically around the world of Artificial Intelligence. We believe AI will transform the world in dramatic ways in the coming years – and our Research AI group is advancing the field through our portfolio of research and through collaboration with like-minded institutions including MIT (MIT-IBM Watson Lab - ) and individuals to push the boundaries of AI faster – for the benefit of industry and society. If you're interested in working with some of the world's most talented researchers to advance AI, we may have an opportunity for you!


We’re looking for a Senior Research Software Engineer who is passionate about AI, advancing science, and building the next generation of intelligent machines. Our ambitious AI research agenda is both broad and deep, with leading edge projects in many areas.

As a Senior Research Software Engineer within our AI Composition Lab in Cambridge, MA you will work on the most cutting-edge and exciting projects where you will help lead, design and create state of the art AI systems leveraging: traditional machine learning, deep learning (especially generative networks), reinforcement learning, natural language processing and understanding (NLP & NLU), and Q&A systems. You will interact with the brightest minds in AI and will help bring AI research ideas into scalable, robust systems. We want to bring out the best in you and expect you to do the same to us. Your proactive approach to creative problem solving will be essential to the success of our team and the company.


  • Apply software engineering skills, design skills, and creative thinking to build cutting edge AI systems

  • Identify and refine project requirements, solutions to potentially abstract AI challenges, and well-defined performance metrics

  • Lead the efforts in designing and developing software as scalable architectures, components, API's and systems

  • Translate project requirements into executable roadmaps for creating and measuring technical capability

  • Work in high intensity, joint teams of software engineers and research scientists

  • Be agile in the development methodology, while solving difficult problems and exploring new domains


Required Technical and Professional Expertise

  • Master’s Degree in computer science or related technical fields

  • A minimum of 3 years of experience coding and debugging in one or more general purpose programming languages including, but not limited to: Python, Java, Javascript, C/C++ Ability to lead and guide other engineers within the research group

  • Ability to transfer project requirements into robust software components and architectures

Preferred Tech and Prof Experience

  • PhD in Machine Learning, Artificial Intelligence, Computer Science, Applied Mathematics or related technical fields

  • Experience with standard machine learning techniques and frameworks

  • Experience analyzing large scale data from a variety of sources

  • Design, validation, and characterization of algorithms and/or systems

  • Experience with machine learning tools and frameworks including but not limited to: TensorFlow, PyTorch, Torch, Caffe, etc.

EO Statement

IBM is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.