Coding for high-risk/high-complexity areas or establishing patterns for other developers to follow
Collaborating with Product Managers/Architects on establishing requirements and overall design
Collaborating with management to develop overall project schedules while providing accurate development estimates and identification/mitigation of project risks
Ensuring quality through code reviews and other tools such as peer programming with other team members
Review and product documentation
Consultation to other departments for the creation of training or other go-to-market materials
Provide management with key feedback and assistance for personnel evaluations and development plans
Research into new tools, techniques, and best practices + facilitating knowledge sharing within the team