Role Proficiency
Independently develops error free code with high quality validation of applications guides other developers and assists Lead 1 – Software Engineering
Outcomes
- Understand and provide input to the application/feature/component designs; developing the same in accordance with user stories/requirements.
- Code debug test document and communicate product/component/features at development stages.
- Select appropriate technical options for development such as reusing improving or reconfiguration of existing components.
- Optimise efficiency cost and quality by identifying opportunities for automation/process improvements and agile delivery models
- Mentor Developer 1 – Software Engineering and Developer 2 – Software Engineering to effectively perform in their roles
- Identify the problem patterns and improve the technical design of the application/system
- Proactively identify issues/defects/flaws in module/requirement implementation
- Assists Lead 1 – Software Engineering on Technical design. Review activities and begin demonstrating Lead 1 capabilities in making technical decisions
Measures Of Outcomes
- Adherence to engineering process and standards (coding standards)
- Adherence to schedule / timelines
- Adhere to SLAs where applicable
- Number of defects post delivery
- Number of non-compliance issues
- Reduction of reoccurrence of known defects
- Quick turnaround of production bugs
- Meet the defined productivity standards for project
- Number of reusable components created
- Completion of applicable technical/domain certifications
- Completion of all mandatory training requirements
Code
Outputs Expected:
- 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
Design
- LLD for multiple components
Mentoring
- Mentor juniors on the team
- Set FAST goals and provide feedback to FAST goals of mentees
Skill Examples
- Explain and communicate the design / development to the customer
- Perform and evaluate test results against product specifications
- Develop user interfaces business software components and embedded software components 5 Manage and guarantee high levels of cohesion and quality6 Use data models
- Estimate effort and resources required for developing / debugging features / components
- Perform and evaluate test in the customer or target environment
- Team Player
- Good written and verbal communication abilities
- Proactively ask for help and offer help
Knowledge Examples
- Appropriate software programs / modules
- Technical designing
- Programming languages
- DBMS
- Operating Systems and software platforms
- Integrated development environment (IDE)
- Agile methods
- Knowledge of customer domain and sub domain where problem is solved
Additional Comments
Should have expertise in designing and developing enterprise solutions using C, C++ Should have exposure to Agile methodology Should have good understanding of code quality tools and ability to analyze log and identify issues Good communication is a must
Desired Skills and Experience
C,C++,Golang