News for hackers. Stuff that matters.
Re:Upstarts raid giants for talent in Silicon Valley by geebee on Wednesday August 19, 2015 @12:00PM (#10086429)
Keep in mind, you also have to be technically strong and organizationally savvy to get to this level.

For starters, as a baseline, you need to be very sharp at coding interview style questions. This isn't fizzbuzz. Based on my tech interviews at google and a few other companies, I'd say a question like [1] "find the sub matrix with the largest sum in an NXM matrix" is something they really will expect you do complete at a high level of accuracy in 45 minutes at a whiteboard, including run time efficiency improvements. You'll get some help, and they won't be complete sticklers about syntax, but they will largely expect you to writing accurate code that would compile and run properly without too much help. You'll need to be able to follow through on questions like this in a areas, such as binary, algorithms and data structures, and some operating systems issues (threads and processes, in particular), along with good overall design skills. While it is absolutely possible to get to this point without a CS degree, and many people do, it requires an academic talent, mindset, and ability to focus.

That's the baseline. Generally, that's the ante that gets you in the game. I think there's a way around, which is to create your own projects that are so high profile that you get hired directly into a company at a high enough level that you bypass the entry exams. However, this is rare, and plenty of people who have excellent track records are still filtered out at the interview level.

After that, you need savvy. My observation after 15 years in the field is that the people who are considered technically exceptional are also organizationally savvy. They're not fakers, at all, they really are good technically, but they understand how to pursue the good projects and avoid the bad ones. It becomes self-affirming after a while, their reputation allows them this kind of selectivity. But they don't get stuck on legacy projects that don't enhance their skills. They are able to navigate organizations well, and this requires political and social savvy.

In short, these people are both very strong technically and have the social savvy to get high profile projects where they will continue to learn and gain recognition for their achievements. This combination is relatively rare in humans.

I will agree that this kind of person has opportunities in the valley that are available only to a lesser degree elsewhere, and may not be available at all in some places.

[1] NOT an actual question from my interviews, but at about the level I'd say I experienced (maybe even a bit easier). I highly recommend the book "cracking the coding interview", just be aware that yes, really, they will expect this sort of thing in 45 minutes at a whiteboard with accuracy and efficiency.

Re:Upstarts raid giants for talent in Silicon Valley by bpyne on Wednesday August 19, 2015 @01:20PM (#10086995)
My first thought, about the sub-matrix interview question you posed, is that it's a younger person's game. The last time Linear Algebra entered my mind was in the undergraduate course I took in 1986. I would never even think to prep for questions like that because nothing except basic set theory and logic has been necessary in my career the last 25 years.

(Although, I'm told that the programming language design course I'm taking this Fall will require a refresher in Linear Algebra. Hopefully it comes back to me.)

Good observation about the technically exceptional people also having organizational savvy. They generally know how to send the message that they played a part in successful projects without seeming to take undue credit. The message gets picked up by the project/product managers and a reputation starts.

Re:Upstarts raid giants for talent in Silicon Valley by geebee on Wednesday August 19, 2015 @03:31PM (#10087840)
I don't mean to sound too cynical when I mention organizational savvy. These people don't create the illusion of a contribution, they really make the contribution.

It just isn't all based on technical skill. Experience has shown me that people (managers, senior developers who have delegating authority, and so forth) have trouble resisting the temptation to take the interesting work for themselves and assign the difficult, risky, and often dreary and dead end work elsewhere. Socially savvy developers are able to avoid these projects and instead end up on teams where they do interesting, relevant work that aligns well with their own interests and builds a lasting skill set. They don't end up debugging the old perl script that migrates data from peoplesoft to oracle and/or porting it to python. They end up on relevant and interesting data science, UI, or infrastructure projects, where they can learn tremendously. They are able to work on projects that align closely with their own personal interests and passions, which keeps them motivated (for instance, if they aren't into UI or Javascript, perhaps they work on a high profile machine learning or infrastructure project). They don't emerge two years later with deep understanding of a legacy system that mainly irritates the organization, they emerge with a skill set that aligns closely with the exciting new direction an organization wants to take.

Again, I don't want to sound cynical, they also earn this through excellent technical skills, hard work, and meaningful contribution. But it does require social and organizational savvy to make sure your career trajectory doesn't get derailed. Almost every time someone looks up in the org and says "yeah, well, that programmer is just a technical badass", this is true, but I guarantee you there was exceptional social and organizational savvy behind that ascent as well.

Re:Upstarts raid giants for talent in Silicon Valley by bpyne on Thursday August 20, 2015 @10:18AM (#10091972)
I didn't take your comment as cynical. Perhaps I worded my response poorly. I didn't mean to imply anything insidious about the people who are great technically and understand organizational "politics". I appreciate people who are bright along those varied dimensions much more as I get older.
Re:Upstarts raid giants for talent in Silicon Valley by geebee on Thursday August 20, 2015 @11:19AM (#10092393)
Yeah, sorry, the way I wrote that below your comment probably made it seem like a response. It didn't seem like you were implying anything insidious, I just read your comment and worried that I might have sounded cynical, and posted below what you had written.
Re:Upstarts raid giants for talent in Silicon Valley by pixelp3 on Thursday August 20, 2015 @03:08AM (#10090376)
"it's a younger person's game."

If you expect to work on projects like Google Maps/Earth, Android, search, images (machine learning), cardboard VR, gmail, etc. etc. and don't have an understand of algorithms or data structures, then Google isn't really the place for you.

You can't expect "frameworks" or libraries to do everything for you

Re:Upstarts raid giants for talent in Silicon Valley by jongraehl on Wednesday August 19, 2015 @06:40PM (#10089033)
That problem has nothing to do with linear algebra. I like it! Presumably the submatrix size is limited, or there are negative numbers. Personally I'd precompute the submatrix sums S[r,c] for row 1...r and col 1...c in r*c steps, which will then allow you to give the sum for any submatrix in constant time.