About the Role
This is a full time position. You will be working in a small team of experienced full stack developers. The focus of this position will be supporting our resource planning solution by designing new features implementing back end and front-end components and services, refactoring legacy codebase and maintenance of the application.
Responsibilities include collaborating closely with the team to document and present technical solutions to user stories, writing high quality, production-ready code aligned to coding standards and managing the deployment of releases.
About you:
We are seeking for candidate who possess the following skills and experience.
Essential:
- PHP development (5.3 through to 7.x) experience
- Experience with Laravel and Restish API’s
- MySQL database development skills
- Implementing and consuming web services using JSON
- Linux (Ubuntu/Centos) experience
- Outcome focused and demonstrated ability to take pragmatic approach
- Ability to articulate issue in layman terms and escalate issues appropriately as required
- Excellent professional communication and interpersonal skills.
Desirable:
- PHPUnit testing
- HTML5/CSS3
- JavaScript / jQuery / KendoUI
- Source Control Experience (Git)
- Have prior experience in projects relating to payroll and time / attendance
The responsibilities of this role include contributions to the planning, design, creation, amendment, verification, testing and documentation of new and amended software, UI controls, and application assets that facilitate the achievement of business outcomes and improves business efficiencies and processes through the leverage of technology to specified standards and procedure. This role will provide level 2 support for the application to either a resolution or where necessary escalate to level 3 support and contribute to a resolution.
- Planning & Design
Interpret the user story into a set of technical requirements that can be reviewed by the Technical Lead. The technical requirement should outline
- Overview of technical solution
- UI assets required to deliver the solution
- Success criteria
- Unit test plan
- Test advice
- Development
The core function of this position is to produce blocks of code that can increase the application’s functionality and performance for specific tasks outline in a scope produced by a business unit or the Technical Lead.
Developers need to comply with the following principles:
- Minimalist programming – factor out common, reusable code, into an appropriate object or construct.
- Defensive design – design and code so that the likelihood of bugs is lessened by considering the impact of the code that is written. The code should be robust enough to cope with
- invalid values
- failed calls to external libraries
- users entering incorrect or unexpected values and may not always use the UI as intended
- Program for maintainability – it is imperative for the overall maintainability of the solution that blocks of code written should have a comprehensive description, all major lines of logic need concise commentary. It is necessary to adhere to a consistent design; there is a rigorous logic to all conventions used from the nonclementure used, to the coding logic, to the testing methodology.
- Testing
Prior to deploying code into the SIT environment, it is expected that developers create, conduct and review unit tests and where necessary create scripts to automate unit testing. The testing should be sufficient to determine that the component developed performs as designed. Unit testing should be recorded against user stories in the ticketing system and any defects remediated prior to deployment to the SIT environment. Immediately after deploying to SIT the developers should provide any relevant testing advise to the QA team detailing
- Maintenance and Support
This Workbuddy Developer position will provide level 2 support and assist with activities leading to the resolution of tickets that require level 3 support. These activities will include but are not limited to
- Managing incidents within documented SLA (Service Level Agreement) timelines
- Performing support functions after hours
- Refer to documented responses of specific issues
- Supporting infrastructure team to resolve issues
- Respond to QA team with analysis
- Development Workflow
- Manage tasks, user stories and bugs through the development process indicated in the ticketing system
- Adhere to the workflow and approval mechanisms of the change control process
- Manage source control branches based on the direction of the technical lead
- Maintain source control documentation to a high standard
- Maintain REST API definitions