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 decisionsMeasures 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 requirementsOutputs Expected:
Code:
Develop code independently for the above
Configure:
Test:
scenarios and execution
Domain relevance:
Manage Project:
Manage Defects:
Estimate:
effort
resource dependence for one's own work and others' work
including modules
Document:
Manage knowledge:
share point
libraries and client universities
Status Reporting:
Release:
Design:
Mentoring:
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 helpKnowledge 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 solvedAdditional Comments:
Job Summary 2-6 years of experience • Maintains an open, mutual and respected relationship with clients, stakeholders and team members • Is one of the main contributors to planning sessions, team meetings, and other “rituals,” such as the daily standup, iteration planning, iteration kickoff, iteration review, and retrospectives • Helps removes roadblocks to delivery success. • Should be ready to do hands on development along with team and help them if they stuck. • Helps the other team members to follow the defined process, and contributes to process improvement efforts • Identify the best practices and implement it in the project. • Define design, coding and deployment standards with the help of Architect and ensure the team members are following the same. • Conduct formal and informal technical reviews, code walkthroughs and other software engineering related quality control activities • Provide guidance to team members on different technical aspects like – new tools and techniques, best practices, emerging technologies, change control, security, and Software licenses. • Design and develop software programs in accordance with the defined software engineering processes, customer requirements and internal standards • Conduct appropriate verification and validation of software system against their design criteria, functional and performance requirements • Understands the client’s business strategy and objectives as it relates to the product being developed; taking all the actions required to meet or exceed client’s expectations. • Communicates effectively within the team and with all stakeholders by providing high-quality visibility into planned and actual deliverables. Technical Skills • Strong experience on C, C++ preferable • Proficiency in C, C++, and .NET, including related frameworks and libraries. • Experience leading development teams and mentoring junior developers. • Strong experience in dotnet core, C#, ASP.NET, Web API, SQL Server, JavaScript, Angular, • Strong experience in XUnit, Dependency Injection, Web Api, Entity Framework/ORM, Multi-Threading • Working knowledge/experience on Docker, Microservice architecture, Linux • Good experience on Python will be an added advantage.