Software Engineer
As a Software Engineer at Wealth Wizards you are empowered to own the full lifecycle of the software you create: designing the system, writing code, building automated tests and running the system in production.
This is an excellent opportunity for a capable Software Engineer to shape the future of the Wealth Wizards platform and help us make financial advice available to everyone.
At Wealth Wizards, we empower our engineering teams to own all aspects of software delivery - designing, building, testing, deploying and running the live service. As a Software Engineer, you will participate actively in the full software delivery lifecycle. You will contribute to design discussions within the team, write code, pair with others, review PRs, solve problems, and ensure a high standard of quality. You will assist in monitoring the services in production.
Responsibilities
- Assist in the successful delivery of software for your team.
- Work closely with the Lead Software Engineer and the Product Manager.
- Partner effectively with all team members to deliver against commitments.
- Collaborate actively in Agile ceremonies and apply Agile delivery principles to your work.
- Build, support, and maintain products that are continuously delivered into our production environments.
- Design, implement and document clean, maintainable, and scalable code that adheres to SOLID principles.
- Contribute to the evolution of existing codebases through pragmatic refactoring and thoughtful extension, ensuring high test coverage and long-term reliability.
- Participate in technical discussions during task analysis, design meetings, and code reviews.
- Design and implement non-trivial APIs, backend services, and front-end applications using modern technologies such as TypeScript, React, Node.js and IaC.
- Contribute to the growth and refinement of our coding standards and engineering principles, applying this knowledge to your code and code reviews.
- Apply insightful analysis and planning to tackle non-trivial situations.
- Ensure you build software where all aspects of product delivery are covered, especially non-functional quality attributes such as security, reliability, scalability, maintainability, and accessibility.
- Adhere to All Information Security policies and procedures.
- Continually learn about new technology, frameworks and libraries, being open to building with a variety of frameworks and libraries.
Skills, Knowledge and Expertise
- You have experience with our frontend and backend software development in our tech stack of Node.js, Typescript, Javascript and React.
- You have experience in developing back-end REST APIs and working with relational or NoSQL databases.
- Some knowledge of data structures and data-driven design.
- Experience of modern web frameworks and libraries, such as React Router and Express.
- Skilled in boosting software delivery productivity and code quality through prompt engineering with agentic coding assistants. Proficient in reviewing AI-generated output for alignment with engineering idioms and team best practices.
- Exposure to event driven architecture and messaging systems.
- Source code repositories such as GitLab or GitHub.
- You have experience with unit and integration testing.
- Able to identify and mitigate against OWASP top 10 security vulnerabilities.
- Knowledge and implementation of predefined secure coding practises and secure architecture patterns.
- Experience in refactoring systems towards a cleaner architecture, using techniques including abstraction and facades.
- Able to review non trivial merge requests and give feedback to junior and mid level engineers which improves their code quality.
- Take ownership of a task, analyse it, and solve problems you haven't encountered before.
- Experience working as a software engineer in a team environment and are open to pair programming.
- Understand the principles and values of agile practices, you are able to refine user stories into tasks and see the tasks through to delivery.
- Understanding of how to use telemetry and metrics to triage operational tasks.
- A desire to work collaboratively in your team, learn from others, and share your knowledge.
- You exhibit technical curiosity, resilience in problem-solving, and seek feedback early and often.
- Up-to-date with modern development and operations practices and are aware of the latest trends and tools.
- You are committed to self-learning, showing how you've developed your skills.
- You are adept at communicating context and sharing your understanding of a problem with your team.
- You communicate clearly and effectively, both in writing and verbally.
Desirable Skills
- You may have exposure to serverless or microservice architecture and infrastructure as code, preferably with Amazon Web Services.
- Regular contributions to FoSS projects or writing technical articles is a bonus.
- Exposure to accessibility best practises.
- Understanding of financial regulations.
- Terraform or SST.
- Agile estimating techniques.
- Software design patterns.