Dubman.com/narratives

Porch.com

While I’d been busy trying to make curbside pickup happen in 2012 at a startup with insufficient funding, others were dramatically more successful at raising money. Among them was a startup called Porch, whose name was soon emblazoned on an office building not far from where I lived in Seattle, a few blocks down Eastlake Avenue from my old office at GiftSpot from the first dot-com boom. Porch was a new player in the fragmented and highly localized market of service providers for home repairs and home improvement.

Making a market in this space was a not a new idea. Angie’s List, the online directory of local businesses and contractors, launched in 1995, the same year as Craigslist. HomeAdvisor was originally branded ServiceMagic and had launched in 1999 to connect people with professionals. Nevertheless, Porch had some kind of magic of its own when it came to fundraising, forging a savvy strategic relationship with Lowe’s, the home improvement retail giant, who led a $27 million series A fundraising round.

Full Stack Engineer

By 2015, Porch had raised a $65 million series B round, gone on a hiring spree and moved to spacious new digs in a handsome brick loft in Seattle’s SODO district.

Amongst their job postings was a Full Stack Engineer position that looked like something I could readily do. I’d also had lots of experience hiring and managing the type of contractors Porch was trying to work with, and I could imagine a fountain of ideas to contribute on the product side. They were using a potpourri of technologies, many of which I’d used. I didn’t see any reason to limit myself to the front end or back end roles and assumed versatility would be seen as a virtue.

I applied, went through a standard interview process with a typical mix of engineers and managers, all very nice people. I got a very solid job offer, and took it.

Jonathan's Honda Elite 80 motorscooter

My first day

On my way in to the Monday morning onboarding meeting on my first day of work in the summer of 2015, my vintage Honda motor scooter (90 mpg!) broke down in the middle of the SODO industrial zone, without so much as a legal parking spot nearby. Thinking fast, I stashed it under a ramp and hailed an Uber to get me the rest of the way in.

I made it to that meeting, and within two hours found myself riding shotgun out of town with the CTO to meet some folks from Lowe’s about a new retail partnership model for Porch.

A promising start

Porch already had about 80 engineers, but most of them were working on other initiatives. My mission would be to help launch the new Retail team, intended to be a new driver of business. The vision was to provide optional add-on services for online purchases of items requiring professional installation. Porch would be a market-maker between the retailer, the customer and the service-provider. This made sense to me, to the extent that these relationships could be monetized.

I started working up a web widget that retail partners could add to their site to kick off the integration effort. I had immediate traction on the CTO’s favorite new project, a promising start!

Awesome engineering culture

I will say the engineering culture of Porch was excellent, very welcoming, highly collegial and cooperative. I met many excellent and friendly engineers, and we were very well fed. There was some code dating back a few years in need of an update, but the new stuff was solid, built with React. There were lots of engineers, web and mobile and back end engineers, data scientists. There were no screaming matches, and a prevailing spirit of inclusion and openness.

From day 2 on, I had a smile on my face as I biked to work, and a smile as I biked home. Not since Walk Score had I felt such a broad sense of camaraderie.

However…

However, once I was immersed in that culture, I started seeing signs that something wasn’t right. The company had grown, in bursts, to several hundred employees. The old timers who had been there a couple of years all knew each other, but there were many new employees including myself who had little idea what most of their coworkers actually did, and there didn’t seem to be anything like an org chart anywhere to explain it. Weird. There were also no diagrams or even rough sketches anywhere I could find showing how the various parts of the system combined to form a whole.

The React code was pre-Redux, using a library called Fluxible, and it had a complex page lifecycle for even the simplest form. Ostensibly that was due to optimizations, but the approach they used seemed simultaneously slow and chatty on the client, taxing on the server, and labor-intensive for engineers. It didn’t strike me as optimal in any way.

Engineers were working on seemingly distinct problems using different languages and subsystems and data streams. In some cases, they were literally solving the exact same problem. Two engineers whose desks were maybe 20 feet apart spent weeks implementing the exact same feature, and nobody noticed until they bragged about the same progress at the company meeting.

