Contribute to all stages of the software development lifecycle
Design, implement, and maintain Java-based applications
Analyze user requirements to define business objectives
Envision system features and functionality
Define application objectives and functionality
Develop and test software
Identify and resolve technical issues that arise
Create detailed design documentation
Develop technical designs for application development
Write well-designed, testable code
Conduct software analysis, programming, testing, and debugging of Java code
Develop documentation to support test scripts and user testing
Prepare and produce release delivery and documentation for software components
Support continuous improvement, identify alternative technologies/solutions/processes, and present recommendations for architectural/technical peer review
Knowledge, Skill, and Abilities:
The candidate must have:
Experience and proficiency in maintaining and developing complex programs using Java programming language to include new modules, reconstruct existing programs, and troubleshoot problems within a production environment
Knowledge of principles and techniques of systems analysis, design, testing, and program documentation
Experience in full software development lifecycle (SDLC), support, and maintenance
Ability to write clean, readable Java code as well as skills for writing reusable Java Libraries
Experience with Java Database Connectivity (JDBC)
Experience with SOAP and RESTful web services
Experience with Web Technologies like HTML, JavaScript, CSS
Experience with Markup Languages such as JSON, XML, XSL
Experience working with SFTP file transfer
Understanding of class loading mechanisms in Java
Experience using Oracle databases
Understanding of design principles behind scalable applications
Knowledge of code version tools like Version Manager or Gi