In all seriousness, though, I'm not saying it's *impossible* for someone to become a great programmer without CS study, I'm just saying it's a lot less likely. There will always be people who can pull themselves up by their own bootstraps; but they're not the norm.
The Eric Conspiracy made some interesting points, so here's his points and my replies, in no particular order:
"THe fact is that a CS degree *does not* make you a good programmer."
Absolutely true! But not having a CS degree will often make you a crap programmer. I think a good analogy is this: Cars with tires may go fast, depending on the car. However, cars without tires will rarely be able to go fast, even if the car would otherwise BE fast. See what I mean? Those tires sure help...
(about the setting up of enterprise database apps): "Face it - few programmers work on such projects. Most write things like VB code for internal corporate applications."
Hmm... Just what do you think they're using VB to build? Solitaire clones? NOOOOOO... They're building enterprise-scale database related applications. Virtually every project I've been involved with in the past few years has involved the design of some kind of Oracle database, with middleware, multiple tiers, and so on... Some of these systems are HUGE. Different teams are working on different chunks of the projects, and they all have to work together when the things get rolled out. So, in my experience, EVERYONE I've been working with has been working on "those kinds of projects". Really; I'm not blowing smoke. Of course, YMMV; every shop is different.
"Sucessful OS projects depend more on project management and team building skills from their creator than they do programming skills."
WHAT??? No way, if the code is no good the project's gonna die, man. Project management and team building are, I'm sure, very important things, but FIRST there is the CODE. Without the code, there's no project. So I'm gonna have to disagree with you on that one. I think that first, you have to be a good, solid programmer. If your code is for shit, you're not going to get a team together no matter how good your gift for gab is. People will just clone your project, fix it, and compete with you. Substance over style, you know? Having said that, I do agree that those two skills are important once you've got the coding part down pat.
"it does not require a course in operating system design to be able to be succesful"
Actually, I thought the point of taking operating systems was to understand how the O/S works, so you can write code that is less likely to clash with the O/S and perform badly. Just like the point of taking data structures is so that you know efficient ways to use memory, and the point of taking file structures is so you actually know how to sort (in a real-world example) 27GB of accounting data, all in totally unordered huge flat files, on a server that only has 512MB of system RAM, and only maybe a total of 40GB of disk (a friend of mine did that once, and had asked me what I'd do; I was able to help him out only because I'd done related coursework). And, you take algorithms, because, well, you want your code to fly instead of flop along the ground.
See, I think that having that computer science degree is what can make someone a great programmer. NOT having it automatically puts you at a disadvantage: you don't know a lot of the helpful things a CS grad will know by heart. I'm not saying all the math majors and ex-physicists who suddenly get a wild hair and become programmers are dumb, or anything; I'm just saying they're missing out on a body of knowledge that would otherwise make them much better programmers. Syntax just isn't enough. Knowing how to WRITE VB, for example, isn't going to help you write GOOD VB.
Anyway, that's all I'm saying. So, it's hardly a McDonalds like profession. You know?
My, my my! NOW who's testy??? Heh heh heh... You gotta lay off on the coffee, pal. Temper, temper...
However, risking another massive, diarrhea of the keyboard flame from you, let me make a couple of salient points:
You started this by mouthing off, telling me I didn't know what I was talking about. This is rudeness personified, and I said so. I'll say it again: you were rude. You even SAID you were being rude, while being rude, so you knew you were being rude and did it anyway. So I find it a little bit curious that now you're all up in arms that I took exception to your comments.
You wanna be the crusty, bitter old man who tells the young guy that he's got to get his head out of the clouds and stop dreaming, and get a job, and so on, you go ahead. I'll be the young guy who completely ignores you and has a great time doing so.
Your corporate experience, AGAIN, and I'll keep saying this until it sinks in, has NO BEARING on whether it's possible to enjoy a gig working with an apartment complex. The two are apples and oranges. FIRST OF ALL, I live in a rural area where life is just a little calmer and slower than it (apparently) is in whatever hell-hole you're living in. Second, apartment complexes are VERY DIFFERENT here from what you're apparently used to. Things are, like, casual, dude. The people are NICE. The landlords don't fuck with people here. Christ, where do you live, NYC, L.A, Boston, something like that? Here's a hint: GET OUT BEFORE YOU GET ANY WORSE. It's poisoning you. Seriously.
You've got a totally negative attitude, you don't think anything is going to work, you're all doom and gloom, you think you know everything... So, OF COURSE you think it won't work. OF COURSE you think it'll be hell. OF COURSE you'll look for every possible unfortunate consequence; that's all people like you EVER see. Who cares? It isn't an accurate view of the world; it's just a dark one. You wanna be trapped in that doom and gloom bullshit all your life, go ahead. Count me out.
I'd also like to point out that if I'd known I'd start a class war by reminding you how little weight a tech support resume carries these days, I'd have kept the truth to myself and let you preserve your illusions. Man, they must be deep and closely guarded.
As far as most of this post goes, it's really just a temper tantrum, isn't it? You just completely lost your shit, over a couple of harmless little baiting comments. How sad and immature.
By the way, about the three things you took exception to, i.e.
"Silly? Dime a dozen? Arrogant and egotistical?"
You've done a great job of PROVING EACH ONE in this long-winded, overly nasty, foolish reply.
Again, give up the coffee, and move someplace a little less hectic. You're going to have a heart attack, a stroke, or both, if you keep up this way.
I agree; you have some good points here. I hope this particular avenue picks up a little bit in coming years. Currently, people seem to be satisfied with duking it out with Dell support. Sigh...
HanzoSan said, incorrectly: "Software development is like the Mc Donalds job, anyone can do it, theres no shortage of programmers"
To which I reply:
Horseshit.
There are two kinds of *professional* software development:
The first kind is performed by well-trained college grads, who have studied computer science and know how to design and build a project that works. We're talking a B.A. or B.S. at least, maybe even an M.S.
The second kind is done by people who decide that there is money in "computers" and think they can enter the profession by taking a six month course at some certificate mill, or reading a couple of books. If they have a degree at all, it might be in a liberal-arts field.
The first group of people have studied data structures, file structures, computer architecture, mathematical logic... Their work will be efficient and well designed. They know software engineering, they understand OOP... And, they probably really love the field, or they wouldn't have spent all those years in school dedicating themselves to it.
The second group of people ONLY know their chosen language's syntax, plus a little bit about some API they plan to work with. They're just cashing in; they don't care about programming particularly. Their designs are sloppy, and generally turn into maintenance nightmares. The sad thing is, they don't know any better, and can't understand what's wrong with their code.
SO, NO, YOU'RE INCORRECT. PROGRAMMING IS NOTHING LIKE A MACDONALDS JOB.
And, before everyone slams me for being an elitist, how many successful open source projects can you name which weren't created by someone with real training in computer science (not some six month seminar)? And, maybe you can tell me, would YOU buy a house designed and built by an architect who took a six-month course? Would you drive over a bridge built by an engineer who took a couple of two week seminars instead of going to college for six years? Of course not. But you'll swear high and low that "anyone" can build, say, your company's enterprise database.
Fuck... What total and utter bullshit. This guy's a troll.
Most software jobs are not in software development for sale, but rather in internal applications development. In other words, software used within an organization -- custom software for their internal needs. This can be anything from glue to systems work. So open source doesn't really hurt anything. In fact, it makes it easier for applications programmers to do their job, by making it easier for them to understand how to work with software they acquire (use the source, luke!).
1. It's been written FOR business management types (it's in "Business 2.0", a management rag) so you can't expect it to say "The IT industry is now dead, because management has decided that what jobs aren't going to be outsourced are going to be replaced by H1-Bs". No, that would sound like BLAME, and what suit would ever accept any of that? Suits want to hear how they haven't really hurt anyone, and how they're running their companies well -- not how they're running them into the ground, regardless of which perspective is more accurate.
2. Remember that suits care about only one thing more than profits: P.R. and prestige. They're not going to pay for a magazine that makes their pet initiatives (outsourcing and layoffs, etc) look like bad ideas. They would be outraged if one of their favorite magazines took them to task for their decisions. So, this isn't going to happen.
3. Because this magazine is written FOR suits, BY suits, you can't expect it to NOT have tons of pro-suit propaganda. What sort of propaganda would a suit write up? Basically, stories like this one, about how H1-Bs, layoffs, and outsourcing really haven't hurt anyone and how everything is really just peachy. Gotta keep that consumer confidence up, even if you're going to put them out of their homes in a month or so, take away their livelihoods and ruin their lives. They might buy stuff in the meantime!
4. If the article was honest about how bad company policy has made things for people, it might -- gasp! -- influence politicians, who might -- double gasp! -- DO SOMETHING about the problem. Can't have that! So we've got to keep saying things are just fine.
Overall, this article was a puff-piece love-letter to American business. And, coming from this magazine, how can you expect anything else?
Well, actually, you're building a straw man based on your experience in corporate tech support, which is a totally invalid and inappropriate way to think about this. It shows that you didn't understand the situation I was describing at all.
Furthermore, knowing that I'm a programmer/analyst, it IS rude of you to ask, "Have you ever run an IT department" because you're not asking a question, you're making a statement: You're saying, "You don't know what you're talking about". That's rude even for Slashdot.
Most of this post just seems very arrogant and egotistical to me... Oh, you wouldn't take an IT management job unless they fall all over themselves kissing your butt with staff and money? Fine. I'll take fries with that, thanks, and hurry up with that coke or I'll snitch on you to your sixteen year old supervisor. Sheesh... Come back to reality! Even during the boom, tech support guys were considered a dime a dozen. You're not REALLY that impressed with yourself, are you?
But, leaving your attitide aside, let's address the point you tried to make. In setting up an apartment network, assuming we have a can-do attitude instead of your fuck-you attitude, what real challenges would there be?
First of all, you'd have to maintain a central server to act as a firewall and router for the complex. That would be completely under your control, and it would not allow physical access for anyone but you and the building manager. You would probably either set it up as a Wi-Fi hotspot (much more likely) or as the center of an ethernet LAN, in which case you would run cable to each of the apartments and give each one a wall jack. Your responsibility to each tenant would begin and end at providing that wall jack. Their PC is *THEIR* problem. If you use Wi-Fi you don't even have to run cable, or visit an apartment. Just give each tenant an information sheet telling them what settings to put on their Wi-Fi software, so they can get hooked up.
Note that individual tech support can be PURCHASED, but it doesn't come with the apartment.
Does this show you how silly your complaint is? Now, quit grandstanding about how terribly hard a tech-support job is and come back down to earth. Or, if you hate the idea so much, *don't do it*! Go sell flowers in the airport or something. I hear the krishnas are hiring...
It sure beats handing out fries at MacDonalds. Besides, it might be fun. Set up the core as Linux, run cable from your apartment building's central server to all the apartments (or use Wi-Fi), let people hook up whatever they want to the LAN, maybe set up some kind of groupware, so they can all talk to one another... It has potential.
I'm glad you turned out to be an American, and that you weren't basically saying Americans were uneducated... Actually I found most of your post fairly informative. Interesting stuff.
I agree with you about India's internal organization. I sure wouldn't want to be a part of that society. Interesting note: did you know that Indians consider ALL foreigners to be untouchables? That's you and me. Untouchables. Kind of eliminates any lingering desire to visit there, doesn't it?
I've worked with a lot of Indian H1-Bs, and out of all of those, I've only met one I thought was really competent. Most of the rest have been kind of so-so as programmers. I think that the hype about IIT is just pro-India propaganda. The Indian government has made no bones about its policy of aggressively pushing itself as the "back office of the world". There was even an article in Wired about it; the Indian government considers H1-Bs and outsourcing to be the best way to bring India out of poverty (at our expense of course). I feel that this is a sort of economic war, undeclared and ignored by the media. And, India isn't even trying to hide it. They BRAG about it in interviews!
I hope Sun totally gets reamed in this. If Sun were to cease to exist, I wouldn't weep one single, bitter tear. Die, Sun, Die.
How ironic! You claim that the person you're replying to is "typical of uneducated Americans". After all (rummaging in the CIA World Fact Book, http://www.cia.gov/cia/publications/factbook/) India has a literacy level around 56% for males, and 37% for females. The U.S. on the other hand, has a literacy level of 97% for both males AND females. So, uneducated Americans are far less typical than uneducated Indians.
You're welcome. I love clearing up these little misunderstandings...
I just realized I didn't answer the whole question... Sorry, ha ha, I'll add this one in.
I think that a core group of programmers will do what I did, i.e. get a good job in civil service or government and stay programmers until they retire. Others will gravitate back to academia, which works pretty well too. I think you can write off private industry; it's toast.
I think many programmers are going to end up doing all sorts of other work, mostly some variety of tech support at a much lower wage. It's what they know best, you know? So... Probably they'll gravitate towards community and local colleges, end up in the basement with the tech support team, keeping their network alive and hackerless. Some will end up doing programming for these institutions too.
There'll probably always be work at small offices, running cable and keeping the PCs running, but that'll be very low-wage. People might be able to work as a contractor, billing by the hour with a bunch of clients and a small pick-up or something, kind of like a landscaper but without the lawnmowers.
I don't know... Looks kind of bleak to me, but not hopeless.
Well... Actually you bring up a very interesting possibility. But it's not going to be any kind of corporate job; I think companies are going to make the interfaces for such devices very point-and-click. The actual programming is going to be done in the cheapest possible location (e.g. India, or malaysia, or someplace like that). However, human nature being what it is, most people will find themselves somewhat, ah, "challenged" in dealing with the devices. And, I don't think they'll be able to hack them without assistance. So...
I think there's a good possiblity that we could find grey-market work tinkering with and hacking devices like this for individuals. If we can acquire the right interface for doing actual programming on the device, we could theoretically replace a lot of the existing stuff on it with our own, and sell that too.
This kind of thing would be local, word-of-mouth stuff, like handyman jobs used to be. It's not as good as a *normal* programming job, but at least we won't starve.
Another possibility is, we could be able to trade LAN admin skills for free rent, building-manager style. Apartment complexes might start building up their own hotspots and such, and they'll need someone to handle the tech support. Handymen at complexes get free rent, so does the super, why not the tech guy? So you spend some time keeping hackers out, and replacing broken cables, etc. Could be cool.
">You see, this isn't a social problem, it's an
>economic one.
And a political one. This is one of the few areas over which the Constitution explicitly gives Congress authority. Since they've rarely held back in regulating other areas of commerce over which they (arguably) have no authority whatsoever, one has to wonder why they're so reluctant to rein this one in..."
To which I reply:
There's no reason to wonder. They're bought and paid for by their corporate masters, who value profit over all and don't care WHAT happens to their community, as long as they can hide in their mansions and yachts.
They'll be the first ones up against the wall when the revolution comes.
I think you are basically optimistic in nature, whereas I am a sour pessimist. However, I can see why you would have your point of view, just as you can see where mine comes from. As I respect your view, I'm sure you'll understand and respect my opinion that this isn't merely a "pruning" but rather a plowing-under and asphalting over. In my opinion, it's pretty much over for IT in this country (except for civil service, academia, and government).
As far as many people working for dot-coms being overpaid, that wasn't true where I worked. I won't go into too many details, but I worked in software engineering at the time, and none of us were overpaid. I had one of the better salaries among my friends because some of my work was getting patented and it was making the company a lot of money, and even then I was only making 60K. I only got that because I threatened to quit -- the 45K they had been paying me was putting me into debt (I know from firsthand experience how expensive NYC is). So much for all those well-paid dot-com programmers, eh?
As for me, I got smart and moved far upstate. I work in civil service, now, and I'm in a strong union, so I have great benefits AND job security (remember job security?). I'm never going back to private industry... I'd go to BOCES and become a plumber first. And, yes, I am a real-live programmer (currently I'm building enterprise systems for my employer, and loving every minute of it -- you private industry guys have no idea how nicely a department can be run when your bosses aren't driven by greed).
Anyway, we'll agree to disagree. I really hope you don't find out firsthand how bad I think it's going to get. Honestly. It's going to get rough, and I don't think it's going to come back, ever. Ask the steel workers, or the auto workers, how things turned out for THEM. It's almost the same exact situation, played out in three different decades.
EastCoastSurfer said: "I think that the *real* programmers that you have talked about all write libraries now. These guys all have jobs at the tool makers like MS, Apple, etc..." (then he goes on to say that bosses want software engineers, not real programmers, and etc).
To which I reply:
Uhm, no. Companies do not want "software engineers"... They want outsourcing companies in India, and H1-Bs for the jobs that are still here. In case you haven't noticed, most programmers have been laid off, and the job market is at its worst state in decades. What jobs *are* available are generally for slave wages, with completely unreasonable and illogical minimum skill requirements. Want a laugh? Check out "fuckthatjob.com". It chronicles companies with the worst job placement ads, like companies that try to bill full-time programming jobs as "internships" (which, by the way is totally against the law, but no one seems to care).
You'd have to have been living under a rock to not be aware of this. Half the developers in NYC are probably close to their last unemployment check by now. The other half are sweating, with the axe over their heads. I'm guessing from your post that you're tucked away somewhere safe, and in deep denial about the state of our field.
Life sucks these days. The market for *real* programmers has been destroyed by corporate America. I feel like I'm extinct.
We should hold a national Irish Wake for the "real programmer". Everyone will be required to bring their favorite intoxicating beverage and at least one good music CD. The wake would last for a week, and we'd do our best to remain totally plotzed for the entire period.
Hmm... How about getting about a zillion of us and cram into Wall Street with as much alchohol, fast food, and music as we can carry? Imagine that: a million-drunk-programmer-march. We'd take Wall Street and hold it as long as we can (we wouldn't FIGHT the cops; we'd get 'em drunk and let 'em join the party). It'd be like woodstock, only rowdier.
Max said: "XML is great for file formats. It's waaay better than binary formats. It's not as compact, but that is rarely an issue these days. Having a standard, structred, text-based, and editable-by-hand-when-necessary format is a godsend. Period."
I tend to agree. If you're going to store data in a flat file, it's a pretty good idea to set up an XML DTD for it, for a couple of reasons:
1. You can write up a stylesheet, and code a small viewer, so that you can peek at the data manually when you want to (and maybe even tweak it). Because of the way XML is set up, this is pretty easy to do.
2. XML is way easy to parse, especially if you are using a language with regexps. It just plain makes life easier.
I think the problem most people have is when they go beyond the basic idea of XML, i.e. a tagged file format for data files. It's all the weird extra tools that have been built up over the years that are making XML into a royal pain in the ass. Why do we need all these weird transformational tools? What's with all the parsing libraries? Why all this complexity? All you really need is the basic concept of it. Eecccch.
Sometimes I wonder whether the REAL industry behind things like XML is in selling you unnecessary courses and software.
Obviously all you know is C. It must be some kind of "geek pride" thing.
VB can be used to write some very complex client-server apps, which is really what VB is for. It integrates very nicely with databases using ADO and OLEDB, and makes it possible to write multi-tier database apps very, very quickly. The prototypical app here would be an n-tier app with web pages on a DMZ machine, dlls on internal machines, and a database backend (usually Oracle). The firewall guys set up the dlls so that only the website can access them, and in the dll, you only expose the specific interface you want to expose. If you do it correctly, it's very hard for someone to mess with your work.
Another nice feature is that VB is very nicely integrated with other services like email, Exchange Server services, and so on. Although some people like to use these capabilities to write virii and worms, the REST of us use them to write groupware.
Anyway, why the hell are you still writing in C? I thought Perl, Java, and PHP4 were the gold standard for web apps... Aren't you afraid of buffer overruns??? Lord knows half the system calls in C are vulnerable...
Hey! No fair picking on VB programmers! Our life is hard enough as it is, with the crappy syntax we've got to put up with, and the general flakiness of the language. Do you have any idea how hard it is to write something in VB that works well??? Or, worse, how hard it is to maintain something written by a novice VB person (usually something like a liberal arts major who just kind of floated into a programming position)??? Yeesh. You C++ and Java guys don't know how good you've got it. Show some sympathy!!!
God, I miss my Java days. Sigh... I keep telling myself, "It may be VB, but it pays the bills..."
Re:Tech support for your family??
on
Family Tech Support
·
· Score: 2, Insightful
In all seriousness, though...
The only people I help with computer-related problems are my mother and father, and possibly my sister, and then, ONLY on the weekends. My approach is, if something is seriously wrong with the computer, they turn off the power and I look into it on Saturday morning. Telephone tech support NEVER works... Unless you enjoy frustration, that is.
The nice thing is, this works out very comfortably. I can generally straighten out the problem without too much trouble, and they appreciate it. They're cool, they usually give me a beer, or some iced tea, etc, and it ends up being a pretty good time.
I think the main thing is, as long as no one tries to take advantage of you, it can stay friendly and be a relatively cool thing. It's all about mutual respect.
Doh!
;)
In all seriousness, though, I'm not saying it's *impossible* for someone to become a great programmer without CS study, I'm just saying it's a lot less likely. There will always be people who can pull themselves up by their own bootstraps; but they're not the norm.
Damn good counterexample.
Good counterexample. Really good one... Well, it's not written in stone, ha ha. Exceptions to every rule, right? ;)
The Eric Conspiracy made some interesting points, so here's his points and my replies, in no particular order:
"THe fact is that a CS degree *does not* make you a good programmer."
Absolutely true! But not having a CS degree will often make you a crap programmer. I think a good analogy is this: Cars with tires may go fast, depending on the car. However, cars without tires will rarely be able to go fast, even if the car would otherwise BE fast. See what I mean? Those tires sure help...
(about the setting up of enterprise database apps): "Face it - few programmers work on such projects. Most write things like VB code for internal corporate applications."
Hmm... Just what do you think they're using VB to build? Solitaire clones? NOOOOOO... They're building enterprise-scale database related applications. Virtually every project I've been involved with in the past few years has involved the design of some kind of Oracle database, with middleware, multiple tiers, and so on... Some of these systems are HUGE. Different teams are working on different chunks of the projects, and they all have to work together when the things get rolled out. So, in my experience, EVERYONE I've been working with has been working on "those kinds of projects". Really; I'm not blowing smoke. Of course, YMMV; every shop is different.
"Sucessful OS projects depend more on project management and team building skills from their creator than they do programming skills."
WHAT??? No way, if the code is no good the project's gonna die, man. Project management and team building are, I'm sure, very important things, but FIRST there is the CODE. Without the code, there's no project. So I'm gonna have to disagree with you on that one. I think that first, you have to be a good, solid programmer. If your code is for shit, you're not going to get a team together no matter how good your gift for gab is. People will just clone your project, fix it, and compete with you. Substance over style, you know? Having said that, I do agree that those two skills are important once you've got the coding part down pat.
"it does not require a course in operating system design to be able to be succesful"
Actually, I thought the point of taking operating systems was to understand how the O/S works, so you can write code that is less likely to clash with the O/S and perform badly. Just like the point of taking data structures is so that you know efficient ways to use memory, and the point of taking file structures is so you actually know how to sort (in a real-world example) 27GB of accounting data, all in totally unordered huge flat files, on a server that only has 512MB of system RAM, and only maybe a total of 40GB of disk (a friend of mine did that once, and had asked me what I'd do; I was able to help him out only because I'd done related coursework). And, you take algorithms, because, well, you want your code to fly instead of flop along the ground.
See, I think that having that computer science degree is what can make someone a great programmer. NOT having it automatically puts you at a disadvantage: you don't know a lot of the helpful things a CS grad will know by heart. I'm not saying all the math majors and ex-physicists who suddenly get a wild hair and become programmers are dumb, or anything; I'm just saying they're missing out on a body of knowledge that would otherwise make them much better programmers. Syntax just isn't enough. Knowing how to WRITE VB, for example, isn't going to help you write GOOD VB.
Anyway, that's all I'm saying. So, it's hardly a McDonalds like profession. You know?
My, my my! NOW who's testy??? Heh heh heh... You gotta lay off on the coffee, pal. Temper, temper...
However, risking another massive, diarrhea of the keyboard flame from you, let me make a couple of salient points:
You started this by mouthing off, telling me I didn't know what I was talking about. This is rudeness personified, and I said so. I'll say it again: you were rude. You even SAID you were being rude, while being rude, so you knew you were being rude and did it anyway. So I find it a little bit curious that now you're all up in arms that I took exception to your comments.
You wanna be the crusty, bitter old man who tells the young guy that he's got to get his head out of the clouds and stop dreaming, and get a job, and so on, you go ahead. I'll be the young guy who completely ignores you and has a great time doing so.
Your corporate experience, AGAIN, and I'll keep saying this until it sinks in, has NO BEARING on whether it's possible to enjoy a gig working with an apartment complex. The two are apples and oranges. FIRST OF ALL, I live in a rural area where life is just a little calmer and slower than it (apparently) is in whatever hell-hole you're living in. Second, apartment complexes are VERY DIFFERENT here from what you're apparently used to. Things are, like, casual, dude. The people are NICE. The landlords don't fuck with people here. Christ, where do you live, NYC, L.A, Boston, something like that? Here's a hint: GET OUT BEFORE YOU GET ANY WORSE. It's poisoning you. Seriously.
You've got a totally negative attitude, you don't think anything is going to work, you're all doom and gloom, you think you know everything... So, OF COURSE you think it won't work. OF COURSE you think it'll be hell. OF COURSE you'll look for every possible unfortunate consequence; that's all people like you EVER see. Who cares? It isn't an accurate view of the world; it's just a dark one. You wanna be trapped in that doom and gloom bullshit all your life, go ahead. Count me out.
I'd also like to point out that if I'd known I'd start a class war by reminding you how little weight a tech support resume carries these days, I'd have kept the truth to myself and let you preserve your illusions. Man, they must be deep and closely guarded.
As far as most of this post goes, it's really just a temper tantrum, isn't it? You just completely lost your shit, over a couple of harmless little baiting comments. How sad and immature.
By the way, about the three things you took exception to, i.e.
"Silly?
Dime a dozen?
Arrogant and egotistical?"
You've done a great job of PROVING EACH ONE in this long-winded, overly nasty, foolish reply.
Again, give up the coffee, and move someplace a little less hectic. You're going to have a heart attack, a stroke, or both, if you keep up this way.
Holy cow -- did that really happen? How funny! Well, I always liked Google; looks like they're as cool inside as they are outside.
I agree; you have some good points here. I hope this particular avenue picks up a little bit in coming years. Currently, people seem to be satisfied with duking it out with Dell support. Sigh...
HanzoSan said, incorrectly: "Software development is like the Mc Donalds job, anyone can do it, theres no shortage of programmers"
To which I reply:
Horseshit.
There are two kinds of *professional* software development:
The first kind is performed by well-trained college grads, who have studied computer science and know how to design and build a project that works. We're talking a B.A. or B.S. at least, maybe even an M.S.
The second kind is done by people who decide that there is money in "computers" and think they can enter the profession by taking a six month course at some certificate mill, or reading a couple of books. If they have a degree at all, it might be in a liberal-arts field.
The first group of people have studied data structures, file structures, computer architecture, mathematical logic... Their work will be efficient and well designed. They know software engineering, they understand OOP... And, they probably really love the field, or they wouldn't have spent all those years in school dedicating themselves to it.
The second group of people ONLY know their chosen language's syntax, plus a little bit about some API they plan to work with. They're just cashing in; they don't care about programming particularly. Their designs are sloppy, and generally turn into maintenance nightmares. The sad thing is, they don't know any better, and can't understand what's wrong with their code.
SO, NO, YOU'RE INCORRECT. PROGRAMMING IS NOTHING LIKE A MACDONALDS JOB.
And, before everyone slams me for being an elitist, how many successful open source projects can you name which weren't created by someone with real training in computer science (not some six month seminar)? And, maybe you can tell me, would YOU buy a house designed and built by an architect who took a six-month course? Would you drive over a bridge built by an engineer who took a couple of two week seminars instead of going to college for six years? Of course not. But you'll swear high and low that "anyone" can build, say, your company's enterprise database.
Fuck... What total and utter bullshit. This guy's a troll.
Most software jobs are not in software development for sale, but rather in internal applications development. In other words, software used within an organization -- custom software for their internal needs. This can be anything from glue to systems work. So open source doesn't really hurt anything. In fact, it makes it easier for applications programmers to do their job, by making it easier for them to understand how to work with software they acquire (use the source, luke!).
1. It's been written FOR business management types (it's in "Business 2.0", a management rag) so you can't expect it to say "The IT industry is now dead, because management has decided that what jobs aren't going to be outsourced are going to be replaced by H1-Bs". No, that would sound like BLAME, and what suit would ever accept any of that? Suits want to hear how they haven't really hurt anyone, and how they're running their companies well -- not how they're running them into the ground, regardless of which perspective is more accurate.
2. Remember that suits care about only one thing more than profits: P.R. and prestige. They're not going to pay for a magazine that makes their pet initiatives (outsourcing and layoffs, etc) look like bad ideas. They would be outraged if one of their favorite magazines took them to task for their decisions. So, this isn't going to happen.
3. Because this magazine is written FOR suits, BY suits, you can't expect it to NOT have tons of pro-suit propaganda. What sort of propaganda would a suit write up? Basically, stories like this one, about how H1-Bs, layoffs, and outsourcing really haven't hurt anyone and how everything is really just peachy. Gotta keep that consumer confidence up, even if you're going to put them out of their homes in a month or so, take away their livelihoods and ruin their lives. They might buy stuff in the meantime!
4. If the article was honest about how bad company policy has made things for people, it might -- gasp! -- influence politicians, who might -- double gasp! -- DO SOMETHING about the problem. Can't have that! So we've got to keep saying things are just fine.
Overall, this article was a puff-piece love-letter to American business. And, coming from this magazine, how can you expect anything else?
Well, actually, you're building a straw man based on your experience in corporate tech support, which is a totally invalid and inappropriate way to think about this. It shows that you didn't understand the situation I was describing at all.
Furthermore, knowing that I'm a programmer/analyst, it IS rude of you to ask, "Have you ever run an IT department" because you're not asking a question, you're making a statement: You're saying, "You don't know what you're talking about". That's rude even for Slashdot.
Most of this post just seems very arrogant and egotistical to me... Oh, you wouldn't take an IT management job unless they fall all over themselves kissing your butt with staff and money? Fine. I'll take fries with that, thanks, and hurry up with that coke or I'll snitch on you to your sixteen year old supervisor. Sheesh... Come back to reality! Even during the boom, tech support guys were considered a dime a dozen. You're not REALLY that impressed with yourself, are you?
But, leaving your attitide aside, let's address the point you tried to make. In setting up an apartment network, assuming we have a can-do attitude instead of your fuck-you attitude, what real challenges would there be?
First of all, you'd have to maintain a central server to act as a firewall and router for the complex. That would be completely under your control, and it would not allow physical access for anyone but you and the building manager. You would probably either set it up as a Wi-Fi hotspot (much more likely) or as the center of an ethernet LAN, in which case you would run cable to each of the apartments and give each one a wall jack. Your responsibility to each tenant would begin and end at providing that wall jack. Their PC is *THEIR* problem. If you use Wi-Fi you don't even have to run cable, or visit an apartment. Just give each tenant an information sheet telling them what settings to put on their Wi-Fi software, so they can get hooked up.
Note that individual tech support can be PURCHASED, but it doesn't come with the apartment.
Does this show you how silly your complaint is? Now, quit grandstanding about how terribly hard a tech-support job is and come back down to earth. Or, if you hate the idea so much, *don't do it*! Go sell flowers in the airport or something. I hear the krishnas are hiring...
It sure beats handing out fries at MacDonalds. Besides, it might be fun. Set up the core as Linux, run cable from your apartment building's central server to all the apartments (or use Wi-Fi), let people hook up whatever they want to the LAN, maybe set up some kind of groupware, so they can all talk to one another... It has potential.
I'm glad you turned out to be an American, and that you weren't basically saying Americans were uneducated... Actually I found most of your post fairly informative. Interesting stuff.
I agree with you about India's internal organization. I sure wouldn't want to be a part of that society. Interesting note: did you know that Indians consider ALL foreigners to be untouchables? That's you and me. Untouchables. Kind of eliminates any lingering desire to visit there, doesn't it?
I've worked with a lot of Indian H1-Bs, and out of all of those, I've only met one I thought was really competent. Most of the rest have been kind of so-so as programmers. I think that the hype about IIT is just pro-India propaganda. The Indian government has made no bones about its policy of aggressively pushing itself as the "back office of the world". There was even an article in Wired about it; the Indian government considers H1-Bs and outsourcing to be the best way to bring India out of poverty (at our expense of course). I feel that this is a sort of economic war, undeclared and ignored by the media. And, India isn't even trying to hide it. They BRAG about it in interviews!
I hope Sun totally gets reamed in this. If Sun were to cease to exist, I wouldn't weep one single, bitter tear. Die, Sun, Die.
How ironic! You claim that the person you're replying to is "typical of uneducated Americans". After all (rummaging in the CIA World Fact Book, http://www.cia.gov/cia/publications/factbook/) India has a literacy level around 56% for males, and 37% for females. The U.S. on the other hand, has a literacy level of 97% for both males AND females. So, uneducated Americans are far less typical than uneducated Indians.
You're welcome. I love clearing up these little misunderstandings...
I just realized I didn't answer the whole question... Sorry, ha ha, I'll add this one in.
I think that a core group of programmers will do what I did, i.e. get a good job in civil service or government and stay programmers until they retire. Others will gravitate back to academia, which works pretty well too. I think you can write off private industry; it's toast.
I think many programmers are going to end up doing all sorts of other work, mostly some variety of tech support at a much lower wage. It's what they know best, you know? So... Probably they'll gravitate towards community and local colleges, end up in the basement with the tech support team, keeping their network alive and hackerless. Some will end up doing programming for these institutions too.
There'll probably always be work at small offices, running cable and keeping the PCs running, but that'll be very low-wage. People might be able to work as a contractor, billing by the hour with a bunch of clients and a small pick-up or something, kind of like a landscaper but without the lawnmowers.
I don't know... Looks kind of bleak to me, but not hopeless.
Well... Actually you bring up a very interesting possibility. But it's not going to be any kind of corporate job; I think companies are going to make the interfaces for such devices very point-and-click. The actual programming is going to be done in the cheapest possible location (e.g. India, or malaysia, or someplace like that). However, human nature being what it is, most people will find themselves somewhat, ah, "challenged" in dealing with the devices. And, I don't think they'll be able to hack them without assistance. So...
I think there's a good possiblity that we could find grey-market work tinkering with and hacking devices like this for individuals. If we can acquire the right interface for doing actual programming on the device, we could theoretically replace a lot of the existing stuff on it with our own, and sell that too.
This kind of thing would be local, word-of-mouth stuff, like handyman jobs used to be. It's not as good as a *normal* programming job, but at least we won't starve.
Another possibility is, we could be able to trade LAN admin skills for free rent, building-manager style. Apartment complexes might start building up their own hotspots and such, and they'll need someone to handle the tech support. Handymen at complexes get free rent, so does the super, why not the tech guy? So you spend some time keeping hackers out, and replacing broken cables, etc. Could be cool.
Java sucks anyway, I'm using gcc and kdevelop!
DuckDuckBOOM said:
">You see, this isn't a social problem, it's an
>economic one.
And a political one. This is one of the few areas over which the Constitution explicitly gives Congress authority. Since they've rarely held back in regulating other areas of commerce over which they (arguably) have no authority whatsoever, one has to wonder why they're so reluctant to rein this one in..."
To which I reply:
There's no reason to wonder. They're bought and paid for by their corporate masters, who value profit over all and don't care WHAT happens to their community, as long as they can hide in their mansions and yachts.
They'll be the first ones up against the wall when the revolution comes.
I think you are basically optimistic in nature, whereas I am a sour pessimist. However, I can see why you would have your point of view, just as you can see where mine comes from. As I respect your view, I'm sure you'll understand and respect my opinion that this isn't merely a "pruning" but rather a plowing-under and asphalting over. In my opinion, it's pretty much over for IT in this country (except for civil service, academia, and government).
As far as many people working for dot-coms being overpaid, that wasn't true where I worked. I won't go into too many details, but I worked in software engineering at the time, and none of us were overpaid. I had one of the better salaries among my friends because some of my work was getting patented and it was making the company a lot of money, and even then I was only making 60K. I only got that because I threatened to quit -- the 45K they had been paying me was putting me into debt (I know from firsthand experience how expensive NYC is). So much for all those well-paid dot-com programmers, eh?
As for me, I got smart and moved far upstate. I work in civil service, now, and I'm in a strong union, so I have great benefits AND job security (remember job security?). I'm never going back to private industry... I'd go to BOCES and become a plumber first. And, yes, I am a real-live programmer (currently I'm building enterprise systems for my employer, and loving every minute of it -- you private industry guys have no idea how nicely a department can be run when your bosses aren't driven by greed).
Anyway, we'll agree to disagree. I really hope you don't find out firsthand how bad I think it's going to get. Honestly. It's going to get rough, and I don't think it's going to come back, ever. Ask the steel workers, or the auto workers, how things turned out for THEM. It's almost the same exact situation, played out in three different decades.
EastCoastSurfer said: "I think that the *real* programmers that you have talked about all write libraries now. These guys all have jobs at the tool makers like MS, Apple, etc..." (then he goes on to say that bosses want software engineers, not real programmers, and etc).
To which I reply:
Uhm, no. Companies do not want "software engineers"... They want outsourcing companies in India, and H1-Bs for the jobs that are still here. In case you haven't noticed, most programmers have been laid off, and the job market is at its worst state in decades. What jobs *are* available are generally for slave wages, with completely unreasonable and illogical minimum skill requirements. Want a laugh? Check out "fuckthatjob.com". It chronicles companies with the worst job placement ads, like companies that try to bill full-time programming jobs as "internships" (which, by the way is totally against the law, but no one seems to care).
You'd have to have been living under a rock to not be aware of this. Half the developers in NYC are probably close to their last unemployment check by now. The other half are sweating, with the axe over their heads. I'm guessing from your post that you're tucked away somewhere safe, and in deep denial about the state of our field.
Life sucks these days. The market for *real* programmers has been destroyed by corporate America. I feel like I'm extinct.
We should hold a national Irish Wake for the "real programmer". Everyone will be required to bring their favorite intoxicating beverage and at least one good music CD. The wake would last for a week, and we'd do our best to remain totally plotzed for the entire period.
Hmm... How about getting about a zillion of us and cram into Wall Street with as much alchohol, fast food, and music as we can carry? Imagine that: a million-drunk-programmer-march. We'd take Wall Street and hold it as long as we can (we wouldn't FIGHT the cops; we'd get 'em drunk and let 'em join the party). It'd be like woodstock, only rowdier.
Sigh... Now, THAT would be cool.
Max said: "XML is great for file formats. It's waaay better than binary formats. It's not as compact, but that is rarely an issue these days. Having a standard, structred, text-based, and editable-by-hand-when-necessary format is a godsend. Period."
I tend to agree. If you're going to store data in a flat file, it's a pretty good idea to set up an XML DTD for it, for a couple of reasons:
1. You can write up a stylesheet, and code a small viewer, so that you can peek at the data manually when you want to (and maybe even tweak it). Because of the way XML is set up, this is pretty easy to do.
2. XML is way easy to parse, especially if you are using a language with regexps. It just plain makes life easier.
I think the problem most people have is when they go beyond the basic idea of XML, i.e. a tagged file format for data files. It's all the weird extra tools that have been built up over the years that are making XML into a royal pain in the ass. Why do we need all these weird transformational tools? What's with all the parsing libraries? Why all this complexity? All you really need is the basic concept of it. Eecccch.
Sometimes I wonder whether the REAL industry behind things like XML is in selling you unnecessary courses and software.
Obviously all you know is C. It must be some kind of "geek pride" thing.
VB can be used to write some very complex client-server apps, which is really what VB is for. It integrates very nicely with databases using ADO and OLEDB, and makes it possible to write multi-tier database apps very, very quickly. The prototypical app here would be an n-tier app with web pages on a DMZ machine, dlls on internal machines, and a database backend (usually Oracle). The firewall guys set up the dlls so that only the website can access them, and in the dll, you only expose the specific interface you want to expose. If you do it correctly, it's very hard for someone to mess with your work.
Another nice feature is that VB is very nicely integrated with other services like email, Exchange Server services, and so on. Although some people like to use these capabilities to write virii and worms, the REST of us use them to write groupware.
Anyway, why the hell are you still writing in C? I thought Perl, Java, and PHP4 were the gold standard for web apps... Aren't you afraid of buffer overruns??? Lord knows half the system calls in C are vulnerable...
Hey! No fair picking on VB programmers! Our life is hard enough as it is, with the crappy syntax we've got to put up with, and the general flakiness of the language. Do you have any idea how hard it is to write something in VB that works well??? Or, worse, how hard it is to maintain something written by a novice VB person (usually something like a liberal arts major who just kind of floated into a programming position)??? Yeesh. You C++ and Java guys don't know how good you've got it. Show some sympathy!!!
God, I miss my Java days. Sigh... I keep telling myself, "It may be VB, but it pays the bills..."
In all seriousness, though...
The only people I help with computer-related problems are my mother and father, and possibly my sister, and then, ONLY on the weekends. My approach is, if something is seriously wrong with the computer, they turn off the power and I look into it on Saturday morning. Telephone tech support NEVER works... Unless you enjoy frustration, that is.
The nice thing is, this works out very comfortably. I can generally straighten out the problem without too much trouble, and they appreciate it. They're cool, they usually give me a beer, or some iced tea, etc, and it ends up being a pretty good time.
I think the main thing is, as long as no one tries to take advantage of you, it can stay friendly and be a relatively cool thing. It's all about mutual respect.