Key Responsibility Areas:
* Management, Requirements Elicitation & Understanding Understand various disparate views of the system.
Manage team drive effective processes, design and coding standards for software development
Leverage various teams and resources as necessary to maximize efficiency
Track the productivity of the team closely and implement continuous productivity/quality improvements
Analyze system requirements and map to specific components/libraries.
Define, understand and be able to analyze the non-functional requirements of the project.
* Architecture & Design
Able to envision the overall solution for defined functional and non-functional requirements; and be able to define technologies, patterns and frameworks to materialize it.
Design and develop the framework of the system and be able to explain choices made. Also write and review design document explaining overall architecture, framework and high level design of the application.
Create, understand and validate Design and estimated effort for given module/task, and be able to justify it.
Be able to define in-scope, out-of-scope and taken assumptions while creating effort estimates.
Be able to identify and integrate well over all integration points in context of a project as well as other applications in the environment.
Define guidelines and benchmarks for NFR considerations during project implementation.
Do required POCs to make sure that suggested design/technologies meet the requirements.
Review architecture and design on various aspects like extensibility, scalability, security, design patterns, user experience, NFRs, etc., against a predefined checklist and ensure that all relevant best practices are followed.
Be able to give solution to any issue that is raised during code/design review and be able to justify the decision taken.
Possess/acquire strong troubleshooting skills and be interested in performing troubleshooting of issues in different desperate technologies and environments.
Be able to understand and relate technology integration scenarios and be able to apply these learnings in complex troubleshooting scenarios.
Be able to help teams in complex and unusual bugs and troubleshooting scenarios.
Desired Skills and Experience
* Mandatory Skills
Strong experience in Core Java, Spring, JSF, and Hibernate/Spring Data JPA
Experience in SOA based architecture, Web Services (Apache CXF/JAXWS/JAXRS/SOAP/REST)
Experience in multiple application and web servers (JBoss/Tomcat/Websphere)
Experience in continuous integration (Jenkins/Sonar/Nexus/PMD)
Hands on experience of RDBMS like SQL Server, Oracle, MySQL, PostgreSQL
Experience in using profiler tools (JProfiler/JMeter)
Have a good understanding of UML and design patterns
Have a good understanding on Performance tuning
* Optional/Preferred Skills
Experience with HIPAA EDI integrations and transaction handling a strong plus
Knowledge of Healthcare domain
Experience with SaaS and cloud based development