Job description
A little about the team who you will be working with
We are looking to hire a Staff Software Engineer to be a key member of the engineering team as we continue to expand. This individual will take contributing to the full software cycle for PrimbaryBid projects. As we progress to our next phase of growth, this role will instrumental is providing high quality code to all our projects and contributing to the culture of this strongly knit team.
Key Responsibilities
- You've been an engineer for a few years now. You have been through a few promotion cycles as a reward for the commitment you've shown and the quality you've delivered. Along the way you've managed small to medium teams but you want something a bit more challenging. Somewhere where your growth won't be limited by the company you work for
- You are a specialist front end or back end engineer but have a passion for tech in general and are willing to get involved where needed to deliver. You're happy building and fine tuning development environments. You can guide others on tooling
- You have an interest in the overall platform, how it hangs together, finding ways to improve by collaborating with others
- You are a team player. Your ideas are important, but assimilating those into the team and platform are even more so. You see your work as part of the team's overall plan, and within that you're happy driving your own projects or supporting team members with theirs. You want to give your best and get the best out of people
- We are a start up. You need to be comfortable with that. We work hard. We adapt to the markets arounds us while shaping their future. We are changing finance with technology. The work you do will be highly visible inside the company and almost certainly externally. There is a very short feedback loop and while extremely rewarding it is challenging. Everyone will want you to succeed
- We have production systems and you will share the responsibility of keeping them stable. This is your system. You take pride in it. You will constantly be looking at ways to improve anything within engineering and outside of it
- Attention to detail. We are a financial technology company. Things have to work. You value getting things right and go above and beyond to make sure they do. Challenge the requirements, assess the impact beyond your immediate responsibility, make sure we have the right level of repeatable tests. Automate. Monitor. Share
- Be comfortable working in a highly collaborative environment where you will challenge and be challenged. You will be expected to present your proposals via collaborative documents and engage in healthy discussion around it. Where decisions are far reaching you are expected to find the right balance between stability and innovation. You will have a level of autonomy but you need to consider how those choices you make affect the overall team and platform
- Technology is a passion of yours. You are constantly learning and improving. Bringing forward new ideas and technology for consideration
You will be successful in the role if you
- Deploy - mainly container based using EKS on AWS but with some EC2 and some spreadsheets. Kubernetes experience would be nice
- if you have experience making engineers more efficient then you will be loved. Local development environments are a mix of Docker Compose and KIND with a move towards the latter -
- Have experience of React and Vue. The UI library isn't imposed - we're learning and adapting. Next, Nuxt etc. Mix of NestJS and Express
- Have experience building REST/GraphQL APIs
- Have experience with Typescript & Docker
- Have experience with building and managing pipelines across any CI/CD platform
- Have experience working in a Microservices environment - but like everyone else we're discovering how best to do that (and not) all the time
- Have experience working in NodeJS but we will be seeing some change in this space in the medium term. We will definitely be doing more Python as we grow the data platform
- We're using a mix of MongoDB and MySQL in the main platform. Internally we're exploring other options, particularly in the data platform space
- Have experience in event driven architectures and learning how to leverage that.
- Have experience in building for scale at a world level for both load and geo.
A day in the life of a Senior Software Engineer
Most days I would work with a project manager to scope and define project tasks. After that I would normally start writing some JavaScript and occasionally update some dockerfile and other config files. When I'm not writing code, I am most likely reading code. Often it's code review, sometimes technical documentation from external libraries or third parties we integrate with. There is a strong culture of continuous improvement within the technical team. Concretely this means that I can spend part of the day discussing with colleagues how to make our softwares better, our source code cleaner and how to make our life as developers easier. - Irénée Ajeneza, Senior Software Engineer
Interview Process
Technical Interview - Once you've been shortlisted, we will invited you for a technical interview that will be with 2 members of the technology team, who will dig deeper into your experience.
This interview is as much an opportunity for you to understand more about the role and the plans for the business as much as us digging deeper into your experience.
Technical Assessment - If this role sounds exciting to you, we invite you to complete our bespoke technical task. This will give you a chance to showcase your skills.
Final Interview - If all goes well at the technical interview / assessment, we invite you to meet some members of the leadership team.
We, PrimaryBid, celebrate diversity and are dedicated to creating an inclusive environment for all employees. We are committed to equality of opportunity for all staff and applications from individuals are encouraged regardless of age, disability, sex, gender reassignment, sexual orientation, pregnancy and marital status, race or religion. We adhere to these principles in all aspects of employment, including recruitment, hiring, advancement, training, discipline or discharge. PrimaryBid will not tolerate discrimination or harassment based on any of these characteristics."