Development Internships / Apprenticeships at CodeWeavers

CodeWeavers is looking to fill 1-2 Wine Development Internship / Apprentice 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. These positions are available to undergraduate and graduate students, as well as recent graduates.

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) Student
2) A resume to Jon
3) A patch or interesting test of yours that has been accepted into the Wine Project www.winehq.org (Of course, more patches / tests = 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 an interesting test or 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: submit some stubs. Then you'd get more serious. You'd start working on a real, material bug on the WineHQ bug list, or writing a substantive test. 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)