Job Description
Overview
BlackLine¯SaaS is the system of interaction for finance and accounting teams and it integrates with numerous ERPs, CRMs, Payment systems, Point of Sale systems and other applications.
As a Senior Software Engineer, you will play a crucial role in building the next generation of BlackLine application. You will be driving innovation into our product suite by designing, developing, troubleshooting, maintaining, optimizing and scaling cloud-based applications and services. In addition to being a hands-on engineer, you will also lead and mentor other engineers in the team.
If you have a passion for delivering products that make a difference, are driven to make things better in all that you do and are eager to work in a collaborative agile environment where developers are dedicated to solving customer problems and innovating, we would love to talk to you.
Responsibilities
- Provide deep technical expertise in requirements analysis, system design, effort estimation, development, testing, and delivery of highly scalable, secure, and resilient distributed backend services.
- Work closely with product managers, architects, and partner engineering teams to translate both explicit and implicit product needs into robust functional and technical specifications.
- Maintain a strong sense of business value and ROI while making engineering decisions and proposing design or architectural approaches.
- Lead and influence architecture discussions, driving technical decisions and trade-offs across technology choices, performance, extensibility, reliability, and modernization goals.
- Estimate work scope accurately and deliver consistently against commitments.
- Implement, refine, and enforce engineering best practices to ensure that services meet high standards for performance, security, observability, reliability, and maintainability.
- Research, prototype, benchmark, and adopt emerging technologies—particularly in Go and Python—to evolve the backend platform and support the organization's modernization roadmap.
- Write clean, idiomatic, testable, and maintainable code primarily in Go and Python, with an emphasis on concurrency, performance optimization, and production-readiness.
- Contribute to the migration and modernization of existing .NET/C# services into Go/Python-based microservices or cloud-native platforms.
- Mentor and coach engineers by providing guidance on design patterns, code quality, observability, performance optimization, and system-level thinking.
- Identify system bottlenecks, technical debt, reliability gaps, or operational inefficiencies, and drive or advocate for continuous improvements.
- Support release management, deployments, observability improvements, and production operations, including occasional off-hours support as needed.
Qualifications
Technical / Specialized Knowledge, Skills & Abilities
- Strong hands-on experience with Go and Python, including:
- Building concurrent, performant, production-grade Go services using goroutines, channels, and Go’s native concurrency model.
- Designing Python-based microservices, automation frameworks, backend workflows, or platform tools with emphasis on robustness and maintainability.
- Experience with Go module management, Python packaging, virtual environments, dependency management, and application structuring.
- Developing RESTful or gRPC APIs and distributed service components using Go or Python.
- Experience building web-scale, highly available, multi-tenant SaaS platforms with strong emphasis on backend architecture, distributed systems, and microservices.
- Experience with C# and .NET Framework / .NET Core is a plus, especially in:
- Maintaining, extending, or refactoring existing codebases.
- Supporting modernization efforts for legacy .NET/C# services transitioning into Go/Python-based systems.
- Cloud & Data Skills
- Experience with a major public cloud (AWS, Azure, or GCP) and strong understanding of cloud-native architectures, IAM, networking, and managed services.
- In-depth experience with SQL, relational database schema design, transactional flows, and query/profile optimization.
- Systems & Architecture
- Strong foundation in computer science fundamentals: data structures, algorithms, design patterns, concurrency models, and distributed systems concepts.
- Experience with one or more supporting ecosystem components:
- API gateways
- Identity and access management (OAuth2, OIDC)
- Messaging systems (Kafka, RabbitMQ)
- Workflow orchestration / job scheduling engines
- Distributed caching or search systems, etc.
- Excellent analytical, problem-solving, and system-level thinking capabilities.
- Strong written and verbal communication skills, able to articulate designs and trade-offs clearly.
- Collaborative team player with a focus on delivering value and outcomes.
- Experience working in Agile/Scrum environments.
- Passion for engineering excellence through automation, CI/CD, unit testing, and continuous improvement.
