Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Microsoft

Where Can I Find NT Kernel Programmers? 25

1010011010 asks: "We're developing a new distributed file system and need a Windows kernel programmer to start porting (from Linux) it to Windows NT 4.0 and Windows 2000. Universities tend to churn out Unix-skilled people, not NT people, and kernel programmers for any platform are a little hard to come by. It's difficult to find someone with experience writing NT device drivers. We don't want to use a recruiter -- we've had bad experiences with them, and they're expensive. We would rather pay a starting bonus than a headhunting fee. Any ideas? Any NT programmers?"
This discussion has been archived. No new comments can be posted.

Where Can I Find NT Kernel Programmers?

Comments Filter:
  • Universities tend to churn out Unix-skilled people, not NT people...

    I think this is a problem. I mean, as much as I like *nix, we all know it is not the solution for everything. We would all love to see linux on all the desktops, but I don't see it happenning any time REAL soon.

    Yet real universities (i.e. Case Western Reserve) do not even OFFER courses in anything having to do with NT. I would love to get credit for taking a course in the Windows API - not because I'm obsessed with Windows, but because, let's face it, there is $$$ to be made in Windows. Hell, I can't even learn Cisco stuff at this school. I'm stuck with *nix-style programming on Windoze machines (we learn text-based stuff on VC++ or Codewarrior).

    The argument i've heard is that "that kind of thing is for tech schools." Fine. Then what the hell should I learn in CS at a university? Windows is important in our world now, and it shouldn't be overlooked. I'll come out of school and have to learn a WHOLE new method and style of programming to get the kind of job I want, assuming I stick with programming. I really wanna do networks, but as I said - I have to pay for CWRU and then pay Cisco for the router and the damn CCNA test. I want to learn skills I'm gonna need, not stuff I'm gonna need to FORGET.

    Hell, I'd go into NT kernel programming or driver writing, if only for the experience of it. Someone tell me what course number I need... oh, wait. Damn. One less job for me.

    I see this kind of thing as a problem with our educational system. Other countries have skilled workers in fields the moment they get out of higher education, yet American students come out with "the skills to learn what they need to do their job." I'll get out of school and get a job somewhere due to the reputation of my school -- but I'll have to spend 6 months there learning all the new skills I need for said job, when those could've easily been taught in school.

    Well, I'll probably get flamed to hell or moderated down for this Windows-slanted post, but oh well. These are my feelings on the issue, and i think it's big enough a deal to risk my karma. :-P

    --=[Dilbert]=--
  • unfortunately NT kernel programmers are hard to come by since the kernel is not open sourced and writing kernel modules is discouraged due to M$'s high pricing. you can try headhunting at micro$oft directly using one of their ex kernel guys but this will be $$$. of course, you can scrap the idea and simply write a usermode application which does it..winnt allows a non kernel subsystem to add calls to its ring 0 subsystem. see phrack magazine for sample code (they wanted to write a winnt rootkit but the principle is the same)...i *dislike* (well ok..*hate*..*loathe*) win9x/nt/2k by default anyway, so im sticking with unix kernel hacking.
  • by Some guy named Chris ( 9720 ) on Saturday January 22, 2000 @03:20PM (#1346382) Journal

    The argument i've heard is that "that kind of thing is for tech schools." Fine. Then what the hell should I learn in CS at a university? Windows is important in our world now, and it shouldn't be overlooked.

    Whoa, calm down.

    You simply do not understand how the American higher education system is set up. Universities do not exist to train you a specific set of skills, they prepare you for you future by teaching you how to learn. In a CS program, it is done using some arbitrary programming language and computer platform because those skills are just that, arbitrary.

    Imagine being in school 10 years ago, when DOS was hot, and they taught you all about memory segmentation, specific DOS system calls, how to program the CGI card, etc. You would be in the situation of having to learn an entire new skill set now anyway.

    That's why you have to take those physics classes, and calculus, etc, when you are in a university, because those classes teach you how to solve problems in the general case, and how to learn how to solve new ones you haven't been specifically taught how to solve.

    You want to know about Cisco routers and the Windows API, huh? That's fine. Personally, I want to be the person who obsoletes those technologies. As Dennis Ritchie said in the August, 1984 issue of the CACM,

    "The greatest danger to good computer science research today may be excessive relevance . . . [C]ommercial pressure . . . will divert the attention of the best thinkers from real innovation to exploitation of the current fad, from prospecting to mining a known lode"

    So, you are right. Tech schools are there to train you, while universities exist to educate you. If it's training you want, which is what it sounds like, either enroll in your local tech school or community college.

    Some guy named Chris

  • Two thoughts:

    1) wow, you got a free job posting on Slashdot. That has a LOT of value in and of itself. You might get the person you need just from this article.

    2) Otherwise, hire a really bright programmer with vaguely related experience. Someone who has worked at the systems level in Linux or UNIX should be able to move over to the NT world - the details would be different, but the underlying ideas would come over.
  • ... because they gave the world ctrl2cap. Sure, there might be other ways, but I like the idea of doing it with a kernel mode device driver. Try www.sysinternals.com [sysinternals.com] I'm not sure if they do consulting work, but the site is well worth checking out.
  • by Anonymous Coward
    Man...if you're asking that question..just stay away from CS, ok?

    I mean the concepts of CFG, push-down automata, dfa, np-complete and all that other jazz...hey, it's not where the money is right?

    And let's face it, you're only in it for the money.

    Hmm...20 years ago, I would've told those interested in the cash aspect to get into Cobol...10 years ago, C. Now, it's C++, Java, Perl, Python and a few other things.

    Let's see...I've got Knuth's _The_Art_of_Computer_Programming_ sitting on my desk....wanna guess what programming language it uses?

  • Windows NT filesystem development, particularly
    for distributed systems (so you need to interface
    with a network transport as well), is very tough.
    I'd recommend using a company like OSR
    (http://www.osr.com) rather than trying to do it
    inhouse.
  • I, and my company teach most of these classes to aspiring geeks. We ALSO teach linux- (- that's me proving I'm not totally assimilated :) ). As a person who has to find VB and C++ programmers from the MS world, I can tell you that if you want a really talented one, you're going to need to offer a very good salary package. I running your own ad on MonsterBoard, and American Job Bank (also any other job board you like), maybe a newspaper ad in your area, AND check with your local MS Training center (CTEC). You never know, they may be churning out a fresh crop of programmers- of varying skill levels. This si how I find MS programmers and Network personnel. It's worked for me for 7 years, should be universal. http://www.monsterboard.com http://www.ajb.dni.us http://www.panurgy.com above=(company I work for that does this sort of thing. One of our programmers did work on the NT4 Kernel) l0ki
  • it was CGA... and EGA, and MDPA, and so on.

    Ahh, fondly do I remember bashing bits to registers in assembler, doing instruction counting delay loops, and the wonderfull 286 LOADALL opcode...

    OK, not that fondly.
  • Let's see...I've got Knuth's _The_Art_of_Computer_Programming_ sitting on my desk....wanna guess what programming language it uses?

    Visual Basic?

  • You can't know how happy I am that it is difficult to find NT Kernel geeks. I just made the big jump into that Microsoft quagmire. I quit my job 23 days ago because I was offered an amazingly good job if I could demonstrate skill in this area. I am currently spending my time preparing to take this job(either I'm dedicated or insane). It would be really cool if someone would offer me a amazingly cool job working with Linux....maybe setting up a 4000 node B........(I can still dream...
  • You simply do not understand how the American higher education system is set up. Universities do not exist to train you a specific set of skills, they prepare you for you future by teaching you how to learn. In a CS program, it is done using some arbitrary programming language and computer platform because those skills are just that, arbitrary.

    That is the point i'm taking issue with here. The fact remains that students in other countries come out of school with much more EXPERIENCE than we Americans. I have no problem with "learning how to learn," but it should be supplemented with actual implementation and application. My point is that after I learn C++, etc. they can't then teach me MFC. Hell, even what i've seen so far in C++ has squat's worth of *nix in it either! I understand that i'm learning the algorithms and techniques that i'll need to use for the more advanced work, but I'm also disturbed that they sit here and spoon feed us material and expect us to regurgitate their answers. I would get punished in a data structures course if i used an unoptimized sorting algorithm - even if it was one that i came up with completely on my own and was entirely revolutionary.

    Schools teach you how to learn, yes. But they force you to learn THE WAY THEY WANT YOU TO, which is not always the best way. Ritchie's quote is exactly right, and I agree. But you can't learn what is "excessively relevant" unless you understand what it is you don't want to be relavent to! If I wanted to come up with my own router "OS," because of the way I will have been schooled, chances are that i'll come up with something extremely similar to IOS, even if I've never TOUCHED IOS before in my life. We need to learn these things precicely so we DON'T repeat ourselves.

    If I learned (using my current example) IOS at college, then when I get in the real world I won't spend 4 months trying to learn it. Those four months could be spent honing my skills even further, making me FAR better at the job than I would be in the previous case. Those are four months where i could, instead of studying so i can keep the job, be studying something entirely different so I can further extend my capabilities.

    I think our education system needs a serious revamp. I don't know HOW it should really be changed, but I know what I don't like about it. "I leave the redesign to the reader." :-P

    [Dilbert]
  • In my opinion: If you spent four years (not 8 semesters or whatever) studying the skill you wanted, you would probably be extremely good because you would not be using your time to learn "dead languages" (I know its a sterotype but it helps make my point). Becoming very focused on a subject lets you become a extremely good at it and very employable. There are four basic levels of skill 1.unconscious incompentence 2. conscious incompentence 3. conscious competence 4. unconscious competence (or Guru). When you spread your focus over so many subjects it tough to get to level four. Unfortunately our schools do this (I doubt anyone way back at the start of colleges thought they would end up as they are now). But they do keep us from being narrow minded fools buried into our own little niche. I do think they provide a long course (even though its very weak)in analytical thinking. But they also are a statis symbols, looks good on paper. Like this silly MCSD certification I am required to get (because I don't have a degree in CS) so I can do NT Kernel stuff. It will have no real effect on my job performance (it will look pretty in my file though). Colleges have there place but when it comes down to the wire it will be skill that takes the day. If you have any foresight, pick your focus now so that you can get out of college and take my job (I'll be bored by then and I will need to move on). You also need to be carefull not to become to narrow focused and loose your adaptability to new things or you will know what its like to be a dinosaur. Last and certainly the most important note on this is: Don't be upset not even irritated that someone else didn't provide you with what you want, just be prepared to do it yourself in a manner that meets your needs. Remember: Life is nothing more than a game, its just that the consequences for loosing are a b....
  • Please, don't take this the wrong way, but I think you are expecting the wrong things from school. It sounds trite, but you get from your education exactly as much as you are willing to put into it.

    In other words, if you are interested in something, then learn about it on your own. When I graduated with my degree, I had real, professional experience in AIX and Solaris, as well as non-professional experience programming in several languages not taught at the school.

    I did much more than what was required of me to get my degree. I went out and found a job as a sys admin for, of all things, a food distribution company. The pay was crap, but it was great experience for when I graduated. And I started reading source code, learning how things were done outside the narrow world of undergraduate studies.

    I bought books about programming languages that interested me, and worked through them. I joined the local ACM, and got involved with programming contests. I started a student organization for people interested in artificial intelligence, and had a faculty advisor join us who's PhD was in neural networks. I arranged to take a self study course under that same professor researching algorithmic music composition.

    I'm not bragging here. Nothing I did you cannot do as well. The key is to accept the limits of what your institution offers, and declare yourself responsable for anything else you want to learn. There is no shortage of information freely available on the internet and in your school library, if you are only willing to seek it out.

    Good luck to you, I mean it. But, in the end, it is you alone who is responsible for what you get out of your education. Be willing to do above and beyond what is expected of you, be willing to work while in school for less than you are worth just for the experience, and be flexable in when and where you find learning opportunities. Those things will push you farther and faster towards your goals than banging your head against the wall wishing for the system to change.

    Some guy named Chris

  • YEAH THATS IT HE WROTE WORD IN WINDOWS ASSEMBLER TWENTY YEARS AGO AND NO ONE WOULD BUY IT BECAUSE THEY DIDNT UNDERSTAND IT

    NOW HE RIGHTS WIERD STUFF AND EVERYONE USES IT BECAUSE THEY CANT FIGURE IT OUT JUST LIKE BILL GATES
  • Thought no. 1.

    NT is not UNIX.

    It was written in a diferent culture with a different target and a different purpose ( make B.G. richer?). Two of the base assumtions you can make are that NT is not modular you cannot plug in a new file system because the rest of the OS expects an "NTFS" file system to be there, "NTFS" specific calls are embedded in MFC classes, and, therefore most programs. The second assumption is that the underlying file system and the widley distributed MFS classes will be subject to change at the whim of engineers in Redmond.

    Thought number 2.

    This should probably be implemneted as an NT service, not as device drivers. Anyone who can read and understand a manual and who can program (surpisingly few computer "profesionals" in my experience ;-) ) could write a viable NT service program.

    Thought number 3.

    Have you got an NT market?

    The defualt NT file system is pretty good and can easily be distributed to other platforms via the various "NFS" on NT products. Plus NT installations have a culture of using databases when the underlying file system is not enough. I mean could you provide a File System with more functionality than Oracle V8.0?

  • Then what the hell should I
    learn in CS at a university?


    CS is to software development as physics is
    to engineering. You should get an understanding
    of basic principles, and learn the skills that
    let you program in any language and any
    environment.

    K.
    -
  • The other responses have highlighted very well the main reasons why you're wishing for the impossible and the inadvisable, so I'll add just a couple of small riders.

    There simply isn't the time during a 3 or 4-year degree course to teach the general educative material and also to provide the vocational training that you want. Educational lessons can be painted in broad strokes so a lot can be crammed in to a short period of time. In contrast, vocational training necessarily has to deal with a large amount of specific detail and only a tiny part of that has any real educational value. Even worse than the low educational density though is that the details can often obscure any educational benefits that might be had from the exercise, ie. you churn out IOS experts that don't know what *really* happens when you enable a particular feature. It's almost the antithesis of education.

    There is also another point to consider: should education bias students before releasing them into a nominally free market? Of course it's impossible to avoid bias altogether, but one sure way of promoting bias is to do as you seem to want and actually *focus* on a leading market player. [Shudder ...]

    In contrast, everything you're looking for can be found in tech school, where there is no or little pretence at providing a general education. Go for it, but it will not serve you well in an ever-changing future, mark my words.
  • > It was written in a diferent culture with a > different target and a different purpose ( make > B.G. richer?). Two of the base assumtions you > can make are that NT is not modular you cannot > plug in a new file system because the rest of > the OS expects an "NTFS" file system to be > there, "NTFS" specific calls are embedded in MFC > classes, and, therefore most programs. The > second assumption is that the underlying file > system and the widley distributed MFS classes > will be subject to change at the whim of > engineers in Redmond.
    >
    As far as I know, NT can happily access FAT, EXT2,
    SMB and Netware filesystems.
  • Regarding thought #1, the Win32 file system drivers are extensible -- you can plug in additional filesystems if you so desire, although I haven't really seen it done at all. (perhaps some of the esoteric "FTP filesystems"?) I haven't done this, although I've read some of the applicable literature...

    Thoughts #2 and #3 I'm not really qualified to comment on, so I won't. :)


  • NT is not UNIX.

    It was written in a diferent culture with a different target and a different purpose ( make B.G. richer?). Two of the base assumtions you can make are that NT is not modular you cannot plug in a new file system because the rest of the OS expects an "NTFS" file system to be there


    What utter bullshit. NT is a heck of a lot more modular than Linux. It's got a HAL (hardware abstration layer) and is a microkernel...have you EVER tried to even use the NT DDK? The kernel is compeltely modular, and writing your own Filesystem is supported. NT expects NTFS? uh huh, I guess NT's support for FAT16 and FAT32 are just imaginary.


    "NTFS" specific calls are embedded in MFC classes, and, therefore most programs. The second assumption is that the underlying file system and the widley distributed MFS classes will be subject to change at the whim of engineers in Redmond.

    ROFL, NTFS specific calls are embedded into MFC? Are you a complete utter idiot or what? Firstly, MFC source code is compeltely free, download the Windows 2000 SDK and you'll notice the 64bit versions of MFC are there too. If they are 'subject' to change, you can alwayus change them back. The filesystem in NT is 'transparent' there are no NTFS specific calls in MFC to make MFC work. That's the funniest thing I've read for a while now.


    This should probably be implemneted as an NT service, not as device drivers. Anyone who can read and understand a manual and who can program (surpisingly few computer "profesionals" in my experience ;-) ) could write a viable NT service program.

    Excuse me? An NT Service? Oh, and how the heck is he supposed to write a filesystem driver without writing a driver, but by writing a serice? Do you know what an NT service is?



    The defualt NT file system is pretty good and can easily be distributed to other platforms via the various "NFS" on NT products. Plus NT installations have a culture of using databases when the underlying file system is not enough. I mean could you provide a File System with more functionality than Oracle V8.0?

    Well, you seemed to have lost some of that ignorance here.
  • Whoops, point number 3 was stupid too.

    A file system with the functionality of Oracle 8. Um, Oracle isn't a file system. And NTFS has features oracle doesn't have, cluster level compression, encryption etc. Anyway, you can't compare a filesystem to a database, they're meant for different things, tho have many similarities.

    And you don't need to use "NFS" to share files (note, this is different from a filesystem itself, you can't tell me that NFS and NTFS are the same thing, except one if 'networked') you can use Samba.
  • This is exactly right. I received a CS bachelor's degree in 1987 and do you know what the primary devlopment platform was that we used?

    Pascal on the a Vax 11/780 running VMS.

    Did that affect my ability to go out and get good jobs programming C and later C++ under DOS (and later Windows?). Of course not, because I knew how to think and therefore could learn new platforms easily.

    In fact, I was hired as a C programmer with no C experience, later hired as a C++ programmer with no C++ experience and now have been hired as a Java programmer with no Java experience.

    The ability to learn quickly (because I practiced thinking rather than memorizing), do some work on my own time (usually part of a hobby project), have enabled me to become productive very quickly.

    The concepts I learned in school were much more generic and honed my abilities to think and learn, not memorize a lot of rote material (despite a lot of marginal professors trying to teach that way).

    Actually, the most useful class I took was Symbolic Logic, which was a math/philosophy class.


"When the going gets tough, the tough get empirical." -- Jon Carroll

Working...