Service-Oriented Architecture (SOA) Team Lead
The Engineering Department is responsible for all Avec® application lifecycle management activities. Using our product roadmap and customer use cases as a guide, the team develops domain models, ETL processes, web services, and web applications that organizations use to securely share clinical data between collaborating research and clinical sites for purposes such as rare disease research and comparative effectiveness research.
The Engineering team is seeking an experienced Java Software Engineer Team Lead to implement the next generation of our secure, service-oriented data sharing middleware. This platform will be deployed on a national and global scale to integrate distributed clinical and research data sets to enable both federated and centralized networks for clinical, bio-molecular, imaging and genomic data.
The SOA Team Lead will provide technical and personnel leadership to the SOA team. The SOA Team Lead will work closely with other Team Leads as well as the Director of Engineering to ensure the team’s product is developed in coordination and support of the other team’s and the overall product objectives. This role offers challenges across a wide variety of projects and responsibilities, including the opportunity to influence the future direction of the department and systems used across the business.
- Design and Implementation RESTful web service APIs.
- Robust Identity and Access controls.
- Data persistence leveraging both Relational and NoSQL databases through ORM frameworks.
- Build and deployment automation tools and techniques.
- Unit, System, and Integration testing.
- Metadata driven ETL processes.
- Software Monitoring to support 24x7 support team and SAAS licensing model.
- Software license management.
- Team leadership experience.
- Agile devemopment methodology adherence.
- Maintain high standards of quality within the team by following, establishing, and disseminating best practices.
- Guide team development efforts and provide technical leadership to ensure product and project delivery.
- Work with SOA team and other leads to develop an appropriate sprint schedule and workload.
- Identify and encourage areas for growth and improvement within the team
- Effective communication with team members, other software developers, business analysts, and Project Managers.
· Participate in reviews and meetings and provide updates on project progress.
- Communicate with Project Managers and Director of Engineering to ensure the management of any delivery risks or issues.
- Responsible for the performance management of employees on the team.
- Develop and extend web service middleware, web services, and data integration frameworks according to software requirements.
- Development of advanced services to support statistical data characterization and analytics.
- Validation of developed software leveraging implemented test cases, integration testing, and load testing
- Document use cases to satisfy QA needs for functional verification.
- Ensure security of service APIs and data following industry best practices.
- Creation of clear and concise documentation of implemented software and APIs.
- Responsive technical support to QA, customer support, and remote deployment staff.
- Provide recommendations and designs for enhancements to our data model, in accordance with industry best practices, to enable product development and customer use cases.
- Monitor personal progress by tracking activity and proactive problem notification.
Qualifications and Requirements:
- Education: BS in Software Engineering or Computer Science
- Software Development Experience: 5+ years of JVM-based software development.
- Strong problem solving and analytical skills.
- Background in developing secure, RESTful web services.
- Strong SQL skills and understanding of data persistence using ORM frameworks
- Excellent written and verbal communication.
- Excellent personal time management skills including the ability to work independently and efficiently in a fast paced environment while tracking work effort.
- A continuous interest in expanding knowledge of software engineering through hands-on investigation of technologies and tools with recommendations to senior management and development team.