Role Description:
Design, develop and maintain software applications that meet and exceed client requirements. The role requires building and enhancing skills in a broad range of application development technologies, platforms and methods that enables the Talent to produce high quality solutions in a timely and cost-effective manner. This role also reviews application code and artifacts developed by junior developers to ascertain overall quality and maintainability of delivered system.
Primary Skills | Java,SQL, Springboot, Microservices |
Secondary Skills | Experience in API driven development, RESTful API/Web services. |
Key Responsibilities:
The primary responsibilities for this job role are as follows:
- Develops low level designs for application components based on High Level Design documents
- Build, assemble and/ or configure application components based on design specifications and system requirements
- Build and leverage reusable code and libraries for future use
- Implement and set security, performance and data direction for the coding work
- Review and Debug Code
- Perform Unit Testing of the system in controlled, real situations before System Testing
- Partner with the testing team to ensure applications/components are fully functional
- Oversee and fix any defects or performance problems discovered in testing
- Ensure that the code / Libraries used are not susceptible to vulnerability.
- Ensure application maintenance activities are in line with Service Level Agreements (SLAs) or other business requirements
- Taking ownership of assigned issues/enhancements/features and helping to define a plan and related coordination activities to provide an end to end solution.
- Proactively anticipates problems before they occur; identifies possible causes; works with team to identify solutions; selects and implements most appropriate solution.
- Produce documents which contain clear, precise descriptive language
- Applies judgment in implementing methodologies, processes, and practices to specific requirements of projects/programs which may include product design engineering, information security, code review, code maintainability and reliability.
- Provide required training and support to other peer teams for newly designed and developed functionality.
- Utilize approved tools, adopt key performance indicators (KPIs), increase technology component reuse, and consolidate platforms, environments and products with the goal of reducing overall IT costs.
- Provide technical expertise and guidance to production support staff
- Strong knowledge of SOA, object-oriented programming, design patterns, scalable application development
- Software Engineering experience and current expertise in respective relevant area, with years of services-based development experience in each areas.
- Source code management– Familiarity with source control tools such as Git, Team Foundation Server (TFVC), and SVN and deploying those products/solutions throughout environments using automation.
- Implement coding standards and development disciplines for self and team as per organizational norms
- Prioritize software development tasks, set timelines & assign tasks to junior team members
- Communicate work progress status, issues, risks and support requirements regularly to Lead/ Manager through formal / informal reports
- Ability to prioritize personal and team workloads to best meet organizational objectives
- Requires sound analytical skills and problem solving skills needed to manage multiple technical challenges simultaneously per each project assigned when needed
- Taking accountability for quality technical deliverables to agreed schedule and estimates.
- Adhering to the quality standards defined by organization/client
Other Responsibilities
The additional responsibilities pertaining to this job role will include the following.
- Guide and oversee junior developers to improve and evaluate their performance.
- May need to assist Tech Lead during interviews.
- Create technical documentation for reference and reporting.
- Support Technical / Project Lead to present ideas for system improvements, including cost proposals.
- Managing Complexity- Breaks down and simplifies key elements of complicated issues with clarity, Encourages mutual understanding to work through change and uncertainty.
- Passion for Results – Displays sustained confidence, energy and determination in the face of obstacles, Asks for and fulfills challenging, stretch goals., Pushes self and others for results
- Influence – Uses logic and rationale to gain agreement on recommendations, Secures commitment from others to fulfill shared goals, Demonstrates interpersonal sensitivity and wins others’ trust.