Senior Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+8 more
Job description
You will work closely with Technical Leads, Product Owners, Scientists and other engineers to understand complex requirements, assess their impact across the wider product and turn them into robust, maintainable technical solutions., * Design and develop high-quality desktop software using C# and .NET.
- Take ownership of technical solutions from initial requirements and design through to implementation and deployment.
- Assess new features from a wider product perspective, understanding how technical decisions will impact existing functionality, architecture, performance and future development.
- Contribute to the architecture and technical direction of the product alongside the Technical Lead.
- Make practical technology and design decisions, explaining the reasoning behind your approach to both technical and non-technical stakeholders.
- Modernise and improve existing desktop and scientific software while helping introduce modern development practices and technologies.
- Apply strong software engineering principles including object-oriented design, SOLID, design patterns, testing and maintainable architecture.
- Work through complex technical problems and translate theoretical software engineering concepts into practical solutions.
- Participate in technical discussions, design reviews and code reviews.
- Work closely with Product Owners, Scientists and stakeholders to understand requirements, challenge assumptions where appropriate and agree the best technical approach.
- Mentor and support other engineers, helping raise technical standards across the team.
- Contribute hands-on to development where required and remain close enough to the codebase to understand and influence implementation decisions.
- Support continuous improvement across the engineering team, processes and product.
Requirements
This is an opportunity for an experienced engineer who wants to move beyond simply writing code and take greater ownership of technical decisions, architecture and the evolution of a sophisticated desktop software product., * 7+ years of commercial software engineering experience, ideally with around 7-10 years of hands-on development experience.
- Strong commercial experience with C# and .NET.
- Proven experience developing complex desktop applications, ideally using WPF or similar technologies.
- Strong understanding of Computer Science fundamentals, including object-oriented programming, algorithms and data structures.
- Strong understanding of software architecture, design patterns and SOLID principles.
- Demonstrable experience making technical and architectural decisions rather than simply implementing predefined solutions.
- Ability to explain not only what technology or approach you have used, but why you chose it and how you applied it in practice.
- Experience assessing the wider technical impact of a feature or change across an existing product.
- Experience working directly with Product Owners, Technical Leads, managers and other stakeholders.
- Experience with automated testing, Git, code reviews and CI/CD.
- A track record of taking technical ownership and demonstrating the mindset of a technical lead.
- Strong communication skills with the ability to explain complex technical concepts clearly.
- C or C++ development experience.
- Scientific, engineering, geoscience, geophysics or other technically complex software.
- Experience working with large or complex datasets.
- Numerical algorithms, modelling or simulation.
- Multithreading and concurrent application development.
- Azure, AWS or other cloud technologies.
- Experience modernising legacy applications.
- Experience with AI-assisted development tools such as GitHub Copilot.
- Experience working within products where performance, reliability and technical accuracy are particularly important., You will be someone who naturally thinks about the bigger picture, challenges technical decisions constructively and understands how an individual feature fits into the wider product.
You may already be acting as a Technical Lead, or you may be a Senior Engineer ready to take that next step.
Most importantly, you’ll still want to be hands-on with technology while taking greater ownership of the technical direction of the product.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Where To Find Software Engineering Jobs
Fully Remote Software Engineer Jobs
Where to Find Entry-Level Software Engineering Jobs
What’s the Difference between a Junior, Mid, and Senior Developer?