NMI is a company that enables partners with choice in the payments sector, challenging the one-size-fits-all approach. They are seeking a Senior Staff Software Engineer to provide technical leadership and drive impactful solutions across partner-facing platforms, ensuring efficient integration and enhancing partner experiences.
Responsibilities:
- Provide technical leadership for the team, influencing architecture and design decisions that span multiple teams
- Own and evolve critical platform areas including partner onboarding, developer tooling, authentication, user management, and the unified partner portal
- Identify long-term technical risks and opportunities, and lead initiatives to address scalability, reliability, security, and maintainability
- Set and reinforce engineering standards, patterns, and best practices across teams
- Collaborate closely with Engineering Managers and Directors to align technical strategy with delivery plans and team goals
- Partner with Product Managers, Directors, and Designers to translate product vision into technically sound, scalable solutions
- Act as a trusted technical advisor across teams, helping resolve complex cross-team dependencies and tradeoffs
- Drive alignment and consistency across partner-facing systems and experiences
- Design, implement, and review high-impact code, particularly in complex or high-risk areas
- Lead technical discovery and execution for ambiguous or strategically important initiatives
- Ensure solutions are well-tested, observable, and production-ready
- Balance short-term delivery needs with long-term platform health
- Mentor senior and mid-level engineers, helping them grow in technical depth, system design, and scope of impact
- Raise the quality bar through thoughtful code reviews, architectural guidance, and knowledge sharing
- Foster a culture of continuous improvement, learning, and technical curiosity
- Champion secure-by-design principles, particularly around authentication, authorization, and partner data access
- Work closely with SRE and platform teams to ensure systems meet reliability, availability, and performance expectations
- Improve observability, operational readiness, and incident learnings across partner-facing systems
Requirements:
- Bachelor's degree in Computer Science, Information Technology, or equivalent practical experience
- 8+ years of experience developing complex software applications in a commercial environment, with demonstrated impact at the Staff or Senior Staff engineer level
- Advanced, hands-on experience building and maintaining large-scale systems using .NET Framework / C# (preferred) and/or PHP, with a strong understanding of object-oriented design principles and software architecture
- Strong experience working with relational databases, particularly Microsoft SQL Server, including schema design, query optimization, performance tuning, and maintaining data integrity in production systems
- Proven experience designing, coding, deploying, and operating cloud-based solutions hosted on AWS, with an understanding of scalability, fault tolerance, security, and cost-aware design
- Experience designing and architecting scalable, distributed systems, with consideration for performance, reliability, and long-term maintainability
- Deep understanding of the Software Development Life Cycle (SDLC) and agile development methodologies
- Strong knowledge of security best practices, including secure coding principles and compliance requirements (e.g., OWASP Top Ten, PCI DSS, SOC 2, HIPAA, or similar)
- Solid understanding of networking fundamentals, including HTTPS, DNS, SSL/TLS, and service-to-service communication patterns
- Deep knowledge of design patterns and their practical application in real-world systems
- Proven ability to translate complex business requirements into clear, technically sound solutions, particularly in ambiguous or evolving problem spaces
- Demonstrated success performing code reviews and maintaining high code quality standards, including testability, readability, and maintainability
- Proven ability to understand, debug, and evolve complex existing systems, often with limited documentation and changing requirements
- Experience mentoring engineers and influencing technical decisions through expertise, collaboration, and thoughtful guidance
- Strong problem-solving skills, with the ability to anticipate risks, identify root causes, and proactively address issues
- Excellent communication skills, with the ability to clearly explain complex technical concepts to both technical and non-technical stakeholders
- Proven ability to work independently while also fostering cross-team collaboration
- Experience working effectively with remote and globally distributed teams
- Experience with containerization and orchestration technologies such as Docker and Kubernetes
- Familiarity with CI/CD pipelines, automated testing, and deployment processes
- Experience with monitoring, logging, and observability tools (e.g., Datadog, New Relic, Logz.io, or similar)
- Experience modernizing or incrementally evolving legacy systems toward cloud-native architectures
- Background in payments, fintech, or other high-availability, security-sensitive platforms