Software engineer
Taxually automates tax compliance for businesses worldwide. While our competitors focus on the last step of the journey (generating tax returns) - we support our clients in the whole flow - from data clean up until submissions, across 117 countries.
How We Work
We run on what we call the "One Big Thing" model:
You own one major initiative.
No juggling five half-finished features. You pick your "big thing" and drive it—from understanding the problem through whiteboard sessions and domain conversations, to shipping and supporting it. We believe more time spent on "why" means less time on implementation, fewer bugs, and cleaner code.
Distractions are handled collectively.
Our DigOps team absorbs most operational noise before it reaches engineering. When issues do escalate, they go to a shared channel and get picked up based on context and availability—not a rigid rotation that interrupts deep work.
Artefacts over tickets.
We favour meeting notes, sketches, and diagrams over detailed Jira structures. Engineers who understand context make better decisions than engineers who follow pre-filtered requirements.
Minimal ceremonies.
Monday standup. Wednesday async check-in. Ad-hoc whiteboard sessions when needed. Tons of spontenous interactions. That's it.
Technical debt is embedded, not deferred.
If your initiative takes longer because you're cleaning up debt along the way, that's the right call. We don't have a separate "tech debt sprint."
Domain experts do domain work.
Our tax content team maintains the complexities of the domain using our proprietary low-code tools. Engineers build the infrastructure; tax experts own the tax logic. This is a core architectural principle, not just a nice-to-have.
We move fast and take ownership.
Taxually still operates with startup energy—no layers of approval, no waiting for permission. Engineers pick their problems, drive their solutions, and ship. You won't find detailed specifications handed down from product management here; you'll find strategy and direction, collaboration, whiteboard sessions, direct access to users, and the expectation that you'll participate in the figuring out how to get there. If something's broken, fix it. If something's missing, add it. The best ideas win, regardless of who proposes them.
The Role
We're looking for engineers who've already figured out that AI has changed how software gets built. You use Claude Code (or similar) daily—not as a novelty, but as your primary way of working. You've shipped side projects because you wanted to build something, not because it was assigned.
What we're really selecting for:
High agency — You see a problem, you fix it. You don't wait for permission or a perfectly specified ticket.
Simplicity-first — You find the simplest solution that works. You're suspicious of complexity. If it can't be explained in 5 sentences, it's probably overcomplicted.
Entrepreneurial thinking — You care about whether the thing you're building actually matters to the business.
Tech stack: .NET/C# and Angular on Azure.
Requirements
Must Have
Daily use of Claude Code or similar AI coding assistants;
Side projects you've shipped (GitHub links, deployed apps, or demos);
Comfort with.NET/C#.
Nice to Have
Cloud platform experience (Azure or AWS)
Interest in clean architecture and domain-driven design
Experience in fintech, compliance, or regulated industries
What We Offer
Remote-first, async-friendly culture
Real ownership: your code processes millions in tax transactions across 117 countries
AI tooling budget—we want you using the best tools available
Career growth through real work, not training programmes - You'll pair with senior engineers on production systems, not sandboxed exercises. Hands-on experience across our full stack—from Azure infrastructure to tax authority integrations—builds skills faster than any course.
Application Task
https://github.com/Taxually-Engineering/ai-assisted-coding-challenge
Task
You are given an Exchange Rate management system that needs refactoring.
The goal is to improve the design, maintainability, and extensibility of the code while ensuring that existing functionality remains intact.
We consider this code hard to comprehend and modify, especially when adding new features or fixing bugs.
Rules
GetRate must work - The GetRate method must continue to return correct exchange rates
All tests must pass - Run dotnet test to verify
Interface can change - You may simplify, remove methods, change signatures
AI assistance is required - You must use AI tools (Claude Code, GitHub Copilot, Codes, Cursor, or similar) during this exercise. If you don't have access to one, Gemini CLI offers a generous free tier.
Provider is rate limited and slow. Minimize calls to it.
Additional information
Transaction Processing Pattern: Our system processes transactions strictly one-by-one (serially), not in batches.
Data Access Strategy: Although requests are individual, we almost always process data within the same month. Therefore, fetching/caching a full month of rates for a single provider at a time is the ideal optimization.
External API Limits: External providers have strict rate limits. We must avoid making individual API calls for every missing day; if a rate is missing, fetch the whole month to minimize HTTP requests.
Data Correction Requirement: We frequently receive corrected rates from banks after the fact. The system must be able to overwrite/update an existing rate in the database without requiring a full cache clear or manual intervention.
What We Evaluate
How you use AI - Your prompts, follow-up questions, and critical evaluation of AI suggestions
Your refactoring decisions and reasoning
Understanding of the business domain
Code quality improvements
Whether you go beyond obvious/surface-level changes
Simplicity and maintainability of the final solution
Deliverables
Refactored code with all tests passing
Brief explanation of your changes (can be comments or separate doc)
Complete AI interaction history - Submit your chat logs, Claude Code session export, conversation history, or equivalent record of your AI usage
If you have any questions that need clarification before during your planning phase - feel free to reach out to us.
How to Apply
Respond to this offer, attaching:
Links to the side projects (github repos, hosted vibecoded web apps) + a brief description of what they are
Your architecture plan (PDF, google doc, .md file, a drawing - up to you!), together with the conversation history with the ai agent used to generate it. We want to see how you think and what you considered on the way.
Your refactored code
.
What happens next?
We will review all applications and get back to you with feedback. We will either - provide an explanation as to why we didn’t go forward so you can learn or invite you to a a conversation where we will discuss your application.
Software engineer
Software engineer