1)Providing technical expertise for every phase of the project lifecyclefrom concept development to solution design, implementation, optimization and support.
2) Interacts with a set of clients (client senior developers and architects) to create technology specifications from business requirements for one of the modules within the project
3) Prepares the technical design of the more complex technology components within the module (one or more of client/web presentation tier, server tier, data access and data model, integration component, package function customization)
4) Assists the architect in articulating the pros and cons of using a certain technology stack or component or design pattern versus another to the clients and project team and drives selection of technologies, designs to come up with the optimal architecture
5) Drives the performance tuning, re-design and re-factoring for a module
6) Contributes to designing and implementing the build, release process as well as system configuration and deployment characteristics of the application. Understands, and practices Continuous Integration.
7) Implements (hands-on) the module components based on industry best practices.
8) Mentors the team (people working on the module and other project team members) on technology concepts and best practices for design, implementation and other processes