Role Proficiency:
Level of Proficiency: Independently develops error free code with high quality validation of applications, guides other developers and assists Lead 1 – Software Engineering
Outcomes:
1. Understand and provide input to the application/feature/component designs; developing the same in accordance with user stories/requirements.
2. Code, debug, test, document and communicate product/component/features at development stages.
3. Select appropriate technical options for development such as reusing, improving or reconfiguration of existing components.
4. Optimise efficiency, cost and quality by identifying opportunities for automation/process improvements and agile delivery models
5. Mentor Developer 1 – Software Engineering and Developer 2 – Software Engineering to effectively perform in their roles
6. Identify the problem patterns and improve the technical design of the application/system
7. Proactively identify issues/defects/flaws in module/requirement implementation
8. Assists Lead 1 – Software Engineering on Technical design. Review activities and begin demonstrating Lead 1 capabilities in making technical decisions
Measures of Outcomes:
Measures:
1. Adherence to engineering process and standards (coding standards)
2. Adherence to schedule / timelines
3. Adhere to SLAs where applicable
4. Number of defects post delivery
5. Number of non-compliance issues
6. Reduction of reoccurrence of known defects
7. Quick turnaround of production bugs
8. Meet the defined productivity standards for project
9. Number of reusable components created
10. Completion of applicable technical/domain certifications
11. Completion of all mandatory training requirements
Outputs Expected:
Code: Develop code independently for the above
Configure: Implement and monitor configuration process Test: Create and review unit test cases, scenarios and execution
Domain relevance: Develop features and components with good understanding of the business problem being addressed for the client
Manage Project: Manage module level activities
Manage Defects: Perform defect RCA and mitigation
Estimate: Estimate time, effort, resource dependence for one’s own work and others’ work, including modules
Document: Create documentation for own work as well as perform peer review of documentation of others’ work
Manage knowledge: Consume and contribute to project related documents, share point, libraries and client universities Status
Reporting: Report status of tasks assigned Comply with project related reporting standards/process
Release: Execute release process
Design: LLD for multiple components Mentoring: Mentor juniors on the team Set FAST goals and provide feedback to FAST goals of mentees
Skill Examples:
1. Explain and communicate the design / development to the customer
2. Perform and evaluate test results against product specifications
3. Develop user interfaces, business software components and embedded software components
5 Manage and guarantee high levels of cohesion and quality
6 Use data models
7. Estimate effort, and resources required for developing / debugging features / components
8. Perform and evaluate test in the customer or target environment
9. Team Player
10. Good written and verbal communication abilities
11. Proactively ask for help and offer help
Knowledge Examples:
1. Appropriate software programs / modules
2. Technical designing
3. Programming languages
4. DBMS
5. Operating Systems and software platforms
6. Integrated development environment (IDE)
7. Agile methods
8. Knowledge of customer domain and sub domain where problem is solved