BlockFi is looking for a Staff Software Engineer to join our Web Platform team!
About Your Team
The Application Enablement team is the backbone for our web and mobile engineering teams. This organization is the advocate for our web and mobile engineers who are distributed across teams. The objective of the organization is to increase the efficiency of our engineers by standardizing frameworks, writing core components, building libraries used across teams, shepherding patterns, improving build times, deployment systems, cross site performance, and so much more. This team doesn't directly own any customer products, instead is an enabler of other teams that do. This team consists of our most senior engineers whose work is cross cutting across all teams and is often called upon for advice, mentorship, or general support.
As a Staff Engineer, you will tackle hands-on, high impact work as we develop a platform built for global scale. You will act as technical leader for a team, identify and define problems, design and implement technical solutions and tools, and mentor and teach more junior engineers. We are looking for proactive, collaborative, and adaptive engineers who have real world distributed systems experience at scale.
- Create architecture and formulate design decisions for your services which are aligned with business vision and meet quality criteria.
- Work with diverse stakeholders to ensure our systems are built for availability, reliability, resilience, scalability, performance, and security from the ground up.
- Write design proposals and review proposals from other engineers. Ensure tradeoffs are clearly and publicly documented.
- Deliver and Own Solutions:
- Responsible for creating and executing on plans and designs end to end at a team level: estimating, prototyping, implementing, testing, maintaining, debugging, and supporting high-quality software in production.
- Work with stakeholders to understand and document both functional and quality attribute requirements.
- Ensure that teams adhere to quality standards through cross-team communication, mentoring, code review, and backlog grooming.
- Accountable for system availability and monitoring system health; ensure alerts, metrics, and runbooks are in place; and debug issues in production.
- Technical leader of a team, with significant technical and cultural impact beyond that team.
- Guide engineers in focusing on outcomes and carefully considering business goals, tradeoffs, quality attributes, cross-cutting concerns, and risks.
- Continuously improve engineering standards, processes, planning, solutions, and efficiency.
- Listen and guide debates to help reach a consensus. Once a decision is made, clearly communicate and support that decision.
- Quickly learn new tools and technologies, develop an understanding of existing systems, and identify and tackle high impact work.
- Proactively seek to learn about the company, products, processes, and culture. Align technical decisions with business goals.
- Technical Breadth as well as Depth in Several Areas:
- 8+ years of industry experience working with, designing, and building distributed systems at scale with 5+ years of industry experience working with, designing, and building production React applications
- Familiarity with CI/CD, build tools like Webpack and Vite, and optimization of frontend assets
- Extensive knowledge of state management using Redux and React Context
- Experience writing unit and UI tests and care about maintaining test coverage
- Able to clearly identify, communicate, and document technical tradeoffs, and guides others to do the same. Understands that there is no single best technical solution, and is able to recognize these tradeoffs across our systems in light of business strategy.
- Deep expertise across the technology stack from network to database to application.
- Able to clearly identify, communicate, and document technical tradeoffs, and guides others to do the same.
- Technical Ownership: Experience owning software systems end-to-end, designing, estimating, implementing, testing, maintaining, debugging, and supporting high-quality software in production.
- Communication: Excellent communication, presentation and interpersonal skills. Able to listen and learn from as well as explain complex ideas to stakeholders of varying levels of technical expertise.
- Collaboration: Demonstrable experience with establishing strong relationships with technical and nontechnical stakeholders, integrating a variety of perspectives (end users, product, engineering, etc.). Empathetic and does the legwork required for building consensus. Always seeks out feedback on technical designs and solutions.
- Initiative and focus on outcomes: Prepared to take on high impact work across contexts and as the need arises, working independently and taking initiative while maintaining transparency and collaboration. Proactively identifies problems and comes to conversations with possible solutions.
- Adaptive: Ability and motivation to quickly learn new languages, technologies and tools. Pragmatic bias toward outcomes, and technical decisions that solve real business problems.