Senior Java Developer

Senior Java Developer

The Principal Developer will work closely with a dynamic team of developers who all share a common goal: building highly reliable systems that can handle huge loads.

Job Responsibilities

* Design and develop technical solutions for enterprise-level projects

* Review and document existing application code and architecture

* Provide maintenance support to existing application code

* Perform new application development

* Perform unit testing and integration testing

* Propose new techniques and technologies for software development

* Code clean-up and Code Repository administration

* Automation of development tasks

* Act as a primary contact for development queries and concerns

* Interface with Product Owners to understand the product and business

* Define functional design for requirements implementation

* Critical systems development

* Research production problems using Splunk or other log analysis tools

* Design and develop data analysis solutions

* Database structure definition

* Integration with legacy data & applications

* Provide assistance to Junior Developers when needed

* Perform code reviews and recommend improvements

* Perform other duties as required and assigned by manager and upper management.

* Follow legal policies as directed.

* Collaborate with Scrum team following the agile principles.


Job Requirements

* 6+ years of software development experience

* 1+ years in a leadership or staff engineer role

* Strong skills in Java SE 5.0 or greater or Java EE 5.0 or greater

* Strong skills with Java SE 8 preferred

* Strong database and SQL experience, preferably with Oracle 11g or later

* Experience building and designing asynchronous, message driven systems with JMS

* Expertise with enterprise grade build, continuous integration and artifact management systems, e.g. Maven, and Kubernetes

* Use of web container technologies such as Tomcat

* Strong Linux/Unix skills

* Use of project/task management software such as Jira.

* Proficiency in Object Oriented design and programming

* Experience with Object Relational Mapping (ORM) tools

* Experience in mentoring Developers in design and/or development

* Experience building idempotent web services, especially using the REST style

* Experience designing microservice architecture with an emphasis on reliability and durability.

* Proficiency with version control systems such as SVN or Git

* Proficiency testing the software you and your team builds, including unit tests, mocking, integration testing, regression testing and state coverage testing

* Proficiency with IDE-based development, especially in Eclipse, IntelliJ, or Visual Studio

* Experience using web presentation technologies such as React.js or Vue.js.

* Excellent written and verbal communication skills

* Experience with Scrum artifacts and rituals



* Java

* Servlets

* JavaServer Faces

* JavaScript


* Templating Engines

* Version Control Systems

* Object Relational Mapping (ORM)



* JWT authorization

* Docker



* Bachelor's degree in Computer Science or Engineering or similar technical field or equivalent experience