Job Title : Java Technical Lead (US Citizens, GC, EAD, - (No H1B))
Rate : DOE
Experience : 8+ years
Location : Wilmington, DE
Duration : 12-24 months with potential for extension
Interview: Telephonic followed by F2F (No Skype)
Requirements :
• Responsible for the technical implementation of a project.
• Deliver high quality development using diverse tools and systems including but not limited to:
o SOA (WSDL/XSD/XML)
o Enterprise Service Bus (ESB)
o Spring (WS/IOC/Integration)
o Hibernate
o Oracle Coherence
o Multi-tiered infrastructure including load balancers, databases, apache, application servers etc.
o JUnit/TestNG/Cucumber
• Strong understanding of key initiatives including:
o Agile development practices (Scrum/Kanban).
o “DevOps” including continuous deployment.
o TDD – 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:
o Working directly with business areas to clarify detailed technical requirements.
o 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.
o Providig technical support to business analyst/project managers and coaching to less experienced staff across a geographically dispersed teams
o 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.
o Assist in periodic system evaluation to identify opportunities for continuous improvement
Key Accountabilities & approximate time split (%)
(Ideally 4-10 points, or headings with sub-points. Quantify where possible e.g. cost/income budget, no of subordinates, likely no of yrs/mths to complete longest task. Could note key external/internal lateral relationships) 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
• Enterprise Service Bus (ESB)
• 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.
Internal and External IT Environment
Deep understanding of the internal and external environment related to own IT department/function:
• Can identify the specific functions and responsibilities and key customers and relationships of own IT department/function
• Can describe rationale for major IT initiatives and identify major IT issues
• Contributes to the development and implementation of standards and procedures
• Considers buy/sell/hold list and architectural road map during design phase of a project.
• Can discuss potential risks and benefits of emerging technologies
• May participate in the evaluation and implementation of new technologies
Business Knowledge
Familiar with the details of at least one business:
• Can propose system solutions within component or application to business issues
• Can provide clear communication of technical concepts to non-technical business users
Functional Analysis (Business)
Experienced with standard methods, tools and techniques for requirements definition:
• Can describe deliverables associated with the requirements analysis and definition
• Familiar with policies, practices and standards for defining functional requirements
• Can identify key factors and information needed for effective design Development/Configuration
Has a deep understanding of the overall development process and an advanced knowledge in one or more of the main phases:
• Experienced with multiple programming languages including their standard tools and libraries
• Can discuss similarities, differences, advantages and drawbacks of different languages
• Knowledge of the major tools in a toolkit for a specific platform
• Has developed and executed a full spectrum of tests on multiple applications and environments
• Experienced with testing complex, multi-platform, distributed applications
• Can discuss considerations for selecting optimal testing environment for specific applications
• Coordinates deployment tasks with end-user, operations and quality management
• Has experience with alternative implementation plans