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 will probably get me FLAMED to all hell... (Score:2)
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.
--=[Dilbert]=--
good luck. (Score:1)
The truth about universities. (Score:3)
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,
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
Free job ads, and good programmers. (Score:2)
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.
I like sysinternals.com ... (Score:2)
What should you learn in CS?? (Score:1)
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?
Tough area (Score:1)
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.
Finding a NT Geek (Score:1)
good point, but (Score:1)
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.
Re:What should you learn in CS?? (Score:1)
Visual Basic?
NT Kernel Geek (Score:1)
Re:The truth about universities. (Score:1)
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."
[Dilbert]
Re:This will probably get me FLAMED to all hell... (Score:1)
Learning other interesting things. (Score:2)
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
Re:What should you learn in CS?? (Score:1)
NOW HE RIGHTS WIERD STUFF AND EVERYONE USES IT BECAUSE THEY CANT FIGURE IT OUT JUST LIKE BILL GATES
Three thoughts for 2 cents. (Score:1)
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?
Re:This will probably get me FLAMED to all hell... (Score:1)
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.
-
There isn't the time and it isn't the place (Score:2)
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.
Re:Three thoughts for 2 cents. (Score:1)
>
As far as I know, NT can happily access FAT, EXT2,
SMB and Netware filesystems.
Re:Three thoughts for 2 cents. (Score:1)
Thoughts #2 and #3 I'm not really qualified to comment on, so I won't.
Learn to know what you're talking about (Score: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
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
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.
Re:Learn to know what you're talking about (Score:1)
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.
Re:The truth about universities. (Score:1)
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.