Enforce REST API Standard with Swagger

August 31, 2016

At Wealthfront, we have an API server which exposes a REST API that’s consumed by our iOS and Android apps. Recently we decided to migrate our web frontend to use the REST API because we believe it would be beneficial to have all of our frontends sharing a single data source. We identified a few… Read more

Automating JavaScript Code Quality Checks

April 17, 2014

At Wealthfront, we’re big advocates for automation. In general, automation saves time and ensures consistency. One of the things we want to ensure is the quality of our JavaScript code. This is particularly important for JavaScript, given its weirdness. While this task can’t be fully automated, there’s some low hanging fruit available by automating linting… Read more

Ode to Textual Identifiers

March 18, 2011

Entities of a domain model are distinct from all other objects in their longevity. These objects are typically stored in a database, or a similar form of long-term storage, and need portable identifiers which can shared within a system, and beyond. Identifiers are essentially “handles to entities”, which can be passed around, in the same… Read more

Trust, but Remind

December 06, 2010

Every engineering organization faces the problem of how to ensure that things are done right. At Wealthfront, our appoach is a safety net of extremely thorough automated testing that guides the engineer to do the right thing. Automation is consistent. It doesn’t skip a code review because we’re in a hurry. It doesn’t fail to… Read more

GUI Testing, Without The Gooey Parts

November 16, 2010

Alright, so I know that Java on the desktop has never reached the level of popularity that it enjoys on the server side, but regardless of popularity, there are cases where the requirements favor or maybe even necessitate a desktop solution. Testing a user interface can get kinda sticky, but with the right abstractions, you’ll… Read more

Models, they make everything look good

August 31, 2010

One of the most common best practices in Rails is to keep the controller light weight. This helps maintain the code’s readability maintainability, and refactorability (just like coding, I make stuff up). This is often done by pushing as much of the business logic as you can (where it still makes sense) down into a… Read more