Frontend UI Developer
You are a Frontend Developer in our SaaS Practice, focusing on building our BigCommerce and Shopify stores. You work with your team to deliver your projects on-time and on-budget, working closely with your customers and the wider business.
Here’s how your week may look:
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 UI problem 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. Shopify recently released an update to the checkout and (for some reason!) your customer’s site stopped working. You find the problem, update the functional tests to cover this use case and let the Project Manager know 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
The following should give you an idea of how you’ll be expected to typically be spending your time. It’s not set in stone and it may change from week-to-week, but it gives an idea of what is expected from the role.
Software Development (90%)
You’ll be spending the majority of your time working on delivering projects for our customers with your team. You’ll be building BigCommerce and Shopify themes, working with the design and CX team to bring our customers requirements to life!
You’ll work with the Practice Lead to progress our platform specific goals and build out tools and products to make sure we’re constantly improving on how we work.
Depending on your experience, a portion of this time is expected to be spent assisting other team members in delivering their work effectively.
Personal Development (10%)
Keeping up with new software releases, development practices, horror stories and post mortems are an essential part of any Software Developer’s time! Use this time to push forward your objectives and research tools and techniques you need to stay productive.
Who You Are
Here’s an idea of the type of experience you’ve got along with an idea of what we think would be useful to also know:
Essential Technical Skills
- Experience working with Git
- Knowledge of the HTTP and H2 protocols, in particular how they are relevant to frontend performance
- Knowledge of web application security as it pertains to frontend web development
- A frontend specialism / interest (e.g. accessibility, performance, user experience)
Desirable Technical Skills
- Building Shopify or BigCommerce themes
- Experience using one or more Unix Shells (e.g. bash, zsh)
- Atlassian Suite (Jira, Confluence, BitBucket)
Essential Knowledge and Experience
- Experience of the full software lifecycle
- Experience dealing directly with non-technical stakeholders
- 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
- Advanced time management skills with the ability to manage own tasks to agreed timelines with limited supervision
- Able to clearly communicate complex design and development decisions
- Able to articulate complex technical solutions with minimal assistance
- Able to design and build complex technical solutions with minimal assistance
- Strong communication skills
Desirable Knowledge and Experience
- One year of development experience working in a development team within a commercial environment
- One year of software development experience on an ecommerce platform
- Experience with Agile methodologies
- Managing tasks and timelines of a development team, within a commercial environment
- Advanced knowledge of best practice and architecture for complex web applications
- Advanced knowledge of and able to avoid common security issues in web applications
The following are the types of tasks that you may be required to perform as part of your role.
- 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 standards
- Create, 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
- Perform related duties as assigned.