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.
Role Overview
-
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 8 to 10 developers with either planning and execution and/or design architecture using agile methodologies such as SCRUM
-
Work with Operations team for Operations Excellence of the product
-
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
The Ideal Candidate
-
Ideal candidate should have experience in Java, Spring Boot, Microservices, RESTful APIs, AWS, web development
Required Qualification
-
Bachelor's Degree in Computer Science or STEM Majors (Science, Technology, Engineering and Math) with 8+Years experience
-
Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns and Java coding principles
-
Hands-on experience in web services (REST, SOAP, WSDL etc.), using Apache Commons Suite & Maven, SQL Database such as Oracle MySQL, PostgreSQL etc.
-
Hands-on experience in utilizing Spring Framework (Core, MVC, Integration and Data)
-
Hands-on experience with web development using HTML5, Java Script, jQuery, CSS. Also, experience in implementing Java OSGi modules and using an OSGi container.
-
Experience with Play framework, Vue JS is a big plus
-
Exposure to working with Visualization tool such as Spotfire and Cloud Data Engineering in AWS services is a big plus.
Preferred Qualifications
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
Additional Information Relocation Assistance Provided: Yes