Job Title: Senior Backend Java developer
Location: Remote (India)
Duration: 4 months contract
Job Description
1. PROJECT DESCRIPTION
a. Short description of the project:
- Provide Java development into Run Team for Commerce.Next project.
- The Parties will follow the agile project management methodology Kanban or Scrum.
2. SERVICE DESCRIPTION
- The Parties will follow the agile project management methodology Kanban or Scrum.
The scope of services includes the following task, which are independently performed by the contractor:
- Independent development of the software code as per requirements defined in Jira tickets retrieved by the contractor (new functionality, improvement, or bug fix for existing functionality) adhering to project standards & guidelines shared upfront.
- Submission of the code to the project repository in GitHub based on requirements defined in Jira
- Design & implementation of database structures based on requirements defined in Jira and on the contractor's expertise
- Testing of the code in the development environment before deploying any changes
- Review of the code on the adherence to standard, guidelines & requirements
- Implementation of code changes as per results of review, internal and user testing based on requirements defined in Jira
- Documentation of the implemented functionality/changes in Confluence
- Bug fixing and improvement of the existing functionality and code based on requirements defined in Jira and on the contractor's expertise
- Update the status of ticket delivery in Jira based on work done
- Report in Jira any action/input required to implement the software changes based on work done
Software design
- Designs software components and modules using appropriate modelling techniques following agreed software design standards, patterns, and methodology.
- Creates and communicates multiple design views to identify and balance the concerns of all stakeholders of the software design and to allow for both functional and non-functional requirements.
- Identifies and evaluates alternative design options and trade-offs.
- Recommends designs which take into account target environment, performance security requirements and existing systems.
- Reviews, verifies, and improves own designs against specifications.
- Leads reviews of others designs.
- Models, simulates, or prototypes the behavior of proposed software to enable approval by stakeholders, and effective construction of the software.
- Verifies software design by constructing and applying appropriate methods.
Programming/software development
- Designs, codes, verifies, tests, documents, amends, and refactors complex programs/scripts and integration software services.
- Contributes to selection of the software development approach for projects, selecting appropriately from predictive (plan-driven) approaches or adaptive (iterative/agile) approaches.
- Applies agreed standards and tools, to achieve well-engineered outcomes.
- Participates in reviews of own work and leads reviews of colleagues work.
System integration and build
- Defines the software modules needed for an integration build and produces a build definition for each generation of the software.
- Accepts completed software modules, ensuring that they meet defined criteria.
- Produces software builds from software source code for loading onto target hardware.
- Configures the hardware and software environment as required by the system being integrated.
- Produces integration test specifications, conducts tests and records and reports on outcomes.
- Diagnoses faults and records and reports on the results of tests.
- Produces system integration reports
Release and deployment
- Uses the tools and techniques for specific areas of release and deployment activities.
- Administers the recording of activities, logging of results and documents technical activity undertaken.
- May carry out early life support activities such as providing support advice to initial users.
Application support
- Identifies and resolves issues with applications, following agreed procedures.
- Uses application management software and tools to collect agreed performance statistics.
- Carries out agreed applications maintenance tasks.