Build a solid understanding of the code and the team’s software development processes.
Diagnose and fix code problems.
Deliver code that meets requirements on schedule. Ensure that code is efficient, scalable, maintainable, extensible, robust and easy to understand.
Optimize code to improve tool run time and memory capacity.
Create unit, regression and/or system-level tests to thoroughly validate new features or changes.
Communicate clearly and work closely with manager, technical leads and other engineers to refine solutions and to describe changes that may affect others.
Learn and follow best practices in software engineering.
Expand depth and breadth of knowledge in specific electronic design and analysis areas.