Your browser does not support javascript! Please enable it, otherwise web will not work for you.

Lead Software Engineer @ IBM

Home > Quality Assurance and Testing






IBM  Lead Software Engineer

Job Description

As a Lead Software Engineer, you will extend our multi-language static code analysis platform by adding support for additional programming languages and enhancing our program analysis capabilities. You will design and implement language front-ends, abstract syntax navigation, type reasoning, and program-graph constructions that enable crypto-security analysis across modern software ecosystems. You will work closely with architects, researchers, and security engineers to ensure analysis accuracy, scalability, and extensibility across diverse runtimes and languages:

  • Design and implement language support for one or more modern languages (e.g., Go, JavaScript, TypeScript, Node.js, C, C++, C#, Rust, Kotlin) within a multi-language static analysis framework.
  • Develop and maintain robust parsing, syntax-tree navigation, and semantic modeling for supported languages.
  • Build and extend program-analysis components such as control-flow graphs, data-flow graphs, type propagation, symbol resolution, and inter-procedural call modeling.
  • Collaborate with architects and product managers to define requirements, analysis depth, and extensibility goals for new language integrations.
  • Ensure correctness, determinism, and performance of analysis across large and complex codebases.
  • Participate in code reviews, design reviews, and evolve engineering best practices for program analysis components.
  • Work with security teams to model cryptographic APIs, language ecosystems, libraries, and vulnerability patterns.
  • Author technical documentation, specifications, and reusable language-enablement patterns.
  • Mentor junior developers on language modeling, program analysis techniques, and best practices in static analysis engineering.

Required education
Bachelor's Degree

Preferred education
Master's Degree

Required technical and professional expertise
  • Strong experience in compiler or static analysis development, including parsing, AST manipulation, semantic analysis, or intermediate representations.
  • Proficiency with designing and extending grammars (ANTLR or equivalent), parse-tree traversal, and language-specific syntax modeling.
  • Deep understanding of program analysis fundamentals such as control-flow, data-flow, type inference, and inter-procedural analysis.
  • Hands-on experience building or extending language front-ends, static analyzers, linters, or similar tools.
  • Strong programming skills in Java or another systems language used to build core analysis components.
  • Solid grasp of software engineering fundamentals: design patterns, modular architecture, testing methodologies, and performance optimization.
  • Familiarity with cryptography concepts, secure coding principles, and common vulnerabilities.
  • Excellent debugging skills, especially when working with large codebases and complex language constructs.
  • Strong communication skills and the ability to collaborate across platform, security, and research teams.

Preferred technical and professional experience
  • Experience with multiple programming languages and their ecosystems (e.g., Go modules, npm/TypeScript, Cargo for Rust, C#/CLR, JVM/Kotlin, or C/C++ build systems).
  • Practical familiarity with compiler frameworks or program analysis tools (eg ANTLR, or Tree-sitter).
  • Knowledge of advanced type systems (generics, templates, traits/interfaces, unions/options).
  • Expertise in data-flow or dependency-graph analysis, symbolic execution, or advanced slicing techniques.
  • Exposure to cryptographic libraries, standards, and post-quantum cryptography concepts.
  • Experience contributing to open-source static analysis tools, compilers, or language runtimes.
  • Background in research-driven fields such as programming languages, compilers, formal methods, or program verification.
Years of Experience:
8 - 14

Job Classification

Industry: IT Services & Consulting
Functional Area / Department: Engineering - Software & QA
Role Category: Quality Assurance and Testing
Role: Blockchain Quality Assurance Engineer
Employement Type: Full time

Contact Details:

Company: IBM
Location(s): Pune

+ View Contactajax loader


Keyskills:   software engineer ast kotlin cryptography npm javascript research static code analysis java debugging software engineering testing methodologies typescript performance optimization technical documentation programming architecture

 Fraud Alert to job seekers!

₹ Not Disclosed

Similar positions

Quality Engineer-Automation

  • IBM
  • 5 - 8 years
  • Bengaluru
  • 1 day ago
₹ Not Disclosed

Quality Engineer-Automation- Play Wright Tester-Gurgoan

  • IBM
  • 5 - 8 years
  • Noida, Gurugram
  • 5 days ago
₹ Not Disclosed

Quality Engineer (Tester)

  • Accenture
  • 2 - 4 years
  • Chennai
  • 5 days ago
₹ Not Disclosed

Quality Engineering Lead (Test Lead)

  • Accenture
  • 5 - 10 years
  • Bengaluru
  • 5 days ago
₹ Not Disclosed

IBM

About Accenture\\\\r\\\\n\\\\r\\\\n \\\\r\\\\n\\\\r\\\\nAccenture is a global professional services company with leading capabilities in digital, cloud and security. Combining unmatched experience and specialized skills across more than 40 industries, we offer Strategy and Consulting, Interactive, T...