Staff Software Engineer, Platform
Our Company:
Since being founded in 2001, BlackLine has become a leading provider of cloud software that automates and controls the entire financial close process. Our vision is to modernize the finance and accounting function to enable greater operational effectiveness and agility, and we are committed to delivering innovative solutions and services to empower accounting and finance leaders around the world to achieve Modern Finance.
Our Values
- Customers First: Meaningfully deliver high-quality value to our customers
- Continuous Improvement: Foster improvements to our work and its quality, our teams, and our company
- Integrity: Honest, collaborative, and supportive, always working to honor our commitments and take pride in our work
- Teamwork: Partnering with and supporting others, leading selflessly, and advocating for our collective success
- Initiative: Capitalize on creative approaches, problem-solving, and building the right things at the right time to deliver the right value to our customers
- Diversity: Open, inclusive, and supportive of all our team members and peers
We are 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. Work. Play. Grow. At BlackLine.
Job Summary:
As a Staff Software Engineer, you will play a crucial role in building the next generation of BlackLine application and data platform. You will be driving 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.
Responsiblities:
- 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 concerns or opportunities 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.
Qualifications:
- BS degree in Computer Science, or equivalent experience.
- 6+ years of professional experience in building Web scale highly available multi-tenant SaaS with focus on backend platform, frameworks, RESTful APIs and microservices.
- 3+ years of experience with a public cloud (AWS, Azure, or GCP) and solid understanding of cloud-native services.
- Expert 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 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.
- Experience as a technical lead for design, architecture and code review of highly scalable distributed systems and event driven architecture.
- Fluent in SQL, No-SQL, data modeling and transactional flows.
- Superior analytical, problem-solving and system level performance analysis abilities.