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.
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
For roles outside USA:
Bachelor's Degree in Computer Science or “STEM” Majors (Science, Technology, Engineering and Math) with advanced experience.
Technical Expertise:
Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns- Strong C++ and Data structure skills.
- Experience in design with cloud applications.
- Good knowledge on Kubernetes and dockers
- Knowledge on Load balancer, Ingress Service, Node Port and Reverse Proxy
- Knowledge on Cloud Deployment and On-premise to Cloud migration
- Experience in AWS and Azure Cloud is required
- Experience working on Linux Platform
- Experience of working on Multi-threaded applications is a must.
- Exposure to Web Technologies would be an added advantage.
- Lean/Agile/XP, CI, Product Security, TDD/BDD etc.
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:
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