Design separate components, modules, classes, devices
Code, debug, document, and maintain portions of software and hardware
Perform different types of testing
Participate in estimation and planning sessions
Contribute to the development of technical project documentation and user documentation
Provide assistance to test engineers and support personnel in solving technical issues of software installation and its operation
Participate in conference calls and face-to-face meetings with the Customer and Customer partners
Comply with the best engineering practices, technical standards, and quality criteria set forth on the project
Report status and progress according to the project and company demands
Spot current deficiencies in the development process, adopted procedures, and engineering practices, environment configurations, etc., and suggest improvements
Escalate technical issues to the Architect, Team Lead, and Project Manager