It’s How Everyone Builds It

  • AC 2007-11-15 14:52
    I'm working at a job like that right now...
  • Fisted? 2007-11-15 14:53
    For some reason the names Bill, Steve and Redmond come to mind.
  • Holy Roller 2007-11-15 14:54
    Geek Squad jobs are only occupied by the desperate - or - the totally incompetent.
    CAPTCHA: sanitarium (where I would be if I was forced to work at best Buy)
  • RH 2007-11-15 14:54
    Let's hope Garrett has acquired a *real* programmer job now that he's mastered PHP, VB6, and VB.NET all in a year.
  • Unixcorn 2007-11-15 15:05
    I think we have the same boss..."Don't overcomplicate things" is what I hear all the time. He cut his teeth on the green screen, central computer back in the day. He didn't have to deal with stateless, disconnected systems like we use today and unfortunately, his expectations can be somewhat unrealistic.But alas, he is the owner so I STFU and collect my money....
  • gabba 2007-11-15 15:08
    Where's the wtf? Sounds to me like everyone ended up happy.

    His boss ought to hire an H-1B programmer; he can point out that the going rate is $22k.
  • el jaybird 2007-11-15 15:08
    A team of complacent (not competent?) programmers for $30,000.

    Wow.
  • m0ffx 2007-11-15 15:09
    Submitter evidently doesn't need his boss. If he had any sense he'd have managed to slip his retaining copyright on his work past said boss, and could take his code and start his own business with it.
  • ParkinT 2007-11-15 15:09
    Garret's boss sounds like many of the salespeople I have supported. The attitude is, "don't confuse me with details, just GET SOMETHING I CAN DELIVER". And often it was already promised to the customer; without any consultation on who/how/when it could be built!
  • Rob 2007-11-15 15:09
    RH:
    Let's hope Garrett has acquired a *real* programmer job now that he's mastered PHP, VB6, and VB.NET all in a year.


    The sad thing is, is that he probably does have a "programmer" position somewhere, and he is probably providing the half-assed software he wrote back at the other place.

    Now I don't want to make assumptions about Garrett, or go on some sort of stupid rant, but this sort of thing really irritates me. I love how any sort of business will leap upon any sort of computer janitor that knows a little VB, and actually ENCOURAGE such a person's ego to the point where they think they're an actual developer. The name Pinocchio comes to mind: the doll that wanted to be a real boy, only in this case this such a person actually believes the lie he was told.

    Capcha: craaazy. No doubt.
  • guids? lol? seriously? 2007-11-15 15:12
    I had a boss just like that. They think awesome programmers are fine with making 25K. Hilarious.
  • KattMan 2007-11-15 15:19
    Rob:
    RH:
    Let's hope Garrett has acquired a *real* programmer job now that he's mastered PHP, VB6, and VB.NET all in a year.


    The sad thing is, is that he probably does have a "programmer" position somewhere, and he is probably providing the half-assed software he wrote back at the other place.

    Now I don't want to make assumptions about Garrett, or go on some sort of stupid rant, but this sort of thing really irritates me. I love how any sort of business will leap upon any sort of computer janitor that knows a little VB, and actually ENCOURAGE such a person's ego to the point where they think they're an actual developer. The name Pinocchio comes to mind: the doll that wanted to be a real boy, only in this case this such a person actually believes the lie he was told.

    Capcha: craaazy. No doubt.


    Yeah but I actually have hope for Garret. he questioned every decision yet he had the desire to do it right. He asked for training, he even asked for a senior developer to learn from. He has a lot of promise and with the right company that would be willing to let him take the necessary courses could be an excellent developer.
  • Bruce 2007-11-15 15:20
    "Not fully licensed"? After shafting a dedicated employee, it sounds as if that boss should be the subject of a BSA sponsored Polyp hunting party!
  • DavidN 2007-11-15 15:23
    An anti-spyware program that silently searches for and uploads log files? Extra irony bonus!
  • fzammetti 2007-11-15 15:31
    "While Garret isn’t too thrilled about the fact that he helped build a horrible anti-spyware program and helped launch a second-rate software outfit, at least he could now put “programmer” on his résumé."

    I can think of something else he can put on there: ACCOMPLICE.

    He knew the owner was doing something illegal using unlicensed software (whether licensing software is right or not in the first place0 and didn't just walk away after his half-a**ed attempts to stop it failed. He's now in the wrong too IMO. That doesn't even consider the other shady things that were going on!

    FYI, I left a job during my first few years of employment when I found out my boss was doing some naughty things... probably set my career back a good bit and certainly made life tough for a few months financially (it wasn't as easy to get a new job then as it is now), but it was the right thing to do, as it would have been for this guy. You can try and stop the activity from happening, or you can just walk away, but if you do anything else you become a party to it, which you can't ever do. I don't care how much you want the experience and are trying to break into an industry, right and wrong don't ever get outweighed by your desire to enhance your career, not if you have morals anyway.

    Come to think of it, he can also put wuss on his resume... anyone that lets themselves get pushed around and turned into essentially slave labor like that deserves whatever they get. It's of course HIS choice, which is fine by me, but I'm still calling him a wuss for it anyway. I'm as scared of losing my job as much as anyone, and I have a career I'm trying to advance too, but try and take too much of MY time away, especially when I'm not going to be properly compensated for it, and forget it, I'm going elsewhere, I don't care how much I want the job, it's not worth it. I also got fired from my first real job because my manager tried to get me to work very nearly the entire weekend one time after I'd put in long hours all week and I flat-out refused (of cource, being 18, I didn't do it in a respectful manner, which looking back is more likely why he fired me). And that's when I was hourly and got a TON of overtime pay, so it wasn't even as bad as this guy.
  • Rob 2007-11-15 15:32
    Yup, and that's why I didn't criticize Garrett specifically, just the thing I see too much of that follow the same lines. I will give him credit that he wanted to learn how to better himself, and that he kept telling his boss that it was a bad idea, etc.
  • Anonymously Yours 2007-11-15 15:34
    m0ffx:
    Submitter evidently doesn't need his boss. If he had any sense he'd have managed to slip his retaining copyright on his work past said boss, and could take his code and start his own business with it.
    Which piece of work, the multiple copyright-infringing anti-spyware program developed in an unlicensed IDE or the broken embarrassment developed in an unlicensed IDE that still haunts him to this day?

    ;)
  • AGould 2007-11-15 15:35
    KattMan:
    Rob:
    RH:
    Let's hope Garrett has acquired a *real* programmer job now that he's mastered PHP, VB6, and VB.NET all in a year.


    The sad thing is, is that he probably does have a "programmer" position somewhere, and he is probably providing the half-assed software he wrote back at the other place.

    Now I don't want to make assumptions about Garrett, or go on some sort of stupid rant, but this sort of thing really irritates me. I love how any sort of business will leap upon any sort of computer janitor that knows a little VB, and actually ENCOURAGE such a person's ego to the point where they think they're an actual developer. The name Pinocchio comes to mind: the doll that wanted to be a real boy, only in this case this such a person actually believes the lie he was told.

    Capcha: craaazy. No doubt.


    Yeah but I actually have hope for Garret. he questioned every decision yet he had the desire to do it right. He asked for training, he even asked for a senior developer to learn from. He has a lot of promise and with the right company that would be willing to let him take the necessary courses could be an excellent developer.


    Agreed - he knows what he doesn't know. He knows the code is bad, but it's the best he knows how to do, and he wants to learn to do it better. (As opposed to the people who don't know their code is bad, which I think is the OP's concern.)
    All he needs is time and training and he'll be at least OK.
  • Trask 2007-11-15 15:38
    That sounded like a very stressful situation for him to be in. I'm in a similar boat, but I'm still just a technician waiting for a chance to show off some programming skills to get that on my resume.
  • GeekMasta 2007-11-15 15:39
    While this may be true, I did work for the GeekSquad... however I was a prodigy in my own right. The desperate and totally incompetent actually come hand in hand, incompetent leads to desperation and desperate usually reflects lack of knowledge.

    I enjoyed my stay at the Geek Squad and being that I was making $15/hr without a college degree at the age of 21 I was quite happy until the remaining good workers at the GS were replaced with goons who said buzz words like "Computer" and "Windoze."

    It did lead to a successful job in the software industry and I don't regret it.... with that being said.... DO NOT TAKE YOUR COMPUTER THERE... they will rip you off :-D
  • b0b g0ats3 2007-11-15 16:01
    FIST!@!#!#@
  • moralityPolice 2007-11-15 16:02
    'at least he could now put “programmer” on his résumé.'

    Too bad he can't put "ethics" on there too.
  • bighusker 2007-11-15 16:11
    moralityPolice:
    'at least he could now put “programmer” on his résumé.'

    Too bad he can't put "ethics" on there too.


    Why would *anyone* write "ethics" on their resume?
  • Jon W 2007-11-15 16:18
    It takes 10 years to make a competent senior developer. Sounds like Garrett has 9 years to go.

    However, the real WTF is that Garrett didn't have the inter-personal skills to make his proposal to the owner without sounding like a complainer. It's more important to get things done, than to vent your own frustration (although I'm sometimes guilty of doing so, too).
  • IvyMike 2007-11-15 16:21
    And then Garrett called the BSA and reported the flagrant piracy violations, getting a cash reward in the process.
  • snoofle 2007-11-15 16:21
    In an ideal world, he would have walked away as soon as the manager insisted on using not-quite-legit software. Sometimes you don't have that luxury.

    Personally, I put up with it to a point (like porn, I can't define it but I know when someone has crossed the line), then get another job, then attempt to force the issue, and then walk out if they don't budge. I may change jobs more often than most folks, but my conscience is clear.
  • Cynic 2007-11-15 16:23
    bighusker:
    Why would *anyone* write "ethics" on their resume?

    Based on my experience, having "ethics" on your resume would greatly reduce your desirability to an employer...

    "OK, I need everyone in the department to request a 30-day free trial key, and forward the key to me. I need a year's worth of trial keys."
  • seymore15074 2007-11-15 16:32
    GeekMasta:

    I enjoyed my stay at the Geek Squad and being that I was making $15/hr without a college degree at the age of 21 I was quite happy until the remaining good workers at the GS were replaced with goons who said buzz words like "Computer" and "Windoze."


    Computer is one hell of a buzzword...
  • Vlad Patryshev 2007-11-15 16:52
    el jaybird:
    A team of complacent (not competent?) programmers for $30,000.

    Wow.


    I'm trying to figure out which country this could be... Mongolia? Tadjikistan? Not sure.
  • uhh 2007-11-15 16:59
    ethix? isn't that some kind of operating system?
  • Soviut 2007-11-15 17:23
    What I don't understand is why people tolerate this sort of thing. I put just as much responsibility on the employee to speak up and be heard as I do on an employer for fair treatment. If you're not being treated fairly, say so, and don't just go "oh, ok" when they tell you you're out of line. The "what can I do? he's my boss" remark is so defeatist is just begs the employer to keep walking all over that person.

    Sure, there are exceptions, but if these cheapskates/swindlers aren't made aware that they're brutally exploiting people, they'll go right on doing it.
  • RH 2007-11-15 17:39
    Rob:
    RH:
    Let's hope Garrett has acquired a *real* programmer job now that he's mastered PHP, VB6, and VB.NET all in a year.


    The sad thing is, is that he probably does have a "programmer" position somewhere, and he is probably providing the half-assed software he wrote back at the other place.

    Now I don't want to make assumptions about Garrett, or go on some sort of stupid rant, but this sort of thing really irritates me. I love how any sort of business will leap upon any sort of computer janitor that knows a little VB, and actually ENCOURAGE such a person's ego to the point where they think they're an actual developer. The name Pinocchio comes to mind: the doll that wanted to be a real boy, only in this case this such a person actually believes the lie he was told.

    Capcha: craaazy. No doubt.


    Yeah, but he seems like the type who's totally willing to learn and said that he is doing this in order to get his foot in the door to a real job. That indicates to me that he has the right mindset and can adapt to a good environment as much as a bad one.
  • Kozz 2007-11-15 17:43
    A sadly kind of familiar tactic. When you're a programmer with several respectable successes under your belt, expectations can become unreasonable.

    I've had many instances where I created valuable and innovative solutions to a client's needs. Afterwards, "the boss" (I've had more than one boss like this) decides that you can do anything. It's nice, at first, to think they've got so much faith in your abilities.

    But then they get another idea and say, "Let's do X." You say, "But that would require me learning FOO and BAR, and besides that, my college degree didn't have an emphasis on TCP/IP networks (etc). How much time do you really want to dedicate to this idea?"

    Then you're told that you're a quitter, a nay-sayer, being negative, and so on. YOU are the guy (or gal) with the education in the field and understand far better what challenges you'd be up against. When you express this to the boss, they seem only to demand that they're "right".

    Seriously, wtf?
  • m 2007-11-15 17:54
    I think Garrett did damned well with what he was given. It's damned hard to stand up to a owner especially when you have that 1 on 1 thing going on. Garrett's ethical lapses are FAR FAR less than the owners.

    I'd be mighty tempted to either make an anonymous call to some of those companies who are getting ripped off, or, explain to the owner that a severence package is required or phonecalls will be made.

    /is threatening to report illegal activity in exchange for money blackmail? what if you collect the money and still report it?
  • Franz Kafka 2007-11-15 18:24
    Jon W:
    It takes 10 years to make a competent senior developer. Sounds like Garrett has 9 years to go.

    However, the real WTF is that Garrett didn't have the inter-personal skills to make his proposal to the owner without sounding like a complainer. It's more important to get things done, than to vent your own frustration (although I'm sometimes guilty of doing so, too).


    Anyone who's willing to fire someone who wants more than $22k/yr after bringing in $200k isn't worth bothering with. learn to schmooze (and call the hospital up offering support) and cut the boss out.
  • Franz Kafka 2007-11-15 18:25
    m:

    /is threatening to report illegal activity in exchange for money blackmail? what if you collect the money and still report it?


    That's standard BOFH protocol.
  • Torajirou 2007-11-15 18:27
    Am I the only one to know that the preterit (and past perfect) for "to lead" is "led", and not "lead" ?

    goddammit, I'm not even an English speaker !
  • Sigivald 2007-11-15 18:32
    Jon W:


    However, the real WTF is that Garrett didn't have the inter-personal skills to make his proposal to the owner without sounding like a complainer.


    Alternatively, there are some people that take any attempt to get them to modify their position or activities as "complaints".

    Maybe Garrett has average or great skills and his boss was simply, well, a dick?


  • bighusker 2007-11-15 18:59
    Even if his boss was doing everything "by the book" and not operating illegally, there is absolutely no way I'd do all of that for $22,000/year (about $10.58/hour). I knew of internships that paid more than that in Omaha, Nebraska, which has a fairly low cost of living compared to the national average.

    $10.58/hour is probably a normal "salary" for an inexperienced bench technician in a small computer store, but if you start expecting an enterprise-level developer on top of that, then you're reaching absurd heights of WTF-ery. People need to stand up to these idiots and demand more money or find another job. I understand it can be a tough job market, but I can't imagine many people having trouble finding a job that paid at least that much.

    The most ridiculous salary I was ever offered was $25,000/year for a web developer position with experience in PHP, mySQL and Flash. I didn't think I'd see that one topped so easily, but this one wins handily. At least my crappy job offer came with a week's paid vacation and health insurance, and they didn't expect me to fix and sell PCs on the side. I'm guessing Garret wasn't so fortunate.
  • Steve 2007-11-15 19:00
    Unixcorn:
    I think we have the same boss..."Don't overcomplicate things" is what I hear all the time. He cut his teeth on the green screen, central computer back in the day. He didn't have to deal with stateless, disconnected systems like we use today and unfortunately, his expectations can be somewhat unrealistic.But alas, he is the owner so I STFU and collect my money....
    Of course, sometimes "don't overcomplicate things" is the way to go.

    I started my career in the middle 1960s on a computer that didn't even have an operating system -- the IBM 1620 -- and things have gone downhill (in the industry -- not my career) since then.
  • caffeinatedbacon 2007-11-15 19:52
    fzammetti:
    FYI, I left a job during my first few years of employment when I found out my boss was doing some naughty things...
    And Garret left his after one... wouldn't that be what you call 'better'?
  • dsharp 2007-11-15 19:54
    "He cut his teeth on the green screen, central computer back in the day. He didn't have to deal with stateless, disconnected systems like we use today and unfortunately, his expectations can be somewhat unrealistic"

    Actually many "green-screen" applications were completely stateless. CICS transactions are almost identical to web apps. The only difference is that web apps use the CGI protocol and CICS transaction use some other protocol.

    When you run a CICS transaction screen, it's not sitting there waiting for your input. It runs, sends the screen, and finishes. Then when the user hits the enter key, it restarts, reads the fields off the screen, processes, generates a response, sends the response, and ends, and so on and so forth.

    CICS and CGI apps so similar in fact that you could "webify" a CICS app with a simple gateway app that translates back and forth between CICS screen maps, and web pages.
  • Steve Parker 2007-11-15 20:45
    Because some of us value "ethics".

    Strange people we are, to be sure.

    CAPTCHA: ninjas
  • flukus 2007-11-15 20:46
    I'm always amazed there are so many people the would rather pirate Visual Studio than user one of the several arguably better IDEs/languages.

    If you don't want to pay the MS tax then use something else.
  • Anon Fred 2007-11-15 21:08
    http://attrition.org/errata/sec-co/foundstone-02.html

    "They've stolen pretty much everything when it comes to software," says a founding employee who asked not to be named. The company even cracked Microsoft's operating system, Windows XP, says Dan Kuykendall, a former Foundstone software engineer, "so you could install it on multiple computers without any problems." The founding employee estimates that only 5% of the software used at Foundstone was paid for. (Foundstone's lawyers say that only 5% was unlicensed and that the company has spent more than $1.5 million on software.) Foundstone also trained thousands of corporate and government security personnel on software that it duplicated in ways that avoided triggering license fees, according to Kurt Weiss, a training coordinator until last year, who says it was part of his job to copy software packages onto the drives of 40 laptops per class.
  • saywhat 2007-11-15 22:07
    Even more so conEven more so considering Visual Studio is free. Going out of your way to “pirate” something you can download for free doesn’t make much sense to me. But I agree that there are other better ide’s out there (Eclipse is my favorite ide).
  • eyespy 2007-11-15 22:12
    Visual Studio is not quite free. There are those lite versions downloadable from MS, but the full IDE is a pretty penny to purchase.
  • LTO_Moe 2007-11-15 22:32
    "Sure, there are exceptions, but if these cheapskates/swindlers aren't made aware that they're brutally exploiting people, they'll go right on doing it."

    What makes you think "these cheapskates/swindlers" are not already aware of it?

    There are four kinds of people in the world:

    1. Those who accept the brutal facts and look for solutions.

    2. Those who don't know the brutal facts, because they aren't paying attention.

    3. Those who refuse to acknowledge the brutal facts.

    4. Those who ARE the brutal facts and are busy manipulating those around them.

    It is very easy to manipulate/steal from someone by offering them the chance to earn money for doing what they love. Just look at the music industry.
  • Matt 2007-11-15 22:36
    The past tense of lead is led.
  • D5 2007-11-15 22:37
    saywhat:
    Even more so conEven more so considering Visual Studio is free. Going out of your way to “pirate” something you can download for free doesn’t make much sense to me. But I agree that there are other better ide’s out there (Eclipse is my favorite ide).


    Visual Studio free??? Where??? As for poking Garrett on not quitting after forced to basically rip-off software and work with basically pirated dev tools, well, when you live on your own, and there are few to none alternatives for job-switching, you just have to hang on. $22k/year might sound "low", but that's my salary, and its *high* compared to 90% of my peers. And I can relate to Garrett because, except for VB shite (which I have *never* touched, nor will as long as I live), I have had the same ugly experience.

    I worked in ... say ... Initech Solutions, while still a college student. It was a part-time job, as a "senior developer", the "senior" being that I was the only one with serious development experience... and the only one still in college. This was a job that gave me a whopping $3000/year salary. I was made to work into far murkier jobs, ethically speaking, than Garrett ever did. For companies that may have been even doing illegal stuff. The software made would not be illegal, but it would have "special" stuff in there to secretly alter data, and well, it was a financial application. Go figure, it smells like Enron.

    So why did I go for that? Having to pay the bills by myself, *including* college, well, you can't just throw away jobs. And no other job had the schedule constraints I required for college, or the income. So I stuck there until the last minute. Fortunately, I no longer have to deal with that kind of stuff anymore. But I can understand anyone in my position, you can't just quit without having a job waiting for you.

    Oh, and I've also been victim of "he can do it all" syndrome. Imagine my face when I was told that I had to build a fingerprint-recognition software *in two weeks*. Oops!
  • Your.Master 2007-11-15 22:48
    D5:
    Visual Studio free??? Where???


    http://msdn2.microsoft.com/en-us/express/default.aspx

    Visual Studio 2005 Express editions for free, as well as the Beta 2's of VS2008 Express.
  • xtremezone 2007-11-15 23:15
    flukus:
    I'm always amazed there are so many people the would rather pirate Visual Studio than user one of the several arguably better IDEs/languages.

    If you don't want to pay the MS tax then use something else.

    That's not arguable. Visual Studio is the best IDE I've ever seen or used (Code::Blocks, Eclipse, KDevelop, NetBeans, others not even worth mentioning). There may be a better IDE out there, but I doubt it (and if there is it's probably not free). Besides, with the Express Editions many can use it legally for free.
  • imMute 2007-11-15 23:31
    "Fix this or I report it" is not blackmail.
    "Give me money (or give _me_ something) or I report it" __IS__ blackmail, and just as illegal.
    Its not blackmail if you do not gain anything (although I think the law generally means money) from it.

    m:
    I think Garrett did damned well with what he was given. It's damned hard to stand up to a owner especially when you have that 1 on 1 thing going on. Garrett's ethical lapses are FAR FAR less than the owners.

    I'd be mighty tempted to either make an anonymous call to some of those companies who are getting ripped off, or, explain to the owner that a severence package is required or phonecalls will be made.

    /is threatening to report illegal activity in exchange for money blackmail? what if you collect the money and still report it?
  • Jean Naimard 2007-11-15 23:57
    What a fucking sucker.
  • Raj Desipapi 2007-11-16 00:30
    I thought *everyone* was a programmer. I know all my employees are great programmers. When I say black font on a black background, they do it pronto, no questions asked. When I tell them to use flat text files instead of linked SQL Servers to do a data migration, they do it -- no questions asked. That is because, I too, am a programmer, architect, software engineer, business process expert, and manager...ALL rolled into one. Do you know me?
  • Keith 2007-11-16 00:48
    But... Since when do ethics have anything to do with following the law?
  • cheese 2007-11-16 00:51
    An even funnier thing are people who have to go to school for this crap and end up with this HUGE chip on their shoulder because they are under the impression it's a real science and they are actually engineers so they spend all their free time making themselves feel better at the people who didn't need school to learn BASIC LOGIC.And then as a last resort they complain about run-on sentences.....
  • cheese 2007-11-16 00:54
    oh BS you made this crap up

    D5:
    saywhat:
    Even more so conEven more so considering Visual Studio is free. Going out of your way to “pirate” something you can download for free doesn’t make much sense to me. But I agree that there are other better ide’s out there (Eclipse is my favorite ide).


    Visual Studio free??? Where??? As for poking Garrett on not quitting after forced to basically rip-off software and work with basically pirated dev tools, well, when you live on your own, and there are few to none alternatives for job-switching, you just have to hang on. $22k/year might sound "low", but that's my salary, and its *high* compared to 90% of my peers. And I can relate to Garrett because, except for VB shite (which I have *never* touched, nor will as long as I live), I have had the same ugly experience.

    I worked in ... say ... Initech Solutions, while still a college student. It was a part-time job, as a "senior developer", the "senior" being that I was the only one with serious development experience... and the only one still in college. This was a job that gave me a whopping $3000/year salary. I was made to work into far murkier jobs, ethically speaking, than Garrett ever did. For companies that may have been even doing illegal stuff. The software made would not be illegal, but it would have "special" stuff in there to secretly alter data, and well, it was a financial application. Go figure, it smells like Enron.

    So why did I go for that? Having to pay the bills by myself, *including* college, well, you can't just throw away jobs. And no other job had the schedule constraints I required for college, or the income. So I stuck there until the last minute. Fortunately, I no longer have to deal with that kind of stuff anymore. But I can understand anyone in my position, you can't just quit without having a job waiting for you.

    Oh, and I've also been victim of "he can do it all" syndrome. Imagine my face when I was told that I had to build a fingerprint-recognition software *in two weeks*. Oops!
  • Mr Right 2007-11-16 01:28
    oh BS you made this crap up

    Yeah dude, you totally photoshopped that story.
  • Sam 2007-11-16 01:53
    eyespy:
    Visual Studio is not quite free. There are those lite versions downloadable from MS, but the full IDE is a pretty penny to purchase.

    $670 from Amazon for Microsoft Visual Studio Professional 2005 (http://www.amazon.com/Microsoft-Visual-Studio-Professional-2005/dp/B000BTA4LU/) A pretty penny? Perhaps--around the same cost as a low end workstation, monitor, and commercial OS. But hell, if you don't want to buy it, don't use it.
  • D5 2007-11-16 02:13
    Agh. I forgot there was an "express" edition. Though its crippled so you can't use most of the API's, isn't it?

    The story ain't made up. I've seen ugly stuff, and lots of stuff of truly WTF material. Websites using Access as backend. Developers that can't tell the difference between Java and Javascript. Dudes asking us to blatantly reverse-engineer financial software. I'd go on but I'm sleepy right now...

    As much as Visual Studio might be good, KDevelop looks quite right for me, and it interacts with CVS, unlike VS that insists on me using the god-awful Visual SourceSafe. IBM's VisualAge was fairly decent, haven't checked out Eclipse; and I currently use NetBeans though almost any Java IDE suffers from memory hogging. Ugh! Can't Sun implement free() inside its VM? I hate ending up with 1024+Mb processes!!!
  • rawr 2007-11-16 02:19
    Keith:
    But... Since when do ethics have anything to do with following the law?


    They are related in that if you have one, dont deal with the other. ;)
  • Tom_fan_DK 2007-11-16 02:30
    dsharp:
    "He cut his teeth on the green screen, central computer back in the day. He didn't have to deal with stateless, disconnected systems like we use today and unfortunately, his expectations can be somewhat unrealistic"

    Actually many "green-screen" applications were completely stateless. CICS transactions are almost identical to web apps. The only difference is that web apps use the CGI protocol and CICS transaction use some other protocol.

    When you run a CICS transaction screen, it's not sitting there waiting for your input. It runs, sends the screen, and finishes. Then when the user hits the enter key, it restarts, reads the fields off the screen, processes, generates a response, sends the response, and ends, and so on and so forth.

    CICS and CGI apps so similar in fact that you could "webify" a CICS app with a simple gateway app that translates back and forth between CICS screen maps, and web pages.


    Well said chap! I something that I keep telling to young guys that think that the web stuff is so new and cool!
    Is the same old crap + annoying CAPTCHAs... ;-)
  • Your.Master 2007-11-16 02:46
    cheese:
    An even funnier thing are people who have to go to school for this crap and end up with this HUGE chip on their shoulder because they are under the impression it's a real science and they are actually engineers so they spend all their free time making themselves feel better at the people who didn't need school to learn BASIC LOGIC.And then as a last resort they complain about run-on sentences.....


    Who has a chip on his shoulder?
  • Disgruntled Postal Worker 2007-11-16 03:11
    Rob:
    RH:
    Let's hope Garrett has acquired a *real* programmer job now that he's mastered PHP, VB6, and VB.NET all in a year.


    The sad thing is, is that he probably does have a "programmer" position somewhere, and he is probably providing the half-assed software he wrote back at the other place.

    Now I don't want to make assumptions about Garrett, or go on some sort of stupid rant, but this sort of thing really irritates me. I love how any sort of business will leap upon any sort of computer janitor that knows a little VB, and actually ENCOURAGE such a person's ego to the point where they think they're an actual developer. The name Pinocchio comes to mind: the doll that wanted to be a real boy, only in this case this such a person actually believes the lie he was told.

    Capcha: craaazy. No doubt.


    What is so special about being able to put "programmer" on your resume?

    "Programmer" is hardly a prestigious job title, it's more of an entry position for people who don't have a life yet and not much work experience. People who are still a "programmer" past their mid- to late twenties show a lack of potential.

  • David 2007-11-16 03:37
    My first job was also somewhat like that - producing VB software for some South African fly-by-night operation - subcontracted to an American fly-by-night operation. Our specs were "make some kind of strategy tool" we used "not entirely licensed" VB.

    The company that bought the software was Enron - go figure.

    Now I'm doing open source web based data warehousing, And all three of the aforementioned companies are out of business.
  • parser 2007-11-16 05:00
    Vlad Patryshev:
    el jaybird:
    A team of complacent (not competent?) programmers for $30,000.

    Wow.


    I'm trying to figure out which country this could be... Mongolia? Tadjikistan? Not sure.


    With the current free-fall of the dollar comparisons are a bit hard to make, but 2500e is a fairly decent pay in Finland, and we're not exactly a third-world country.
  • parser 2007-11-16 05:04
    Raj Desipapi:
    I thought *everyone* was a programmer. I know all my employees are great programmers. When I say black font on a black background, they do it pronto, no questions asked. When I tell them to use flat text files instead of linked SQL Servers to do a data migration, they do it -- no questions asked. That is because, I too, am a programmer, architect, software engineer, business process expert, and manager...ALL rolled into one. Do you know me?


    Yes. Micro-managing manager who thinks he knows as well, or most likely better than his underlings. A real pain.
  • Fadzlan 2007-11-16 05:15
    LTO_Moe:

    It is very easy to manipulate/steal from someone by offering them the chance to earn money for doing what they love. Just look at the music industry.


    Bingo!!

    I was like that 6 years ago. Its not that I don't know that the boss is abusive. Its not that I don't know that I can get another job should I look for it. It's just the fact that being young, relatively new to the scene, I just have this high amount energy to burned, with no perception of limitation.

    Anything that goes in between will translates to something like, "I can deal with this", "Maybe I can just give extra hours", "Maybe I should learn something, like communications... etc, then I can actually handle this".

    That said, it led me to improve myself up to a point that I realized, that even if I sell my soul, it wont make things better. Not until boss is willing to give extra resources(or whatever the limiting factor is).

    Another thing is that, for new budding programmers who love his/her trade, his/her motivation for any decision might be on the interest of the project, not on personal interest, because the project _is_ their interest. You can say they don't have a life, well, they'll learn that in due time.

    Conversely, for any other people out there, they perceive that people make decision on their interest, and rightly so. Applying this equation to a boss who doesn't have a spec of idea of what his programmers are doing, it does not bode well. Since he doesn't know what his programmer is doing, he feels he can easily be taken advantage of, as the programmers may suggest something to their advantage.

    The way most of that kind of people handle this is well, push the button and read the emotional(or whatever) signals that they can actually understand. That my friend, is the common way normal loving people can be terribly abusive when it comes to that (at least that I know of).

    Unfortunately, to deal with this kind of people is to scream bloody murder every time they suggest something astronomical. Which may lead to your firing, which is too bad. Well, maybe not so bad after all.
  • Pleegwat 2007-11-16 05:31
    parser:
    Vlad Patryshev:
    el jaybird:
    A team of complacent (not competent?) programmers for $30,000.

    Wow.


    I'm trying to figure out which country this could be... Mongolia? Tadjikistan? Not sure.


    With the current free-fall of the dollar comparisons are a bit hard to make, but 2500e is a fairly decent pay in Finland, and we're not exactly a third-world country.


    I assume that 2500 euro figure is per month? I think the tens of thousands of dollars figures are per year.
  • Thera 2007-11-16 05:58
    ParkinT:
    Garret's boss sounds like many of the salespeople I have supported. The attitude is, "don't confuse me with details, just GET SOMETHING I CAN DELIVER". And often it was already promised to the customer; without any consultation on who/how/when it could be built!

    Oh yeah, so familiar too :-|
  • Taz 2007-11-16 07:22
    parser:

    With the current free-fall of the dollar comparisons are a bit hard to make, but 2500e is a fairly decent pay in Finland, and we're not exactly a third-world country.


    At the end, it all comes down to cost of living. Garbage collectors here in Switzerland make about that salary/month. Then, they're paid fairly well since hardly anybody wants to do that job.

    But as an experienced developer, I'd make more in drawing unemployment.
  • Grant D. Noir 2007-11-16 07:45
    guids? lol? seriously?:
    I had a boss just like that. They think awesome programmers are fine with making 25K. Hilarious.


    If you pay peanuts, you get monkeys.
  • rumpelstiltskin 2007-11-16 07:48
    cheese:
    An even funnier thing are people who have to go to school for this crap and end up with this HUGE chip on their shoulder because they are under the impression it's a real science and they are actually engineers so they spend all their free time making themselves feel better at the people who didn't need school to learn BASIC LOGIC.And then as a last resort they complain about run-on sentences.....


    Even funnier than that are people too dumb to even get into college, or get a scholarship to pay for it, who think that because they understand an IF statement they are as good as me.
    You're not. If what you're coding is "basic logic", then that's because your boss has deemed you unfit for serious programming work.
    Furthermore, if you can't compose a proper sentence, it's because you can't think a proper thought. We're not complaining about your grammar; we're complaining that you've wasted our time with your incoherent drivel.
    I spilled some coffee in the parking lot. Go clean it up.
  • Jurgen 2007-11-16 07:56
    imMute:
    "Fix this or I report it" is not blackmail.
    "Give me money (or give _me_ something) or I report it" __IS__ blackmail, and just as illegal.
    Its not blackmail if you do not gain anything (although I think the law generally means money) from it.


    Time is money.

    Captcha: onomatopoeia (blegh)
  • The Programmer 2007-11-16 08:21
    I have a boss kind of like this at the moment too, in terms of "can we build an invoicing system in two weeks". I deal with it thusly:


    Boss: "Can we build this in two weeks"
    Me: "No, more like four months"
    Boss: "But it's really simple, all you do is blah blah"
    Me: "Ok, two weeks"

    This actually works because you're agreeing with your boss. However later you have to use some other techniques to evade blame.


    Boss: "Is it done yet"
    Me: "No, it's taking longer than we anticipated, it'll be done tomorrow"
    Boss: "Is it done yet"
    Me: "No, it's taking longer than we anticipated, it'll be done tomorrow"

    This has one drawback - from now on, whenever a new project is made up you'll be told to make it using an existing project as a base, eg. an online store out of an rss feed generator or vice versa. This can add time to the project as windows has to calculate how long deleting the unneeded files will take.


    Boss: "This thing is broken and a client is complaining."
    Me: "I disabled it because you said it was deleting things from the database. I'll fix it when I've finished all the other tasks."

    This is very useful if the boss likes to break the data and blame your code.


    Boss: "I need feature X."
    Me: "Ok, here is the feature."
    Boss: "This is not feature Y."
    Me: "You asked for Z."
    Boss: "No, that's not what I meant."

    This actually works because the boss takes part responsibility for communication issues. You need to prime this first however, with "what does that actually mean?" and "can you give me written specifications?".


  • TheRubyWarlock 2007-11-16 08:27
    The worst of the WTFs in this story (for there are many) is that the poor guy was FIRED a day after asking for a raise at his yearly review!
  • Shial 2007-11-16 08:33
    D5:
    Agh. I forgot there was an "express" edition. Though its crippled so you can't use most of the API's, isn't it?


    I don't believe the APIs are crippled at all. The limitations are lack of x64 compilers, more limited plug-in support, working with local databases and the deployment tools that are supplied.

    But given its aimed at individual developers and not at software teams or companies they work quite well.
  • Phil 2007-11-16 08:39
    Oh wow, I just left a job exactly like that
  • some_cynic 2007-11-16 08:52
    Yeah, it would be a real hindrance to getting, say, a sales position.
  • KenW 2007-11-16 09:14
    David :
    My first job was also somewhat like that - producing VB software for some South African fly-by-night operation - subcontracted to an American fly-by-night operation. Our specs were "make some kind of strategy tool" we used "not entirely licensed" VB.

    The company that bought the software was Enron - go figure.



    BS. Enron didn't buy software out of SA. They developed everything internally, and what wasn't done by Enron's own software was done in Excel.
  • Jason 2007-11-16 09:57
    ... or U238

    http://en.wikipedia.org/wiki/Uranium-238#Radioactivity_and_decay

  • Random832 2007-11-16 10:09
    m:
    /is threatening to report illegal activity in exchange for money blackmail? what if you collect the money and still report it?


    The definition of blackmail is threatening to do something that would be legal if it weren't being used as a threat. The term doesn't apply if what is being threatened is illegal; that's extortion.

    (I'm not a lawyer, but you didn't really think I was anyway)
  • KattMan 2007-11-16 10:37
    rumpelstiltskin:
    cheese:
    An even funnier thing are people who have to go to school for this crap and end up with this HUGE chip on their shoulder because they are under the impression it's a real science and they are actually engineers so they spend all their free time making themselves feel better at the people who didn't need school to learn BASIC LOGIC.And then as a last resort they complain about run-on sentences.....


    Even funnier than that are people too dumb to even get into college, or get a scholarship to pay for it, who think that because they understand an IF statement they are as good as me.
    You're not. If what you're coding is "basic logic", then that's because your boss has deemed you unfit for serious programming work.
    Furthermore, if you can't compose a proper sentence, it's because you can't think a proper thought. We're not complaining about your grammar; we're complaining that you've wasted our time with your incoherent drivel.
    I spilled some coffee in the parking lot. Go clean it up.


    And even funnier still are the college educated that think their education really means something after the first few years. In our field, that college degree only prepares you to start programming, it does not make you a good programmer in practice.
    When I started 15 years ago, everything I learned then is nearly useless now. The only things my education is still valid for is basic theory and that could have been learned on the job.
  • umm... 2007-11-16 11:11
    I'd hazard that the only thing 'rumpelstiltskin' took away from school was a deep-seated entitlement mentality. See, he's paid his dues, now he's owed a job. I wouldn't hire him, no matter what kind of schooling, if I detected the attitude displayed in his post.



  • dlikhten 2007-11-16 11:21
    I would instantly blackmail. I would still be in the store when I make the phonecall. I would make sure that I got paid 22,000 yearly salary for life for the service of "keeping yer mouth shut" or else Microsoft would get a mysterious phone call about some dude who is ripping money off from little ol' MS!
  • FredSaw 2007-11-16 11:22
    KattMan:
    When I started 15 years ago, everything I learned then is nearly useless now. The only things my education is still valid for is basic theory and that could have been learned on the job.
    Absolute amen to that. Classic example: my Data Structures class, circa 1994, had a textbook with examples in Pascal, but the professor chose to teach it in C++. The book was used for teaching, but the language its author chose was already on its way out. In my advanced C++ class, the prof told us, "Get the Borland compiler for DOS. Don't bother with that Windows crap." Good advice, there, chief; thanks for the perceptive guidance.
  • Patrick 2007-11-16 11:29
    Jon W:
    It takes 10 years to make a competent senior developer. Sounds like Garrett has 9 years to go.

    However, the real WTF is that Garrett didn't have the inter-personal skills to make his proposal to the owner without sounding like a complainer. It's more important to get things done, than to vent your own frustration (although I'm sometimes guilty of doing so, too).


    You could also spend 10 years doing the same thing and not keeping up with any new technologies, not that anybody should jump on every single new technology, but at least keeping up with what is common development practice.
  • Matthew 2007-11-16 11:38
    Rob:
    The sad thing is, is that he probably does have a "programmer" position somewhere, and he is probably providing the half-assed software he wrote back at the other place.

    Now I don't want to make assumptions about Garrett, or go on some sort of stupid rant, but this sort of thing really irritates me. I love how any sort of business will leap upon any sort of computer janitor that knows a little VB, and actually ENCOURAGE such a person's ego to the point where they think they're an actual developer. The name Pinocchio comes to mind: the doll that wanted to be a real boy, only in this case this such a person actually believes the lie he was told.


    To be fair to Garrett, it didn't sound like he was particularly proud of his work (except for maybe the original PHP thing, which may very well have been a good program.. for what it was. Could be that he'll get a Jr. Programmer job somewhere and get a taste of what a real development environment is like, and learn. Sounds like he at least bright enough and motivated enough to learn multiple programming languages on his own. Imagine what could be done with a little, you know, training or even a degree.

    Really, the only person who deserves scorn here is the owner. Garrett was just an innocent victim who was perhaps just a little too deparate for a job.
  • Edward Royce 2007-11-16 12:18
    Hmmm.

    1. If you need a programming job on your resume to get a *better* programming job, then you do what you have to. Anybody that doesn't understand this is a dick.


    2. You went to college? Congrats!
    You didn't go to college? Congrats!

    You don't give a flying fuck whether some internet stranger that you'll never meet in person went, or didn't, to college?

    Double-congrats!


    3. *shrug* I started programming on a TRS-80 Mod I in assembler and wrote POS, that's Point of Sale not Piece of Shit, applications in it.

    Do you care? I hope not since it's utterly irrelevant and I included it just to swing my coder-wang in public.

    Schwinng!

    And I too didn't attend college for computer science. Does it matter?

    *shrug* only if you're applying for a job with a company that insists on you having a college degree.

    No tickee, no shirtee.


    4. Does any of this matter to you?

    Hey as long as I'm amused, who cares?
  • rumpelstiltskin 2007-11-16 12:43
    KattMan:
    rumpelstiltskin:
    cheese:
    An even funnier thing are people who have to go to school for this crap and end up with this HUGE chip on their shoulder because they are under the impression it's a real science and they are actually engineers so they spend all their free time making themselves feel better at the people who didn't need school to learn BASIC LOGIC.And then as a last resort they complain about run-on sentences.....


    Even funnier than that are people too dumb to even get into college, or get a scholarship to pay for it, who think that because they understand an IF statement they are as good as me.
    You're not. If what you're coding is "basic logic", then that's because your boss has deemed you unfit for serious programming work.
    Furthermore, if you can't compose a proper sentence, it's because you can't think a proper thought. We're not complaining about your grammar; we're complaining that you've wasted our time with your incoherent drivel.
    I spilled some coffee in the parking lot. Go clean it up.


    And even funnier still are the college educated that think their education really means something after the first few years. In our field, that college degree only prepares you to start programming, it does not make you a good programmer in practice.
    When I started 15 years ago, everything I learned then is nearly useless now. The only things my education is still valid for is basic theory and that could have been learned on the job.


    If you find yourself saying "Everything I learned in college is useless to me now", then you didn't go to college.
    You went to trade school, and have discovered that the tools of your trade have changed.

  • KattMan 2007-11-16 13:12
    rumpelstiltskin:


    If you find yourself saying "Everything I learned in college is useless to me now", then you didn't go to college.
    You went to trade school, and have discovered that the tools of your trade have changed.



    And you couldn't be more wrong. Colleges teach using the tools of the time, note I said the theory is still useful. All the tools have changed, my training in COBOL and RPG us useless but the theory I learned while being taught those languages still applies. The accounting I took, I never use. The higher math I took, since I write business applications, gets used rarely.

    It's not so much that the tools have changed, but the work we do as corporate staff does not truly require all the things you use in college and a lot of what you learned is never used.

    The real learning actually comes after college, when you are presented with a unique problem and you fall back on the theory you know and your own ability to think abstractly to solve that problem. This is something you can achieve without even going to a trade school.

    As I said before, your college education should only be a factor for the first few years. If you think it should accord you with any other rights or privileges you are part of the problem. A piece of paper means nothing if you can't actually do the work, and someone that can do the work does not need that piece of paper.

    If you are still talking about a degree you earned 10 or 15 years ago as one of your accomplishments then you really haven't done anything to advance yourself in those 10 or 15 years. The tools change, even the methodologies change. Object oriented development has not been taught forever, and this even changed some applied theory in CS.
  • Mafioso 2007-11-16 13:12
    I always thought extortion had to be threat of physical violence.

    So:

    "Pay me xxx or I'll call the BSA/MS and report you for using illegal software" == Blackmail
    "Pay me xxx or I'll beat up your wife and dog" == Extortion
    "You fired me because you're a cheap fuck, so I'm calling the BSA/MS to report you for using illegal software as payback" == Perfectly Legal
  • Salami 2007-11-16 13:34
    The key to a College education is to go work for a place that values it. If you got a degree from a top school like UC Berkeley, you need to seek out a job where the degree is valued. You don't go work for fly-by-night scmuck who is looking to get rich off your crappy programming. But if you get a job at a decent company, they will say "This guy has potential. Let's train him and give him a little time, then he will be a valuable employee."

    If you don't have a degree, then you have to scramble.

    I pretty much agree with the 10 years it takes to become more than competent. The first year or two is just a blur, where every project is new, you have no clue how long anything will make, you make a ton of mistakes and then working long hours to get things to work. Then you spend a couple of years learning some shortcuts and you start seeing patterns in the projects. But now, you worry that you are doing things the "right way" and not just "getting the code to work". Then a few years later, you realize that the way you code is good enough, and that it is worth it to have 95% clean code and 5% hack job, because to get rid of the last 5% will require a huge effort. Then the 9th and 10th years you have seen everything, coded everything, seen fads come and go, and you don't worry about style, you know that when you are given specs that they will change 16 times, and you don't ever estimate 2 weeks unless you think it will be 2 days. When you hear of a bug, you know what the problem is or where to look for it right away. You know what mistakes junior programmers will make before they make them (like: "I didn't test it because there is no way a change in this module will affect that module.")



  • KattMan 2007-11-16 13:47
    Salami:
    The key to a College education is to go work for a place that values it. If you got a degree from a top school like UC Berkeley, you need to seek out a job where the degree is valued. You don't go work for fly-by-night scmuck who is looking to get rich off your crappy programming. But if you get a job at a decent company, they will say "This guy has potential. Let's train him and give him a little time, then he will be a valuable employee."

    If you don't have a degree, then you have to scramble.

    I pretty much agree with the 10 years it takes to become more than competent. The first year or two is just a blur, where every project is new, you have no clue how long anything will make, you make a ton of mistakes and then working long hours to get things to work. Then you spend a couple of years learning some shortcuts and you start seeing patterns in the projects. But now, you worry that you are doing things the "right way" and not just "getting the code to work". Then a few years later, you realize that the way you code is good enough, and that it is worth it to have 95% clean code and 5% hack job, because to get rid of the last 5% will require a huge effort. Then the 9th and 10th years you have seen everything, coded everything, seen fads come and go, and you don't worry about style, you know that when you are given specs that they will change 16 times, and you don't ever estimate 2 weeks unless you think it will be 2 days. When you hear of a bug, you know what the problem is or where to look for it right away. You know what mistakes junior programmers will make before they make them (like: "I didn't test it because there is no way a change in this module will affect that module.")





    You post explains my point perfectly. The things you know and make you valuable after 10 years in the industry are not your college education but rather those things you learned afterwards. Your experience by that time is far more valuable then the degree you earned many years prior.

    If you haven't learned any of those things in the years you have been programming then a 10 year old degree isn't going to help you. You can also learn those things without first having that degree, but it is so much easier to get started in this field with one.

    Yes in the beginning the degree is worth it, get one by all means, but do not rely on that piece of paper for the rest of your career. The "I have a degree so I must be smarter than you" people only work to piss off those that really are smarter, degree or not.
  • Eryn 2007-11-16 14:52
    KenW:
    David :
    My first job was also somewhat like that - producing VB software for some South African fly-by-night operation - subcontracted to an American fly-by-night operation. Our specs were "make some kind of strategy tool" we used "not entirely licensed" VB.

    The company that bought the software was Enron - go figure.



    BS. Enron didn't buy software out of SA. They developed everything internally, and what wasn't done by Enron's own software was done in Excel.

    ja, pls keep SA out of this, we're lean mean developing machines, have a place on the software map and our northern hemisphere counterparts love us. fly by night... <scoff> on a business.
  • dsharp 2007-11-16 15:05
    Tom_fan_DK:


    Well said chap! I something that I keep telling to young guys that think that the web stuff is so new and cool!
    Is the same old crap + annoying CAPTCHAs... ;-)


    Hey! I'm still a young guy... I think. Or is 34 old now?

    :D
  • Anon Fred 2007-11-16 15:05
    Listen folks,

    I got a Bachelor's Degree and a Master's Degree in EECS from MIT ten years ago. I've worked in software development since then. Some observations:

    1. Some of the best people I've worked with didn't have any kind of degree.

    2. The very very best do have degrees.

    3. The bigger the chip on someone's shoulder about their awesome degree, the less impressive the degree is.

    4. A good college education is timeless.

    5. I've met people with degrees I'd never hire.

    6. Even a few from MIT. When I see "MIT" on a resume, I don't automatically hire them. I do, however, ask a very different set of questions. When asked "how long does it take to sort a list?" they better give an answer at least as good as "n log n" within ten seconds.
  • KattMan 2007-11-16 15:16
    Anon Fred:

    2. The very very best do have degrees.


    You observations are very anecdotal but reading them you bring up questions about number 2.
    Are these people the very very best because they have degrees, or do they have degrees because they got tired of fighting it and simply got one in order to achieve the respect they rightly deserve, or did their passion lead them to keep going for more education and they ended up with a degree by default.

    Keep in mind, I never said having a degree is bad. I only say that just because you have one doesn't make you a good programmer and the lack of one does not make you a bad one.
  • Beau "Porpus" Wilkinson 2007-11-16 15:37
    Raj Desipapi:
    I thought *everyone* was a programmer. I know all my employees are great programmers. When I say black font on a black background, they do it pronto, no questions asked. When I tell them to use flat text files instead of linked SQL Servers to do a data migration, they do it -- no questions asked. That is because, I too, am a programmer, architect, software engineer, business process expert, and manager...ALL rolled into one. Do you know me?


    Yes. By the way, I will be about 30min late Monday.
  • jayh 2007-11-16 15:53
    No that was probably the best thing that could have happened to him. Sometimes it's hard to actually leave a bad situation (job, marriage, whatever) and the extra bump is a blessing.
  • Robert S. Robbins 2007-11-16 16:11
    guids? lol? seriously?:
    I had a boss just like that. They think awesome programmers are fine with making 25K. Hilarious.


    That is about how much I make although I am not an "awesome programmer".
  • unregistered 2007-11-16 17:15
    bighusker:
    moralityPolice:
    'at least he could now put “programmer” on his résumé.'

    Too bad he can't put "ethics" on there too.


    Why would *anyone* write "ethics" on their resume?


    I saw a CAPTCHA today, and it read "MORON." I thought of you.
  • Aquatoad 2007-11-16 17:56
    Anon Fred:

    1. Some of the best people I've worked with didn't have any kind of degree.
    2. The very very best do have degrees.
    3. The bigger the chip on someone's shoulder about their awesome degree, the less impressive the degree is.
    4. A good college education is timeless.
    5. I've met people with degrees I'd never hire.


    QFT. The simple fact is that the degree indicates a higher likelihood that the candidate has a good grounding in computational theory and understands the high-level concepts.
  • Miles Archer 2007-11-16 17:57
    No english speaker would know what preterit or past perfect means.
  • real_aardvark 2007-11-16 20:24
    dsharp:
    "He cut his teeth on the green screen, central computer back in the day. He didn't have to deal with stateless, disconnected systems like we use today and unfortunately, his expectations can be somewhat unrealistic"

    Actually many "green-screen" applications were completely stateless. CICS transactions are almost identical to web apps. The only difference is that web apps use the CGI protocol and CICS transaction use some other protocol.

    When you run a CICS transaction screen, it's not sitting there waiting for your input. It runs, sends the screen, and finishes. Then when the user hits the enter key, it restarts, reads the fields off the screen, processes, generates a response, sends the response, and ends, and so on and so forth.

    CICS and CGI apps so similar in fact that you could "webify" a CICS app with a simple gateway app that translates back and forth between CICS screen maps, and web pages.

    Indeed. As you say, "many" 3270-based applications were stateless -- I assume you refer principally to the client side, since you could (and I did, repeatedly) enforce state on the server side. Bisynch is a wonderful thing. None of this fancy socket stuff: power up, and you immediately have state. Power down, and you immediately lose it.

    I did come across one application with client-side state, though, and I suspect it represented what in those days would have been called a "pattern." There was a single, four-character, hidden field in the top right-hand corner of the screen which was unique to each form -- and, of course, since a 3270 terminal was pretty much hardwired, impossible to hack without some fairly sophisticated equipment.

    At the time, I thought this was pretty fucking stupid.

    And then I discovered cookies ...
  • real_aardvark 2007-11-16 20:38
    xtremezone:
    flukus:
    I'm always amazed there are so many people the would rather pirate Visual Studio than user one of the several arguably better IDEs/languages.

    If you don't want to pay the MS tax then use something else.

    That's not arguable. Visual Studio is the best IDE I've ever seen or used (Code::Blocks, Eclipse, KDevelop, NetBeans, others not even worth mentioning). There may be a better IDE out there, but I doubt it (and if there is it's probably not free). Besides, with the Express Editions many can use it legally for free.

    It's arguable.

    Indeed, it's a no-brainer.

    I'm using Visual Studio right now to port a rather large Unix system to W2K Server 2003. Apart from the usual niggling inconsistencies, which I remember as having been in the VS gene-pool for about the last ten years, it now has one more craptastic feature:

    The goddamn GUI crashes. Repeatedly. This pile of dung is just not scalable to real projects.

    Of course, when it crashes, it eats everything you've done for the last few hours. I believe 1970s IDEs like emacs have a feature to ameliorate this: it's called "auto-save." In fact, now that I come to think of it, I seem to recall Word providing a similar service. Not Visual Studio, oh no.

    On at least one occasion, VS2005 had the good grace to crash whilst "saving" the actual solution file. Result: one completely unusable solution file. Luckily I am minded to litter my enormous hard disk with tarred and zipped (what I'd like to do to Ballmer) files.

    And to add insult to injury, when it crashes, it springs back to life ... leaving some manky bit of non-GUI "servlet" process behind. Which locks half of the files. And requires me to log out (not that I'd ever be doing anything else useful on the server, of course) in order to wipe its little bottie clean.

    This is the best IDE you've ever seen or used?

    I think you're using the wrong goggles.
  • real_aardvark 2007-11-16 20:48
    Anon Fred:

    6. Even a few from MIT. When I see "MIT" on a resume, I don't automatically hire them. I do, however, ask a very different set of questions. When asked "how long does it take to sort a list?" they better give an answer at least as good as "n log n" within ten seconds.

    A little harsh, there?

    First of all, if they can do better than "n log n," then I've got a job making quantum computers out of squeegee bottles for them.

    Secondly, you're cheating. Yes, you can dump the list into an array and sort it there, followed by re-linking it, but that's not really what you're asking, and I'm pretty sure that anybody coming to the question as posed, and able to provide that answer in less than ten seconds, would be a psychotic lunatic...
  • Anon Fred 2007-11-16 21:24
    real_aardvark:

    First of all, if they can do better than "n log n," then I've got a job making quantum computers out of squeegee bottles for them.


    I meant the minimal answer to the "how long does it take to sort" question that I'd accept is something like "sorting a list? Oh, that's n log n, everyone knows that."

    There are better answers, like "well, assuming merge-sort or heap-sort, it's n log n." Or "radix sort allows order-n, but that's making some assumptions about the input data." Or "quicksort does n log n in the average case, but n^2 in the worst case." Or "quicksort used to be considered n^2 in the worst case but we can get worst case of n log n by spending extra time choosing our pivot."

    I don't necessarily expect people without degrees to know big-O notation, and I'll still hire them if they have other skills and the ability to learn.
  • Franz Kafka 2007-11-16 21:25
    real_aardvark:
    Anon Fred:

    6. Even a few from MIT. When I see "MIT" on a resume, I don't automatically hire them. I do, however, ask a very different set of questions. When asked "how long does it take to sort a list?" they better give an answer at least as good as "n log n" within ten seconds.

    A little harsh, there?

    First of all, if they can do better than "n log n," then I've got a job making quantum computers out of squeegee bottles for them.

    Secondly, you're cheating. Yes, you can dump the list into an array and sort it there, followed by re-linking it, but that's not really what you're asking, and I'm pretty sure that anybody coming to the question as posed, and able to provide that answer in less than ten seconds, would be a psychotic lunatic...


    Perhaps he was looking for more depth? Personally, I'd prattle on about how nlogn doesn't capture things like sorting 100G of data in 1G of memory and how some things work best when the working set is smaller than the l2 cache, but that's just me.
  • FredSaw 2007-11-16 21:51
    Franz Kafka:
    real_aardvark:
    Anon Fred:

    6. Even a few from MIT. When I see "MIT" on a resume, I don't automatically hire them. I do, however, ask a very different set of questions. When asked "how long does it take to sort a list?" they better give an answer at least as good as "n log n" within ten seconds.

    A little harsh, there?

    First of all, if they can do better than "n log n," then I've got a job making quantum computers out of squeegee bottles for them.

    Secondly, you're cheating. Yes, you can dump the list into an array and sort it there, followed by re-linking it, but that's not really what you're asking, and I'm pretty sure that anybody coming to the question as posed, and able to provide that answer in less than ten seconds, would be a psychotic lunatic...


    Perhaps he was looking for more depth? Personally, I'd prattle on about how nlogn doesn't capture things like sorting 100G of data in 1G of memory and how some things work best when the working set is smaller than the l2 cache, but that's just me.
    I forgot "n log n" the day after I used it on a final exam. Relevance is always important; minutia rarely is. If he wants a hire who can quote "n log n" on demand, then he will eventually find him. If, however, he wants a high-powered coder who consistently cranks out what the project requires, and if he uses that question to weed out all comers, he will reject the best candidates. How sad for him.
  • Anon Fred 2007-11-16 22:17
    FredSaw:
    I forgot "n log n" the day after I used it on a final exam. Relevance is always important; minutia rarely is. If he wants a hire who can quote "n log n" on demand, then he will eventually find him. If, however, he wants a high-powered coder who consistently cranks out what the project requires, and if he uses that question to weed out all comers, he will reject the best candidates. How sad for him.


    Why did you bother going to school?

    "n log n" isn't minutia you memorize in school. It's something you should just know. Like fire is hot.

    Like I said, I don't expect people who haven't gone through degree programs to know big-O notation, and I'll still make offers if they're good. They occasionally write n^2 loops but we can deal with that. I don't hold what they were never taught against them.

    And they didn't waste their parents tuition money, either.
  • Prosfilaes 2007-11-16 22:37
    FredSaw:
    I forgot "n log n" the day after I used it on a final exam. Relevance is always important; minutia rarely is.


    You forgot how long it takes to do one of the most common operations done in code right after the test? If you don't know how fast the basic algorithms run in big O notation, you'll can't figure out how fast your algorithm runs, or whether a sample big O value is good or not. That's not minutia; that's inability to use a powerful tool.
  • FredSaw 2007-11-16 22:48
    Anon Fred:
    Why did you bother going to school?
    At the time, in 1990, I was blinded by the delusion that computer science, like most other sciences, was a study in which you could constantly build upon your previous studies and eventually come to be a respected master by virtue of time and experience alone. I did not foresee that unlike the medical, financial, legal and similar professions, this one would prove to be one in which you must regularly discard what you have known and start fresh in order to keep current. 26 years of computer programming serve me nothing today other than some theoretical concepts. I no longer code in BASIC; I no longer code in assembler; I no longer code in OS-9; I no longer code in C; I no longer code in C++; I no longer code in COBOL; I no longer code in VB4, VB5 (97) VB6, or VB.Net. All the knowledge I once had of those languages is now useless.

    Anon Fred:
    "n log n" isn't minutia you memorize in school. It's something you should just know. Like fire is hot.
    Explain to me why I should know this. I have been coding since 1981. I went to college to get a degree in 1990. I used "n log n" in college, and have never used it before or since. Why should I know it like fire is hot? Where is it going to serve me?

    Anon Fred:
    Like I said, I don't expect people who haven't gone through degree programs to know big-O notation, and I'll still make offers if they're good. They occasionally write n^2 loops but we can deal with that. I don't hold what they were never taught against them.
    When/if the time comes that I ever encounter, in my daily software development duties, the need to use "n log n", I'll be sure to look you up. Hold your breath 'til then.

    Anon Fred:
    And they didn't waste their parents tuition money, either.


    I started attending college when I was 37. I was a single father raising two teenage children who lived with me. Their mother did not pay child support, and my parents did not pay tuition. I qualified for pell grants, and I earned scholarships, and I worked nights stocking a grocery store to see my way through.
  • 1710 2007-11-16 23:29
    Steve:
    I started my career in the middle 1960s on a computer that didn't even have an operating system -- the IBM 1620 -- and things have gone downhill (in the industry -- not my career) since then.

    They live.
    http://hissa.nist.gov/mlists/ibm1620/199912/19991209-1.html

    And they had an OS.
    3400032007013600032007024902402511131963600102
  • FredSaw 2007-11-16 23:36
    Prosfilaes:
    FredSaw:
    I forgot "n log n" the day after I used it on a final exam. Relevance is always important; minutia rarely is.


    You forgot how long it takes to do one of the most common operations done in code right after the test? If you don't know how fast the basic algorithms run in big O notation, you'll can't figure out how fast your algorithm runs, or whether a sample big O value is good or not. That's not minutia; that's inability to use a powerful tool.
    We don't calculate on paper how fast our algorithms will run nowadays. We've written programs to check that for us.
  • nano 2007-11-16 23:58
    If you don't know C or assembler, you're not a coder, you're a script kiddie.
  • FredSaw 2007-11-17 01:34
    Paul Simon: "...but I'll repeat myself, at the risk of being crude..."
    Anon Fred:
    Why did you bother going to school?
    Prosfilaes:
    If you don't know how fast the basic algorithms run in big O notation, you'll can't figure out how fast your algorithm runs, or whether a sample big O value is good or not. That's not minutia; that's inability to use a powerful tool.
    If he wants a hire who can quote "n log n" on demand, then he will eventually find him. If, however, he wants a high-powered coder who consistently cranks out what the project requires, and if he uses that question to weed out all comers, he will reject the best candidates. How sad for him.
  • etr 2007-11-17 02:18
    I'd expect someone with a CS degree and pursuing development work to know of big O notation, but I quite frankly wouldn't expect someone to know all the sort algorithms and the Big O notation of each. I would like him or her to know that you can get a generalized sort in O(n log n), and at least one algorithm for doing that, but I wouldn't necessarily expect them to recall the full gamut of algorithms presented in class.

    While I don't entirely dismiss the argument that we should know all the sort algorithms and their Big O's--given that they were a major topic of our schooling--the fact of the matter is that developers in many areas *shouldn't* be spending much time on sorting anymore. While sorting remains a common operation in software, a strong developer should realize that common operations should be handled by common code, rather than being implemented ad-hoc.

    To be fair, in some specialties the ability to recognize that a given data stream meets the requirements for an O(n) is extremely useful. However, in other areas such situations are sufficiently rare, sufficiently unreliable, sufficiently unimportant, or some combination of these that it makes sense to simply apply a good generalized sort.

    For developers working in the later specialties (in particular, those dealing with business data), it makes good sense for them to implement a good sort algorithm once. In a situation like this, the developer's memory is better occupied with information relevant to the problems he or she will need to deal with regularly, rather than with sorting, which he or she will deal with once.

    While I certainly think seasoning is a good think in the development field, I think slapping any arbitrary time on what it takes to become a "senior" developer is silly. Frankly, the arguments I've seen that one has "seen it all" or "done it all" over the course of ten years only serve to underline this fact. If you think you've seen and done it all, you think you'll never see or need to do anything new. What use would there be for a senior developer if all he's prime for is doing what he's already done? Either he or she has already written the software you need, or he's no longer a senior developer when something he hasn't done arrives.

    None if this is meant to disparage the position of senior developers or those who hold it. My point is that the role by its nature is going to require those performing it to step outside their comfort zones--"cowboying", as it were.
  • _olly 2007-11-17 02:31
    Sounds like a little software company I use to work for, I will call them Littl Box Software. This is an e-mail that a fellow co worker (_anya) and I put together.

    “The idea is make a modified Jenga block set and create a game based off our little software company.

    We could have generic categories, some specific categories, label some of the extra pieces "upgrades"(need tons of upgrade blocks in all kinds of shapes that never really fit), "fixes", "patches", "tax updates", "custom reports", "consulting fees", etc.

    The instructions for the game will not come with the game, you will find out that there are instructions after about the 50th call then you will have to request the instructions be snail mailed to you. The instructions will consist of an incomplete document riddled with mistakes, mis-spellings, grammatical errors, and pages marked "This Page Intentionally Left Blank", etc.

    For custom Crystal Report Blocks; you will have to wait a period of no less than 6 months, but up to 2 years, if still not complete, wait longer! Whereas you will be charged, $250 for the license fee to use these report blocks you will not have. For an additional $700, we will provide training for creating your own custom report blocks by an unlicensed, uncertified, improperly trained professional online.

    This training is on a version not supported by the manufacturer and there is no cd or book that comes with it. Upon upgrading to version 11, another fee will be involved to be determined at a later date.

    The box you will receive will contain very old looking warped blocks that don’t seem to work well with other blocks, these are custom made by the owner and there is no way to play the game without them because they create the foundation and it would hurt his pride if we removed them.

    If you are a female you already have lost because how could the simple minds of a female ever understand the complexities of block staking.

    If for some reason you can not get the game to work you can wait 6 months and the owner will call you and explain to you how stupid you are for not being able to work this very simple design. He will show you how easy it is virtually while never stopping to give you time to understand the very simple instructions that will take 72 hours to explain. Would be 48 but he has to get some drinking time with his block builders in sometime, but don’t worry he will have one of his staff take over at 4:50 pm on Friday without leaving them any kinds of instructions on what you have spoken about.

    But wait, order now and receive our custom, opaque, Tell-All Instruction Ball™ (magic 8 ball) used by our highly skilled technical support staff. This will provided you with answers in a timely manner without spending time frustrated or on hold.

    The Tell-All Instruction Ball™ includes such exciting options as; "restart", "upgrade", and "rebuild". Shaking the Tell-All Instruction Ball™ will not provide you with better answers so please be gentle with it.

    The only known side effect of this game is Tourettes Syndrome. Please be advised.

    Thank you and have a great day!

    Your local, but difficult to get a hold of, support staff! If we are a little grumpy understand our checks bounced again and we don’t feel like helping you at the moment."

    …. We were very frustrated this day but this is not even half of the problems we had there, we left out requiring our customers to buy not exactly legal software, and so much more but I am sure I have given enough away.
  • Homer 2007-11-17 03:43
    Assholes...

    That is one of the fundamental problems with our industry...

    Any asshole who can write a macro can call himself or herself a programmer...
  • Anon Fred 2007-11-17 08:53
    FredSaw:
    I no longer code in BASIC; I no longer code in assembler; I no longer code in OS-9; I no longer code in C; I no longer code in C++; I no longer code in COBOL; I no longer code in VB4, VB5 (97) VB6, or VB.Net. All the knowledge I once had of those languages is now useless.

    A CS degree isn't supposed to teach you a language, just like law school isn't supposed to teach you a Lexis-Nexus search, or medical school isn't supposed to teach you how to operate an MRI.

    Those are skills you need in the field, obviously, and your school might have a clinic one evening to teach you this stuff. But the professors should know that tools come and go. (AFAIK, if you ever wanted to learn C at MIT -- even when it was the most popular language in the "real world" -- you had to take classes outside of the EECS department, or attend a student-run seminar.)


    FredSaw:
    Explain to me why I should know this. I have been coding since 1981. I went to college to get a degree in 1990. I used "n log n" in college, and have never used it before or since. Why should I know it like fire is hot? Where is it going to serve me?


    You have 1000 rows in your database. How long is it going to take for it to sort them? What if you have 10k rows? 100k?


    FredSaw:
    When/if the time comes that I ever encounter, in my daily software development duties, the need to use "n log n", I'll be sure to look you up. Hold your breath 'til then.


    I've said a few times that lots of people without degrees have very good careers. You can probably get by without it, but it's a shame that you're missing such a fundamental piece of knowledge.

    FredSaw:
    Anon Fred:
    And they didn't waste their parents tuition money, either.


    I started attending college when I was 37. I was a single father raising two teenage children who lived with me. Their mother did not pay child support, and my parents did not pay tuition. I qualified for pell grants, and I earned scholarships, and I worked nights stocking a grocery store to see my way through.

    That was a low-blow on my part and I apologize. Being a good father is vastly more important than big-O notation.

    But I think back to one of my first real-world projects. It was your basic three-tier architecture, and we noticed that the UI was opening more and more connections to the core. We asked the person writing the UI (who was a decade or two older, and who was supposedly teaching CS at the local community college) if the number of connections was bounded. He blinked a few times and said "yes." We tried again and asked "will the number of connection be below some constant? Because we're seeing 30 right now."

    "Yeah, it won't be much more than that."

    "Okay, so, like... no more than 50?"

    "Yeah. Well, unless the user opens this page of the UI."

    "Okay, so, then... no more than 70?"

    "Yeah. Well, unless the user does this..."

    "Can you say it'll be less than 100?"

    "Maybe. I dunno."

    All he needed to know was what "constant time" or "constant space" was. But he didn't. And his code reflected it.

  • Anon Fred 2007-11-17 09:53
    etr:
    I'd expect someone with a CS degree and pursuing development work to know of big O notation, but I quite frankly wouldn't expect someone to know all the sort algorithms and the Big O notation of each. I would like him or her to know that you can get a generalized sort in O(n log n), and at least one algorithm for doing that, but I wouldn't necessarily expect them to recall the full gamut of algorithms presented in class.


    Yeah, I wasn't looking for in-depth knowledge of all the different sorts. There were so many, but knowing that the best you can do in general is O(n log n) is a big takeaway.

    Certainly it's very rare to have to write your own sort functions, although when I'm learning a new language I always try implementing quicksort. My implementation usually isn't as fast, which is a good lesson about trying to reinvent wheels.

    Imagine trying to find out if a big list has any repeats. (I realize most libraries implement this for you, I'm using it as an example.) Without big-O, someone could easily do this:

    for i in list
    for j in list
    if i == j then print "REPEAT";

    You don't need to be able to write out a proof of that routine to know what's wrong with it.
  • real_aardvark 2007-11-17 10:47
    nano:
    If you don't know C or assembler, you're not a coder, you're a script kiddie.

    And if you rely entirely on C and assembler, you're not a coder, you're a wannabe hardware weenie. Without the pipelining. And the caching. And all the rest.

    This is a ridiculous statement. I no longer program in C or assembler, though I have done both, extensively. I am yet to be convinced that these are even necessary skills on a small footprint, real time (and I mean real time, not bleeding "real time Java" or MS eVC3) system.

    We could argue all day about the relative "un-script-kiddiness" of C++, Java, VB.Net and C# -- in relative order of birth -- or even of Perl, Python, Ruby ... drones on and on ... but what's the point? Script kiddies, by definition, play with broken bits of javascript and PHP4 and the like that they've snarfed off the web, and then made them worse by ill-judged and ignorant decisions.

    You want a real language test for "script kiddies?"

    Try Lisp.
  • real_aardvark 2007-11-17 11:11
    _olly :
    Sounds like a little software company I use to work for, I will call them Littl Box Software. This is an e-mail that a fellow co worker (_anya) and I put together.

    “The idea is make a modified Jenga block set and create a game based off our little software company."

    <snip>Look upwards</snip>


    The only known side effect of this game is Tourettes Syndrome. Please be advised.

    Thank you and have a great day!

    Your local, but difficult to get a hold of, support staff! If we are a little grumpy understand our checks bounced again and we don’t feel like helping you at the moment."

    …. We were very frustrated this day but this is not even half of the problems we had there, we left out requiring our customers to buy not exactly legal software, and so much more but I am sure I have given enough away.

    Solution: Admit defeat two weeks into this pile of crud.

    Comply with all requirements at work, but do the minimum (within ethical reason) to get it to pass the tests to "go into production." Do not burn out.

    Take the real requirements off to one side and build the proper version yourself. Including documentation, test scripts, and everything. (You might have to blag licenses, I guess.)

    Wait six months until the original abortion falls apart at the seams and somebody walks up to you and says something like (and I know it's not on-line Jenga, but you get the point):

    Her: "I've tried pressing F6 to delete this configuration entry, but it's still there."
    Me: "That's because F6 doesn't do anything."
    Her: "Then how do I delete this configuration entry?"
    Me: "Look, I've got another screen over here. Want to try pressing F6?"
    Her: "OK. Wow, it works. And I like the way the columns have re-sorted themselves!"
    Me: "Great! Why don't you tell your boss about it?"

    And this is how the Muff-Dive application came into being. Well, I'm not necessarily proud of it, but if you'd had to spend six months of your spare time at work rewriting an application and being forced by company policy to give it a four-letter acronym, then you'd probably pick MFDV as well.

    Customer Support is great, in my opinion. And the best thing about them is that, in half-way reasonable circumstances, they rely on customer support themselves.

    Otherwise they're screwed.

    It's only the idiots around you in the technical and management arena that you need to worry about.
  • real_aardvark 2007-11-17 11:14
    Homer:
    Assholes...

    That is one of the fundamental problems with our industry...

    Any asshole who can write a macro can call himself or herself a programmer...

    Define "macro."

    No, wait, define "fundamental."

    Hang on a sec: you've already defined "Asshole."
  • Jeremy 2007-11-17 12:06
    Actually, I have confidence in this Garret guy, let me tell you anybody that has enough drive to jump in and learn has potential. Hell that's exactly how I started and I am now a Director of Development.
  • The guy that submitted this story 2007-11-17 16:27
    I know people may not trust that I'm the guy that submitted this story... that's for you to decide...

    However, decide for yourself. I have posted what I ACTUALLY submitted on an anonymous blog, so people can see the real story!

    http://evenworsethanfailure.blogspot.com/

    I think that after seeing how things are twisted by the site authors, I will simply stop coming to this site... the stories here are not real... they are dramatically changed by the site authors to make them nothing more than fiction.

    Captcha: craaazy

    Youbetcha.
  • mushroom 2007-11-17 16:52
    Who hasn't had a boss like that.
  • TheRubyWarlock 2007-11-17 16:53
    The guy that submitted this story:
    I know people may not trust that I'm the guy that submitted this story... that's for you to decide...

    However, decide for yourself. I have posted what I ACTUALLY submitted on an anonymous blog, so people can see the real story!

    http://evenworsethanfailure.blogspot.com/

    I think that after seeing how things are twisted by the site authors, I will simply stop coming to this site... the stories here are not real... they are dramatically changed by the site authors to make them nothing more than fiction.

    Captcha: craaazy

    Youbetcha.


    Wow.. I knew this site changed things around but I didn't think it was THAT much changed around. Just wow. I'll view anything I read here with a grain of salt from now on.
  • Ragnax 2007-11-17 18:01
    real_aardvark:
    First of all, if they can do better than "n log n," then I've got a job making quantum computers out of squeegee bottles for them.

    The efficiency of radix sort is 1+floor(log_b(v)), where v is the maximum magnitude of the input numbers and b is the base of the numbers.

    Provided v is constant, radix sort is O(n).


    So, about those squeegee bottles... :p
  • FredSaw 2007-11-17 18:42
    Anon Fred:
    A CS degree isn't supposed to teach you a language, just like law school isn't supposed to teach you a Lexis-Nexus search, or medical school isn't supposed to teach you how to operate an MRI.
    I understand. I chose bad examples. But my college courses did little to provide me with enduringly useful knowledge. My Unix classes? Uh... no... my employers have consistently used Windows OS. My Advanced Data Structures classes? No... those data structures and more, better, are already provided as part of the C# classes. I don't have to know how to create them from scratch; I just have to know the namespace to get to them.
    Anon Fred:
    You have 1000 rows in your database. How long is it going to take for it to sort them? What if you have 10k rows? 100k?
    Ask SQL Server. Or google it.
    Anon Fred:
    I've said a few times that lots of people without degrees have very good careers. You can probably get by without it, but it's a shame that you're missing such a fundamental piece of knowledge.
    I'm not missing it. I tossed it as unnecessary. Think of it as being like when you're admiring "Starry Night" but you don't need to know what was going on in Van Gogh's head when he cut off his ear.
    Anon Fred:
    That was a low-blow on my part and I apologize. Being a good father is vastly more important than big-O notation.
    Thank you. Apology accepted.
  • real_aardvark 2007-11-17 19:02
    Anon Fred:
    That was a low-blow on my part and I apologize. Being a good father is vastly more important than big-O notation.

    But I think back to one of my first real-world projects. It was your basic three-tier architecture, and we noticed that the UI was opening more and more connections to the core. We asked the person writing the UI (who was a decade or two older, and who was supposedly teaching CS at the local community college) if the number of connections was bounded. He blinked a few times and said "yes." We tried again and asked "will the number of connection be below some constant? Because we're seeing 30 right now."

    "Yeah, it won't be much more than that."

    "Okay, so, like... no more than 50?"

    "Yeah. Well, unless the user opens this page of the UI."

    "Okay, so, then... no more than 70?"

    "Yeah. Well, unless the user does this..."

    "Can you say it'll be less than 100?"

    "Maybe. I dunno."

    All he needed to know was what "constant time" or "constant space" was. But he didn't. And his code reflected it.


    Basic three-tier architecture? Basic? Roll up, roll up, folks, and fling ping-pong balls at the goldfish bowls.

    In Dorothy Parker terms, you have so far covered the gamut from 1 to less than 100.

    If I can try to summarise FredSaw's position, he appears to me to be entirely correct in stating that "someone else has done this before you." Pick the correct fucking algorithm, or library, or whatever. Not a good interview question, especially when you get the basics wrong.

    Anon Fred:
    I meant the minimal answer to the "how long does it take to sort" question that I'd accept is something like "sorting a list? Oh, that's n log n, everyone knows that."

    There are better answers, like "well, assuming merge-sort or heap-sort, it's n log n." Or "radix sort allows order-n, but that's making some assumptions about the input data." Or "quicksort does n log n in the average case, but n^2 in the worst case." Or "quicksort used to be considered n^2 in the worst case but we can get worst case of n log n by spending extra time choosing our pivot."

    Try again.

    It's a list.

    Lists are not amenable to quickies, radices, bubblies, or whatever. You can dump them into a more sortable "container" (whatever), but they don't sort too well.

    I am actually pathetic enough to think about this, and I can imagine a requirement to dump a list into an array and sort it via some variety of pivot. It's pretty contrived, though. If you want to sort it, use an array in the first place. Or a hash-table.

    Sorting a list is just so not "n log n".

    Sorry.

    Interesting that you would fail somebody from MIT for failing to answer a stupid question, but you'd accept that from somebody who went to Podunk Community College, though.

    What did you say your company name was? Times are difficult. I need to find a stock I can short.

    Franz Kafka:
    Perhaps he was looking for more depth? Personally, I'd prattle on about how nlogn doesn't capture things like sorting 100G of data in 1G of memory and how some things work best when the working set is smaller than the l2 cache, but that's just me.

    Heh. That's so, so, far beyond this guy, Franz.

    Want to tell him about Knuth?
  • J Walston 2007-11-17 19:05
    The guy that submitted this story:

    I think that after seeing how things are twisted by the site authors, I will simply stop coming to this site... the stories here are not real... they are dramatically changed by the site authors to make them nothing more than fiction.


    Huh? So... you're upset that you were painted as a programming amateur? The stories are the same, except Alex's is entertaining and yours reads like a disgruntled employee.

    In your blog, you claim to be "very well-versed in PHP and MySQL", yet only said you had "some PHP experience" in your story. A big difference there.

    What I can't figure out is how could such an experienced expert take a job for 22k?
  • real_aardvark 2007-11-17 19:06
    Jeremy:
    Actually, I have confidence in this Garret guy, let me tell you anybody that has enough drive to jump in and learn has potential. Hell that's exactly how I started and I am now a Director of Development.

    Great! Good for you, and I think I speak for everybody at WTF Incorporated.

    Now go and make your momma proud.

    Get a real job before you're thirty, and over the hill.
  • real_aardvark 2007-11-17 19:17
    Ragnax:
    real_aardvark:
    First of all, if they can do better than "n log n," then I've got a job making quantum computers out of squeegee bottles for them.

    The efficiency of radix sort is 1+floor(log_b(v)), where v is the maximum magnitude of the input numbers and b is the base of the numbers.

    Provided v is constant, radix sort is O(n).


    So, about those squeegee bottles... :p

    Well, as usual, I'm opening myself up to ridicule here.

    Can you do a radix sort on a list?

    How often, in real terms, can you assume that v is constant?

    And how would you answer anon fred's hypothetical question in an interview?

    We're two-thirds of the way there. You've got the radix sort, I've got the squeegee bottles...

    ... All we need now is the quantum computer.

    And we'll be rich! Rich, I tell you!

    Well, maybe not so rich as the Belgian royal family, but that was just nasty.

    We'll be rich in a good way, and I love you.
  • FredSaw 2007-11-17 19:31
    etr:
    I'd expect someone with a CS degree and pursuing development work to know of big O notation, but I quite frankly wouldn't expect someone to know all the sort algorithms and the Big O notation of each. I would like him or her to know that you can get a generalized sort in O(n log n), and at least one algorithm for doing that, but I wouldn't necessarily expect them to recall the full gamut of algorithms presented in class.

    <big snip>
    Dude, you need to buy a clue. Big O is so far down below what those of us in the trenches are dealing with nowadays. We don't have to create a sort; it's done for us. We don't have to create classes; they're done for us. Are you living in the 1970's? Let me tell you what I am studying these days.

    * Team Foundation System
    * Windows Communication Foundation
    * Ajax
    * SQL Server Reporting Services
    * Silverlight

    No offense, but this stuff is pretty much leaving Big O in the dust.
  • Lee Jackson 2007-11-17 20:03
    Anon Fred:
    You have 1000 rows in your database. How long is it going to take for it to sort them? What if you have 10k rows? 100k?


    I lol'd when I saw this! The next time someone asks how long a report is going to take to generate, Ill be sure to tell them "O(n log n) if were lucky but it may just take O(n^2) since I didn't write the database" rather than my usual "About 30 minutes because our servers are busy fossilizing"

    While I get your point, haven't we LARGELY moved on from this? Realistically, just what percentage of coders are *having* to write their own sorting methods (I differentiate of course between "having" and "do")? Personally I haven't HAD to write one in...10 years?

    My point being, yes understanding algorithmic complexity IS essential in some roles, but for the most part performance has LONG since slipped from our fingers (for the common good IMO) whether it be to the STL, .Net or any number of third party apps/libs (and yes while OS might afford the luxury of access how often do we realistically have time to fix those problems). I cant help but think we might be largely better off if universities actually taught software "development" as well as "engineering" since I consider both to be equally valid but totally different disciplines (of course the CS majors will spit on the engineering majors who will then have the developers to spit on....much as it is now even though each bring their own bundle of tricks to the table).

    What do I know though. As I once said, I cant even implement a linked list off the top of my head...(beware)
  • nameless 2007-11-17 23:04
    Lee Jackson:
    Realistically, just what percentage of coders are *having* to write their own sorting methods (I differentiate of course between "having" and "do")? Personally I haven't HAD to write one in...10 years?


    In day job I think I've never had to write own sort algo. But, surprisingly enough, I have had to write sorting algo in my "hobby" code. I'm coding C64 game (old habits die hard) and needed to sort sprites for sprite multiplexer. So I ended up writing some kind of insertion sort for it in 6502 asm :)
  • FredSaw 2007-11-18 06:16
    nameless:
    So I ended up writing some kind of insertion sort for it in 6502 asm :)
    Wow, you go, dude! Took me right back to 1984 and 6809 assembler. Those were the days!
  • Ringo 2007-11-18 06:46
    Visual Studio is only free if you use the crap "lite" version, or some of the really old "embedded" versions. The "lite" version is great if you're a student, or working on a hobby, but most "real" development requires a for pay version.

    http://www.amazon.com/Microsoft-Visual-Studio-Standard-2005/dp/B000BT8TRQ
  • Ragnax 2007-11-18 13:13
    real_aardvark:
    Can you do a radix sort on a list?

    Depends on the internal representation of said list. Array? Linked list? Hashtable? It really doesn't matter all that much though, as most (maybe even any?) list types can be transformed into a flat array and back in O(n) time, which conveniently coincides with the lower bound for a radix sort.

    real_aardvark:
    How often, in real terms, can you assume that v is constant?

    Iirc radix sort is used internally for depth sorting algorithms on graphics cards, where indeed v can be made constant (or atleast; a constant amount of different constants) by cleverly picking the numbers' base.

    real_aardvark:
    And how would you answer anon fred's hypothetical question in an interview?

    "In the general case sorting can happen in O(n log n) using MergeSort, but a better average case result can be gotten using QuickSort. For specific situations you can get as good as O(n) time using algorithms like RadixSort."

    I'd sort of be lying if I'd say it like that though. In the spur of the moment I'd probably stick to mentioning QuickSort as being O(n log n).

  • real_aardvark 2007-11-18 18:54
    Ragnax:
    real_aardvark:
    Can you do a radix sort on a list?

    Depends on the internal representation of said list. Array? Linked list? Hashtable? It really doesn't matter all that much though, as most (maybe even any?) list types can be transformed into a flat array and back in O(n) time, which conveniently coincides with the lower bound for a radix sort.

    real_aardvark:
    How often, in real terms, can you assume that v is constant?

    Iirc radix sort is used internally for depth sorting algorithms on graphics cards, where indeed v can be made constant (or atleast; a constant amount of different constants) by cleverly picking the numbers' base.

    real_aardvark:
    And how would you answer anon fred's hypothetical question in an interview?

    "In the general case sorting can happen in O(n log n) using MergeSort, but a better average case result can be gotten using QuickSort. For specific situations you can get as good as O(n) time using algorithms like RadixSort."

    I'd sort of be lying if I'd say it like that though. In the spur of the moment I'd probably stick to mentioning QuickSort as being O(n log n).


    And you're correct. I don't even think we're disagreeing at any point, although you can probably dredge up some piece of drunken nonsense that I wrote on one of these posts.

    My original point was that, strictly speaking, sorting a list is not O(n log n). Sure, you can transform the list. Sure, you can transform the sort back into a list. It just ain't O(n log n), though.

    Now, this doesn't matter when you're dealing with a linked list of ten million or so thingies, and it doesn't matter if you have an infinite amount of memory (preferably RAM) into which you transform those thingies, purely in order to hit the celestial management goal of O(n log n).

    It certainly matters if you don't have the memory.

    It even (potentially) matters if you're dealing with a smaller data set, say n = 1000.

    In this case, you're paying for O(n log n), plus a K*n conversion to an array (or whatever) and a K*n conversion back again. You can ameliorate this expense by allocating the array in one huge block, but you can't get away from the initial item-by-item copy -- without dicking around with pointers -- and you certainly can't get away from resuscitating a list from the sorted array.

    Yes, you can write a big, spiffy, wrapper around an STL list (or non-C++ equivalent), and you can re-use the original list, since you know the sorted result will be the same size. However, this will blow up. Almost certainly.

    The simple solution is to go back to the design, and replace "list" with "vector."

    And, if you choose to go with a list in the full knowledge that you can always transform it into an array and back again, then that's fine. Until you have to push a new item at the front or back and sort it again. Repeatedly. I don't deal with abstractions; I deal with the real world, and collections of 1000-odd objects are quite typical. Pick the wrong data structure, and you're fucked.

    But, as I say, we both seem to agree on the basics here.

    Much though I hate to disparage Fred Saw, I have to say that it is definitely important that anyone you employ knows about this stuff. Fred has a list of five technologies (for want of a better word, and I'm not beating on MS here) that save him from thinking about n log n.

    But do they?

    How do you know?

    And I'm still fascinated by the idea that whoever it was would require a (hugely) different standard of algorithmic theory from an MIT graduate rather than a street-sweeper with a junior college qualification in Access. Did he have a really bad time at MIT? This is just bizarre.

    OK, I kinda forgot the radix sort thing. But I think the principle still stands.
  • Raison de Calcul 2007-11-18 20:00
    I had a boss like this at a pizza place. These people have no souls. Empirically, even.
  • Anon Fred 2007-11-18 21:28
    real_aardvark:
    And I'm still fascinated by the idea that whoever it was would require a (hugely) different standard of algorithmic theory from an MIT graduate rather than a street-sweeper with a junior college qualification in Access. Did he have a really bad time at MIT? This is just bizarre.


    I expect people to live up to their opportunities.

    It's much more likely that you'll find your MIT graduate is too heavy on theory and insufficient on practice, though.
  • KozMoz 2007-11-18 22:06
    PUBLISH THE COMPANY'S NAME!!
    PUBLISH THE COMPANY'S NAME!!
    PUBLISH THE COMPANY'S NAME!!

    And shop them to Microsludge while yer about it!!

  • The guy that submitted this story 2007-11-19 00:14
    KozMoz:
    PUBLISH THE COMPANY'S NAME!!
    PUBLISH THE COMPANY'S NAME!!
    PUBLISH THE COMPANY'S NAME!!

    And shop them to Microsludge while yer about it!!



    Ya know, I'd love to "come out" and identify myself, the company name, location, etc... but seriously when the guy canned me, he gave me a letter that pretty much threatened legal action if I did anything to him or his company... you know, your standard "thank you for bringing my company out of severe debt" type of goodbye... *sigh*

    The guy was, and probably still is, a litigious bastard... I'd rather not risk that.

    http://evenworsethanfailure.blogspot.com/2007/11/worsethanfailurecom-got-it-all-wrong.html
  • Zaphodforpresident 2007-11-19 03:18
    This may be the most insightful "X type of people" philosophy I've ever seen. Is it original? It sounds vaguely familiar to me.
  • vb dude 2007-11-19 03:31
    The Programmer:
    ...This actually works because the boss takes part responsibility for communication issues. You need to prime this first however, with "what does that actually mean?" and "can you give me written specifications?".


    This is the best comment of all. It's not about skill, knowledge or talent but really all about formal communications, especially with bosses that are not educated as programmers.

    All requests are should be documented from him/her and not verbally issued. An uneducated boss can't dispute this and an educated one should be doing this because there are/will always be others that will be on the "team" and it's won't become personal and egotistical as it did in the story.
  • Memomachine 2007-11-19 12:09
    Franz Kafka:

    Perhaps he was looking for more depth? Personally, I'd prattle on about how nlogn doesn't capture things like sorting 100G of data in 1G of memory and how some things work best when the working set is smaller than the l2 cache, but that's just me.


    My answer would be:

    When the computer thingy is finished.

    Seriously. In an age of frameworks and toolsets how many times are there opportunities to write yet another sort routine? And with wide possible variances in terms of available memory, disk thrashing, the size of datasets and the actual implementation of sorting in the framework or toolset. Really is there any way to really know?

    And just how useful is N log N? Any more useful than my answer? Not really.
  • Ponedonkey 2007-11-19 12:28
    Thats sooo sad.
    I would wash my hands and take showers every day, but still not feel clean...
  • _olly 2007-11-19 13:50
    Nobody in pizza has a soul. I did 2 years for the cause, I learned that and how to toss dough.
  • DoofusOfDeath 2007-11-19 15:23
    Trask:
    That sounded like a very stressful situation for him to be in. I'm in a similar boat, but I'm still just a technician waiting for a chance to show off some programming skills to get that on my resume.


    Find an open-source project, and contribute to it. Problem solved.
  • real_aardvark 2007-11-19 16:08
    Memomachine:
    Franz Kafka:

    Perhaps he was looking for more depth? Personally, I'd prattle on about how nlogn doesn't capture things like sorting 100G of data in 1G of memory and how some things work best when the working set is smaller than the l2 cache, but that's just me.


    My answer would be:

    When the computer thingy is finished.

    Seriously. In an age of frameworks and toolsets how many times are there opportunities to write yet another sort routine? And with wide possible variances in terms of available memory, disk thrashing, the size of datasets and the actual implementation of sorting in the framework or toolset. Really is there any way to really know?

    And just how useful is N log N? Any more useful than my answer? Not really.

    Aargh.

    It's not about writing one.

    It's about understanding the importance of having one.

    When your next report on 300,000 electronic votes takes ten days to process (personal history), then don't come crying to me.

    I believe you just mentioned "frameworks."

    How very enterprisy of you.
  • real_aardvark 2007-11-19 16:15
    Anon Fred:
    real_aardvark:
    And I'm still fascinated by the idea that whoever it was would require a (hugely) different standard of algorithmic theory from an MIT graduate rather than a street-sweeper with a junior college qualification in Access. Did he have a really bad time at MIT? This is just bizarre.


    I expect people to live up to their opportunities.

    It's much more likely that you'll find your MIT graduate is too heavy on theory and insufficient on practice, though.

    OK, the theory versus practice argument makes a little more sense.

    Good to know that you're a classic "equal opportunities" employer, though. It'd be a shame if you wasted your time on an MIT graduate who can't answer an insane question inside ten seconds, rather than take pizza-boy round the corner who has half a notion that PHP isn't just a horse-tranquiliser.

    Many people, of course, would prefer that PHP had stuck to what it's good at. But I'm not one of them.

    Free the PHP seven! And down with naughty MIT-theorist types!

    Hey,, if it's good for Chairman Mao, it's good for the community, right?
  • Franz Kafka 2007-11-19 20:22
    Anon Fred:

    You have 1000 rows in your database. How long is it going to take for it to sort them? What if you have 10k rows? 100k?



    1000 rows: no time at all. you most likely can load the whole table into memory and sort in place. This is far less than index lookups.

    10k, 100k:
    depends on what indexes you have and whether you are loading too much of the table - about 10% rule of thumb. I'd need to know about the indexes and query structure, but I'd probably use explain plan and see if it made sense - it's always possible for the table to require an index rebuild, especially if it's statistical and the last time it was done, the table had 100 rows in it.

    FredSaw:
    Anon Fred:
    You have 1000 rows in your database. How long is it going to take for it to sort them? What if you have 10k rows? 100k?
    Ask SQL Server. Or google it.


    somebody has to know this stuff, and if you don't, how will you know if the answer is any good?
  • DOA 2007-11-20 03:58
    Raj Desipapi:
    I thought *everyone* was a programmer. I know all my employees are great programmers. When I say black font on a black background, they do it pronto, no questions asked. When I tell them to use flat text files instead of linked SQL Servers to do a data migration, they do it -- no questions asked. That is because, I too, am a programmer, architect, software engineer, business process expert, and manager...ALL rolled into one. Do you know me?

    Boss? I didn't know you read this forum too.
  • Sherri 2007-11-20 10:40
    Oh boy. Been there, done that. Sounds exactly like how my first programmer job went.
  • alc 2007-11-20 11:38
    The WTF is that Garrett didn't blow the whistle on his former a-hole boss' unlicensed copies of...well...everything. If you do business in unscrupulous ways, be sure your employees are either culpable with you or loyal. Once he got another job I hope he anonymously threw his former employer under the bus.
  • Black Cat 2007-11-20 21:38
    Garret should have said:
    "Ya know... I don't deserve to work in your company, man, coz I'm worth so much more..."
  • lorcan 2007-11-22 00:52
    rumpelstiltskin:
    cheese:
    An even funnier thing are people who have to go to school for this crap and end up with this HUGE chip on their shoulder because they are under the impression it's a real science and they are actually engineers so they spend all their free time making themselves feel better at the people who didn't need school to learn BASIC LOGIC.And then as a last resort they complain about run-on sentences.....


    Even funnier than that are people too dumb to even get into college, or get a scholarship to pay for it, who think that because they understand an IF statement they are as good as me.
    You're not. If what you're coding is "basic logic", then that's because your boss has deemed you unfit for serious programming work.
    Furthermore, if you can't compose a proper sentence, it's because you can't think a proper thought. We're not complaining about your grammar; we're complaining that you've wasted our time with your incoherent drivel.
    I spilled some coffee in the parking lot. Go clean it up.


    It is a shame that going to college didn't make you less of an asshat...
  • Hognoxious 2007-11-22 11:13
    Is your first name Helmut?
  • dreamwraith 2007-11-23 21:18
    dsharp:
    "He cut his teeth on the green screen, central computer back in the day. He didn't have to deal with stateless, disconnected systems like we use today and unfortunately, his expectations can be somewhat unrealistic"

    Actually many "green-screen" applications were completely stateless. CICS transactions are almost identical to web apps. The only difference is that web apps use the CGI protocol and CICS transaction use some other protocol.

    When you run a CICS transaction screen, it's not sitting there waiting for your input. It runs, sends the screen, and finishes. Then when the user hits the enter key, it restarts, reads the fields off the screen, processes, generates a response, sends the response, and ends, and so on and so forth.

    CICS and CGI apps so similar in fact that you could "webify" a CICS app with a simple gateway app that translates back and forth between CICS screen maps, and web pages.

    I work in the health insurance industry.

    The CICS I am forced to use at work is VERY stateless. In fact, they don't have any means in place to unlock an expired process.

    For example, if I am actively modifying a record for an individuals information, and my terminal happens to lock up entirely, if i then try to reconnect, or for that matter, if anyone in the COMPANY tries to modify that record, it sits locked.

    The companies solution? There are nightly restarts of the mainframe when the business is shut down.

    So basically, If an individual is unlucky enough to have this happen to their entry while a rep is trying to modify their adress for them or some such, they will be SOL until the following day.

    Talk about a WTF....

    CAPTCHA: doom... how appropriate.
  • jim 2007-11-24 01:45
    SharpDevelop is pretty good and has a similar feature set to Visual Studio, but is free and open source.
  • jim 2007-11-24 03:40
    I sympathize with your experience up to a point because I had a similar experience. On the other hand, I have learned that this is just the nature of business, and there are plenty of unscrupulous, but successful business people out there. If you are not able or willing to deal with some of them, you may be in the wrong field.

    My first job after college was actually doing lawn maintenance for $9 an hour, because the economy in my college town was so lame that only a few marginally successful small start up companies exist in the software industry there.

    My first two software jobs after graduating from a competitive 4 year university with good grades and a BS in Computer Science were very menial and demeaning.

    After working lawn maintenance for a couple months, I got my first big break at a 50 person web site company (that was started in the founder's dorm room when he was in college a few years previous.) They offered me $10 / hour (in 2002). I was financially needy, otherwise I wouldn't have accepted such a low offer.

    After working there for two months, I found a slightly higher paying job. I was offered $12 / hour at a small custom software shop. I was one of the founder's first full time employees. His small business had survived for several years by exploiting the cheap computer science student labor that is plentyful in this college town. I worked there for 2 years and endured a lot of BS from the founder. One of his best skills was manipulating college students, many of whom were better software developers than him, to work for him for very small wages. He was also experienced at running a small business and good at managing projects and working with clients.

    Back to my story - I believe he hired me for two reasons. 1) He knew he didn't have to pay me much because I had little work experience. 2) He knew I was eager and willing to learn (and help him learn) new technologies that were baffling and difficult for him. These technologies turned out be Visual Basic .NET, brand new third party .NET UI component libraries, and new installer packaging tools (for building MSI packages). I am talking about someone with his own start up software company, someone that graduated with a computer science degree from the same school that I did.

    Still, that is what employers do - they provide you with a job and in return they expect to profit from your labor. As it turns out, the business model he used charged 5 times as much per hour to the client for my labor as I what I got paid. That wasn't as irritating or as dispiriting as the fact that he was very difficult and stressful to work in the same office with.

    It was frustrating, humiliating and degrading. After he got a raise on his hourly rate from the client I did most of my work for, I renegotiated and he gave me a small raise. I quit the job a few months later. I gave notice and moved to a big city that had an thriving software job market.

    My two years of very hands very valuable experience at that small company has paid off nicely since then. Besides staying there for so long, my only other regret was not doing an internship when I was still in college. It turns out that a college degree in computer science is almost useless without some accompanying work experience developing software.

    Not everyone has an aptitude for software development, math, science, engineering, logic or problem solving. That doesn't stop thousands of people from getting and keeping jobs in the software development industry; people who really suck at software development and / or completely hate it. Many people go into the software field for the same reason that people go into law or become doctors - money.

    It is also true that a computer science degree can be obtained by someone who sucks at software development. That same type of person might never become a good software developer, no matter how many years of experience they get developing software, managing projects, working with clients, writing documentation, etc.

    The other big lesson I learned the hard way at those two jobs is that many software developers are underpaid simply because they don't ask for enough salary up front and/or don't know how to negotiate during the interview process.
  • Arancaytar 2007-11-25 18:20
    A tip-off to the Business Software Alliance would never feel better. Let the sharks eat each other.
  • TheCPUWizard 2012-11-04 15:03
    This story is flawed. As early as 1992 Access [2.0] had a redistributable runtime environment so that you could create applications that did NOT require a copy of Access. This predates even VB6.