As I write this, today is beach day @RenttheRunway (July 31, 2014).

What does that mean? It means our CEO Jenn Hyman (@Jenn_RTR), decided that the whole team deserved a day of “Mandatory Fun” at an awesome beach with tennis courts and a pool and the whole nine yards, on the company's dime.

A few days before that Jenn spontaneously ordered an ice cream truck to come to the office and give everyone free ice cream. We're not talking 10 people here - we’re talking about the whole, enough-to-fill-multiple-busses, RTR office.

A few days before that there was a Hawaiian style BBQ/Luau at our Dream Fulfillment Center in Jersey (where your dresses are shipped from).

You get the idea.

But lots of startups have occasional crazy fun surprises like that (right?). What's really telling about a company is the day-to-day. This blog is about life @RTR_tech, not RTR in general. Make no mistake: this is a tech organization and it’s an awesome one.

Let me tell you a story. It's going to be a bit scattered, and probably long-winded, but I think you'll like it.

I promise I'll mention some tech along the way.

A little more than a year ago, I was living with my family in Ann Arbor, MI where I had worked for about 13 years. Ann Arbor is an awesome little college town, but my wife wanted to move back to NY where she grew up. As a prerequisite, I wanted to make sure I found a job in NYC where I could truly be happy. This was more difficult than you might imagine.

I was looking for a small-ish, startup-ish, flexible, open-minded tech company with outstanding people.

I eventually discovered a large list of NYC companies of this ilk. Cruising down the list in alphabetical order, I eventually came to Rent the Runway.

"A fashion/e-commerce company?," I thought, "meh."  I passed right over it.

Fortunately, it didn't end there. The CTO of another company (whose selfless kindness I should have repaid long ago) reconnected me with RTR_tech via CTO Camille Fournier (@skamille) I had a phone call with her and was extremely impressed. The rest is history. I also spoke to Vijay (@vjsubr), head of Analytics, Jenn Hyman and various awesome members of the tech team and I was convinced.

One year later, I can tell you that this company is far from just a "fashion/e-commerce company" and is anything but "meh."

These people are awesome and humble. They learn from their mistakes and they learn fast. They actively seek feedback. They listen deeply. They really, honestly care about their teammates. They have created a culture of openness, idea sharing, risk-taking, fun, friendliness, honesty, continuous improvement, teaching and in-the-end, success. And they pay me to hang out with them all day!

What follows is just some of the awesome stuff I’ve had the pleasure of living with @RTR_tech.

First off, we use modern technology tempered with a good bit of wisdom that the “Shiny New Thing” is not always as awesome as it seems. The grass is not always greener on the other side. We’ve adopted a lean-and-mean, modern Java web service framework called Dropwizard. Not Node. Not Scala. Not Python. They're all cool, don't get me wrong, but Java is tried and true and way cooler than you might think if you just take the time to get to know it. :) Plus: Java 8! And cool stuff like @AutoValue. We're working hard to move our front end code to Backbone. There's some Ruby in the mix for good measure. Plus, have you seen what renttherunway.com looks like? It's freaking beautiful! We work with awesome designers and we really care about making it not just work right, but also look great.

We have regular, weekly one-on-one meetings with managers, team leads and peers. These are not perfunctory tech status updates. In these meetings we talk openly about what's bugging us. We refine our goals and take steps towards achieving them. We work to carve out time for people to work on that open source contribution they've had in mind (making @AutoValue work with Hibernate perhaps). As a manager, one of my personal rules of thumb is that performance reviews should not contain any negative surprises (or only good surprises). I've learned to use this one-on-one time to make sure that's the case and that I'm guiding/teaching (and learning from!) my reports to avoid those negative surprises. Just a few days ago I was writing a performance review. When I really got into the meat of it, I realized that I had some new suggestions around goals the person could set, but that we hadn't talked about yet. Before I wrote those things into the review, I grabbed the person and talked through the suggestions. The next day, we had the Important Official Mid-Year Review meeting. I delivered my write-up, and watched the pride swell up in the individual. This is not to say there was no constructive feedback, but that that feedback had already been well established and internalized. That's how you do performance reviews. We do that here @RTR_tech. If you're on my team, you'll get a performance review like that. I really care - we really care - about our teammates as people. In the end, that's all we have. Java code is easy. People are hard. Help them refine and follow their goals. Help them thrive. Help them learn. Help us learn.

