Senior Full Stack Engineer
Job description
Senior Full Stack Engineer at Thought Machine.
About the role
You will take complete ownership of requirement conversion, turning ambiguous client needs into robust engineering designs and task breakdowns that guide implementation from inception to production. You will build and maintain backend services and frontend experiences that are inherently secure, performant, and scalable to meet the demands of global financial institutions. Your work will directly shape the core banking infrastructure that runs natively in the cloud, solving problems that have not been solved before. You will collaborate daily with cross-functional teams to ensure features are integrated cohesively across the stack. You will manage the full lifecycle of your features, navigating testing environments and deploying changes with precision and care. You will bridge the gap between backend logic and frontend interaction to craft delightful, configurable experiences for diverse user personas. Your commitment to clean code and automated testing will ensure the foundation of modern banking remains reliable and future-proof.
Key facts
Location: Portugal
Engagement: Full-time
This is a full-time, permanent position based in our Lisbon office, requiring four days a week onsite.
What you'll do
Design and implement end-to-end features across the stack, including web applications and backend services.
Ensure your solutions are delivered with security, performance, scale, and user experience held as core priorities.
Write automated unit, integration, acceptance tests, and other quality gates to validate system behavior.
Interface with other engineering teams to guarantee that features are integrated in a structured and coherent manner across the codebase.
Manage and debug your features as they move from testing environments through to production deployment and monitoring.
Translate complex customer requirements into a clear, actionable plan that can be delivered incrementally via well-defined tasks.
Collaborate as part of a cross-functional team of backend, front-end, and full-stack engineers to share knowledge and align on technical goals.
Maintain a keen eye for detail, ensuring code is clean, readable, properly tested, and adheres to high engineering standards.
Adopt a proactive approach to learning new technologies and methodologies to continuously improve your contributions to the team.
Leverage modern tools and frameworks to build configurable experiences that cater to the varied needs of large institutions and smaller regional banks.
Contribute to the evolution of the platform by identifying opportunities for automation, reliability improvements, and performance optimization.
Act as an owner of the software lifecycle, guiding features from initial scoping and requirements gathering to final delivery and support.
Engage with client-facing elements of projects, helping to scope requirements and define deliverables that align with business objectives.
Utilize version control and collaborative workflows to maintain high code quality and facilitate seamless teamwork on complex engineering problems.
Requirements
You must possess experience with React and TypeScript to build interactive and robust user interfaces that meet strict banking standards.
You must demonstrate proficiency in writing modern web applications using current best practices and patterns.
You must have experience with writing REST APIs and services that are reliable, scalable, and well-documented.
You must have a keen eye for detail and a passion for writing clean, readable, properly tested code that others can rely on.
You must have experience integrating automated tests into the development lifecycle to ensure quality at every stage.
You must show a proactive interest in client-facing projects, including scoping requirements and defining clear deliverables.
You must maintain a proactive approach to learning and development to keep your skills current with a fast-paced engineering environment.
You must be able to work effectively within a cross-functional team environment alongside backend, front-end, and full-stack specialists.
Nice to have
A degree in Computer Science, Engineering or a similar technical field that provides a strong foundational knowledge.
Familiarity with banking or finance domains and the regulatory constraints they operate under.
Experience with AWS or other cloud providers, understanding of infrastructure as code and cloud-native patterns.
Proficiency in Golang or Python to support backend services and automation tasks.
An understanding of both UX and UI principles to bridge the gap between design and development.
Experience using Figma and UI frameworks to accelerate the translation of design into code.
Visual design skills that can contribute to iterative improvements on the user interface.
Familiarity with databases, including SQL and NoSQL, and experience designing data models.
Experience with client/server software architectures, networking protocols, and microservice architectures.
Experience using Kubernetes for container orchestration and managing distributed systems.
Practical notes
This is a full-time, permanent position based in our Lisbon office, requiring four days a week onsite.