Job Description :
Primary Responsibilities:
Perform all phases of software engineering including requirements analysis, application design, code development and testing
Design and implement product features in collaboration with business and IT stakeholders
Design reusable components, frameworks and libraries
Work very closely with architecture groups and drive solutions
Participate in an Agile/Scrum methodology to deliver high-quality software releases every 2 weeks through Sprints
Design and develop innovative solutions to meet the needs of the business
Review code and provide feedback relative to best practices and improving performance
Troubleshoot production support issues post-deployment and come up with solutions as required
Mentor and guide other software engineers within the team
Work with a team of software engineers for one or more Agile scrum teams assigned to work on the project
Designs, codes, tests, debug, and documents software, and enhance existing components to ensure that software meets business needs
Contribute to the design and architecture to enable secure, scalable, and maintainable software and should be able to clearly articulate the implications of design/architectural decisions, issues and plans to technology leadership
Provide hands-on leadership, coaching, mentoring, and software engineering best practices to junior software engineers
Develop reusable patterns and encourage innovation that will enable team velocity
Collaborate on the design with other team members and product owners, both inside and outside the scrum team
Estimate engineering work effort for engineering team and effectively identify and prioritize the high impact tasks
Conduct design and code reviews to ensure code developed meets coding best practices guidelines, unit testing, security, and scalability and maintainability guidelines
Drive a quality mindset within the team
Required Qualifications:
4+ years Java/Spring Framework experience
Experience building cloud based web services
Demonstrated success in building design patterns and software engineering best practices
Experience with automated unit testing technologies (Such as JUnit, Spock, or similar)
Preferred Qualifications:
BS Degree in Computer Science or related experience
Experience with commercial software development and/or healthcare industry experience
Sound understanding of design patterns and OOP as well as their implementation in real world applications
Experience with Agile Methodology
Experience with XML/JSON and developing REST services using Apache CXF or a comparable framework.
Experience with RabbitMQ
Experience with Maven
Experience with Groovy
Good understanding of SQL, relational database modeling and design
Excellent analytical and creative problem solving skills
Independent/go-getter attitude to keep yourself well-versed with new evolving technologies in application development landscape and be able to define how some of them can help in improving the work you are a part of now or in future
Experience with all aspects of web application development