**Job Description Summary**
Responsible for designing and programming a small module or a large component and designing a feature, set of features, or whole feature area. She/he will work independently and contribute to the immediate team and to other teams across business. She/he will Lead design discussion in a limited manner.
**Job Description**
**Roles and Responsibilities**
In this role, you will:
+ Identify the scope of the work, provide initial estimate and justify the estimate with facts
+ Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
+ Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
+ Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
+ Maintain code quality through best practices, unit testing and code quality automation
+ Seek and provide feedback on design and development
+ Demonstrate the ability to make informed technology choices after due diligence and impact assessment
+ Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
+ Help in designing interfaces and information exchange between modules
+ Articulate the need for scalability and understand the importance of improving quality through testing.
+ Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
+ Drive design reviews, define interfaces between code modules, and applies existing technology to designs
+ Be an expert in assessing application performance and optimizing/improving it through design and best coding practices
+ Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
+ Be responsible for providing technical leadership and defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
+ Provide guidance to a team of 5 to 7 developers with either planning and execution and/or design architecture using agile methodologies such as SCRUM
+ Work with Product Line Leaders (PLLs) to understand product requirements & vision
+ Write code that meets standards and delivers desired functionality using the technology selected for the project
**Education Qualification**
+ Bachelors or Masters degree in Computer Science or related discipline with strong academic credentials.
**Desired CharacteristicsTechnical Expertise** :
+ A minimum of 8-14 years of professional experience in software design and development using Java and Go
+ Must have hands-on knowledge of container orchestration technologies like Kubernetes.
+ Must have knowledge in scripting languages such as Bash, Python.
+ Must have proficiency in developing Continuous Integration/ Delivery pipelines using Jenkins.
+ Must have hands-on experience in Maven, SQL Database such as Oracle MySQL, PostgreSQL etc.
+ Must have hands-on experience in utilizing Spring boot, Spring Framework (Core, MVC, Integration and Data)
+ Must have knowledge on Unit testing frameworks like Junit, Mockito etc.,
+ Must have knowledge on messaging technologies like Kafka, JMS
+ Good to have knowledge on metric technologies like Prometheus, Grafana
+ Good to have knowledge on EFK Stack
+ Good to have on tool like Jira, Confluence, and static code analysis tools like Coverity
+ Good to have knowledge with service discovery/mesh such as Istio
+ Good to have knowledge of cloud service providers, like AWS.
**Business Acumen** :
+ Strong problem solving abilities and capable of articulating specific technical topics or assignments
+ Experience in building scalable and highly available distributed systems
+ Expert in breaking down problems and estimate time for development tasks
+ Evangelizes how our technology solves customer problems from a technology and business perspective
**Leadership** :
+ Demonstrates clarity of thinking to work through limited information and vague problem definitions
+ Influences through others; builds direct and "behind the scenes" support for ideas
+ Proactively identifies and removes project obstacles or barriers on behalf of the team
+ Shares knowledge, power, and credit, establishing trust, credibility, and goodwill
**Personal Attributes** :
+ Able to work under minimal supervision
+ Excellent communication skills and the ability to interface with senior leadership with confidence and clarity
+ Able to work well with global teams, including time-zone flexibility
+ Skilled in providing oversight and mentoring team members. Shows ability to effectively delegate work
**Note**
Note:
To comply with US immigration and other legal requirements, it is necessary to specify the minimum number of years' experience required for any role based within the USA. For roles outside of the USA, to ensure compliance with applicable legislation, the JDs should focus on the substantive level of experience required for the role and a minimum number of years should NOT be used.
This Job Description is intended to provide a high level guide to the role. However, it is not intended to amend or otherwise restrict/expand the duties required from each individual employee as set out in their respective employment contract and/or as otherwise agreed between an employee and their manager.
**Additional Information**
**Relocation Assistance Provided:** Yes