Datafin

Senior Backend Developer (Python) (Remote)

IT – Software Development
Remote

ENVIRONMENT:
IF you’re looking to make a real impact on the users you write code for, then a dynamic UK-based Security Solutions Specialist wants you as its next Senior Backend Developer with strong Python. Your focus will be on improving and supporting the core product, being responsible for working with the team on designing and building new features, reducing technical debt, improving performance, and also supporting clients in resolving bugs they report (although the role is not specifically client facing). The ideal candidate will have successfully led technical projects and stuck around long enough to see the long-term effects of their decisions preferably with a Degree in Computer Science or similar. Your tech tools should include Python, Django, React.js (TypeScript), Git and any Linux experience in addition, will prove beneficial.
 
DUTIES:
  • You will spend most of your time implementing pieces of larger features, which you and the rest of the team designed earlier in the release cycle. Each major feature (or Epic) generally has a single person responsible for it, ensuring that the business requirements for the feature are correctly negotiated with the Product Owner and properly divided up into smaller items/tickets.
  • Engineers are given the freedom to work on any of the open tickets for a current release, though they tend to stick to specific Epics to maintain context.
  • We do ensure that you’ll have the right amount of time to focus on what you’re working on – i.e., if you’re building a new feature, you won’t typically be pulled off that work to address bug reports from users (unless there’s a major incident that we all need to respond to).
  • Most of the day-to-day planning and coordination is done via Monday and Wednesday calls, so no stand-ups as such. If there is a blocker, then it should be raised immediately in chat.
  • They tend to have minimal process and would rather change a process to suit everyone’s needs than follow something dogmatically. People over process…
  • To be clear: this is a Software Engineering role that focuses on backend product development, but there is opportunity for DevOps/Frontend work.
 
REQUIREMENTS:
  • The software stack is predominantly Python/Django. Experience and skill with Python is one of the main attributes they look at. The more the better. The use of Django is backend only – i.e., they’re not using it to “just output HTML”. On the front-end they use React.js (TypeScript), so if you have experience with that too, great 🙂
  • On the database side of things, they prefer PostgreSQL, but also support Oracle and MS SQL Server for some of enterprise clients.
  • The use git. Hopefully you’re already very comfortable with it too.
  • The backends are designed for Linux. Being comfortable with one or more distributions would be advantageous.
  • Knowledge of practical security would be a real positive for us, but again, if you don’t have much experience in this area, they will help you gain it.
  • They believe that automated tests form part of the most effective way to write quality maintainable software. As such they try to write tests for almost all code. These are then executed on a CI system, managed by Drone CI.
  • Let’s talk about seniority: This is a senior role. They are looking for someone with that level of experience. If you have a degree in Computer Science or similar, that’s great and they like people with those backgrounds. If you don’t, but you’ve worked on cool stuff and are a great hacker, there’s also room for you on the team. They value knowledge, (self-)education and experience.
  • A Senior Engineer would have successfully led technical projects and stuck around long enough to see the long-term effects of their decisions.
  • As a remote company, they rely on the written word a lot. A high proficiency in both written and spoken English is preferred. They use a mixture of Google Docs and Jira for capturing requirements and defining work tasks. Email isn’t in use that much (except for some client interactions). Daily comms is mostly via an internal messaging system, and two planned video calls per week (Monday and Wednesdays) for planning, and also for informal coffee chats.