General DescriptionWe are looking for Java Developers to join our Product Team to implementnew functionality and improve the current learning platform for the future.You will work with the Product / Technology Team to develop and maintaincutting-edge applications for our online learning platform. As a Senior JavaDeveloper, you will analyze, design, develop, and integrate products accordingto stakeholder needs.Duties and Responsibilities- Research, design, code, document and test new programs.- Develop implementation of complex, multi-tier distributed softwareapplications;- Interpret the business requirements, usability feedback results, andfunctional specifications to make technical recommendations;- Analyze software requirements to determine the feasibility of designwithin time and cost constraints;- Work with the Architect, Project Manager, and Product Technical Leadwithin the organization to implement agreed-upon designs;- Collaborate with internal partners on technical issues;- Analyze and provide recommendations;- Work with senior leaders to establish strategies, projects, plans, andproject budgets.- Anticipating risks of any task. Propose solutions and mitigation plansexcept in cases of great complexity.- Keep current on the issues inherent in their work and transmit theirknowledge proactively.
- To have advanced knowledge of all the tools and concepts related tothe project.- To be responsible for product definition, and offer added-value ideas.- To assist in the enforcement of development deadlines and schedulesunder Agile Methodologies.- To develop ensuring strong functionality and optimization; followcoding standard protocols.- To create and implement automated unit test scripts.Requirements- 6+ years of professional experience developing and maintainingcomplex Java/J2EE web applications in a dynamic and fast-pacedenvironment. (JDK 9 is required)- 3+ years developing using Spring frameworks (Spring 5, SpringBoot)and Hibernate.- Experience in distributed multi-tier systems and client-serverarchitectures is required.- Experience with Hibernate; Creating entities; Using annotations formapping; defining a one-to-one, one-to-many, and many-to-manyrelationship.- RDBMS experience with databases like Postgres, MySQL, etc.- Experience with developing RESTful microservices.- JSON experience while using JSON as your encoding protocol; TurningJSON data into Java Objects; Experience using the Jackson JSON library(https://github.com/FasterXML/jackson) or other JSON library; andconverting data between various encoding protocols, JSON -> XML- Experience with Maven to create multi-module projects; Working with acorporate artifact repository; customizing pom files, adding plugins,moving dependencies and plugins between pom files; and experiencemaintaining local settings.xml file.- Knowledge of Jenkins to create jobs; Parameterized jobs; and triggeringone build job from another.- Unit Testing Experience with JUnit,- JMS knowledge related to point-to-point (queue) v. pub-sub (topic) inJMS;- Fluency in English Language
Additional Attributes- Problem-solving skills.- Independent, ability to work on your own without a lot of help orsupervision.- Good work ethic.- Strong sense of responsibility.- Willing to learn.Good to have- Experience with SpringBoot and Liquibase.- Experience in working with Javascript frameworks (Backbone andAngular/React) for front-end applications.- Experience with AWS services.- Experience with GraphQL.