@RTR_tech we are a learning organization from top to bottom. As such we’re encouraged (by @skamille and others) to attend technical conferences. RTR_tech will send you to speak or just attend. And of course, @skamille, @markwunsch, and @OMGannaks held a panel discussion @RTR_teach - oops, @RTR_tech - about how to write successful conference presentation proposals, because… they're awesome.

Similarly, we do Drinks and Demos every Friday. This is our chance to share essentially whatever we want as engineers. Maybe it's @timx showing off the new RTR Unlimited product/feature his team just released or @ericqweinstein teaching us some new stuff about "The Rubies." It could be @CarloBarbara doing a case study of how to systematically debug a tough OutOfMemoryError, because, as @skamille says, "don't flail."

Speaking of "don't flail:" you can learn that and so much more by going to @skamille's weekly office hours and having a great discussion with her. I'm not exaggerating that every time you sit down to talk with her, you'll walk away having learned something or with a new perspective on something. She maintains these office hours as a way to remain accessible and keep the communication lines open despite the fact that our tech team is quite large and growing rapidly. How accessible? Our awesome intern Maude (@QcMaude - A Post Internship Look at RTR) has mentioned to me how great it is that she is able to openly talk to Camille as she would any other peer.

There are lots of big brains out there in the world though, and we can't send the entire tech team to the next “Edgy Tech Conference.” In order to fill that gap we bring in guest speakers from time to time. We’ve invited people like the creator of Backbone (@jashkenas) and (@mrb_bk), an engineer from Code Climate (which we use for JS/Ruby static analysis).

"What if," you say, "I get a crazy idea that I just want to try and I never have time to build it?" You'll have your chance! In the year I've been here, we've had a hack day, a (3-day) hack “week” and a full, five-day hack week the last week of August. On hack week you get to work on (more or less) whatever you want as long as it’s vaguely related to making RTR more awesome. Best of all, these hack week projects often turn into real, even huge, projects that alter the roadmap of the company! For example, on renttherunway.com we have a feature where users can upload their own photos. Unfortunately, the quality of these photos varies wildly. What if we had a way to automatically give each photo a quality score so that we could show the higher quality photos more prominently? I happen to have a background in machine vision. For my first hack day project, I built a first cut of such an image quality metric. It was simple, but actually showed visible improvements. (In a nutshell, the metric gave preference to images with 1 or 2 faces and images that are overall brighter.) Another example? Our huge new feature, a whole new subscription-based rental model called RTR Unlimited, started life as a hack week project.

But wait! There's more! A recent new hire asked me if RTR_tech does anything with open source. Indeed, we do! For starters, we are committers and some of the main promoters of the aforementioned Dropwizard. We also have more than one OSS project that we produced internally: Alchemy for A/B testing and Conduit for simplifying the use of message queues. I'm certain these projects are just the beginning. In fact, it's worth noting that our internal software development process is modeled to a degree on open source development. We use pull requests for everything, no matter how small, and naturally, have awesome unit test coverage. This is a great way to develop and combines the best of OSS development with the benefits of being in an office right next to your teammates. For one thing, I have found pervasive code reviews to be an excellent way to spin up new people on company standards or languages that are entirely new to them. It really works and has allowed me to remove one worry from my list of "oh man, new person, so much to cover."

All of this sounds fantastic, but we’re a startup so we must be working like dogs, right?


We have unlimited vacation. Now I admit to being a bit (a lot) cynical. On joining RTR_tech, I assumed that "unlimited vacation" was code for "guilt-based vacation." I was wrong. This is simply not the case. People take lots of time off, myself included, and I haven't seen any guilt-tripping at all. Remember, we're talking about real people here. Awesome people. It turns out, we respect each others’ need for time off. When @MichelleWernick goes to Paris, we all get excited for her and people step up to help fill the gap in QA. When @skamille goes to Hawaii, we don't flood her inbox; we step up and exercise our latent CTO superpowers. When she gets back, there's Hawaiian candy on the kitchen counter and funny stories about emergency room visits.

