Key Duties and Responsibilities
- Develop high-quality software design and architecture.
- Develop tool by producing clean, efficient code.
- Lead complex projects involving multiple developers in one or more areas of the product.
- Identify, prioritize and execute tasks in the software development life cycle.
- Automate tasks through appropriate tools and scripting.
- Review and debug code to identify and fix code problems.
- Create unit, regression and/or system-level tests to thoroughly validate new features or changes.
- Collaborate with internal teams and customers to improve product offerings.
- Understand and demonstrate best practices in software engineering.
Minimum Education/Certification Requirements and Experience
- B.E./B.Tech. degree in Computer Science, Electronics Engineering or related field, with Five to Ten years of experience. Atleast three to five years of experience in EDA is must.
- Proficient with C/C++ development and strong working knowledge of Linux operating systems.
- Comprehensive understanding of object-oriented development techniques and theories.
- Experience with multi-threading and concurrency.
- Strong background in data structures, algorithms, and debugging
- Demonstrated technical leadership, and successful delivery of projects involving multiple engineers.
- Ability to learn quickly, understand complex systems and to work closely with others across multiple teams
- Ability to handle uncertainty, time pressure and large technical challenges.
- Ability to deliver high-quality work on time
- Strong communication skills with both internal team members and external customers.