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:
Overall 7-9 years of experience with at least 6-8 years of solution design experience on J2EE both on the server side & UI design Must have worked on designing middleware framework & UI design framework and ability to drive and own the architecture and design independently Strong skills on J2EE and core Java development, Spring Boot, Microservices Should have worked in Java V11 or above, SpringBoot V3 or above Familiar with Spring, Domain Driven Design principles, Hibernate, JPA, jUnit, Eazy Mock, MAVEN, ANT Web Service Development using REST Excellent knowledge of Relational Databases(DB2/Oracle), SQL and ORM technologies (JPA, Hibernate), Mongo DB Profound insight of Java and J2EE internals and practical knowledge of Design Thinking concepts Handson experience on Cloud Technologies Knowledgeable of agile principles and practices Self-directed and motivated team player Excellent communication and Presentation skills Key Responsibilities: Interact with customer/client or counterparts to understand the requirements Engage in architecture, document and review design with the customer Guide and assist the development team on development and integration Collaborates with other counterparts to explore existing systems, determines areas of complexity, potential risks to successful implementation, learn the applications capabilities, explore new ways to bring value to customer Takes responsibility for successful delivery of the solutions Contributes to continual improvement by suggesting improvements, software architecture or new technologies Sharing knowledge and best practices around back-end development with team Able to use advanced Java features to accomplish the server side requirements Able to guide and lead the team on development, testing and defect fixes Implement Code based on the requirements Write and maintain unit test on all development Able to work in a fast-paced, agile environment Excellent in code reviews Additional Skills: Experience with SVN, Jetty, Maven, Jenkins Good understanding of continuous integration , release management Knowledgeable/hands on experience in Test Driven Development Understanding of other popular frameworks Experience in Scrum methodology Good to have: Knowledge of Relational Databases(DB2/Oracle), SQL and ORM technologies (JPA, Hibernate) Knowledge on Azure and Data bricks, Kafka