We join this startup already in progress.

I was recently asked what it was like to join my latest job:

This is a good question, and one that with the whirlwind of switching jobs I didn't write much about. Now that I've had a few months, it's worth revisiting.

The interview process for OpenDNS was long; there was a lot of talking to people, a lot of technical interviews, a practical test, and finally a visit to the office to talk with both the Sr. Director of Infrastructure Engineering (two levels above) and the CTO (three). It was during that visit that I was finally told I'd be getting a job offer. After that I gave notice to UBC and started preparing for things.

First up was a trip to San Francisco; everyone goes there for a week, even if you work in the Vancouver office (or in Belgium, where my latest coworker is from). I made sure my passport was okay, bought a new packsack, and flew down. I got a bit turned around on the Bart, but made it into town at last and found the office. Corporate apartment was close by, and I pretty much just rested that night.

Next morning was first day at the new place. There were seven of us all together in the lobby, waiting to be collected, including one person on my team (but who works at the SF office, and one person who works at YVR (but on another team). We were kept together for most of the rest of the week, and this was a really good way of getting to know each other. I also shared accommodation with the YVR person while I was there -- we were the only two folks from YVR that week -- and that helped too.

The week was spent in meetings...lots and lots of meetings. This was about 90% good; we were given orientation on (I think) every single part of the company. Sales, marketing, recruiting, finance, IT, HR, security, engineering -- we had an hour or so with each one to hear what they did, ask questions, and learn how they contributed. There were also orientations on policy, financial stuff (including an hour with the CFO), travel, our products themselves, and a bunch of other things. (I'd just like to point out that it's weird to not be the IT person anymore, and that the IT people there are really, really well-organized, thoughtful and patient. There's a lot I'd have done differently in my previous jobs if I'd been able to work with them.)

Coming from places that have been smaller and less organized, this was really, really nice. Sure, it was a lot for one week; by the end of it our eyes were glazing over, and we had no idea what was happening next without checking our schedules. But it was pretty well organized, and did a good job of avoiding dull or repetitious. And on top of that, it gave us a chance to meet more people; particularly for those of us in YVR, it's really good to have a sense of who people are outside of HipChat.

As for the team I joined: something had to give, and this was (IMHO) where it did. I had some time with my team, and they did their best to shove knowledge into our heads -- particularly mine, as I was going back up to Vancouver at the end of the week. So there were chunks of time set aside where the senior admins stood at the whiteboard and drew diagrams while we scribbled furiously. But coming on top of everything else I was learning that week, plus new job, plus new team, plus away from home, I know a lot of it leaked straight out of my head again. (Having had the chance to repeat some of the knowledge drops since then, I think it's also a question of having context for what you're hearing. When you're able to relate this new thing with that chunk you already know, it seems to stick better than when it's twelve new things all at once with no anchor.)

It's a tough problem, to be sure; there was a lot to learn about the infrastructure, and like I keep telling people it's at a scale I haven't worked at before -- so it's hard not to be overwhelmed by everything. I think it might have been better if I'd spent a second week down at SFO, just working with the team and listening; OTOH, the passage of time seems to be necessary (or at least helpful).

Thus for technical knowledge and company knowledge. What about culture, and what about fitting in with my team?

I'll start with this in here: the HR/PeopleOps at OpenDNS are doing the work of the angels. That company has hired about 100 people in the last two years, and they've managed to keep things not only organized and working well, but working fun. That's not the best way of describing it, but it's as good as I can come up with right now. Their work, their problems, are as hard, as knotty, as deeply challenging as anything I ever hope to tackle as a techie. I'm very, very grateful that there are people who find this work rewarding; I enjoy the fruits of their labours, and I would not be a tenth as good at their job as they are.

So: Culture was as much the focus of that first week as anything else. Company values, how to use HipChat (not "where do I type?" but "most people use it as the default means of communication"), when we had lunch, paperwork ("Don't use paper. Just don't")...all of it was explained to us over that week. And people! People were good; the people are really, really nice at OpenDNS. Sitting at the lunch table, someone'd strike up a conversation with you (which is nice when you're shy/introverted): when did you start? what do you do? And then you'd learn something, like what the renewals team did (ensure that service subscriptions are renewed, instead of falling by the wayside, and hopefully upgraded along the way).

And ditto for the team. Time with the rest of my coworkers was scattered and slim, but we tried as much as possible to get to know each other; lunch, conversations about background, all that sort of thing. Mostly, though, that would wait for the next visit to SFO.

After that week, it was back to Vancouver. I'm the only one on my team in Vancouver, but there are other teams we work with quite closely -- so this was my chance to meet them. It was good, and a lot less formal and harried, more slow and organic.

I was also trying to be useful to my team; admirable ambition, but this took a long time, I think. It took a lot of small (and not-so-small) tasks, good for getting to know things. Some were well-documented processes, like building yourself a development VM, and were good for illustrating things (and showed why we wanted to automate it). Some were expeditions: changing Puppet code in a large, intricate codebase, when you're a Puppet n00b who really wants to understand how everything's put together, can take a lot of grepping.

And all this was happening when routines were imposed/kicking in, mostly new to me: standups; weekly planning (what?); round-tables between departments; multiple redundant ticketing systems (don't ask); Google hangouts where I was the only remote person; HipChat conversations with people across the room from me.

A couple of weeks later, two of my team came up to work for the week in Vancouver: my manager and the person who'd started the same week I did. (This sort of thing happens all the time at OpenDNS; it's rare that we'll have a week without someone coming up or heading down, even if there aren't coworkers at the other end.) Having these folks up was really, really good. I solidified my friendship with both of them, and the bandwidth in person is just so much higher....everything from "Hey, I found out this thing you should know!" to "OMG, this is such a pain to deal with" became so much easier. And having my manager (-to-be; she was promoted shortly after this trip) around was incredibly helpful: I got a good sense of what she wanted from me, and what our team's challenges were.

Getting up to speed on the tech took time, and I'm only just now beginning to feel like I have a good understanding. Partly that's because it's complicated; partly that's because it's not terribly well-documented (though that's a real priority for us, and it's changing fast). But also, like I said, things make a lot more sense when you have a context to fit them into -- and gaining that context is something that happens over time.

So someone tells you something, and you nod and smile and write it down but it doesn't make sense. But you can't ask about it right then, because there are 'bout a hundred things you've tripped over in the last week that you don't understand, and now it's a hundred and one, and in the meantime you've got things to do. And you forget about it until you need to understand it again two weeks later, and you ask about it again with a sheepish grin, and now you've got the slot for it. This sort of thing has been happening all the time since I started, and it has taken me a while to make my peace with it...to realize that yes, it's complicated; yes, it's taking a while; and no, it doesn't mean I'm stupid. I'm levelling up over time; I hold on to that.

Last thing I'll mention is my second trip down to SFO, which happened in October. We had a new coworker starting; he's from Belgium, so he was spending three weeks in SFO and one week in YVR before heading back home. We combined his first week with a week of team stuff: offsites, planning, and so on.

One thing which was pretty amazing: we all gave 10 minute presentations about ourselves...who we were, what we'd done, how we'd made it to the place we were at now. It sounds intimidating, but it wasn't. I learned a lot about my coworkers in a hurry, and it was a wonderful introduction to each other -- what makes us tick, what we're worried about, and the weird career paths we'd taken. (One person used to be an airline pilot; another interned for JPL; another is a trained EMT.)

There was also the mandatory what-are-we-gonna-do-now meeting, where we looked at what we'd promised other people (promises made before half of us had joined the team), figured out how we were gonna deliver, and so on. Discussions were sometimes heated, but that was good too; it didn't get out of hand, and we got a good sense for what everyone worries about. (Side note: the place where we had this meeting provided snacks and lunch, and they brought in the best scones I have ever had: crumbly, not too sweet, and just amazing. I neglected to ask where they came from. I am going to dedicate the rest of my life to duplicating that recipe.) And there was also the mandatory dinner and drinks night -- and again, this was great. The food was wonderful but the company was amazing. Getting to know everyone in a casual setting is just really, really wonderful.

So to answer the questions:

What did my first day look like? Same as the first week: a lot of meetings, mainly very well organized, that told me most of what I needed to know about the company.

How did I get pulled into the culture? By joining people down at SFO, the way everyone else in the company did; and by joining a remote office that still shares the company values.

How was I brought up to speed on tech? Lectures, small tasks, frustration and moments of revelation as things fell into place; rinse & repeat.