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
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 (80%)
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.
Given your experience, a portion of this time is expected to be spent assisting other team members in delivering their work effectively.
Process and Tooling Improvements (10%)
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.
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.
Our Mission, Vision & Values
Our Mission is to create more human and compelling ecommerce experiences.
Our Vision is to provide our customers with standout service and support, and lead change in our industry.
Our Values are:
- We work together
- We take ownership
- We thrive when we learn
- We go beyond
- We do the right thing.
But what does all of this mean? Our mission, vision and values are guiding principles which give us clear focus and direction. They help us to learn, to grow and to succeed, both individually and together as a group.
The outcome of 41 hours of meetings, workshops and focus groups; countless decisions and discussions, our MVV are special because they were created by our team for our team. They reflect where we want Space 48 to go, how we want it to get there and how the culture and environment should feel along the way.
We don’t want it to just end up as ‘words on a wall’ though and we need to work together to keep the momentum going and bring it all to life. It doesn’t matter what your role is, everybody has an important part to play. Maintaining our positive, collaborative culture is really important and if you’re invited for an interview, we’ll be looking for evidence that you’ll be a good fit – not just from a skills perspective, but from a cultural and values perspective as well.
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
Essential Technical Skills
- Experience with FaaS platforms
- Experience with one or more popular Node framework (e.g. Nest, Koa, Express, Hapi)
- Experience integrating with NoSQL data stores (e.g. Cosmo, Mongo, Firestore, Dynamo)
- Working with third-party REST and GraphQL APIs
- Experience of the full software lifecycle
- Experience with Agile methodologies
- Advanced experience working with Git
- Advanced knowledge of the HTTP and H2 protocols
- Advanced knowledge of web application security
Essential Knowledge and Experience
- At least 2 years of development experience working in a development team within a commercial environment
- 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
- Advanced knowledge of best practice and architecture for complex web applications
- Advanced knowledge of and able to avoid common security issues in web applications
- Able to articulate complex technical solutions with minimal assistance
- Able to design and build complex technical solutions with minimal assistance
- Strong communication skills
Desirable Technical Skills
- Experience with Azure
- Experience integrating with relational databases (e.g. Postgres, MySQL)
- Experience with APIs that implement HATEOAS+HAL
- Atlassian Suite (Jira, Confluence, BitBucket)
- Experience with PCI compliance
- Experience working with servers over SSH
Desirable Knowledge and Experience
- At least 1 years software development experience on an ecommerce platform
- Experience of people management in a fast-paced development environment
- Managing tasks and timelines of a development team, within a commercial environment
No more of the same. Get more out of your employment.
- Enjoy 22 days of holiday plus bank holidays
- Relax and take your birthday off
- Stay loyal and get an extra holiday for every year worked
- Traffic bad? No worries with flexible working hours
- On-going training to keep you going
- Health scheme (after 1 year) to keep you on top of your game
- Optical care vouchers. Because we all stare at the screen for too long.
- We got you. Opt-in to our Employee Assistance Programme
- Think about your future with the Company Pension