Staff Software Engineer
BlackLine · Washington, United States · 4 days ago
HybridInformation Technology$180k/yrFull-time
Work, Play and Grow at BlackLine!
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 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.
- 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).
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 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.