Sunday, June 29, 2008

Looking for developers!

Developers! Developers! Developers! Developers!
Developers! Developers! Developers! Developers!
Developers!
Developers!

I am building a team at Microsoft which will be delivering a key part of a platform for the new computing paradigm (sorry for being extremely vague - this is an unannounced project).

If you are excited by programming in general (*) and massively parallel computing platforms in particular, strong in algorithms and computer architecture (**), a great coder, love to work in an environment where doing the right thing is expected and rewarded, and are not currently working at Google (***) - I want to talk to you!

Send me your resume at resumes@solyanik.com (or, if you already work at Microsoft, to my work address), and we'll take it from there!

(*) As demonstrated by having interests in computer science and/or coding outside direct project requirements. For example, if you are fresh from college this means that you have learned your first computer language outside school.

(**) For example, if you are asked to implement quicksort, you can do it - correctly - within 40 minutes on a whiteboard, in C or C++, without consulting a text book.

(***) Having just left Google, I am under non-solicitation agreement with them.

15 comments:

Anonymous said...

Why it is necessary to memorize sorting algorithm in order to apply for the job? What is that tell you about the person who is applying for the job?

Anonymous said...

From the 40 min. restriction, it seems that he doesn't expect you to know the algorithm by heart, but that you should know the basic idea and be able to 'reconstruct' the details.

GaryM said...

A quicker test I use in interviews is to ask the candidate to write a C/C++ function which will reverse the order of a linked list. If they don't have a handle on it after five minutes, forget it. It's amazing how many would-be engineers stumble over this one.

Sergey Solyanik said...

Sam,

Wolf is right...

We're not going to ask quicksort, or anything that requires memorization. But ability to code an algorithm of approximately this complexity will be required, as well as basic familiarity with the basic algorithms...

Anonymous said...

I would love to.

But, I'm in Portugal (Europe) and work visas for the US are very hard to get.

I don't why it's difficult. I'm young, pretty (ya... really hot), single, high qualified (computer science engineer that loves to create great software products), english and portuguese speeker, and I love Apple (ops... maybe I shouldn't say this).

And I love America!! Except President Bush, the dumbest ruler in the world (oh... now I get why...). That would be the only reason for not going to America. I don't want that guy to be my President, oh God no...

But, good luck for your hunt ;)

Cya

Yi Li said...

I'm very interested by your job description. But...

(*) I learned Basic/8086 Asm/C during middle school and i386 asm/C++ during college, all by myself. So this should be OK.

(**) I guess this is not a problem. OK too.

(***) I'm working in Google.

Also like the anonymous one above, I'm not in US. Work visas for the US are very hard to get?

So, again, good luck for your hunt ;)

Anonymous said...

My answer to Sam is...

I think having a broad knowledge of algorithms and design patterns is something that goes a long way when looking at developing new algorithms.
A you don’t want to re-invent wheels.
B new algorithms are often comprised of a mash up of existing algorithms.
C Understanding the strengths and weaknesses of algorithms can help develop an approach to developing and/or avoiding pitfalls when developing new algorithms.

It's been a career long dream to do product development at Microsoft. However, I think there has to be better qualified people out there than me for this position, I'd expect you would be only be considering those with a masters in this area (which I don't have).

If I were you I would want to hire someone like Dominik Grolimund. I saw him talk about the algorithms behind his system Wuala and thought it was pretty damn cool. Although *** might also apply to him...

http://www.youtube.com/watch?v=3xKZ4KGkQY8

Anonymous said...

P.S It's good to see Microsoft has someone in reserve with the ability to go monkey when Balmer's last few strands of hair fall from his head.

Anonymous said...

I would be interested to find out if this post actually generated any reasonably good leads. It seams like a less professional way to recruit "good" engineers than Microsoft has traditionally used.

Anonymous said...

A year after my undergrad I could probably have recreated the quick sort algorithm. But really I think this is a bit silly. 7 years later what exactly do you remember about quicksort?

Its hard, or rather impossible to recreate the quicksort algorithm when you can't remember what the main strategy was about anymore.

If I deal with algorithms today it would typically be related to computational geometry so those are the kind of strategies I would remember.

I am sure it is the same loads of other developers, they will have worked for long time in specific areas of algorithms and remembering quicksort is not very likely unless sorting algorithms is your thing.

xyz said...
This comment has been removed by the author.
xyz said...

I think recognizing how algorithms are to be used best in different situations while solving a problem is extremely important.

I personally like low level coding assembler/compilers/parsers are my interests.

I think a good way to find a person who loves coding and does a good job of it is by seeing what they like programming and the languages they know and use.

Eldar said...

I think those who joke about quicksort don't realize that despite it's name, quicksort is one of the most hard to get right sorting algorithms. Most of them probably even don't realize that there are two different quicksort algorthms, the original and the one which was fixed years later. And in my experience, none of such guys were ever able to implement it on a whiteboard without some kind blunder.

bakey said...

I am very interested in working in Microsoft...But I am not in America...Will you hire someone who is not in US now?

Sergey Solyanik said...

We will consider people from out of country. Please send me your resume.

Also, I must apologize to people who already did - I am on vacation in Alaska right now, and the Internet here really sucks. This is mu first logon in almost two weeks.

So if you've sent me your resume, I am not ignoring you - I am just not on line!

-S