Staff Software Engineer
About the role
As a Staff Software Engineer, you will play a crucial role in building the next generation of BlackLine and its data platform. BlackLine thrives on data and we are investing heavily in being able to sync data from and to BlackLine and various ERP, Bank, Payments, Tax and Subledger systems. You will be responsible for designing and building connectors to these systems, while striving for extensibility, usability and scalability of data transfer using the full breadth of data transfer protocols available for each system.
You will be part of a team that drives innovation into our product suite by designing, developing, troubleshooting, maintaining, optimizing and scaling cloud-based backend platform components, services and frameworks, including but not limited to Event Bus, API Gateway, Developer Portal, Job Scheduler, Identity Management, Search, Workflow Orchestration and Data Integration.
In addition to being a hands-on engineer, you will also lead and mentor other engineers in the team.
What you’ll do
- Provide technical expertise and leadership in requirements analysis, design, effort estimation, development, testing and delivery of highly scalable and secure distributed backend services.
- Work with product management, architects and other engineering teams to understand stated and unstated needs and turn them into functional and technical requirements.
- Maintain a strong sense of business value and return on investment in planning, design, and communication.
- Lead technical design and architecture discussions and help drive technical decisions while making appropriate trade-offs on technology, functionality, robustness, performance and extensibility.
- Estimate the project scope and timelines, and consistently deliver on those commitments.
- Implement, refine, and enforce software development techniques to ensure that the delivered features meet software integration, performance, security, and maintainability expectations.
- Research, test, benchmark, and evaluate new tools and technologies, and recommend ways to implement them in product development.
- Maintain high standards of software quality and technical excellence within the team by establishing good practices and writing clean, testable, maintainable, and secure code.
- Inspire a forward-thinking team of developers, acting as an agent of change and evangelist for a quality-first culture within the organization.
- Mentor and coach team members, guide them to solutions on complex design issues and do peer code reviews.
- Proactively identify issues, bottlenecks, gaps, or other areas of concern or opportunity and work to either directly affect change, or advocate for that change.
- Perform critical maintenance, deployment, and release support activities, including occasional off-hours support.
What you’ll bring
- BS degree in Computer Science, or equivalent experience.
- 6+ years of professional experience in building web-scale, highly available multi-tenant SaaS with a focus on backend platform, frameworks, RESTful APIs and microservices.
- Expertise in one or more object-oriented programming languages: C#, Java or C++.
- A solid computer science foundation including data structures, algorithms, and design patterns, with a proven track record of writing high-concurrency, multi-threaded, secure, scalable code.
- Proven experience delivering and extending highly extensible, modular applications with various models of extensibility such as white-box, glass-box, gray-box, and black-box. In practice, experience with extensibility through OO patterns, plugins, external callouts, and events and notifications.
- Experience as a technical lead for design, architecture and code review of highly scalable distributed systems and event-driven architecture.
- Fluency in SQL, NoSQL, data modeling and transactional flows.
- Superior analytical, problem-solving and system-level performance analysis abilities.
- Excellent written and verbal communication skills.
- Adaptable team player with strong collaboration skills and a focus on results and value delivery.
- Experience working in an Agile development environment.
- Passion for engineering excellence through automation, unit testing, and process improvements.
- Experience with data integration and ETL tools (both productized and open source).
Nice to have
- Experience with continuous delivery and infrastructure as code.
- Good knowledge of internet security issues in software design and code.
- Open source contributor.
- Proven experience in delivering one or more core platform services, such as API gateway, identity management, authentication, messaging (Kafka or RabbitMQ), workflow orchestration, job scheduling and search.
- 3+ years of experience with a public cloud (AWS, Azure, or GCP) and solid understanding of cloud-native services.
- FinTech or Financial services domain background.
- Experience with ERP (SAP, Oracle, NetSuite or Microsoft) platforms, with a focus on the general ledger.
Why BlackLine
You are joining a technology-based company with a sense of adventure and a vision for the future. Every door at BlackLine is open. Just bring your brains, your problem-solving skills, and be part of a winning team at the world’s most trusted name in Finance Automation!
A culture that is kind, open, and accepting. It’s a place where people can embrace what makes them unique, and the mix of cultural backgrounds and varying interests cultivates diverse thought and perspectives.
A culture where BlackLiner’s continued growth and learning is empowered. BlackLine offers a wide variety of professional development seminars and inclusive affinity groups to celebrate and support our diversity.
Pay
Salary range: $180,000.00 – $226,000.00. Placement within this range depends upon several factors, including the applicant’s prior relevant job experience, skill set, and geographic location.
In addition to base pay, BlackLine also offers short-term and long-term incentive programs, based on eligibility, along with a robust offering of benefit and wellness plans.