People Matter

Senior Full-stack Engineer

Farther Finance

Farther Finance

Software Engineering
New York, NY, USA
Posted on Aug 2, 2024

Company Description

Farther is a rapidly growing RIA that combines expert advisors with cutting-edge technology - delivering a comprehensive, tailored wealth management experience.

Farther’s founders are leaders and innovators from the private wealth industry who possess a unique blend of traditional wealth management, fintech, and technology production expertise. We’re backed by top-tier venture capital firms, fintech investors, and industry leaders.

Joining Farther means joining a collaborative team of entrepreneurs who are passionate about helping their clients and our teammates achieve more. If you’re the type who breaks through walls to get things done the right way, we want to build the future of wealth management with you.

Job Description

Farther’s Product, Design, and Engineering team is a wealth-tech firm backed by top tier VCs including Lightspeed, Bessemer, and Khosla. We’ve had 4x year-over-year growth to over $3 billion assets under management in just under 4 years. We continue to scale quickly both in growth and product features as we assist individuals and families in growing their wealth and achieving financial security.

As a member of a stream-aligned team, you will have full-stack ownership of multiple domains and all associated products; spanning from the user interface to the data layer. This includes responsibility for all levels of a product, such as CRUD APIs, asynchronous RPC handlers, and AWS infrastructure. You will contribute to the development of new features and product improvements for our web application, which is built using React, TypeScript, Bun, and CockroachDB. You will play a pivotal role in shaping and influencing new features at all stages, working closely with product, design, and other engineering teams. Your input will be crucial from UI design to API design to component hierarchy.

We’re currently hiring for the portal and investments teams. On the portal team you’ll be responsible for giving our clients and advisors an elite experience unmatched by modern financial companies. On the investments team you’ll be part of building an investment management and trading system from the ground up.

Responsibilities

  • Be a product-focused software engineer, prioritizing the quick delivery of exceptional user experiences. Develop features that are well-balanced, avoiding both over- and under-engineering, with an emphasis on frequent and tidy releases.
  • Leverage Typescript to create high-quality, strictly-typed code, that allows fearless refactoring. We are a strong proponent of functional programming and employ domain-driven design principles to develop modular code that is enjoyable to work with and easy to expand upon.
  • Draft and review specification documents for new features. Ee take pride in producing detailed product requirement documents and functional specifications, enabling engineers to work quickly and autonomously once coding begins.
  • Translate designs and wireframes into screens and components, collaborating closely with design and product teams to optimize for ease of development and rapid delivery.
  • Develop backends for features, including domain modeling, data layer design, HTTP endpoint implementation, and handling asynchronous messaging.
  • Write automated tests to ensure the highest product quality.
  • Build and maintain abstractions, patterns, and internal libraries, staying updated with changes and improvements in TypeScript, JavaScript, and our major libraries.
  • Allocate your time effectively, dedicating approximately 70% to frontend development and 30% to backend development.

Skills

  • Ability to design high level architecture that’s flexible but not over-engineered. You should be able to create composable architecture at multiple abstraction levels from React components on a page to multi-service asynchronous message-passing workflows.
  • Ability to write well abstracted, composable, and documented components. Ability to write endpoints that are intuitive, conform to standards, RESTy, performant, and easy to extend.
  • Firm grasp of the Typescript ****language, types, and their nuances, including ES6+ syntax, react hooks, and functional components. Discriminated union types, intersection types, and utility types are second nature to you.
  • Ability to think in a functional way. We use FP from the frontend to the backend, ditching OO ideas the whole way. We don’t take DRY too seriously, love generics, yet don’t build ivory towers of abstractions.
  • Rock solid at working with third-party dependencies/services and debugging issues because its javascript and things break. However you know when to roll up your sleeves and build it yourself. You are happy to invest a few days to improve developer productivity 10x; we built our own declarative web framework to automate common chores like authentication, authorization, request validation, and documentation generation when existing frameworks required too much boilerplate and slowed the team down.
  • Familiarity with common libraries/tools in the ecosystem; we use zod, lodash, react-query, storybook, Prisma, and Bun.
  • Using boring tech to solve interesting problems.

What we look for

  • Experience. 7+ years of building typescript-based apps in production as a full-stack developer. Experience shipping a product from design files to users’ browsers.
  • Grit. Exude long-term passion and perseverance. You love shipping features and seeing the delight of users getting something new. You have no problem staying late to ship a feature and get it into users’ hands.
  • Bias for action. Enjoying a fast paced environment where you ship multiple times a day and focus on what’s best for the user. While we expect a strong attention to detail and obsession for getting it right, this is balanced with a startup attitude of knowing when to “just ship it”. You have no problems pro-actively jumping into a Slack thread and helping the team debug an issue.
  • Embracing of change. As a startup we often make calculated changes from dev ops changes to framework changes to language changes. While we put a high barrier to changes, once crossed we move decisively and immediately. You embrace the startup chaos.
  • Active communication. From a bias towards writing to keeping on top of Slack we expect active and pro-active communication throughout the day. As a remote team we have a strong writing/documentation culture as we communicate asynchronously by default; we think by writing RFCs, PRDs, and FSDs.
  • Knowledge of and desire for using functional programming. A love for strict types because you love making invalid states impossible states. Love of static analysis; we use tools to help us work more efficiently like ESLint and Prettier
  • Strong opinions loosely held; we don’t do brilliant jerks
  • We prefer previous fintech experience
  • We prefer startup experience as we move quickly and decisively

Benefits

  • Everything you need to build the perfect dev station from hardware to software
  • An amazing collaborative atmosphere between product, design, and engineering to solve hard problems together
  • Opportunity to work with a talented team of professionals
  • Drive the success of a venture-backed, rapidly growing firm
  • Competitive salary and benefits package including health, vision, and dental
  • Equity package
  • 401(k) matching