The management reaction was to fix the immediate issue by condensing these efforts into one, but not to address the underlying problem, that something was clearly amiss in how the company was managing its own work. Why wasn’t that conversation happening? This wasn’t Amazon with a million employees. All the engineers fit on a single floor and we ate together all the time.

The customer experience

The basic model for hiring a contractor through Porch was that the customer would submit a problem, and Porch would then magically match this to a small handful of contractors in the area who were prepared to deal with that type of problem. Those folks would then reach out within some amount of time, not right away, sometimes via email, sometimes via the phone, and start a dialogue, and eventually this would hopefully turn into a job for the contractor who solves the problem. Reviews, customer support, and other stuff you would expect were built around this model.

What about mobile?

At Porch, there were mobile apps for consumers and for professionals, but they seemed to receive surprisingly little attention and resources. One engineer claimed to be single-handedly responsible for most of the iOS app, but he didn’t seem to be up on what the front-end web engineers were doing on some of the same features. The mobile apps almost seemed to be an afterthought.

To me, this lack of genuine focus on mobile in 2015 didn’t feel right. The design assumption still seemed to be that homeowners would sit in front of a desktop web browser and start a process that involved typing in a written description of the problem. I thought, the most likely scenario for something like a plumbing repair is, the homeowner is standing next to the thing that needs repair, with a smartphone that has a camera. Why not just guide users through submitting a photo or annotated video clip that contractors could review, and omit most of the typing nobody really wants to do?

Dogfooding the service

As a DIY homeowner, over many years, I’ve taught myself how to repair or construct pretty much everything that doesn’t require a crew and heavy equipment, be it plumbing, electrical, remodeling, appliance repair, you name it. Anything that breaks goes down to the workshop to be examined and dismantled. But when it comes to climbing trees with a chainsaw, that’s when I figure it’s best to hire someone else. As a Porch employee, of course I was going to “dogfood” the service, as we used to say at Microsoft, and give it a whirl.

And so I filled out the forms for my tall-tree pruning job and walked through the Porch booking and scheduling process. It was somewhat awkward and clumsy, and I was not super impressed. As soon as Eric the contractor showed up, he gave me his direct contact info so the next time we wouldn’t have to go through Porch, which he was thinking of dropping because it was expensive for the amount of business he was getting, and there were better options. I didn’t say I worked there.

He did a good job and I gave him a good review. Inspired by this experience, I came up with a dozen improvements to the Porch booking service I figured I would suggest, none of which would be that hard to do.

Once the homeowner and contractor are in direct contact, it’s hard to ensure the business “goes through” Porch, so Porch was monetizing all this by charging contractors a lot of money for subscriptions up front, just to be eligible to be included in search results. Long-term, this would only work if consumer demand was sufficient to cover all the charges contractors had to cough up, because they would quickly stop paying for dead leads.

I could imagine the business motivations behind the step-by-step matching approach, but from the consumer perspective, the whole thing seemed uninventive and rigid to me, and lacked the immediacy customers were coming to expect with mobile apps.

Support costs

During this period, there were tons of support issues from the contractors and consumers driving up support costs for Porch, working against profitability. It seemed to me the company should try first to enumerate, and then to fix the underlying communication, scheduling, reporting and subscription issues for these customers, whatever they were, but nobody seemed to be visibly making any effort to close that loop.

Was some heroic effort quietly happening in the background? Why was the engineering team broadly unaware of the actual costly support issues their systems were generating? I wasn’t too optimistic that anything was being done to address problems that I couldn’t even locate a summary of. Nobody was owning the problem of building the product to minimize support costs, which I thought everyone should be doing, and someone should be responsible for.

My thoughts on the service

The general approach to scheduling was surprisingly ad-hoc for something so central and critical to the service. It tended to result in a series of asynchronous person-to-person interactions that took unpredictable amounts of time to achieve suboptimal results.

People have different priorities at different times for different jobs. The top priority might be timeliness for the first job, quality for the next, and cost after that. Sometimes you need a quick plumbing repair and it doesn’t matter who it is as long as they are certified and can come over ASAP for a reasonable cost. Other times, it matters hugely who the contractor is, like in a creative kitchen remodel, where the personalities and creative visions have to line up.

