A tweet, 2 FaceTime interviews, a trip to Cupertino for 5 two-person interviews lasting a whole day (including lunch at the Caffé Macs), a bucketload of mails and 2 handfuls of international phonecalls.
That's what got me a job in the UIKit team at Apple.
It's safe to say it's been a crazy ride so far, and it's about to get even better.
This tweet by Olivier Gutknecht started it all:
And so it started...
5 days later I sent Olivier a mail with my resume. At the time I assumed I'd get stuck somewhere along the process. It would be no more than an interesting exercise in seeing how good I was deemed. I had heard the process had multiple steps, of which the last being onsite interviews in California. And so I would have been happy to get invited to Cupertino, get rejected in the last round and be done with it.
It didn't quite turn out that way.
It actually landed me a job on the other side of the world, in a company and team I'd love to work in.
I'm not going to go into the details of the process. Other people have blogged about it, and my experience was largely the same. The FaceTime calls were mostly technical and not really easy (although I think now they really weren't that hard). And about the onsite interviews: I felt those were mostly for probing my personality (and a bit about my technical skills, of course). All in all, while it was a very tiring day, it was one of the most interesting experiences I've had. After that day, I knew I wanted to do this job. All in all, the whole interviewing process was very comfortable; I never had the feeling to be part of an "elite".
Because "working on frameworks", it's a job I've always wanted to do. Even in my .Net days I wanted to work for Microsoft, creating APIs or making tools for developers. I've spent a few years for a client building an internal (.Net based) RAD framework, and I enjoyed doing that a lot. The last 18 months working for iCapps as technical lead for the Bolero project enforced that even more as part of my job was building internal frameworks for the rest of the team. It was so much fun building generic stuff, clear enough for (junior) developers to use.
And so when that tweet came, I decided to take the plunge. It was "now or never": I'll be turning 40 this summer, my kids are still young enough to move to the other side of the world (my eldest just turned 9). My experience gained after this wouldn't really matter after this point in time, so there was no point in waiting.
So 258 days after that tweet, I came to a final agreement with Apple about working for them. That's a long time. The fact that there was no hurry due to the H1-B visa process didn't really help. On the other hand: there were a lot of decisions to make. Moving a family of 6 to the US is no easy feat for all parties involved.
And speaking about family: the hard part about this decision was moving there... by myself. The further I got in the process, the more reluctant my wife became about moving us over there. So currently, the plan is that I'll be moving there by myself to start the job, with my family coming later (we're talking about at least a few months). I feel this is both a good and a bad thing. The job is going to take a lot of effort, moving there is going to ask a lot of my resources, and being there by myself will not burden my family directly, apart from me not being there. It does mean that they'll have to miss their husband/father for weeks at a time (and I will have to miss my wife and kids) but at least they'll still be in their own social network of family and friends. I've heard enough stories of similar career moves with the spouse burning out overseas due to a lack of social network, so I'm going to be pretty cautious about this. And so we're making arrangements to alleviate the issues arising from the fact that we'll be split up. Nevertheless, it remains a big gamble, but I'm confident that it'll work out. Hopefully, once my wife experiences how nice California is, she will change her mind, and there's plenty of time to work on that.
Yes or no?
Making the decision between this job and my family was the hardest part in this whole "ordeal". Is a job worth leaving your wife and kids behind on another continent? Is declining an exceptional chance in your career because of your family a viable option, knowing that you really want to do this job, and that you'll suffer from it when turning it down?
So I thought about this a lot. A lot of my waking time was spent thinking about what I should do. My mood was like a pendulum, going from "w00t THIS IS SO AWESOME!" to "OMG WTF AM I DOING?" all the time.
In the end I went for the positive choice, in my opinion. I could say "no" and things would safely stay the same as they were. I could say "yes", causing a lot of change, but giving a lot of new chances in a future I have no idea how it will pan out. So I decided to take the gamble. It might be a mistake, it might be the start of wonderful things.
Go for it
And so I posted my signed offer back to Apple while being here in Leicester at NSConference (luckily, there's a Fedex dropoff point in the middle of the city). There's no way back now. I'm terribly excited to be working at Apple. I'm looking forward to doing wonderful things, to experience living and working in the United States, to learn, to grow.
Last hurdle: that H1-B
The last hurdle is the H1-B visa. My application is in the works, but there's no guarantee that I'll get accepted. There are so many applications for so few available visas, so we'll have to see how it goes. I know one thing: I'm going to be so pissed off if I don't get in.
I don't know how it will work out. I'm just going to have to seize the day, every day.