This is a six-month contract.
You will form a key part of a team of developers building and maintaining large, complicated Magento sites.
We're looking for a Magento Developer with experience of the frontend and backend of magento to help us expand and improve the range of Magento stores that we currently look after. We work with a large number of brands like Richer Sounds, Cox and Cox and Bettys all of which have the vision and drive to push their online presence to the limit! You'll spend your time working closely with our Magento Practice Lead and your squad's Technical Lead to really get to know your customers and their environments.
As well as Magento 2.x, we have a number of Magento 1.x stores that we're in the process of migrating over to a support platform, so you may need to dip your toes into some older codebases. We're actively moving our customers away from Magento 1.x though.
A Typical Day
You start your day in a team Stand Up discussing progress you made yesterday, listening to your team members describe their current issues and dropping some knowledge bombs on how you “solved this last time”. You’re working from home today, so you pay the pet tax and encourage your four-legged-friend wave to the camera before logging off.
First up you’ve got a pair-programming session with a Junior Developer in your team to help them through a tough ERP integration that they’ve been working on. They’ve been steadily improving under your experienced wing and are turning into a really productive team member.
After lunch you’ll set your Slack status and turn on Do Not Disturb for a couple of hours while you debug a weird issue with a customer’s site. There’s been a change to the out of stock logic recently to support multiple warehouses. You update your unit test suite to cover this unexpected scenario and tell the Project Manager the good news! You push your feature branch to Bitbucket and watch Bitbucket Pipelines build your artifact and prove that your tests pass.
Your JIRA issue has automatically transitioned to “In Code Review”and you open your pull request, studying your diff carefully before assigning it to your team mate for a sanity check.
Tomorrow (assuming all is well!) you’ll merge your pull request into a release branch and let Pipelines deploy it to Staging where it will be regression tested by the QA Team and their bank of automated tests. It should be out to Production by the end of the week, providing we can get through the testing and get client sign off by 2pm on Thursday.
If you read this and it sounds like your ideal job —we want you on the team!
What you'll be doing
Software Development
The majority of your time will be spent working with your team to deliver software that meets the needs of our customers. This isn’t time that you’ll spend entirely in your editor, there’s stand up, sprint planning, scoping, architecting and designing that you’ll take part in to make sure we’re building exactly what we need in the right way.
Depending on your experience, a portion of this time may be expected to be spent assisting other team members in delivering their work effectively.
Process and Tooling Improvements
Making sure that we don’t sit still and keep evolving the way we build and deliver software is a critical investment of time, particularly from a team member with your experience. Use this time to try that tool you read about and see if it’s worthy of being a part of our toolchain.
Your Responsibilities
- Build Software
- Interpret business requirements and technical specification documents, to deliver an appropriate technical solution to agreed quality and timelines
- Write software to an agreed set of coding standardsCreate, document, and implement automated test scenarios
- Create and maintain technical documentation
- Set up and maintain deployment systems
- Participate in manual testing of work in progress
- To be part of an escalation process for technical guidance in the wider development team
- Maintain Software
- Perform maintenance development
- Investigate, analyse and document defects
- Correct identified defects
- Support customers out-of-hours as part of an on-call rota
- Communicate with Team
- Provide progress reports on tasks and projects
- Assist in Planning
- Participate in project planning meetings
- Participate in Discovery sessions
- Create business requirement and technical specification documents
- Share Knowledge and Ideas
- Proactively suggest improvements in customer programmes of work
- Actively support and mentor less senior members of the development team
Requirements
Essential Technical Skills
- At least 1 year of experience with Magento 2.x
- Experience with one or more PHP-based frameworks (e.g. Symfony, Laravel)
- Experience with one or more relationship database systems (e.g. MySQL, Postgres)
- Experience of the full software lifecycle
- Experience with Agile methodologies
- Experience working with Git
- Knowledge of the HTTP and H2 protocols
- Knowledge of basic web application security.
Essential Knowledge / Experience
- At least 1 year of development experience working in a development team within a commercial environment.
- Highly motivated with demonstrable technical and analytical skills.
- Desire to further technical skills and knowledge.
- Attention to detail, commitment and desire to complete a consistently high standard of work.
- Intermediate time management skills with the ability to manage own tasks to agreed timelines with limited supervision.
- Able to clearly communicate design and development decisions with limited assistance.
- Knowledge of best practice and architecture for complex web applications.
- Knowledge of and able to avoid common security issues in web applications.
- Able to articulate technical solutions with minimal assistance.
- Able to design and build technical solutions with minimal assistance.
- Strong communication skills.
Desirable Technical Skills
- Experience with one or more JavaScript build environments (e.g. Webpack, Gulp)
- TypeScript
- Node
- Experience integrating with third-party APIs
- Atlassian Suite (Jira, Confluence, BitBucket)
- Experience with PCI Compliance
- Experience working with servers over SSH.
Desirable Knowledge / Experience
- Experience of people management in a fast-paced development environment
- Managing tasks and timelines of a development team, within a commercial environment.