Homepage
Open in app
Sign inGet started

Engineering at Earnest

Lessons learned (technical and otherwise) on the road to building a better lender.

Go to the profile of Gavin Harmon
Gavin Harmon
Apr 16, 2019

Scrumban: Our Blend of Agile

Is it possible to take the practices we like from Agile and cast aside…

Read more…
Go to the profile of Peter Prakobkit
Peter Prakobkit
Mar 6, 2019

Developing and Testing with Mountebank

We’ve written about our monolith, and our journey migrating to Kubernetes as we move towards having more microservices. This change has also caused us to upgrade our toolchain, like how we run Jenkins. In this piece, I’d like to introduce you to a tool that…

Read more…
1 response
Go to the profile of Harsha Yalamanchili
Harsha Yalamanchili
Feb 6, 2019

Kubernetes at Earnest

When I started down the path of writing this post about Kubernetes at Earnest I quickly realized that it was a rather…

Read more…
Go to the profile of Howard L
Howard L
Jan 15, 2019

Continuous Improvement: Delivering Jenkins Through Jenkins Pt 2

Read more…
1 response
Go to the profile of Howard L
Howard L
Dec 19, 2018

Continuous Improvement: Delivering Jenkins Through Jenkins Pt 1

Read more…
Go to the profile of Stephen Lazaro
Stephen Lazaro
Nov 14, 2018

Using Applicative Style to Increase Compositionality — Part II

Read more…
1 response
Go to the profile of Stephen Lazaro
Stephen Lazaro
Oct 10, 2018

Using Applicative Style to Increase Compositionality — Part I

Read more…
Go to the profile of Brad Henrickson
Brad Henrickson
Sep 12, 2018

Building an Innovation Day

After months of planning and crafting a special event to include people from across the entire organization, we…

Read more…
Go to the profile of Andrew Kiellor
Andrew Kiellor
Aug 8, 2018

5 Handy Dandy Postgres Features

At Earnest, we use Postgres a lot. The original codebase we lovingly call the “Monolith” was built with…

Read more…
Go to the profile of Steven Uray
Steven Uray
Jul 11, 2018

Monolith to Dockerlith: Learnings from Migrating Our Monolith to Docker

Like everyone’s monolith, ours is complex and was once a little bit out of control. Earnest’s monolith is involved in all major aspects of the business. It is responsible for accepting loan applications from…

Read more…
Go to the profile of Andrew Kiellor
Andrew Kiellor
Jan 31, 2018

Debugging in the dark!

You have a program behaving poorly, nothing in the log files, nothing in stdout, no ports responding — it’s a tough place to be. What if I told you that with a Linux environment provided by Docker you can see exactly what it is doing? But before we get to that answer let’s detour and talk…

Read more…
Go to the profile of Jesse Atkinson
Jesse Atkinson
Jan 17, 2018

Three Tiny Lessons from Functional Programming

In the past two years or so the term “Functional Programming” (FP for short) has cropped up everywhere. You can’t get away from it. Especially in javascript. It feels like every JS developer but me was invited to a cool FP party and all of a sudden…

Read more…
Go to the profile of Peter Prakobkit
Peter Prakobkit
Dec 20, 2017

7 Software Development Processes and Guiding Principles

At Earnest, our values, among others, are to deliver high-impact results and create lifelong value for our clients. We try to enforce these values in Earnest Home Engineering, a team of three software engineers and one QA engineer…

Read more…
Go to the profile of Johan Boberg
Johan Boberg
Dec 13, 2017

Unfolding paginated APIs

Here’s a common problem in the world of web development: you have to retrieve a list of items from an API endpoint…

Read more…
Go to the profile of Alex Cusack
Alex Cusack
Oct 23, 2017

Refactoring our Payment Processor

At Earnest, the core piece of infrastructure responsible for money movement is what we refer to internally as our ‘Payment Processor’. The Payment Processor is responsible for creating all monetary transactions, including generating deposits for newly originated loans…

Read more…
Go to the profile of Johan Boberg
Johan Boberg
Sep 6, 2017

An Introduction to the Debugger

The debugger is one of the most powerful, but underutilized, tools in a developer’s toolbox. The name “debugger” suggests that this tool can only be applied when dealing with bugs, but in reality it can be used for so much more.

Read more…
Go to the profile of Stephen Lazaro
Stephen Lazaro
Aug 23, 2017

Categories for Everyone!

At Earnest, we like predictable code. Who doesn’t? That can mean different things to different people. Generally, for us, that means having at least some confidence that our code obeys some mathematical laws when possible (this is something you might have picked up on if you read our…

Read more…
Go to the profile of Jesse Atkinson
Jesse Atkinson
Aug 16, 2017

Creating a Validation Library in JS Using Propositional Calculus

One of the cornerstones of building the bank of the future is ensuring the correctness and validity of our data. Banking is, after all, an industry that demands extreme precision and correctness.

Read more…
Go to the profile of Matjaz Pirnovar
Matjaz Pirnovar
Aug 11, 2017

File upload in e2e tests using SauceLabs

This post explains how we upload test documents to SauceLabs server in two different ways and what is the difference between them.

I work on the team at Earnest which supports loan applications. Loan applications often require a user…

Read more…
Go to the profile of Stephanie
Stephanie
Oct 20, 2016

Adventures in Pairing

Episode 1: Higher Order Functions

Pete Hodgson is co-author #pairing

Anne sat down next to Sally, resting her coffee precariously near the edge of her desk.

Read more…
About Engineering at EarnestLatest StoriesArchiveAbout MediumTermsPrivacyTeams