If I could, say, browse some videos in which the contractors explained their approach and presented as competent and trustworthy, I might feel more comfortable engaging with them, but I didn’t see such videos.

Meanwhile, if I had a common type of problem that could be diagnosed remotely through a two-way audio/video connection facilitated by a Porch mobile app, we might compress two days of back-and-forth into five minutes, which has value for both the contractor and the homeowner.

But all Porch seemed to be offering was this one-size-fits-all web form that required an up-front reveal of all this personal info involving me and my home. Was anyone evaluating whether this web form friction is costing business? Intuitively, it seemed like a very weak entry point.

From AWS to Google Cloud

The major engineering initiative that did get completed during my tenure at Porch was the move from Amazon Web Services to Google Cloud platform. With so many servers, AWS costs were high, and Google was offering some kind of deal to gain exposure and share for their cloud services. The end result would be the same code running on different servers. The goal was to make it transparent for the users - which meant the goal was to spend a lot of precious engineering resources for a potential reduction in future costs, while achieving essentially zero real user impact. The performance and reliability were unlikely to improve, because the issues they were having were internal, rather than the fault of the cloud platform itself, so they probably wouldn’t be fixed by switching providers.

While this cloud transition may have been a good business move on paper from the perspective of decreasing the burn rate and extending the company’s runway, it delayed or derailed a lot of other work, and it ended up being a bit of a bumpy transition that sometimes brought the site down under load. This must have impacted paying customers, and that erosion of trust and brand equity wasn’t figured into the dollar cost savings.

It seemed to me that while switching cloud providers might cut costs slightly, a larger and more durable gain would come from optimizing the service itself, which needed to be done pronto. It looked to me like a large portion of the work those expensive servers were doing could have been avoided by improving the architecture and streamlining the user interactions which were too complex anyway. But there were so many different navigation paths through the site that nobody seemed to be able to explain the way it worked now as a coherent user narrative. The code itself - spread across many files and languages - was the closest thing to a written spec. A written spec would have been a great read, but the real missing element was the design thinking that would go into such an artifact, design thinking that just didn’t seem to be happening anywhere, despite all the activity.

Porch Hackathon USA leads map

Hackathon

One of the highlights was a multi-day engineering hackathon in which I teamed up with two other engineers to put together a real-time map showing geolocated sales leads as they were organically added to the system. This exposed me both to Scala and to some data pipelines within the Porch system that were otherwise opaque and non-discoverable to me. Our project was very well received, and was soon running full-time on a giant screen in the sales and marketing zone.

A departure

Around this time, as I listened to the CEO and others address weekly company meetings, despite all the perfunctory optimism, I started perceiving a palpable sense of unease about the trajectory of the business fundamentals. I had a gut feeling that something was off, and this gut feeling seemed to be shared by others around me.

Not long after this, the CTO surprisingly announced he was leaving. It was allegedly of his own volition, but he seemed sad.

Who’s in charge of product?

All kinds of ideas occurred to me as I started exploring the service, but for all the activity, all the engineering, all the data science and complex metrics, there didn’t seem to be a coherent product vision in anyone’s head, nor in any documents I could locate. I asked around but could not really find anyone who seemed to be officially in charge of the overall product and could express some broad vision; what few product-oriented people there were seemed to be deep in the weeds on this or that initiative. Was anyone really in charge of product? Why does it take an internal research project to figure this out?

I found him!

As I checked off some rather mundane features related to the retail launch, my quest to have a real conversation with someone about the product finally bore some fruit. I located someone about 15 feet from my desk who had not been on my radar before who had the title VP of Product. Very promising!

I introduced myself, and over a series of friendly interactions in person and on Slack, conveyed my keen interest in coming up to speed on the product roadmap - did he have any written material I could review, is there any comprehensive view of the Porch systems architecture besides a giant pile of GitHub projects, is there a list of the current customer or internal pain points, is there anyone else I should be talking to, where should I go with a product idea or suggestion.

