Staff Software Engineer (C/C++) - Bangalore

  • Bengaluru
  • Synopsys Inc

Job Description

The candidate in this position will be part of the R&D efforts for implementing and supporting software security and licensing initiatives at Synopsys. Responsibilities include working on new releases of the Synopsys Common Licensing code from inception to deployment while ensuring that the resultant product works in a heterogeneous environment.


The candidate is expected to identify and formulate the key problems to be solved and develop state-of-the-art solutions. Must be able to balance multiple demands in a fast-paced environment, should act quickly using good judgment, and be self-motivated. The candidate should help achieve tangible results, demonstrate accuracy, thoroughness, and display commitment to excellence in product performance, reliability, and robustness. They should exhibit the ability to learn and apply new skills. Also, be tuned to current developments and trends in licensing technologies and security concepts.


Job Requirements

The candidate should possess a minimum of 6-10 years of software development experience in C with an emphasis on systems-level programming on Unix. Experience with Unix signals, multi-threading, synchronization mechanisms, socket programming, Unix system calls, Unix shell scripting, Perl scripting, use of debuggers, and proficiency in developing software on many variants of Unix is required.


Preference will be given to candidates having prior experience in Application Security/Cryptography and exposure to assembly programming. Experience developing applications using FLEXlm is desirable, though not a requirement. Experience with licensing and other security systems will be of added advantage.


Key Qualifications

Technically strong in C/C++ with emphasis on system-level programming on Unix

Proficient in data structure and algorithms

Good understanding of software intricacies with respect to Unix signals, multi-threading, synchronization mechanisms, socket programming, Unix system calls, and use of software debugging tools

Proficient in Unix shell scripting, Python, Perl, etc.

Knowledgeable in software security and cryptography algorithms


Desired Skills

Sound understanding of Machine Learning models and their application to solving problems

Familiarity in designing cloud-native applications and solutions on AWS, Azure, Google, etc.

Exposure to various database technologies like NoSQL, Relational, Distributed, etc.

Ability to solve Bigdata problems