[ In case it isn't obvious: This is my private blog, and this is my private opinion ]
Assuming you don't span two leap years, 2191 days is exactly six years.
In the beginning of June 2009, I was consulting with a company with whom I had previously worked, and had received an offer to rejoin them as a full-time employee. This company prided itself on treating its employees like family -- it was the sort of place where as long as you tried, and they could find the budget, they'd find a job for you. I was going to be able to work from anywhere in the country which was particularly attractive because my spouse wanted us to move to Portland.
On Wednesday, June 3, an old friend of mine called me. He had joined Netflix (the DVD company), and had a UNIX Engineering group reporting to him. His Engineering customers were talking about moving to the cloud and he was going to need help to figure out how IT could support them well. On Thursday, June 4, I talked with the hiring manager, who thought the cloud thing would maybe eventually be an interesting thing, but for now really needed help figuring out how UNIX engineering would Automate All The Things[tm]. I had my first round of interviews on June 5, and my second on June 11 (we've gotten faster since then), and got the job offer to join Netflix as I was driving home from the second round. I signed the offer the day after that, and joined Netflix on June 29, 2009. Exactly six years ago.
The more things change ...
It's interesting to look at the last six years and see what's changed and what has remained the same. From a cultural perspective, what has remained the same tells an incredible story -- Purchasing still requires no approvals (I remember when as a UNIX engineer I was placing $200K orders every other week, at some point our Purchasing people asked if my boss was aware of all my purchases; I asked them if they'd like to see me cc him on my orders, just as an FYI, and they said that'd be nice, though obviously not required). My work with our InfoSec group is still basically on a volunteer basis (InfoSec doesn't approve anything; I don't need to involve them in my projects; I do so because they help me get my job done better). Our expense policy is still the same ("act in Netflix's best interests") (though six years ago, managers had to still approve expenses; now they're automatically paid), and our vacations still unmetered. There are still no formal processes for opening headcount requisitions, and as a hiring manager these days I own my job descriptions, interview panels, and final decision about hiring and firing.
Some things have changed.
When I joined Netflix, my director told me a story to explain the problems IT was dealing with. The VP of Web Engineering reached out to him and complained, saying "I asked you for eight web servers, and I got eight web servers, all of which were almost exactly alike." One of the words in that quote should fill you with dread.
When I was in IT, responsible for giving Engineering the resources it needs, it took us forever to provision machines. I once established a reputation for recklessness when I promised my Engineering customers that I'd get them the ten servers they needed for the PS3 launch in a scant three days. When they asked, dubiously, whether I was sure I could do it, I told them I was willing to bet my job on it (and was later counseled by both my manager and director that this was an unnecessarily brash statement, given the aggressive timeline). These days, of course, we provision tens of thousands of servers every day, automatically, quite often without people noticing or doing any work to make this happen. And they're all exactly the same.
Why am I still here?
Six years, for me, is a huge amount of time. My average tenure until Netflix has been about 27 months. More interestingly, if you exclude my longest and shortest stints, the standard deviation of my tenure has been about 2.5 months. A 2.5 month standard deviation makes for a very narrow band -- at around 2.5 years, I reliably get bored, or annoyed, and move on.
There are various reasons why someone may want to work at Netflix. We do interesting tech things. We have a pretty great product. You get to work with smart people. You get lots of autonomy. Having Netflix on your resume makes your next employer incrementally more interested in you. Netflix pays pretty well. If you're interested in speaking at conferences, you'll find that's encouraged. The list goes on. (Over)simplifying the whole thing, for me it comes down to three kinds of factors: The reasons I want to come to work, the reasons working where I do doesn't frustrate and annoy me, and the reasons why my workplace still wants me to come to work in the morning.
I want to come to work because I've never worked at a company of any material size that treated its employees so humanely, and had humane behavior so ingrained in its culture. I've also never worked at a company that seems to earn as much revenue per employee (Seriously, check out http://www.wolframalpha.com/input/?i=Netflix+revenue+per+employee+over+the+past++8+years and compare to others). I think Netflix is a great case study in how humane corporate cultures are not simply not in conflict with a desire to be incredibly profitable, but in fact aid profitability. I'm deeply interested in supporting and promoting this idea, both because it makes the American workplace better and because it makes it more likely my next job will be a better fit for me because of it.
Treating people humanely manifests itself in a variety of ways, mostly manifestations of the Freedom and Responsibility culture. It's things like my boss telling me when I joined Netflix that I shouldn't have to bring my personal equipment to work, and that I should just tell my company what equipment I needed to be effective. Or how when I asked for a 4K display a few months ago, my desktop support group noted on the ticket that it was not a supported display, so they wanted one as well (rather than gating the request). Or the fact that when I've had unanticipated family events come up (fun story: I went on a two week vacation in February that, due suddenly finding myself adopting my son, turned into a six week vacation. My boss was enthusiastic. I came back to a promotion). Or the trivial fact that minor computer equipment is in vending machines with no accounting or tracking of what you get whatsoever. Don't sweat the small stuff.
Treating people humanely also means dealing with terminations humanely. Not doing the Performance Improvement Plan dance means nobody's going to spend a few months documenting why you're bad at your job, and terminations can be a lot more amicable and decent. I've had friends terminated from Netflix, and I've heard them rave about that last conversation with my HR business partner. I've dealt with much, much worse :)
As for not being frustrated and annoyed ... alignment is a magical thing.
Our industry already talks a lot about DevOps, which I'd argue at its heart is about a better alignment between ops and dev people. It's great. I love it. One of the most magical periods of my work at Netflix was when I was an ITOps person and worked closely with an engineering team, including attending their staff meetings and understanding their needs well enough I was able to start responding to their requests with versions of "no, I don't think you want FOO, I think BAR would work better for you. What do you think?"
But talking about Dev and Ops alignment is only the beginning. Imagine a workplace where total alignment exists not just between Dev and Ops, but between everyone you work with.
In most workplaces, engineers have a completely different set of priorities from IT, Facilities, HR, or Legal. And I think that it comes down to the fact that in general, product delivery is all about optimizing something (innovation? customers? income? buzz?) while most of these other groups are all about mitigating or constraining something (cost? risk?). When two groups, one motivated by maximizing something and the other by minimizing something else, try to work with each other, hilarity ensues. For very low values of hilarity.
One obvious example of this is HR. I suspect people become HR professionals for the most honorable of reasons, but in the end HR's mission -- as expressed to me by many HR people in several companies -- is one of risk mitigation. The biggest risk to the company, from their perspective, comes from employees, in the form of legal action. Most of the HR groups I've worked with have, explicitly or implicitly, believed their job was to protect the company from its employees.
With such a significant lack of alignment, it's not a surprise most engineers I've known have not worked well with most HR people I've known. Personally, I've sometimes referred to HR (though not to their faces) as the natural predators of the creative class.
And then there are the HR people with whom I've had the joy to work at Netflix. I remember figuring out the difference about six months into my tenure -- my HR people's mission is similar to my own -- maximize and enhance the benefit to Netflix. With alignment of goals comes alignment of action, of context, and of approach. And suddenly I find myself with an HR and recruiting group I -- for lack of better word -- love. My recruiters have my back. My HR business partner cares about my success. I have a stronger, more trusting, more intimate relationship with my HR people than I've had with most of my managers, ever. Pure joy.
The same is true for the purchasing people I work with. And the facilities people I work with, who work tirelessly, and behind the scenes, to help me get my job done. And, basically, everyone else. One of these days, I should talk about my work with our lawyers, or Information Security people. They make me happy.
The last time I left work frustrated by lack of alignment and another group's goals conflicting with my own was ... a long, long time ago.
And, at last, we get to the whole "getting to come to work" part of it all.
When I have direct reports, I'm pretty conscientious about managing them well. I try to be thoughtful about working well with my peers.
Were I try to try to characterize my relationships with my managers, I'd use phrases like "benign neglect" or "amused tolerance." They might use phrases like "a pain in the neck," or "has an allergy to authority." This has sometimes led to career-limiting relationships with my management, which I've usually considered to be part of the cost of doing business. I am easy to lead, difficult to manage.
And then there's Netflix, where my 2014 360 feedback from my manager included the phrase "Continue challenging me with regular feedback. I receive more actionable feedback from you in a week than I do from others in a year."
And so here I am. Six years in the same company, though not in the same role. Having started as a UNIX engineer on the ITOps side, then managing Service Delivery for ITOps, then becoming an engineer in Product Engineering and finally going back to managing a software development group, it's been a pretty diverse set of responsibilities and challenges. I never imagined I'd be here this long -- I expected to get fired within a year. I negotiated with my spouse leaving after two (and then renegotiated as we hit the two year mark).
It's hard for me to imagine being here for another six years. Some day I'll leave. And I'm pretty sure I know what I'll say on that day.
It's been a hell of a ride.