Job Description Role Proficiency : SeniorLevel of Proficiency : SeniorIndependently 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