IT|Software Engineering - Group 2 - Lead I - Software Engineering
Client Job Description: Responsibilities:• Supports Systems Architects with the design of the overall architecture of a specific product/application, applying principles that promote availability, reusability, interoperability and security into the design framework.• Performs development, optimization, and automation activities to support the implementation of a product/application.• Increases proficiency and understanding of relational and non-relational databases, distributed application architectures, user interfaces and user experience, quality assurance, security concerns, and business value creation.• Adopts engineering best practices to deliver higher quality and scalable solutions.• Provides the team with the development strategy, solution recommendations, and estimates for a given product/application.• Works with team members to move user stories from the development backlog into testing and provides clarification when needed.• Estimates, plans, and manages all implementation tasks and reports on development progress.• Demonstrates a strong understanding of emerging technologies to support the development of new solutions.• Conducts peer code reviews for the software changes made by other engineers within a team.• Designs, builds, debugs, optimizes, and implements solutions in Java, NoSql, and RDBMS. Developments high quality, efficient, and fault tolerant solutions.• Delivers automation scripts and unit test automation under DevSecOps.• Works with and supports Systems Architects with the design of the overall architecture of a specific product/application, applying principles that promote availability, reusability, interoperability, and security into the design framework.• Performs development, debugging, optimization, and automation activities to support the implementation of a product/application.• Uses APM/monitoring tools such as Dynatrace/Splunk and browser tools to perform request purepath/waterfall analysis to identify bottlenecks and suggest improvements.• Understands the full technology stack and underlying applications, services, and databases in order to ensure optimal performance.Requirements:• Minimum 7 years' experience in performing API microservices development using Java.• Experience with developing and running applications in a public cloud environment (Azure preferred).• Hands-on working knowledge of a major relational database (DB2, SQL Server etc.) and/or NoSql.• Experience working in CI/CD, and designing and delivering DevSecOps automation for app deployment and testing.• Strong knowledge and experience working with Web Technologies using JavaScript, React.• Experience describing solutions and generating the architecture (Logical, Physical) artifacts.• Must be extremely responsive, able to work under pressure in crisis with a strong sense of urgency.• Responsible, conscientious, organized, self-motivated and able to work with limited supervision.• Application development in Java.• Experience programming in major databases such as Microsoft SQL Server.• Must possess a strong understanding of the software development process.• Strong knowledge of object-oriented concepts.• Strong knowledge and experience working with databases.• Strong verbal and written communication skills and be able to communicate to both technical and Business audiences.• Demonstrated ability to execute against iteration plans and deliver assignments within scope, schedule, and budget.• Ability to work with all management levels.• Strong organizational and time management skills with ability to multitask and prioritize work effectively in a fast-paced working environment.• Must be detail-oriented and possess strong problem-solving skills and ability to analyze potential future issues.Job Description: Expectations from this role:Act creatively to develop applications and select appropriate technical options, optimizing application development, maintenance and performance by employing design patterns and reusing proven solutions, account for others' developmental activities1. Interpret the application/feature/component design to develop the same in accordance with specifications.2. Code, debug, test, document and communicate product/component/feature development stages.3. Validate results with user representatives; integrates and commissions the overall solution4. Select appropriate technical options for development such as reusing, improving or reconfiguration of existing components or creating own solutions5. Optimises efficiency, cost and quality.6. Influence and improve customer satisfaction7. Set FAST goals for self/teamTypical performance measures:1. Adherence to engineering process and standards (coding standards)2. Adherence to project schedule / timelines3. Number of technical issues uncovered during the execution of the project4. Number of defects in the code5. Number of defects post delivery6. Number of non compliance issues7. On time completion of mandatory compliance trainingsPerformance Areas:Code as per designFollow coding standards, templates and checklistsReview code - for team and peersDocumentation:Create/review templates, checklists, guidelines, standards for design/process/developmentCreate/review deliverable documents. Design documentation, r and requirements, test cases/resultsConfigure:Define and govern configuration management planEnsure compliance from the teamTest:Review and create unit test cases, scenarios and executionReview test plan created by testing teamProvide clarifications to the testing teamDomain relevance:Advise Software Developers on design and development of features and components with a deep understanding of the business problem being addressed for the client.Learn more about the customer domain identifying opportunities to provide valuable addition to customersComplete relevant domain certificationsManage Project:Manage delivery of modules and/or manage user storiesManage Defects:Perform defect RCA and mitigationIdentify defect trends and take proactive measures to improve qualityEstimate:Create and provide input for effort estimation for projectsManage knowledge:Consume and contribute to project related documents, share point, libraries and client universitiesReview the reusable documents created by the teamRelease:Execute and monitor release processDesign:Contribute to creation of design (HLD, LLD, SAD)/architecture for Applications/Features/Business Components/Data ModelsInterface with Customer:Clarify requirements and provide guidance to development teamPresent design options to customersConduct product demosManage Team:Set FAST goals and provide feedbackUnderstand aspirations of team members and provide guidance, opportunities, etcEnsure team is engaged in projectCertifications:Take relevant domain/technology certificationSkill Examples:1. Explain and communicate the design / development to the customer2. Perform and evaluate test results against product specifications3. Break down complex problems into logical components4. Develop user interfaces, business software components5. Use data models6. Estimate time and effort required for developing / debugging features / components7. Perform and evaluate test in the customer or target environment8. Make quick decisions on technical/project related challenges9. Manage a Team,10. Maintain high motivation levels and positive dynamics in the team.11. Interface with other teams, designers, and other parallel practices12. Set goals for self and team. Provide feedback to team members13. Create and articulate impactful technical presentations14. Follow high level of business etiquette in emails and other business communication15. Drive conference calls with customers addressing customer questions16. Proactively ask for and offer help17. Ability to work under pressure, determine dependencies, risks, facilitate planning; handling multiple tasks.18. Build confidence with customers by meeting the deliverables on time with quality.19. Estimate time and effort, resources required for developing / debugging features / components20. Make on appropriate utilization of Software / Hardware's.21. Strong analytical and problem-solving abilitiesKnowledge Examples:1. Appropriate software programs / modules2. Functional and technical designing3. Programming languages - proficient in multiple skill clusters4. DBMS5. Operating Systems and software platforms6. Software Development Life Cycle7. Agile - Scrum or Kanban Methods8. Integrated development environment (IDE)9. Rapid application development (RAD)10. Modelling technology and languages11. Interface definition languages (IDL)12. Knowledge of customer domain and deep understanding of sub domain where problem is solvedAdditional Sills: Must have - Minimum 7 years' experience in performing API microservices development using Java.Application development in JavaHands-on working knowledge of a major relational database (DB2, SQL Server etc.) and/or NoSql. Skills:CategoryNameRequiredImportanceExperienceNo items to display.