Demonstrates expert knowledge and proficiency of the complete software development process; leads and is accountable for the engineering design and implementation for all features and capabilities in one or more subsystems in the System.
Design and implement software in current OOPs programming languages such as Java/C++ and investigate issues on multi-threaded applications. Has a good understanding of object-oriented programming principles, multi-threaded applications.
Reviews software requirements as a technical subject matter expert.
Evaluates multiple design options, leads proof-of-concepts, and proposes optimal design solutions compatible with the software system architecture.
Should be familiar with different versions of Java (8 and above) or similar programming languages to be able to identify the need for version upgrade. Should be able to strategize, plan and execute version, technology upgrades for products.
Define feature evolution, branching, integration and deployment strategy. Defines structure of the source code files for one or more features. Oversees continuous integration and continuous delivery (CI/CD) design of one or more subsystems.
Develops software system test strategies and test plans including regression analysis for complex features.
Provide effort estimates for software functionality. Plans, conducts, and technically directs projects or sub-systems of significant projects. Assesses areas impacted by new feature requests and determine approach to accommodate new capabilities.
Assist in the preparation of detailed design specifications for implementation per Abbott design development process.
Ability to follow the vision of building a competent team. Should be able to constructively work with local and US manager to define the required team structure and put efforts towards realizing the team structure.
Demonstrate technical leadership to ramp-up the team, knowledge, and competency building to be able to run program independently while delivery quality output.
Work independently and as an extended arm of the US team.
Regular reporting to local and US manager, highlighting issues, provide mitigation and implement solutions.
Preferred qualifications
Bachelor s degree in engineering preferably in Computer Science or related field with 12+ years of related experience, Masters Degree with 10+ years of related experience.
Minimum of 6 years of experience leading teams preferably across multiple locations
Experience with direct responsibility for meeting schedule and quality demands
Good understanding of Linux operating systems and networking
Good working Knowledge of Java and C++ based application development.
Familiarity with Collections framework
Systematic problem-solving approach, and a sense of ownership and drive.
Ability to communicate effectively with others at, above, and below their level in the organization, verbally and in writing.
Ability to assess, develop options, and summarize and communicate tradeoffs to drive decisions.
Proven team building and handling ability.
Experience to evaluate and hire candidates the best supplement the team vision.