Previous Job
Senior Software Enginee
Ref No.: 17-00249
Location: Hicksville, New York
Position Type:Contract
Start Date: 05/02/2017

Role: Senior Software Engineer
Location: Columbia , MD
Duration: 12+ Months

Job Purpose:
The Senior Software Engineer is an accomplished technical leader, proactive customer-focused advocate, a team player with substantial software engineering experience, preferably with some experience within the healthcare industry. The Senior Software Engineer must have hands-on experience with enterprise level software development, integration and implementation of SOA/Microservice architecture. The ideal candidate will have a good foundation of the Java, JEE platform, Microservice Architecture, AngularJS V2, Typescript, WCAG/Section 508/USDS, and UX. The Senior Software Engineer will provide their expertise in design and implementation to a cross-functional software development team.

• Bachelor's Degree in Computer Science or a related field
10+ years of experience of full lifecycle development
• 8+ years of systems analysis experience
• 7+ years of application design experience
• 3+ years of combined SOA/Microservice architecture/REST integration experience
• Education and/or formal training may substitute for experience requirement

• Ability to communicate clearly and professionally with all levels of the organization, both written and verbal
• Ability to work well independently or in a team environment
• Establishes and maintains effective professional relationships with internal and external stakeholders
• Must be able to adapt to organizational change
• Must be proficient in Microsoft Office Suite
• Flexibility and ability to plan, prioritize, and execute multiple tasks in a fast paced environment
• Self-motivated, well-organized, and detail oriented
• Experience with formal software processes and lifecycle requirements
• Ability to assist in the collection and consideration of required information and data
• Excellent logical reasoning skills

Technical Skills
• Proficiency in front end technologies (AngularJs V2, Saas, Typescript)
• Experience implementing UI components with WCAG/Section 508/USDS, and UX
• Demonstrable knowledge with Java EE, Java generics and concurrent programming. Spring or other dependency-injection frameworks desirable.
• Excellent knowledge of Relational Databases (MySQl, PostgreSQL, Oracle), SQL and ORM technologies (JPA2, Hibernate).
• Preferred experience with ATTD and associated technologies (Fitnesse, Junit, Karma/Jasmine)

• Architect, design, code, and implement highly scalable components and reliable applications in a high traffic transactional data and data warehouse environment using the latest technologies following software engineering best practices
• Analyze, modify and unit test software in support of customer issues.
• Provide third level customer support.
• Analyze and develop designs for enterprise systems (applications, databases, data warehouses) to meet business requirements
• Collaborate with Business and Systems Analysts to analyze business requirements and develop technical design specifications
• Support Architect and contribute to strategic implementations of enterprise products and solutions
• Provide software expertise in one or more of these areas: Java application integration, java enterprise services, service oriented architectures, security, business process management/business rules processing, user experience (UX) and accessibility (Section 508/WCAG/USDS Web Standards).
• Lead or perform proof-of-concept initiatives in new technologies
• Be a contributing member of a cross-functional development team
• Support sprint team in acceptance test driven development (ATTD) by building appropriate test automation
• Gather and assemble information to support risk assessment and security vulnerabilities of client and corporate enterprise systems
• Assemble, deliver and share technical information and training materials used across many technical disciplines and staff roles
• Lead less experienced software engineers in developing technical design specifications
• Debrief senior management and executive staff on technical solutions.
• Provide thorough and automated unit test harnesses for developed solutions.
• Provide software development estimates outlining business and technical risks.
• Represent Edaptive at technical meetings pertaining to schedule, requirements, project plans, technical decisions, data discrepancies and other technical matters, as directed by team leadership.
• Recommend, design, implement and maintain the various file formats (including XML/XSD, SequenceFiles, Avro files, or Parquet files) that define the information interchange between project and external systems.
• Design, implement and maintain various file format (including XML/XSD, SequenceFiles, Avro files, or Parquet files) parsing algorithms and their interaction with application or data lake.
• Investigate and repair application defects (regardless of component), including front-end (screens), business logic and middleware (Java Enterprise), database/back-end logic (SQL and data modeling), or data lake.
• Maintain and improve the build scripts (Maven "pom.xml” and Ant "build.xml” files) and ensure their integration with DevOps pipeline. Pay particular attention to reducing the complexity, regularizing the use of third-party libraries and conformance to the client-mandated delivery and deployment protocols.
• Recommend and enforce policies for the source-code control system (GIT) and the team's use thereof. (For example, "Don't Break The Build”, or "DBTB” – the policy that no check-in should cause a failure in the application build script.)
• Contribute to team coding standards and monitor the codebase for compliance.
• Contribute to and expand in-house documentation technical or otherwise.
• All other duties as assigned or directed