Responsible for designing, developing, troubleshooting, or debugging software programs. Develops software tools including operating systems, compilers, routers, networks, utilities, databases and internet-related tools, etc. Determines hardware compatibility and/or influences hardware design.
Experience in programming software for operating systems, utilizing machine assembly and/or job control languages, and some knowledge of software capabilities. Designs algorithms and data structures. Experience on development of complex software projects, familiarity with C/C++ coding, and a strong background in data structures and algorithms. Has strong desires to learn and explore new technologies and demonstrates good analysis and problem-solving skills. Prior knowledge and experience of CAD tool development are required.
- BS/B-Tech/MS/Ph.D. in Computer Science or Computer Engineering.
- C++ or Object oriented Programming experience in Linux environment.
- Experience with efficient algorithms and data structure design.
- Prior industrial experience in EDA software development, is not required, but, preferred
- Understanding of digital logic design, UPF/CPF language, and hardware description language.
- Highly developed interpersonal skills and the ability to work well either in a team-based environment or independently.
- Experience in use of a software logic simulation tools (VCS, etc) and low power simulation methodology is a plus