Staff Software Engineer
Role details
Job location
Tech stack
Job description
We're looking for a Staff Software Engineer to provide technical leadership within a product engineering team while remaining deeply hands-on. This is a role for someone who enjoys solving complex engineering challenges, shaping technical direction, and building high-quality software alongside the team., * Lead the technical direction of a product area, balancing immediate delivery with long-term platform health.
- Design and build scalable event-driven systems and microservices.
- Own the architecture, design, and evolution of REST APIs.
- Make pragmatic architecture decisions that support growth, maintainability, and reliability.
- Develop primarily in TypeScript (Node.js), writing clean, well-tested, production-ready code.
- Drive engineering best practices through code reviews, technical standards, and mentoring.
- Collaborate closely with Product, Design, and Engineering to deliver customer value.
- Champion software quality, observability, performance, and operational excellence.
- Use modern AI-assisted engineering tools to improve productivity across coding, debugging, testing, and design.
- Continuously evaluate new technologies and practices that improve developer experience and product quality.
Requirements
- 8+ years of professional software engineering experience.
- Experience providing technical leadership without direct people management responsibilities.
- Strong experience with TypeScript (Node.js/JavaScript also considered).
- Experience designing and building event-driven architectures and microservices.
- Strong understanding of REST API design, ownership, and lifecycle management.
- Experience building and operating applications on AWS.
- Experience with CI/CD pipelines using GitHub Actions.
- Demonstrated ability to make architecture decisions and take long-term ownership of technical solutions.
- Passion for code quality through testing, reviews, engineering standards, and mentoring.
- Genuine interest in financial, accounting, or business software domains.
- Enthusiastic adopter of AI engineering tools, with practical experience using AI in day-to-day software development., * Experience with NestJS.
- Knowledge of Domain-Driven Design (DDD).
- Experience in fintech or accounting software.
- Strong opinions on the role of AI in software engineering, backed by practical experimentation.
- Full-stack experience, with confidence contributing across both frontend and backend.
Team & Ways of Working
You'll join a collaborative product engineering team of 5-8 engineers with a mix of experience levels across the Shine hubs.
This is a highly collaborative environment where technical leadership is shared, ideas are encouraged, and engineers are trusted to make meaningful technical decisions. The role is intentionally hands-on, with the majority of your time spent writing code and delivering customer value.
Benefits & conditions
In this role, you'll:
- Build scalable, maintainable systems that stand the test of time.
- Raise the engineering capability of those around you through mentorship and technical leadership.
- Help shape architectural decisions that enable the business to grow.
- Foster a culture of quality, ownership, and continuous improvement.
- Demonstrate how AI can be effectively integrated into modern software engineering workflows without compromising quality or craftsmanship.
Equal Opportunity Employer
We follow the principle of equal treatment to consider all job applicants and do not discriminate based on their gender, sexual orientation, color, racial or ethnic origin, religion, disability, etc. as per applicable law.
Our recruitment process
1️⃣ A 30' first call with Sam Parry=Talent Acquisition to get to know you better and share more about Shine
2️⃣ A 45' interview with the hiring team to discuss your past experiences and the role we are offering.
4️⃣ A 30' team introduction, followed by a soft skills interview to see how we can best support your growth at Shine.