Ad

Our DNA is written in Swift
Jump

Visiting Apple

A trip to San Francisco is incomplete if you are not paying a visit (and your respects) to the Apple Campus as 1 Infinite Loop, Cupertino. It is situated next to an exit of the 280 freeway but far away from any other sensible public transportation. So a car is a must.

I was lucky to have my colleague Sam rent a ZipCar for the trip and drive me out there, i.e. from Downtown San Francisco to Cupertino which is at southern base of the peninsula. Apple employees have shuttles swarming all around the SF area, but we pedestrians have to either rent a car or find somebody who is willing to drive us.

Apparently several Apple employee follow me on twitter and take notice of my quibbling. So I was quite excited to be invited for lunch on the campus. The Cafeteria “Café Mac” is about the most amazing food court I’ve ever seen. Outside they where making fresh Pizza, inside you’d find Pasta Sushi, fully customizable Buritos, ice cream and many more choices which I did not take notice of, because I immediately settled on Buritos.

I’m not sure whether I am allowed to name names, but the person who invited me was the leader of a small team of 3, all of which immediately introduced themselves to me via their twitter names. Up until know I had been under the impression that tweeting would be severely frowned upon by Apple. But that does not or no longer seem to be the case. If you are able to keep your mouth shut about Apple confidential information, then you may tweet until your fingers are bleeding.

I felt flattered about being known (if not notorious) within Apple. Because of this I did not mind that two other people joined our group and hijacked the meeting. One was a friend of Sam and the some other acquaintance of the group. These two provided ample comic relief telling us funny Apple stories which where very telling in itself.

One might assume that Apple employees would preferential treatment when it comes to purchasing iPad 2s, but that’s not the case. This is in line with the general philosophy of Apple to treat everybody the same. Fair or not that is a different discussion.

Getting hired

Besides of having friends at Apple the other way to get to go inside is to apply for a job. Apple is growing so much that they are chronically understaffed it seems.

The second topic of interest revolved around how Apple managers are deciding between multiple applicants for the same job. They seem to do so by asking metaphysical questions where they can draw certain conclusions from the answers. One such question might be variations on the egg drop problem: you have a 36 story building and 2 eggs. How do you find out what the highest level is from which you can drop an egg where it does not break?

Gets me thinking, I love a good riddle. For this specific example I would say, the simplest solution is:

for (int level=0; level<36; level++)
{
   BOOL broken = dropEggFromLevel(level);
   if (broken) break;
}
NSLog(@"Max Level is %d", level);

I might be wrong in this, because this might also be asked of a manager (though I hear that managers at Apple – for programming teams – are generally good programmers themselves). A manager would probably answer something different: I hire two interns, give one ball to each and have them try through the levels from the bottom up, one the odd ones, the other the even ones. And if you want to be an extra smart manager then you would probably have some sort of optimization that allows you to skip steps. For example one of the two interns could always try the level that’s double what the other intern tried. Every time he is successful, the other intern would skip to the level that’s one higher than the successful skip level. This would speed up the whole process exponentially.

Would I get the job? 🙂

I’m thinking that these kinds of tests must have a certain importance in Apple’s culture because later the same day, when I visited the local NSCoderNight, on of the latecomers introduced himself to me as a new Apple employee. A funny situation ensued when he told us about position he had been accepted for. He had been told that he only had been accepted because of him correctly answering all Javascript questions correct. Javascript can be quite tricky when it comes to scope of variables. One other guy present then exclaimed that he had been auditioned for the same position, but had been turned down for not being “a good fit”. And that even though he is a Javascript professional working on client-side JS all day long.

When I was researching local meetups one of the answers I had gotten from the crowd-search: there are no other meetings because all the good coders meet daily on the Apple campus. At our lunch date I discovered that this is indeed containing a grain of truth. My host told me that he is trying to hire one more iOS developer at present, but cannot find any suitable candidates. All able bodied developers seem to prefer to make money with their own apps. Whereas Apple employees are generally forbidden from publishing their own apps, unless they had published them before starting at the mothership.

This resonates with the statement overheard at Scribd:

“It is as difficult to hire an iOS developer as it is to hire a Flash developer. There’s only one difference: the Flash developer is angry.”

On our way home I made a pact with Sam, to first staff Scribd and then send the overflow devs to Apple. Do you know anybody who would like to give it a shot?

Not allowed to say

Back to our lunch meeting, we thought it really fascinating to hear that sometimes entire buildings are completely locked down ahead of big releases. It’s like some secret science experiments where all possibilities for leaks are brutally exterminated. These areas can then only be entered by certain people an next to each door there is an extra security guard posted that checks your name against a list. People who you talked to the day before ask you who you are on the next day.

If there’s one skill besides eating that seems to unite employees then this is secrecy. Generally they love their job and it is crystal clear to them that leaking any kind of interesting information will be the end of it. If this is true then we can deduct that all other leaks that we read about generally have to be either unsubstantiated rumors painted as facts or intentional leaks. Just as intentional as everything else at Apple.

On the company store I purchased a T-Shirt that perfectly epitomizes what it means to work with or for Apple. It say’s “I visited the Apple campus. But that’s all I’m allowed to say”.

These days much discussion revolves around availability of the iPad 2. I found that the Apple Store next to my hotel had gotten and sold out 1700 iPads on day 1 (Friday) and day 2 (Saturday). On Monday they did not get a shipment. On Tuesday they only got about 100. One person reported to have gotten ticket number 80, but was informed that all devices had been sold before he got past the Disney store.

