Eh. I'm in Facebook bootcamp now. Between this article about the ranking system, a truly uninspiring (to me --- YMMV) choice of teams to work on, and the press Facebook has been getting lately, I'm seriously considering parting ways and going somewhere else. Nobody can beat Facebook's pay or food, but what good is it if I feel like I lack direction and purpose? How much would it damage my career to say I tried FB bootcamp and didn't feel it was a match?
I can't speak for anyone else, but it depends a bit on what you do next. One or two solid jobs down the road, I doubt anyone will really care, but if you do it enough that it looks like you have made a habit of joining up and then not giving it a fair chance based on gossip from outside the company, then yes, that will count against you.
Hey, since I can't find your name or contact info on your account I figured I'd comment saying that I run Bootcamp and it sounds like we should chat (dr@fb.com) :)
As a complement to dr's offer above, if you want to talk to someone who has been at FB for a while and worked with a bunch of infrastructure (traffic, core systems, &c.) and product (graph search, site integrity, &c.) teams, hit me up. My unixname is neil (and my non-work contact details are in the HN profile).
I'd like to help you and dr find you a good match - FB has been a great opportunity for me, but I stumbled a bit so I know how important finding the right thing to work on is. I can also offer you my frank impression of the performance review system here, which I've been through a few times as an IC and as a manager.
A little too much snark for my taste but this is fundamentally a good point. The same people who would rail against MS's rule-bending are very likely to be the same ones cheering on regulatory disobedience in startups, and frankly the latter's is often far more unambiguous.
Cryptography is a CPU-bound operation that often has specialized hardware support. Here's a rule of thumb: in modern computing, IO incurs a greater cost than pretty much anything you can do locally on-CPU. IO is incredibly expensive: cryptography, not so much. If you pipeline your crypto operations and disk fetches, you won't increase response latency at all.
Ruby has a reputation for slowness ([citation needed]?) so is the cryptographic stuff implemented in the language itself or via C-or-equivalent foreign library? I could understand the "too slow, must avoid" kneejerk reaction if it's all in Ruby, even if the reputation is no longer deserved. Human nature.
See, that's what I love about this profession: it's never boring. If something _is_ boring, then almost by definition, it can be automated. The automation itself is usually interesting, and once you've automated your boring task, you can go on to do other interesting things.
Actually, no. That wouldn't be nice at all. Large government solves the collective action problem and is necessary to have a modern, functioning civilization. I'll take a welfare state over your Randian hellpit any day.
The stack rank is the _reason_ there's so much dead wood: managers have to keep mediocre performers on the payroll so that star performers don't get bad reviews and leave. You need star performance to get anything done, since Microsoft is not somehow exempt from the power-law distribution of programmer productivity. The accumulation of mediocre performers makes the organization "trust sparse" (the average employee is a low-net-value robot who exists only to absorb the bad reviews in place of the few who get stuff done), which seriously damages long-distance collaboration, since you can't tell in advance which employees are the bozos. The review system also creates a culture of extreme risk avoidance, as you can't trust the bozos you have on your team to actually code features properly, but you still have to give them work.
Optimization problems like that are fascinating. We can treat them generically without having to teach our program about the specific problem it's trying to solve. All we have to do is come up with proposed solutions and pare them down.
For starters, we need a "cost function" so we can see which solutions are better than others. That's the easy part: render the model on 3D hardware, lighting it with a distant point light source. The "cost" (the value we're trying to minimize) is 1 - Σ(face_brightness); modern hardware can easily handle precise geometric shadowing using a stencil buffer or similar well-known technique. Handle the thermal constraints by setting the "cost" to 1 when the space station disintegrates.
Now we just need to find some ways of coming up with proposed solutions and pruning all but the best solutions. This problem has path dependencies, so we can't just apply a greedy algorithm. That is, solar panel actuators take time to move, so the best solution for time [T_1, T_3] isn't necessarily the concatenations of the best individual solutions for intervals [T_1, T_2] and [T2, T_3].
What you're left with is actually a graph search problem, where our graph nodes are actuator inputs at specific (quantized) times; I feel like something like the veneralbe A* algorihm would be a good place to start looking for paths through this graph.
A good solution should also minimise movement, to conserve energy and reduce mechanical wear. And part of the orbit is in darkness - the criteria would be different there (not optimising illumination, but needing to be ready for the return to daylight).
I'm sick of Google being hailed as a magical place you'd have to be crazy to leave. Look: Google sucks. All technology companies suck, albeit in different ways. It's possible for a talented, rational person to hate working at Google, and I don't care for all the Googlers on HN saying otherwise.
Yes, I would say so. The software developer pool in Stockholm is running really dry. So the market is really hot and it has been this way for a few years now.
Here at $MEGA_CORP we did some recruiting recently and we hired from all over Europe. One good(?) thing is that the political situation in Russia is quite crappy at the moment, so there it is possible to recruit top talent from there.
I guess hiring from the across the pond is slightly harder. But if you pass the normal skype/phone/online interviews and you are good it shouldn't be a huge problem to fly you over for an onsite interview.