In fact, it doesn't end with unlimited vacation. We have stellar work/life balance in general. @RTR_tech we understand that the trick is to anticipate, plan, and course-correct a project early. We work hard to avoid feature creep and instead focus on quality. We work smarter, not harder. In this way, we deliver awesome software without people freaking out at the last minute, having to put out fires, and working 12-hour days. Sure, we're not perfect at it, but we've had major successes and we believe in it. We're continuously improving. (How about a Drinks and Demos presentation about what went right and what went wrong in that last big project release? OK!) We embody this in other ways too: Unlimited vacation begets unlimited maternity leave. (I've seen it more than once! It happens! It works! All companies should do it!) And after your maternity leave, maybe you want to have your newborn brought by the office every day so you can take time to feed it. Of course! Who wouldn't allow that? I have a son and a wife. I get to go home and eat dinner with them and when I return to the office the next day, renttherunway.com is still there and I get to do more cool work on it with my fantastic team! I'm more loyal for the stability it provides. I take the time to write a blog entry because of it, and I spend that much more energy recruiting the next awesome teammate because I love telling them about it! What if you don't have a family? What if you're young and unattached? RTR is in NYC! Go enjoy living in New York Effing City!

Did I mention we're encouraged to write articles for our tech blog? Perhaps you've seen said blog? These kind of things are literally listed in our quarterly tech team goals. "1) Ship feature X so we can rent some more dresses. 2) Post 6 tech blog entries."

OK, I promise I'm almost done gushing, but stick with me a bit longer. There's so many more cool things to tell you.

I had a new junior engineer start recently. I gave him a week or two to settle in before I gave him his first major task. Let me set the stage: we're nearing completion of some initial research that uses Python to do Markov Chain Monte Carlo simulation for parameter inference on a Bayesian Network. (To predict the future. NBD.) I asked New Guy to determine if it's viable for us to port that to Java for production use. (The answer, two weeks later, appears to be yes, if a bit inelegantly, via Yadas (Yada Yada Yadas). So that's a thing we do @RTR_tech. Rad, right?

Our interview process is an area we've recently been working to improve (because we're doing lots of it). So how are we doing? Yesterday, I got overwhelmingly positive feedback from a new hire. He thought that it was fantastic to have an RTR_tech engineer guiding him through the whole interview process, answering his questions, being open, honest and enthusiastic. Shortly thereafter, he took the gig. Sounds like it's working!

Did you notice that I used one or two (or forty-two) Twitter handles here? That's because I'd love for you to join our conversation! I want to hear from you! What are we missing? What more can we do? To my fellow RTR_tech-ers (is that a thing?): what is life @RTR_tech to you? Follow us on Twitter @RTR_tech! But don't stop there! Connect with these awesome people about awesome stuff: @skamille, @ericqweinstein, @markwunsch, @bhsdrew, @CarloBarbara, @timx, and many more (use transitive closure to find everyone!)….

This is life @RTR_tech.

P.S. - I really wanted to figure out how I could work in a joke about Talk Like A Pirate Day being a big deal at RTR, but, as any good engineer knows, sometimes you have to kill your little darlings.

Teams That Fight... to Win!

I joined the company and my current team about two and a half months ago. Very shortly after I started, I learned or started hearing a couple of things: One really loved backend eng was leaving the company. My eng/tech lead partner actually didn’t want/ask for a PM (me) on the backend team. Once the frontend team was done with their recent launch, that team was going to be combined with the backend team. Two new backend engs are coming on. And the frontend team already has a PM…

So I thought, “Whoa! ‘The team’ is becoming a completely new team. This could get interesting.” ...And it has been interesting in the best possible way!

You know those times when you ask your girlfriend or boyfriend if it’s okay for you to grab a quick drink with your ex, and they say, “Sure. That’s fine.” Then, of course, you go ahead and grab that drink only to later find out that it actually wasn’t fine.

...That’s somewhat like where our team started from: not fully trusting each other; going along with things; and avoiding conflicts even when there was disagreement.

Now you hear discussion and debate over what’s important, how should we approach a change, is there confidence with this release, etc. Beyond the work itself, we also openly talk about each other’s preferences and what works/doesn’t for how we can work better together.

We won’t always get everything right, and we’ll need to keep working hard to keep getting better. But I love where we are and where we’re headed.

                                     The pyramid model from Patrick Lencioni’s The Five Dysfunctions of a Team.

If you’re familiar with The Five Dysfunctions of a Team, which coincidentally the product and design team read just as our Pillar/dev team was coming together, you’ll appreciate some of the specific changes we’ve seen moving up the pyramid:

There’s more openness around when help is needed, which has led to stronger trust in each other, which in turn has led to more healthy conflict--good fights ;) --where we challenge each other as a team… as partners in crime, with the goal to make the right calls and get the best results.

