Internships at CodeWeavers
Beginning in Fall 2009, CodeWeavers will be filling 1-2 Wine Development Internship slots every quarter for qualified undergraduate and graduate-level students. We are accepting applications for these positions on an ongoing basis. Students from both the United States and overseas are equally welcome.
Am I Qualified?
Probably not. Wine's probably too hard for you. That's no insult; it's too hard for about 99% of C programmers out there. It is, frankly, the hardest programming gig on the planet, bar none. Not only do you have to be a really good C programmer, and intimately familiar with the innards of Windows and Unix, but you also have to think that debugging incredibly opaque, difficult code is just the most fun anyone could possible have. That's a pretty rare breed of cat. That's why we tell the folks trying to sell us offshore development services to just go away: they haven't got what it takes, either. On the flip, you're young. Your mind may be more flexible, and you probably have some spare time, too. Those are advantages in you favor. Frankly, some of our very best developers are people in their early- to mid-20s. So, if you're game for a real challenge, read on...
Let's say, just for the sake of argument, that you're young and foolish and sick enough in the head that you think you might like to take a shot at hacking Wine. What are the requirements for the internship? Answer: surprisingly few:
1) Student2) A resume to Jon
3) A patch of yours that has been accepted into the Wine Project www.winehq.org (Of course, more patches = axiomatically better)
4) The ability to explain in writing your thinking process on how you created the patch(es)
5) The willingness to take 3 months off of school and come work with us in Minnesota
Requirement #3 is the tough one. Please don't bother sending #2 to us without #3. We're just not interested. We require at least some objective evidence that you can actually hack the stuff we need you to hack. You must pass Alexandre Julliard's 'smell test' and get a patch into Wine. And that isn't easy, because Alexandre demands a very high standard of quality. You won't be able to get a patch in without a certain amount of effort, and probably several tries.
Before you despair, though, be aware that there are lots of things that need to be done in Wine. If you're serious about this, and you're as good a programmer as you think you are, then it shouldn't be beyond the resources of a savvy, enterprising young person like yourself. Hell, our Marketing Guy got a patch into Wine (admittedly for a re-implementation of a needed core font.) You'll actually have to code, but you shouldn't feel like you have to re-write GDI+ from scratch to qualify.
Here's the general process we'd look for. You'd go to www.winehq.org. You'd sniff around and do some research. You'd find an area that interests you. You'd do some easy stuff first: write some tests, submit some stubs. Then you'd get more serious. You'd start working on a real, material bug on the WineHQ bug list. You'd get involved in the Wine community. You'd fix the bug, and be able to demonstrate to us the thinking process you went through to solve the problem and pass Alexandre's sniff test. The more bugs you can solve, of course, the more powerful your mojo in our eyes. That's basically what we need to see.
Other Details
Great Reasons to Work at CodeWeavers
Questions/Comments? Direct them to The Internship Den Mother (i.e. Jon Parshall)

