Senior Java Application Developer
This position is for a Spring Boot/JBPN/JAVA Senior Application Developer. The candidate will design and develop, test, implement, integrate and maintain applications supporting the data/phone/video provisioning family of applications while leading other developers. Under general supervision, he/she will prepare detailed specifications from which programs will be written. The applicant will design, code, test, debug, document, and maintain these programs.
PRIMARY RESPONSIBILITIES AND ESSENTIAL DUTIES:
– Completes technical development tasks pertaining to the provisioning applications per approved projects and allocated budgets
– Low-level design and implementation of core frameworks.
– Interfaces extensively with functional users to confirm the applicability of design alternatives, identifies and recommends cost-effective options, and address user concerns
– Interfaces as necessary with all critical integration points to ensure that applications are integrating successfully and efficiently with all requested applications
– Assists with overnight on-call development/operations duties such as application installations and deployments into a production environment.
– Conducts necessary internal design and code reviews, system testing, and load testing to ensure that the application is of high quality when released to Quality Assurance for the testing phase of the project (manage all necessary migration of software code to/from the respective environments – development, quality assurance, training)
– Works closely with Quality Assurance testers during the testing phase of the project to ensure that any and all necessary changes(fixes or enhancements) to the application can be accommodated to meet user requirements while also honoring timeline and budget restrictions
– Provides detailed deployment documentation to the Technical Operations support group to ensure preparedness to deploy new releases into the production environment within the SLA windows
– Interfaces with database administrators to ensure that database access and updating is done efficiently
– Configures, analyzes, designs, develops and maintains program code and applications to support the data, phone, and video provisioning applications of Cox Communications
– Serves as an expert to other application developers in the field of JAVA/JBoss development.
– 5+ years of experience with Java Spring and Spring boot development
– Good experience with Java EE (i.e. Container-Managed Resources, Datasources, SOAP/RESTful Web Services, EJBs, MDBs, JMS, etc.).
– Extensive experience in Database schema design and SQL tuning.
– Expertise in ORM technologies such as Hibernate, JPA.
– Expertise in messaging systems including HornetQ, Rabbit MQ, and Active MQ.
– Strong experience in developing an enterprise application in high availability clustered environment.
– Extensive experience with development against a Full EE Container (i.e. JBoss, Weblogic, GlassFish or WebSphere).
– Strong experience with SOAP and REST webservice development (JAX-RS, JAX-WS, CXF, Axis, JAXB).
– Expert command of the following technology and tools: JDBC, ANT, Maven, OOAD, Eclipse, JavaDocs, JUnit, Source Control Systems.
– Must be able to develop on demand efficient batch jobs (executable Jars and/or PL/SQL and shell scripts) in an expedient manner.
– Good experience with Kubernetes/PaaS/Jenkins
– Excellent debugging and trouble shooting skills.
– Application profiling and performance tuning skills.
– Ability to lead mid-level and junior developers in application development cycle.
– Excellent communication skills, both written an oral.
– Self-motivated and is able to perform duties with little or no supervision.
– Masters in computer science or 8+ years experience
– Java 6 EE
– JBoss Modules
– Application Release Management
– ORACLE Virtual Box and/or VMware
– Linux Scripting (shell, perl, etc.)
– ORACLE – PL/SQL
– Test Case Automation
– Broadsoft & OSS provisioning