Essential Duties and Responsibilities:
This section contains a list of five to eight primary responsibilities of this role that account for 5% or more of the work. The incumbent will perform other duties assigned.
§ Responsible for providing leadership within assigned team to ensure key metrics for projects and/or sprints are met.
§ Develops a solid architecture that balances requirements from multiple stakeholders including marketing/product owner, program management, operations, quality assurance and service.
§ Must ensure that architecture allows meeting time-to-market, exceeding quality targets, quick diagnosis of problems in the field, quick diagnosis of issues during product development and requirements evolution (scalable / extensible).
§ Responsible for creating design artifacts based on requirements/use-cases and software architecture.
§ Responsible for implementing modules/units, performing peer code review, performing unit-testing, subsystem testing and participating/leading various system integration activities.
§ When applicable leads creation of software requirements based on understanding of deep customer needs and hosts JAD (Joint Application Design) sessions. Responsible for reviewing and supporting creation of defect free requirements/use-cases.
§ Responsible for creating user interface design based on current best practices for web based and mobile customer facing applications.
§ When applicable responsible for providing design/technical specifications to external design partners.
§ Responsible for rapid prototyping of highly innovative concepts for concept/feasibility testing.
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. List knowledge, skills, and/or abilities required. Reasonable accommodations may be made to enable individuals with disabilities to perform essential functions.
§ Highly process oriented and demonstrated proficiency in various software development lifecycle methodologies including Agile, Iterative, V-Model, etc.
§ Knowledge of medical device software development is highly preferred including knowledge of standards such as IEC 62304, ISO 14971.
§ Must have several participated in several projects which lead to successful product introduction in the marketplace and at least some of them had significant positive business impact.
§ Deep and broad understanding of many technological areas below:
- Analysis and Design: Object oriented architecture, Design Patterns, UML
- Programming and Framework Server: Java/J2EE, Spring Framework, Spring Boot
- Enterprise Integration: Design patterns for enterprise integration, SOA, SOAP/REST, Microservices, Patterns for Distributed Systems
- Middleware: Apache Tomcat, Apache Active MQ or any Messaging Queue Server
- Development and Continuous Integration: Eclipse/STS, Swagger/OpenAPI Spec, SVN, Git/Bitbucket, JIRA, Fisheye, Sonar, Clover, etc.
- Database: Oracle DB, Knowledge on DML & DDL
- AWS Services (Nice to have concept of all): S3, Kinesis, SQS, SNS, API Gateway, Lambda, DynamoDB
§ Ability to organize and present technical status to senior management.
§ Ability to convince management on courses of action using both written and verbal methods. Effective oral and written communication skills.
§ Demonstrated success in delivering results on several technical challenges.
§ Very passionate about continuous learning and constantly keeps up with industry trends. Leverages current technology and processes for creating highly innovative software solutions that can be introduced in the marketplace in the time needed.
§ Believes in her/his ability to successfully take on new and difficult challenges, question the status quo and take risks.
§ Ability to reduce an overwhelming amount of information into a few salient issues
§ Brings a can-do-attitude to work and inspires others to raise their performance bar, highly organized and brings quality orientation to everything they do (emails, document, code, etc.).
§ 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