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

Test Automation Engineer

  • Accenture
  • 2 - 7 years
  • Hyderabad
  • 8 hours ago
₹ Not Disclosed

Test Automation Engineer

  • Accenture
  • 3 - 8 years
  • Hyderabad
  • 11 hours ago
₹ Not Disclosed

Test Automation Engineer

  • Accenture
  • 2 - 7 years
  • Hyderabad
  • 16 hours ago
₹ Not Disclosed

Sr. Associate, Software Development Engineering

  • FIS
  • 2 - 5 years
  • Chennai
  • 2 days ago
₹ Not Disclosed

IBM

At Accelalpha, an IBM Company, we are experts at implementing, integrating, and managing Oracle Cloud Applications. We help to solve business problems with supply chain and logistics processes, procurement, customers experience when they buy, and enterprise-wide financial planning and reporting. We ...