Duties and Responsibilities- Research, design, code, document and test new programs.- Develop implementation of complex, multi-tier distributed software applications;- Interpret the business requirements, usability feedback results, and functional specifications to make technical recommendations;- Analyze software requirements to determine the feasibility of design within time and cost constraints;- Work with the Architect, Project Manager, and Product Technical Lead within 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, and project budgets.- Anticipating risks of any task. Propose solutions and mitigation plans except in cases of great complexity.- Keep current on the issues inherent in their work and transmit their knowledge proactively.- To have advanced knowledge of all the tools and concepts related to the project.- To be responsible for product definition, and offer added-value ideas.- To assist in the enforcement of development deadlines and schedules under Agile Methodologies.- To develop ensuring strong functionality and optimization; follow coding standard protocols.- To create and implement automated unit test scripts.
Requirements- 6+ years of professional experience developing and maintaining complex Java/J2EE web applications in a dynamic and fast-paced environment. (JDK 9 is required)- 3+ years developing using Spring frameworks (Spring 5, SpringBoot) and Hibernate.- Experience in distributed multi-tier systems and client-server architectures is required.- Experience with Hibernate; Creating entities; Using annotations for mapping; defining a one-to-one, one-to-many, and many-to-many relationship.- RDBMS experience with databases like Postgres, MySQL, etc.- Experience with developing RESTful microservices.- JSON experience while using JSON as your encoding protocol; Turning JSON data into Java Objects; Experience using the Jackson JSON library (https://github.com/FasterXML/jackson) or other JSON library; and converting data between various encoding protocols, JSON -> XML- Experience with Maven to create multi-module projects; Working with a corporate artifact repository; customizing pom files, adding plugins, moving dependencies and plugins between pom files; and experience maintaining local settings.xml file.- Knowledge of Jenkins to create jobs; Parameterized jobs; and triggering one build job from another.- Unit Testing Experience with JUnit,- JMS knowledge related to point-to-point (queue) v. pub-sub (topic) in JMS;- Fluency in English Language
Additional Attributes- Problem-solving skills.- Independent, ability to work on your own without a lot of help or supervision.- 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 and Angular/React) for front-end applications.- Experience with AWS services.- Experience with GraphQL.