Senior Software Engineer-Back End
- 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.
As a Software Engineer, you will play a crucial role in delivering high quality releases to our customers by designing, developing, troubleshooting, maintaining, optimizing and scaling BlackLine's cloud-based services and driving innovation into our product suite. In this role, you will research, test, benchmark and evaluate new technologies, propose scaling solutions, collaborate with other teams to define and build new features, optimize existing features while writing elegant code and coaching and mentoring less experienced software engineers. Your attention to detail, tenacity, and creative problem-solving and thinking ahead will directly impact the company's success, as well as the success of your peers across the organization.
- Provide technical expertise and leadership in the design, development, and delivery of BlackLine's products, while adhering to timelines, coding standards, requirements, and quality.
- Architect, design, develop, test, troubleshoot, debug, optimize, scale, maintain and improve software applications, driving the delivery of high quality value and features to BlackLine's customers. Develop functional and technical specifications, and test plans. Review others' code. Develop and document functional and technical requirements. Collaborate with other team members and other teams on all of the above.
- Implement, refine, and enforce software development techniques to ensure that 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 habits and writing clean, testable, maintainable, and secure code.
- Act as an agent of change and evangelist for a quality-first culture within the organization.
- Proactively identify issues, bottlenecks, gaps, or other areas of concern or opportunity and work to either directly affect change, or advocate for that change by working with peers and leadership to build consensus and take action.
- Perform critical maintenance, deployment, and release support activities, including occasional off-hours support.
- BS degree in Computer Science, or equivalent experience.
- 6+ years of experience with software development in object-oriented programming languages including but not limited to: C#, Java, C++.
- 3+ years of hands-on experience in building Web Applications, SaaS products, and RESTful APIs.
- A solid computer science foundation including data structures, algorithms, and design patterns, with a proven track record of software design and architecture.
- Experience in service-oriented architecture is a strong plus.
- Experience as a technical influencer for highly scalable distributed system designs.
- Advanced knowledge of SQL, including stored procedures, data models, and transactional flows.
- Experience with multi-threading and concurrency.
- Experience as a technical lead on significant development initiatives.
- Superior analytical and problem-solving abilities.
- Excellent written and verbal communication skills.
- Adaptable team player with strong collaboration skills and a focus on results and value delivery.
- Prior working experience in Scrum, or other Agile development methodologies, is preferred.
- Passion for engineering excellence through automation, unit testing, and process improvements.