Overview
Software Engineering, Sr Engineer
At Black Duck Software, we pride ourselves on building products and delivering services that help our customers keep their applications safe and secure. Our people do this so well, we have been named the AppSec leader for seven years in a row by Gartner.
Product and team information:
We are a team of highly technical software engineers in a fast-paced dynamic environment building an industry leading Static Analysis tool. We are growing the team in the Bangalore office, and this is a unique opportunity for someone to be part of this growth. If you have experience/interest in application security, programming languages, compilers, static analysis and proven ability to learn and grow we’d love to talk to you.
Based on your interest, abilities/skills and fit to the right job, you will be part of one of the following profiles …
- Create and maintain compiler front-ends compatible with open-source or commercially available compilers for a wide spectrum of programming languages. These front-ends integrate with our state-of-the-art static analysis engine.
- Implementing, testing, and evaluating customized security checks (or rules). These checkers will run using our static analysis tool’s engine and they specify the types of the defects or problematic patterns that you want to find in the source code and would like our static analysis tool to report. Thus, adding more checks will provide users with better security results when scanning their code. You will create checks for variety of languages supported. Some of these checks are done for variety of languages like C/C++ in compliance with Industry standards like MISRA, AUTOSAR etc.
The perfect candidate will have a strong passion for improving software quality and security, enthusiasm about programming languages and compilers, but foremost, highly motivated and has a strong desire to learn.
Qualifications and Experience:
- Bachelor's or master’s in computer engineering or related fields (CSE, ISE)
- 3+ yrs of experience in static analysis, Compilers, and/or related technologies
- Programming experience in C/C++, RUST
- Experience with development on Linux/Unix or Windows
Primary Responsibilities:
As part of the team, you will be involved in one or more of the following activities based on the team that you fit in …
- Contribute to developing, testing, maintaining, and integrating various compiler front ends
- Design and write well-designed/well-tested static analysis algorithms/checkers
- Read and understand programming language standards
- Create test cases for validating different execution scenarios.
- Perform evaluations of check results using Jenkins automation
- Contribute to the collection of benchmarks used for checker evaluation.
Skills Required / Preferred Experience :
- Demonstrated history of good analytical, debugging, and problem-solving skills.
- Stellar object-oriented programming and design and coding skills.
- Interest or experience in analyzing programming languages, building compilers, parsers, or other language analyzers.
- Interest or experience in dataflow and program analysis.
- Interest or experience with web application or mobile security, familiarity with OWASP Top 10 lists.
- Ability to work in both independent and collaborative settings.
- Good written and oral communication skills, for team collaboration and product presentations.