Share this


FP Complete is a software engineering firm that helps sophisticated companies develop cutting-edge analytics & modeling software for biology, finance, Internet of Things, and other advanced data projects. We emphasize functional programing (mainly in Haskell) and distributed, cloud-based devops (AWS and other clouds).

Founded in 2012, we are a modern and lightweight company of about 20 people. Many of our team are veterans and innovators from Microsoft, Intel, Google, several PhD programs, and several prominent open-source projects. We work in distributed, work-from-home style, so we hire people who can work with fairly little supervision, who are very smart, and who are great communicators. Most of us are in North America and Western Europe.

Our clients are category innovators: startups to Fortune 500 firms, putting information to work. Together we build new software-driven systems for powerful data handling, data analysis, proprietary applications, and online operations.

Our team, the level of autonomy and growth you get, and our work-from-anywhere management style are extraordinary. Very smart, no-nonsense people love working at FP Complete.


To continue growing we are currently hiring 3 software engineers. You may strongly fit any of the 3 profiles listed below, and we are also open to a blend of two different descriptions.

SKILL SET 1: strong at Haskell programming, and will architect and develop server-based infrastructure and data-modeling code, and possibly Web UI code as well.

SKILL SET 2: strong at devops and cloud Linux sysadmin, and will create and maintain systems for multi-machine computations and for advanced engineering collaboration.

SKILL SET 3: strong at customer problem analysis and solution design, including writing proposals and specifications, and will play a major role in working with our customers (and their bosses and regulators) and winning new customers for the company.

You will do many of these tasks, depending on your skills:

  • Configure and administer cloud servers running Linux

  • Develop components and applications in Haskell

  • Analyze customer needs and write documents describing the problem and the proposed solution

  • Assess requirements and pick the best server software to meet each need, including when to develop new software or when to use off-the-shelf software or cloud services

  • Install and test Haskell software and libraries

  • Install and test non-Haskell software and cloud services

  • Develop, test, deploy, and administer Haskell-based web services

  • Routine website maintenance and administration

  • Collaborate with distributed colleagues via online collaboration tools, email, chat, and voice

  • Document technical work so that new colleagues can understand it

You should have these skills:

  • Experience programming at a professional level either in Haskell, or in multiple other languages with a desire to learn more.

  • Ability to design solutions based on expressed user needs, including asking questions to make sure you understand the real requirements

  • Ability to write working, maintainable programs, including infrastructure code (system management, data management, libraries) and application code

  • Ability to express your designs in human-readable documents

  • Ability to work for multiple days without close supervision

  • Experience working in a team environment with online collaboration tools such Atlassian, GitHub, JIRA, etc.

  • Absolute honesty and integrity

  • Strong written and spoken English

As we have many opportunities, these additional skills are also valued:

  • Experience managing Linux servers (user account management, security, networks, services)

  • Ability to write Javascript code

  • Familiarity with a Haskell web framework like Yesod, Snap, or Happstack

  • Experience managing a nontrivial public website with complex features

  • Expertise in security

  • Expertise with replicated (multi server) environments

  • Experience managing virtual machines (VMware, etc.) or cloud machines (AWS, etc.)

  • Familiarity with Apache, Apache extensions, and PHP

  • Experience developing or maintaining code in Python, Ruby, C, C++, and/or Java

  • Experience as either an engineering team lead or manager


Send your resume and any comments to where a real human being from our engineering team will read your email.