BlockFi is looking for a Senior Software Engineer (Android) to join our Loans Engineering team!
About the Team
The Loans team is responsible for building customized lending solutions for crypto investors providing them quick and easy access to cash, while allowing them to stay focused on long-term financial goals. This team is responsible for building out the systems which manage the loans lifecycle, such as; onboarding new clients, calculating LTV of loans, managing collateral, liquidations, pay offs, and other lifecycle events. The leader will be expected to understand the current landscape and pave a path that enables the product to scale across more clients and currencies.
We are a collaborative, curious, motivated group who care deeply about our work and teammates.
As a Senior Engineer, you will lead the development of features and mid-sized projects, identify and define problems, design and implement technical solutions, 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.
- 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, and that designs are aligned with business goals.
- Deliver and Own Solutions:
- Responsible for creating and executing on plans and designs end to end: 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.
- 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.
- 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:
- 5+ years of industry experience working with, designing and building production apps for Android in Kotlin.
- You have extensive experience with modern Android frameworks and architecture, building scalable robust applications that feel light and performant (Architecture components/Dagger/Hilt, MVVM/MVI).
- Deep knowledge and understanding of the Android SDK internals and how to optimize for performance and data usage (async operations/thread safety).
- Experienced in building complex, accessible user interfaces that scale and feel light.
- You care about creating delightful experiences while understanding industry UI/UX best practices.
- Experienced with CI/CD and build/release tooling (Gradle/CircleCI/Github Actions).
- Developing and maintaining unit and UI tests is important to you.
- Able to clearly identify, communicate, and document technical tradeoffs, and guides others to do the same.
- As a bonus, mentoring, sharing knowledge and technical presentations are exciting to you.
- 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.
- Collaboration: Empathetic and does the legwork required for building consensus. Always seeks out feedback on technical designs, solutions, and code.
- Initiative and focus on outcomes: Works independently and takes initiative while maintaining transparency and collaboration. Can deliver high quality solutions without assistance. 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.
We benefit from the great work our employees do each day. That is why we are committed to providing a variety of awesome benefits to help them live their best lives.
- Competitive Compensation because we value your experience and expertise
- Unlimited vacation / sick days because everyone deserves time for R&R
- Flexible work environment because we are a geographically dispersed team and we believe in balance
- A close-knit team of enthusiastic, collegial and driven people to work alongside in a highly meritocratic environment because teamwork makes the dreamwork