Staff Software Development Engineer (Back-end)
Role Summary:
We're looking for a Staff Software Engineer to join Filevine's Engineering team and build reliable, scalable software. This is a hands-on individual contributor role: you'll write production C#/.NET code, solve complex engineering problems, and take substantial technical work from design through deployment.
You'll bring deep technical expertise and sound judgment to the team's most challenging work, balancing customer needs with performance, reliability, and maintainability. Alongside your own development work, you'll help teammates solve problems through pairing, code reviews, and shared design decisions, and partner with engineering and product leadership to shape the team's technical direction.
Primary Duties and Responsibilities:
-
Write production code: Build maintainable, well-tested C#/.NET software, with a focus on complex features, foundational components, and critical systems within your team's product area.
-
Design and implement solutions: Turn ambiguous requirements into practical system designs, clear design documents, and working software. Work with the team to break larger initiatives into achievable milestones and shape a multi-quarter technical roadmap.
-
Deliver complex work end to end: Take substantial technical work from discovery through rollout and ongoing operation. Follow through on commitments, surface risks early, and work with engineering and product partners to resolve blockers and adjust plans when needed.
-
Improve performance and reliability: Investigate bottlenecks, resolve recurring problems, and improve scalability, testing, and observability. Make informed tradeoffs between near-term delivery and long-term maintainability.
-
Share expertise through daily development: Help teammates through pairing, debugging, and code and design reviews. Give constructive feedback, welcome other perspectives, and share the context engineers need to make sound decisions independently.
-
Partner across disciplines and teams: Collaborate with product, engineering management, QA, and partner teams to clarify requirements, explain tradeoffs, and align on solutions that serve customers and work well across system boundaries.
-
Improve engineering practices: Help the team evolve its development standards, CI/CD practices, and delivery processes. Share useful approaches and lessons through engineering guilds and cross-team collaboration.
-
Support production systems: Participate in the engineering on-call rotation, provide escalated support for core systems, and help turn incident learnings into lasting improvements.
Key Qualifications:
-
8+ years of professional software engineering experience, including experience delivering complex systems at a Senior, Lead, or Staff level.
-
Deep expertise in C# and .NET, with a track record of building and operating reliable, high-performance web applications.
-
Experience designing and implementing complex systems, making architectural decisions, and taking substantial technical work from early requirements through production delivery.
-
Strong judgment about system design, performance, reliability, and maintainability, including knowing when a simpler solution is the right one.
-
Experience with relational databases, caching, and cloud infrastructure. Our environment includes MS SQL, Redis, AWS, Elasticsearch, Node.js, and React.
-
A track record of helping other engineers grow through mentoring, thoughtful feedback, and shared problem-solving.
-
Clear written and verbal communication, including explaining technical decisions and tradeoffs to technical and non-technical partners.
-
A degree in Computer Science, Information Systems, or a related field, or equivalent practical experience.