A Post-Internship Look at RTR

This post was written by our awesome colleague, Maude "It's pronounced 'Mode'" Lemaire, whom we can't wait to welcome back after she finishes school.

I left New York City a few hours ago with every intent to return. Yesterday marked my final day as a tech intern for Rent the Runway but I still feel as though I'll be back on Tuesday, grabbing myself an ice coffee from the kitchen and tackling some new bugs. Needless to say it'll be strange heading to class bright and early and hitting the books once more.

I spent thirteen weeks working alongside some of the most insightful engineers at Rent the Runway's SoHo offices. Within just three months, I learned more than in a single semester of university. Pat (Newell) & John (Holdun) have taught me about writing efficient JavaScript, best CSS practices, and using Backbone to solve just about every problem. After a few weeks, I developed a decent understanding of Ruby where I had none whatsoever previously.

From my experience this summer, I learned most from the code review process. At Rent the Runway, when you're working on a new feature or fixing a bug, you start on a local branch. When you think it's all good, you make a pull request to merge your changes onto the master branch. At that point, your peers will review your code. They'll make comments about syntax, a block of code you can reduce to a single line (sometimes), and the bigger picture of your solution; sometimes it turns into a big discussion about how your code will scale and evolve with future features on the horizon. Although it might seem harsh at first, you have to go into the code review process with an open mind and hope to come out of every pull request a better programmer than you were before.

Everyone's constantly talking about building a scalable, maintainable system. There are discussions about the best practices everywhere you turn in the office. Don't know how a system works? Open up your chat and ask someone you think might know. Don't know the specifics of Ruby syntax? Just turn around and ask someone! You'll find experts in a bunch of niches and it's an environment that makes it incredibly easy to learn a ton of new things. As an intern, it's a perfect opportunity to turn to your neighbor and ask them a million questions about what they know! I was able to learn about product, business strategy, marketing and buying in addition to tech just by having coffee chats with coworkers. In terms of work experience diversity, you truly can't beat the Rent the Runway team.

