Connect

At HomeAdvisor, as our ecosystem of Java clients, mobile apps, and microservices continues to grow, we've been thinking a lot more about backwards compatible software. Typically, we think of software compatibility in two forms: intraprocess (source code, compiled libraries, etc) and interprocess (APIs, messaging, etc). With more than a dozen agile teams all writing code and services that have to work together, keeping compatibility in mind is important for every change we make.
In this post, the first of a three part series on writing backwards compatible software, we'll look at intraprocess software compatibility. We'll look at the different ways software libraries can introduce breaking changes, from simple source code level changes to more difficult to track logic errors. We'll also look at some of the best practices we have adopted to help us prevent writing software that breaks other teams.
Backwards Compatible Software in Source Code
Source code (or compiled code you use … [Read more...]

If you're a software developer, you've probably got your Swiss army knife of commands, aliases, and scripts that help you be more efficient. But it's surprising how many people don't utilize some of the most powerful tools packaged with most Unix distributions. At HomeAdvisor we love learning new tips and tricks to get things done, so we thought we would share some Unix commands our development teams use everyday. Hopefully you'll find a new tool to add to your bug fighting arsenal.
1. grep
A lot of the examples we use below involve the grep command, so it makes sense to look at it first. By far one of the more powerful commands on Unix, grep is a regular expression processor that can quickly find text within files, command output, and more. The default usage is very straight forward:
[crayon-5b7240d10d02e186778359/]
This will find the term word in a file named file.txt and echo out all lines that contain word. That's it. Very simple, yet incredibly powerful. No opening a text … [Read more...]

About Us

Based in Golden, CO, HomeAdvisor’s technology group is comprised of nearly 100 Java ninjas, front end gladiators, QA warriors, U/X experts and other rock stars. We build the technology that helps make HomeAdvisor the best place for homeowners to connect with home service professionals.