Qualifications
Bachelors degree in Computer Science or related field with 5 years of Software Development Experience or a Masters's degree with 2 years of Software Development Experience.
Proficiency in Java is a must
Proficient in implementing design patterns and hands-on knowledge of Spring, hibernate and RDBMS technologies like PostgreSQL, Oracle, or similar
Experience with web service standards and related patterns (REST, JSON)
Experience with Agile development incorporating TDD, Continuous Integration, and Continuous Delivery, utilizing technologies such as GIT, Maven, Jenkins, Chef, Sonar, JUnit, Mock frameworks.
Experience developing large-scale, enterprise-class distributed system or subsystems that require high availability, low latency, & strong data consistency computing
Experience implementing solutions for low-latency, distributed services using open standard technologies.
Strong interpersonal and leadership skills with the ability to present complex ideas in a clear & concise way, a team player with a strong work ethic
Effective verbal and written communication and documentation skills
Job Description
This position is ideal for a software engineer who is passionate about solving challenging business problems and building applications that provide an excellent user experience.
Sometimes you will be designing brand-new software solutions, and at other times you may be refactoring existing functionality for performance and maintainability, but always working on ways to make us more efficient and provide better solutions to our customers.
The role is for a self-motivated individual with software engineering skills and knowledge of Databases, J2EE and Web technologies.
The candidate will be extensively involved in leading hands-on software engineering activities including POCs, design, documentation, development, and test of new functionality.
The candidate must be flexible and willing to switch tasks based on the team’s needs. You will also help and guide junior team members.
Key Functions
Work on emerging technologies, building distributed applications
Collaborate with project team members (Product Managers, Architects, Analysts, Software Engineers, Project Managers, etc.
to ensure the development and implementation of new data-driven solutions.
Drive development effort End-to-End for on-time delivery of high-quality
solutions that conform to requirements, conform to the architectural vision and comply with all applicable standards.
Collaborate with senior technical staff and PM to identify, document, plan contingency, track and manage risks and issues until all are resolved
Present technical solutions, capabilities, considerations, and features in business terms.
Effectively communicate status, issues, and risks in a precise and timely manner.
Partner with Product on implementation strategy.