The amount of women in tech at Rent the Runway is surprising. I wasn’t prepared to see so many, coming from a university program where barely 9% of us are women and having worked an internship the previous summer where I was the only woman on my team. It was great to see that no matter what background any programmer was coming from, everyone was open to their ideas. No need to prove yourself (which I've had to do in certain cases) – you're instantly an important part of this dynamic group of hardworking engineers. Even though I was "just an intern," I found that I was the only one ever saying anything of the sort. To my team, I wasn't "just an intern;" by the end of the summer, I was given just as much work as my coworkers and writing as much production code. There were certainly times when I seriously screwed up a pull request with a million rebasing related commits and caused a fair share of JavaScript errors but I'm happy to say I fixed more problems than I caused.

About a month before my original end date of August 22nd, I was sitting down with Jade, the team lead on our current project, when he asked when I'd be heading back to Montreal. At the time, I'd heard about Hack Week during the last week of August – a full five days of working on anything you wanted (so long as it made Rent the Runway better) and I desperately wanted to stay the extra week. With his support, my internship was extended by a week and I was able to stay and participate in the festivities. To top it all off, a few weeks later I was given a full-time offer! Beyond the perks of free rentals, unlimited vacation, and living in NYC, it's an opportunity I simply cannot pass up. Between the people in tech at RTR and the opportunity for fast-paced growth, Rent the Runway is a really (really) great place to work and you can count on me coming back after graduation.

Taking the Leap Into Fashion...Renting the Runway


My last 10 years were spent developing trading and risk software at a top investment bank, but these days I work in fashion. I'm just finishing week two at Rent The Runway. Obviously going from Wall Street to the runway has been a big change, but so far it's been great and I'm glad I made this decision. Moving to a startup wasn't a choice I made lightly, and I think my experience is worth sharing as it may resonate with others. I was a Vice President (a senior title, but not an executive) at a great firm. I don't care if it's in vogue to hate on Wall Street, my employer treated me well and I respect them for that. They offered great perks like excellent training and a top notch wellness program. I had high wealth opportunities with limited risk, and I got to work with very bright people. With that said, everything wasn't perfect, and I wasn't 100% content with my job, but life is always about trade-offs. Everything I listed came at the cost of "Big Company Problems".

When you work at big company, even at tech firms like Google, you need lots of middle management to support a large organization. That many layers leads to a few problems:

* Way too many meetings. You literally have meetings to prepare for meetings. The same goes for status updates. * Politics. The successful folks are jockeying to take over turf or protect their own. It may be subtle or indirect, but it still sours culture. It also leads to a lot of micro management. * More than likely, you're working with lots of proprietary frameworks or having to spend too much time managing up. The former makes you less marketable, the latter is just meta work, not value add! * Greenfield opportunities are rare * More Floaters. These are people who just skate by without taking ownership or adding significant value

That list may be short, but honestly it's enough to weigh on you like an anchor. Since I left, I feel light as a feather. I wake up excited to come work. Here are few reasons why:

* Our Director of Engineering sets the right tone * Our Tech team is nails. We are hire sharp Engineers, who care about software and taking pride in their work * The focus is on working smart, not hard * Amazing culture. Everyone is helpful, and there are no prima donnas! * We have the critical scalability and uptime requirements of all eComerce sites, the challenges of reservation matching like ZipCar, and the logistical problems of Netflix but with much more valuable inventory * Plenty of greenfield opportunities. We are disruptors! * The interview was technical, not fuzzy. If you're interview somewhere and the interview is not as technical as you are, turn around and run! * We have meetings when they are appropriate, and there is plenty of time code * Politics are nonexistent * Our company is sub 200 employees, 100 are in the warehouse, and 20+ are in engineering. This means my impact is tremendous,  I get to be a steward of the culture * I understand our company's business model. It's not just "let's build something cool and figure out how we monetize it" * I wear what I want! * Pro woman culture. I have never worked with so many women, it's refreshing. I'm married and not sleazy; the gender balance makes the company more dynamic

As you can tell, I drank the Kool-Aid. I understand if you're skeptical as I'm still on my honeymoon, but the longer-tenured folks share my sentiment. If you like what you read here, reach out. We're hiring!

Our Runway

CamilleF_1-thumbWe here at RTR Tech are extremely proud to announce the launch of Our Runway. This project is the culmination of several months of work by our engineering team and represents not only an evolution of our product but also a major evolution of our technology platform. This project started as a simple hack day project by 2 of our engineers, taking our customer images from various reviews and creating a page where you could see them all in a continuous stream, with the option to click on the image to view the product they were wearing. Of all the exciting demos that came out of that hack day, this was the one that sparked the imagination of the entire company. We knew that customers who engaged with photo reviews were more likely to rent, and we all loved the fact that our dresses look so good on real women. Why wouldn't we provide our customers with the option to shop our site by these photos? Models may be the industry standard, but these happy, beautiful, real women showed us an opportunity to change that standard in a way that we believe will be revolutionary.

From a technical point of view, we knew this project would not be easy. The data for our photo reviews was stored in a hyper-normalized database schema, and we knew it wasn't flexible enough or scalable enough to power a major part of our website. To get the data into a form where we could serve it quickly required a rewriting of almost all of the aspects of that service, and we chose to move most of the data out of the old database into MongoDB, which is one of our preferred data stores for non-transactional data. We also had to join that review data with data served by our product catalog, reservation calendar, and most importantly our user service, in order to provide the "Women Like Me" functionality. Getting this aggregation working, and working fast, was a full-time job for two of our best developers over several months.

We also chose to use this project to launch a new web serving layer. Our main website runs on a heavily-modified version of Drupal, full of hacks and mysteries left by developers past. With this launch, we have a beachhead into a new web stack based on Ruby Sinatra, with a full suite of RESTful Java services owning the data and most of the heavy lifting. We designed the system to be highly cacheable, scalable, and fault-tolerant, and we're experimenting with a Heroku-based hosting solution to enable us to quickly scale up web resources as needed to handle demand. We also have our first major web presence that does not require login to access, a major step forward.

I am incredibly proud of the team and the effort they put in to take this product from conception to reality over the course of a short two and a half months. As a woman, I find that browsing Our Runway is a breath of fresh air. You never realize how little models smile until you look at page upon page of women smiling broadly and looking fabulous. As an engineer, I'm thrilled with the quality of our "Women Like Me" algorithm and the speed at which we manage to return results to our customers.

If you are interested in helping us build the next great innovation in eCommerce, we're hiring!