Take ownership at a project level for own and interacting work Assist other developers on projects Architect projects and complex subsystems Assess software architecture approaches Carry out bug fixes and debugging for own and others' work Actively improve tooling, code, and communication Remain informed on development best practices Proactively address technical issues Push for performance and security improvements Provide architectural input and feedback Write technical documentation