Java Developer
Job DescriptionExpectations 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 activities Interpret the application/feature/component design to develop the same in accordance with specifications. Code, debug, test, document and communicate product/component/feature development stages. Validate results with user representatives; integrates and commissions the overall solution Select appropriate technical options for development such as reusing, improving or reconfiguration of existing components or creating own solutions Optimises efficiency, cost and quality. Influence and improve customer satisfaction Set FAST goals for self/team.Typical Performance Measures Adherence to engineering process and standards (coding standards) Adherence to project schedule / timelines Number of technical issues uncovered during the execution of the project Number of defects in the code Number of defects post delivery Number of non compliance issues On time completion of mandatory compliance trainings Performance Areas:Code as per designFollow coding standards, templates and checklistsReview code – for team and peersDocumentationCreate/review templates, checklists, guidelines, standards for design/process/developmentCreate/review deliverable documents. Design documentation, r and requirements, test cases/resultsConfigureDefine and govern configuration management planEnsure compliance from the teamTestReview and create unit test cases, scenarios and executionReview test plan created by testing teamProvide clarifications to the testing teamDomain RelevanceAdvise 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 ProjectManage delivery of modules and/or manage user storiesManage DefectsPerform defect RCA and mitigationIdentify defect trends and take proactive measures to improve qualityEstimateCreate and provide input for effort estimation for projectsManage KnowledgeConsume and contribute to project related documents, share point, libraries and client universitiesReview the reusable documents created by the teamReleaseExecute and monitor release processDesignContribute to creation of design (HLD, LLD, SAD)/architecture for Applications/Features/Business Components/Data ModelsInterface With CustomerClarify requirements and provide guidance to development teamPresent design options to customersConduct product demosManage TeamSet FAST goals and provide feedbackUnderstand aspirations of team members and provide guidance, opportunities, etcEnsure team is engaged in projectCertificationsTake relevant domain/technology certificationSkill Examples Explain and communicate the design / development to the customer Perform and evaluate test results against product specifications Break down complex problems into logical components Develop user interfaces, business software components Use data models Estimate time and effort required for developing / debugging features / components Perform and evaluate test in the customer or target environment Make quick decisions on technical/project related challenges Manage a Team, Maintain high motivation levels and positive dynamics in the team. Interface with other teams, designers, and other parallel practices Set goals for self and team. Provide feedback to team members Create and articulate impactful technical presentations Follow high level of business etiquette in emails and other business communication Drive conference calls with customers addressing customer questions Proactively ask for and offer help Ability to work under pressure, determine dependencies, risks, facilitate planning; handling multiple tasks. Build confidence with customers by meeting the deliverables on time with quality. Estimate time and effort, resources required for developing / debugging features / components Make on appropriate utilization of Software / Hardware's. Strong analytical and problem-solving abilitiesKnowledge Examples Appropriate software programs / modules Functional and technical designing Programming languages – proficient in multiple skill clusters DBMS Operating Systems and software platforms Software Development Life Cycle Agile – Scrum or Kanban Methods Integrated development environment (IDE) Rapid application development (RAD) Modelling technology and languages Interface definition languages (IDL) Knowledge of customer domain and deep understanding of sub domain where problem is solved