Surprisingly, my enthusiasm was met with a flat, low-energy brush-off. Rather than fulfill - or actively deny - my requests, he deferred them, and then basically nothing, some vague commitments to loop me in when this or that spins up. He seemed not to really want to engage with me, and when I tried to ask about the extent to which any conversations were already happening on these topics, he sort of waffled and wandered off. I was trying to be a team player, without being pushy. My intuition was, something was not right.

Meeting with the COO

Around this time, the COO, Asha Sharma (before she went on to be a VP of Product at Facebook) started to take a more visible role, with the CTO gone. The COO was scheduling 1:1 meetings with anyone who requested one, to seek input on the company’s next steps. I signed right up, introduced myself, and had a nice conversation, but it seemed to have nowhere to go. I didn’t get past a vague, boilerplate commitment to follow up on all the issues she heard during these sessions. I shared a few ideas and expressed keen interest in being a part of product conversations going forward. I wasn’t sure how sincere this listening tour actually was because it seemed like a one-way street.

In the weeks that followed, others left. People always come and go in a business, but when the pace of departures suddenly picks up for no apparent reason and includes multiple high-level exits in addition to the CTO, red flags rise.

The Third Floor

An unexpected invitation

Late on a Sunday, my phone buzzed with a meeting invite for the following morning from my manager, someone who hated meetings beyond our brief morning stand-ups, and never scheduled them. My partner at home felt this was a bad sign.

The location for this surprise meeting was itself a surprise: a conference room on the third floor. It was an odd location. Our offices were on the second floor and the fourth floor. The third floor was empty, not even open to us, potential future expansion space for some future hiring spree. Maybe this was like day one, I thought. Maybe I’m being invited to some new initiative. Who knows, maybe I’m being hand-picked to lead a new team!

As I stepped out onto the third floor, in a corner of a vast unoccupied loft space, I saw tables full of identical-looking stacked bundles of stapled papers and envelopes, dozens of them. I had a sinking feeling as I entered a conference room to find that I was with half a dozen others in addition to my manager, who was a nice guy. He started with “There’s no easy way to say this,” which of course meant, we were all losing our jobs. He emphasized that this wasn’t a reflection on our performance in any way as he walked through our severance package, which seemed surreal. “I fought for you, man”, he told me on the way out.

Somewhat dazed as we stepped out of the conference room, we saw that all the conference rooms were similarly occupied, and about 90 people - maybe a fifth of the company at the time - had been assembled to be laid off en masse. Glancing around at the whiteboards ringing this mysterious third floor, I saw scrawled brainstorming notes nobody had bothered to erase concerning high-level business strategy and potential acquisitions. The CEO, Matt Ehrlichman, got up and said some warm words before releasing us onto First Avenue.

As a horde, we made a beeline to Henry’s Tavern down the street to debrief, compare notes, connect on LinkedIn, and drink before noon.

Aftermath

Immediately after the massive layoff, Porch announced it was spending millions to acquire a young San Francisco based startup called Fountain that had made a mobile app in the same general space as Porch. The headline innovation of this app was that you could submit a picture of a problem and start a video chat with an expert - among the very ideas I’d had that I’d never found an opportunity to advance within the company. Presumably they had to let a bunch of people go in order to have the cash and equity available to pay for this. As a high-salaried senior engineer, I was worth a lot to the company, in more ways than one.

It seemed unlikely to me that the new strategy would succeed where the last had failed, unless the company adopted a more customer-focused mindset than the leadership seemed inclined to do. For all I know, the whole thing is brilliant now. But, my instinct is the end-user experience would probably disappoint me the same ways it did before.

I left with no hard feelings, but came to realize that Porch as a company never fully understood or tapped the potential of the people they hired in the first place, and thus didn’t even know who and what they were losing.

I was disappointed, but I also felt in a way that I was one of the lucky ones. My partner Meghan and I jetted off to spend the holidays in southern California and had an awesome time. On to 2016!

Jonathan and Meghan in Tijuana