The difference between a junior and senior position at a video card company


Here are the descriptions (verbatim) of two job positions open at a major video card manufacturer back in the late 1990's:

Software Engineer - Drivers

The way in to a "hot" company in a "hot" field. This entry level position requires some programming experience with graphics preferred.

Senior Software Engineer - Applications (Demos)

This senior position requires considerable experience in 3D graphics or multimedia. Design, specification, and implementation of demos for new products will all be part of the mix.

Comments (28)
  1. John says:

    And the point is what, exactly?

  2. pcooper says:

    Now, if only hardware companies used the resources on drivers that they used on demos, maybe they’d actually work…

  3. steven says:

    @John: don’t you think it’s rather odd that drivers (the most important part to getting things to work properly) are made by juniors, with little requirement on experience. The demos (to show off new products — Marketing!!) are being made by the seniors.

    I just hope they give those juniors a reaaaallly good training.

  4. David Walker says:

    From what I understand, writing code for a video card driver is among the most technically difficult things you can do (especially to write the code correctly for all edge cases and power scenarios).  I hope the person who fills the "entry level position" has an experienced mentor to work alongside…

  5. jcoehoorn says:

    I don’t see the issue.  There are two different teams.  The drivers team has an opening for junior developer and the applications (demos) team has an opening for a senior developer.

    Those openings say nothing about the normal staffing levels of those teams, just that at that particular moment there were openings for those positions.

  6. Karellen says:

    jcoehoorn – stop being so damn reasonable! :)

  7. nathan_works says:

    You can tell us if it’s Company A or Company B, since they don’t exactly exist as a stand-alone company any more (or so I believe..) That would leave Company C as the other graphics company.. Company D‘s graphics chipsets don’t count.

    Or is this “naming names” and likely to get me censored ?

    So other content: I think “hot” field reminds me of TDWTF about airlines and internet programming ad copy. http://thedailywtf.com/Articles/The-ReInterview-.aspx It’s a good way to get pegged into a pigeon hole career.

  8. Mike says:

    Experienced driver developers aren’t magically found under cabbage leaves, particularly since video manufacturers are notoriously secretive about thier interfaces.  You have to hire people with a solid base and good potential and then train them up.

    The implication that looking good (demos) is more important than being good (drivers) is funny though.  And apt given what I’ve seen.

  9. RyanC says:

    I would hesitate to guess that the video card manufacturer in question hasn’t changed their philosophy, considering the quality of some drivers out there. ;)

  10. JamesNT says:

    This certainly explains why the best video card driver to use with NT 4.0 back in the 90’s was the one that came with NT – not the one from the manufacturer.

    JamesNT

  11. Marc says:

    Makes sense. When I first upgraded to Vista (the day it came out), the major problems were Graphics card drivers. Option 1 was use Microsoft’s and forfeit sleep and hibernation. Option 2 was use NVidia’s and forfeit aero.

    I went for option 3, XP – and just got a new computer to run Vista :)

  12. kbiel says:

    And thus, the demos were awesome once you spent 2 hours, 3 driver updates, 2 yards of bandages for your head, and a gallon of point to cover the bloody spot on the wall.

  13. A_Me! says:

    John,

    And there you have your answer.  The point is about a gallon in quantity.

  14. Antti Huovilainen says:

    This would certainly fit our experience with a certain well known video editing and graphics card manufacturer in the early 2000s. Good hardware, but the drivers were almost useless. I fondly remember one particular bug where we found out that the drivers always crashed after playing 6667 videos (Manufacturers response? "Don’t play so many videos using that interface"). Luckily, we later switched to pure software solution.

  15. That’s why video card drivers are always so high quality…. yeah right!

  16. mikeb says:

    Haiku day:

    entry level dev

    pray for no BSOD

    graphics preferred

  17. Illuminator says:

    My take on driver writers: hire the best and pay them WELL. Juniors need not apply.

  18. SEMI-HYBRID code says:

    "Before, it was all about developers, developers, developers! But now, it seems it’s all about marketing, marketing, marketing!"

    (non-too-verbatim quotation of Steve Ballmer)

  19. Tom says:

    Is there a decent, moderately accelerated driver for the common graphics cards that’s written by Microsoft?  I would love to avoid the graphics company’s drivers if I could.  But the standard VGA driver is just way too slow at redraw, especially in this era of high resolutions.

    After all, I don’t need the power of a fully-accelerated driver all the time.  Even with the graphics company’s drivers, stupid stuff like Flash (Youtube in particular) and Quicktime (OMG Apple is bad at developing Windows applications) will tear.  And 95% of the time, Flash is about the most graphics-intensive app that I’ll ever run.

    Now that video drivers are out of kernel mode (thank the Gods), it should now be simpler to switch drivers on-the-fly.  I would like to be able to run stable drivers 95% of the time, and only switch to the unstable driver when I really need to.

  20. James says:

    I’d always wondered whether graphics card drivers (and device drivers in general, for that matter) were the product of malice or incompetence. I’d always suspected the former, since even a complete beginner couldn’t screw up as badly as most seem to, but maybe this post supports the latter theory.

    I’d always been impressed by one graphics card manufacturer, who put in the effort to produce a single driver package which would support all their cards: just grab the one and only XP/2k driver and run it, although sadly they’ve recently made an exception for their laptop chips.

    To me, it’s not rocket science. Ideally, the manufacturer would have a zip file on their website, with one .inf file and whatever other bits that needs (.sys, .cat, .dll). No "installer" – there’s a perfectly good one built into Windows, TYVM. I do mean zip file, not exe or anything else: I want to be able to unpack your driver with the two mouse clicks it takes to unpack a zip file, anything else just means your driver is getting in my way. Refraining from shovelling crap into my notification area would be nice, too: there’s a place for applets controlling settings, and that isn’t it.

    The best route, of course, is for devices to be built to a standard which means they just need a universal driver provided with the OS, like keyboards, mice and disk drives. The [AOE]HCI standards seem like a promising move in that direction, at least.

  21. Rune says:

    Tom wrote: "Now that video drivers are out of kernel mode (thank the Gods)"

    They are? Any references?

    JamesNT wrote: "This certainly explains why the best video card driver to use with NT 4.0 back in the 90’s was the one that came with NT – not the one from the manufacturer."

    Are you sure? AFAIK, even back then, the in-box drivers were supplied by the manufacturer. At least that was the case during the NT5 beta. (and it certainly was the case with Longhorn)

    The quality of drivers change with each release. E.g. last Fall, the current nVidia drivers were unable to play DVDs for more than half an hour. I noticed these problems on three different computers. What was especially worrying was that Dell had chosen that particular release as their official driver, so they were stuck with that problem for several months. A colleague nearly reinstalled Vista, believing the problem was caused by the OS. A new nVidia driver later (curtesy of laptopvideo2go.com) and he was back in business. No reinstallation necessary… (I have never seen an OS reinstallation that fixed anything — not as long as you put the same garbage back in afterwards, which most users eventually do)

  22. Rune says:

    James "Ideally, the manufacturer would have a zip file on their website, with one .inf file and whatever other bits that needs (.sys, .cat, .dll)."

    Seconded. I would love this as well.

    nVidia comes close, as their installer leaves the .inf files and such on the hard drive, so you can switch between the revisions without running the silly installer again.

  23. codekaizen says:

    More haiku:

    new card, a monster!

    IRQ_NOT_LESS_THAN_OR_EQUAL

    wait, see the demo

  24. nksingh says:

    Writing a graphics driver is hard (they often have code sizes comparable to whole OSes) and I’m sure the driver groups have senior people as well as junior ones.  

    Microsoft developers make bugs quite often (it’s hard to make an omelette without breaking some eggs), but we tend to catch the vast majority of them in testing.  Perhaps the graphics vendors could stand to improve a little in the automated testing department.

  25. RRR says:

    @codekaizen

    Summer day, funny haiku

    laughing waves

    the developer’s mind

  26. Ken Hagan says:

    "I’m sure the driver groups have senior people as well as junior ones."

    I’m not. I’ve seen graphics drivers from the main vendors that bomb in the debug kernel. I mean *bomb* as in "you can’t boot the system". Clearly the authors do not regard the debug kernel as a target platform for their device driver. To me, that’s *insane* and marks down the entire development team as total idiots.

  27. Stephen Jones says:

    ‘Drivers’ is a job description, not a piece of software. They want a junior programmer who’ll double up as a driver to take the senior programmer to demos.

  28. Igor Levicki says:

    >>I’ve seen graphics drivers from the main vendors that bomb in the debug kernel. I mean *bomb* as in "you can’t boot the system".

    I would say that this has something to do with DRM requirements and thus it may be Microsoft’s fault.

Comments are closed.