Speaking of intentionality: last year the international availability was compromised to have more devices to sell in the USA. But assuming that Apple learns from it’s mistakes, it’s still a bit of riddle to me how these shipment numbers can be intentional. A beautiful sign in the door of the store states that while they are sold out they receive iPads daily. Doesn’t the existence of this sign alone already tell us that somebody had foreseen this bottleneck and prepared for this scenario?

Steve and Johnny

On our way out after we had exited the lobby the guys where excitedly stating that we had just passed “Steve and Johnny”, even amongst Apple people those are talked about with reverence. I took longer than usual catch on. They where simply saying that we just had passed by Steve Jobs and Johnny Ive who had been sitting in the lobby. Caught between the embarrassment of not realizing this and the embarrassment of going back to catch a live glimpse we decided to move on. The idea to go back and take a picture was quickly dismissed. We all know how totally forbidden photography inside Apple’s walls is. And what happens to would-be reports like Leo Laporte who document more than Apple likes to tolerate.

Dammit, next chance to see Steve is probably WWDC! But at least I can happily report that Mr. Jobs is strong enough to visit the Apple campus for some chitchat. Or was that also intentional so that maybe a stray reporter might “leak” this information.

Does this make ME a tool?

Thank god Steve is alright, we woudn’t want to stress him too much with impressing greetings from Austria upon him. He probably does not care for this kind of socializing anyway.

Exit through the Gift Shop

Another perk that Apple people can share with visitors can be experienced in the company store which is right outside the lobby entrance. Apart from most hardware they are fully stocked with Apple branded apparel and merchandise. They had even had a couple of iPad2, but those had vanished faster than you can say “two”.

If you are lucky and get an Apple employee to wave his badge then there are discounts to be had on most items. It “pays” to know somebody at Apple, after all.

I jokingly mentioned that I would want to get a T-Shirt saying “I queued for iPad 2, but all I got was this lousy T-Shirt” because in all likelihood I will have to wait until it launches in Austria. But I really stressed my credit card because I bought 5 shirts, a mug, a cap and the smart cover. But hey, I had nothing to wear, nothing with an Apple logo that is.

Conclusion

To summarize I am grateful for the invitation to the campus inner courtyard and listening in on these interesting tales from within Apple’s subculture. And to you I strongly recommend befriending as many Apple people as you can to maybe one day also score an invitation.

Lunching in the Cafeteria and exiting through the gift shop is as enjoyable as any other ride you might find in California.


Categories: Apple

15 Comments »

  1. Loveed the story!

    Stop coding start writing 😉

  2. I hate you! :}
    ok, not for real :p
    (great story, by the way)

  3. My favorite part of this is the brain teaser interview question. I thought about it for a while and I think the answer is to drop the first ball every 10 floors until it breaks and then use the second ball to drop on subsequent floors starting at the last unbroken ball drop. I might think more about it and make the solution my next blog post…

  4. FYI, there’s tons of ios developers in the bay area. You just actually have to, ya know, pay them. 🙂

  5. I have to pay developers to meet up?

  6. Yup, hourly.

    No no, I’m talking about your client’s complaint. There are plenty of developers in the area, they’re just expensive.

  7. I don’t think that money would be an issue for companies like Apple or Scribd. But devs are prefering to have their own companies at the moment.

  8. Apple is notoriously cheap, actually. I know a lot of ex-Apple employees as a result.

    But I think you’re basically right. There are good opportunities for independent software development and that’s draining the talent pool a bit. I’m not sure it’s really devs doing their own apps. There are a lot of them, sure, but they also need to be louder since they’re doing marketing. The contract devs tend to be a bit quieter.

    As for why there’s a dearth of meetups out here, it may just be too much of a good thing. A lot of the major conferences are out here already. Informal networks provide a lot of ios related contacts. There’s less need for the meetups.

  9. That egg break question has been a common programming riddle for *years* (I first heard it when I took an introduction to programming class in 8th grade (2002)). The answer is to drop the egg from the middle level (50), if it breaks then cut the distance between that and the lowest possible level (0 for now) and change the highest possible level to the current level (50), if it doesn’t then go halfway between that and the highest possible level (100 for now) and change the lowest possible level to the current level (50). Rinse and repeat. Depending on the number of levels you can save hundreds, thousands or millions of cycles pretty easily.

    http://en.wikipedia.org/wiki/Dynamic_programming#Egg_dropping_puzzle

  10. I don’t get the solution. If you drop one from 50 and it breaks and then you drop one from 25 and it breaks then you’re out of eggs.

  11. Oh, I guess I misread the riddle. 😛 Didn’t see there were only 2. In that case, yes, your solution is the best.

  12. Problem: the glass ball is fractured after the first drop; future testing with that same ball would be flawed. I’d drop the first ball from the middle, 1/2 way up.

    If the first ball broke, I’d drop the second ball 1/4 the way up (or, if i’m feeling adventurous, assess the first-ball damage, and make an administrative decision, perhaps we can go 1/3 the way up instead).

    If the first ball didn’t break, same thing, but going up. 3/4 way up, drop the second never-dropped ball (first ball is still in my hand).

    If the second ball broke, I’d drop that first fractured ball between 1/2 and 3/4 (umm… 5/8ths?), and make an assessment based on if it broke, or if it lived, in context to how fractured it was, if that’s my maximum.

    If the second ball survived, i’d declare that to be the maximum height, and drop the first ball for giggles, 7/8th the way up. if the first ball survives, I’d eat my hat, and call it a lucky day.