Previous Job
Previous
Java Developer
Ref No.: 17-00417
Location: Wilmington, Delaware
Start Date: 09/26/2017
 Job Title: Java Developer
Duration: Long term
Location: Wilmington, DE
 
Qualifications
Overall Job Purpose: Responsible for the technical implementation of a project.
Deliver high quality development using diverse tools and systems including but not limited to:
  • Java/J2EE
  • SOA (Rest/WSDL/XSD/XML)
  • Spring (WS/IOC/Integration)
  • Hibernate
  • Oracle Coherence
  • Multi-tiered infrastructure including load balancers, databases, apache, application servers etc.
  • JUnit/TestNG/Cucumber
  • Strong understanding of key initiatives including:
  • Agile development practices (Scrum/Kanban).
  • "DevOps” including continuous deployment.
  • DD – Test driven development
  • Work across multiple phases of software development within a project as a team member or dealing with the most technically challenging assignments. This includes:
  • Working directly with business areas to clarify detailed technical requirements.
  • Designing, coding and unit testing the most complex software components for new or enhanced IT systems to a high level of quality, producing appropriate documentation.
  • Providing technical support to business analyst/project managers and coaching to less experienced staff across a geographically dispersed teams
  • Maintaining an expert level awareness of relevant software design techniques, development tools and processes, providing leadership in the use of these across the organisation area.
  • Assist in periodic system evaluation to identify opportunities for continuous improvement
Key Accountabilities & approximate time split (%)
Technical Knowledge
  • Can describe the overall function of several components in the technical platform
  • Demonstrated very strong level of technical expertise both within own area of responsibility and other IT domains
  • Has comprehensive understanding of full development lifecycle and is actively involved in all phases
  • 8+ years of experience designing and implementing end-to-end solution architectures for large and complex systems. Extensive experience with Service Oriented Architecture (SOA), systems design, development, integration and executing n-Tier applications
  • 6+ years of software development experience on a J2EE platform
  • 4+ years of software development experience in standard J2EE frameworks that include Spring and Hibernate.
  • 4+ years of experience in Web Services design and development preferably Spring WS
  • Experience with Enterprise Integration Patterns including:
  • o Enterprise Service Bus (ESB)
  • o Java Messaging Services (JMS)
  • Experience with caching technologies like Terracotta and Coherence.
  • Experience with continuous development and tools like Jenkins.
  • Experience using build technologies like Maven
General
  • Ensure all SLA's are met for assigned tasks.
  • Perform on-call support and pager duties as assigned by Team lead.
  • Report over or under allocation to the Team lead, forecast work remaining, identify and communicate variance to plan.
  • Ensuring smooth transition of application into production
  • Software Design, Programming and Unit Testing
  • Designing software modifications from supplied requirements and design specifications using agreed standards and tools, achieving well-engineered results that follow the agreed implementation level software architectures.
  • Taking responsibility for the design, coding, testing, and documentation (as defined by the SDLC process) of particularly large, complex or mission critical software programs.
  • Proposing options and preparing cost estimates to enable the business area to make informed decisions
  • Adhere to all BCUS and BTG standards, Policies and governance practices.
  • Assume ownership of various initiatives across Solutions Delivery and/or BTG as agreed with Team Lead for complete and successful delivery.
  • Provide functional expertise within his/her skills to assist delivery team members, and foster collaboration with in BTG.
  • Provide issue response and root cause analysis on work assigned by Team Lead and Project Lead.
  • Planning, designing and conducting Unit and System Integration Tests, correcting errors and re-testing to deliver an error-free product.
  • Reacting quickly and as necessary to live software errors and service problems, limiting downtime and resolving the problem during project handover.
  • Report progress, delays and risks on assigned activities to Project Lead and Team Lead.
  • Raise awareness when existing code, systems or processes do not meet current quality expectations and standards.
  • Maintain code and all related artifacts in source control; perform code merges and resolve conflicts as defined by development process, update documentation and automated tests.
  • Develop code, configuration files, build scripts, schemas or other artifacts as assigned by Team Lead.
  • Develop system integration test to verify the code running in its functional environment.
  • Work with the Project Lead and Team Lead to schedule features into Releases.
  • Create implementation plans and Change Management Requests as assigned.
  • Maintain accurate feature status during development by the agreed upon SLA.
  • Verify build and deployment completeness of the features owned in the QA environment before making it available for Testing.
  • Review the feature requirements as presented by the Business Analyst and the delivery team, in context of the overall project feature set and existing implementation. Translate requirements to technical concepts.
  • Contribute to the logical/physical data models, class diagrams, activity diagrams, sequence diagrams and UI prototypes.
  • Assist QA and production testing and deployment; assume ownership of the work until it passes successful Production Verification Test.
  • Test all code, content, build and unit test changes in the lowest environments first, if such environments exist.
  • Taking part in reviews of own work and leading reviews of colleagues' work.
Capability Growth
  • Maintaining an expert understanding of software delivery process and of technology developments relevant to own team(s)/software