Engineer - Back End
About the team
383’s Engineering team is concerned with the design and fabrication of digital products and services. This might range from a proof-of-concept demo or a single sprint MVP build, to a fully CMS driven website or internationally distributed cloud based system. Whilst having involvement in the ideation, scoping and design, it is their ultimate responsibility to ensure that products are delivered to match the agreed functionality, spec and finish.
About the role
Back end development requires the ability to think in terms of individual features and entire platforms. Writing well-tested code that can be supported and re-used creates a development environment where we can focus on tackling bigger and better challenges with each project.
The role of back end developer can stretch from adding simple functionality to a webpage through to managing configuration of a server environment. Given the breadth of this role, the below duties represent a snapshot of some of the tasks we undertake. This list is constantly evolving and changing to meet the needs of the business and the Engineering Team.
On a day-to-day basis, you will be responsible for:
- Architecting, designing and maintaining large-scale applications
- Breaking projects down into tasks, providing estimates and requirements
- Writing Ansible playbooks for configuring servers
- Creating deployments for micro-service applications
- Configuring multiple layers of caching
- Integrating with third parties, both sending and receiving data
- Explaining concepts and ideas to non-technical users
- Breaking projects down into tasks and provide estimates and requirements
- Planning, designing and implementing multi-layered web applications
- Experience architecting systems from the ground up (dedicated and cloud, database design and data flow)
- Experience deploying production applications (we use ansible for ensuring deployments are reproducible)
- Experience maintaining codebases to ensure they are resilient (error handling, knowing when to refactor and when to restart)
- Experience balancing client expectations against technical requirements (and been able to explain this clearly internally)
- Excellent verbal and written communication skills
- Ability to plan your own time and also align with other timelines
- Able to work independently and also as part of a team
- Know how to debug code and help others debug theirs
- Ability to use the command line, even if it's just listing files for now
- An understanding of the wider business and the disciplines within it
- Able to document systems, where it compliments code
- Able to talk to non-technical users and explain necessary actions
- Improver - Always strive to make the next project the best project
- Enthusiastic - Raring to try new things, even if they don’t succeed and a willingness to learn
- Friendly - Happy to work and play with new people
- Brave - Have the courage to embrace risk and trust each other
We’d love it if you…
- Had written a microservice based application
- Had survived a production outage (even better if service continued)
- Know everything there is to know about a topic/framework/tool of your choice
- Understood page performance and how to reduce load times across the stack
- Had a sound knowledge of common security risks and how to protect against them
- Have stories about that one time you deployed the wrong code
There’s loads of great reasons to become a 383er. Alongside our annual 383 weekender, we hold regular company training days, 383 Labs days, share breakfast and wind-down drinks on Fridays, and have unlimited coffee and snacks to keep us going through the working week.
There’s also flexible working hours, your birthday off [because noone wants to work on their birthday], comprehensive health plan and a monthly benefit budget to spend on whatever you like, such as the gym, Netflix, Spotify or shopping vouchers.
Just to let you know...
We're thrilled with the applications we receive for our roles, and love taking the time to review them, but unfortunately we’re not able reach out to everyone individually. If we’d like to move forward with your application we’ll definitely be in contact with you!