Staff Software Engineer-Integration
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.
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 and Grow at BlackLine!
As a Staff Software Engineer, you will play a crucial role in building the next generation of BlackLine application and 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 various systems, while striving for extensibility, usability and scalability of data transfer using a full breadth of data transfer protocols available by each system. You will be be part of a team which 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.
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.
- 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.
- 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)
- 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.
- 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 deilivering 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 extensibiity through OO patters, 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.
- Fluent in SQL, No-SQL, data modeling and transactional flows.
- Superior analytical, problem-solving and system level performance analysis abilities.
- Excellent written and verbal communication skills.
- 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.