Slashdot Mirror


How to Recognize a Good Programmer

KDan writes to share an article he has written about what some of the key factors in recognizing a good programmer. "It's not as easy as it sounds. CV experience is only of limited use here, because great programmers don't always have the 'official' experience to demonstrate that they're great. In fact, a lot of that CV experience can be misleading. Yet there are a number of subtle cues that you can get, even from the CV, to figure out whether someone's a great programmer."

90 of 529 comments (clear)

  1. Hope this makes it. by Anonymous Coward · · Score: 3, Funny

    #include <stdio.h>
    int main(void)
    {
    /* duh, have to get the vars before... */
    if (firstName == "Theo" && LastName == "de Raadt")
    {
    printf("Excellent programmer\n");
    }
    else
    {
    printf("Hmmm... better look further.\n");
    }
    printf ("f1r57 pr0st!\n");
    return 0;
    }
    1. Re:Hope this makes it. by Reverend528 · · Score: 5, Funny

      Sorry, it doesn't compile. I'm going to have to mod you down for that.

    2. Re:Hope this makes it. by Dwedit · · Score: 3, Insightful

      Yay! Comparing a const char*const to an arbirary pointer! That will work great in C!

    3. Re:Hope this makes it. by Anonymous Coward · · Score: 5, Funny

      By reverse engineering this article, I've found out "How to be recognized as a good programmer."

    4. Re:Hope this makes it. by Glonoinha · · Score: 4, Funny

      Real programmers don't write catch blocks.

      In the words of my master,
      Do or do not.
      There is no try.

      --
      Glonoinha the MebiByte Slayer
    5. Re:Hope this makes it. by Sigma+7 · · Score: 3, Insightful

      c) printf can fail, you're not catching that. And what do you expect to do with a failure? printf() something to the console?

      I remember using "ON ERROR RESUME NEXT" in some of the later BASIC variants because the default error handling does a full stop on an application on any form of error, whether it's unrecoverable or safely ignorable. At a certain point, you don't care about failure - just fire and forget.
    6. Re:Hope this makes it. by renoX · · Score: 3, Insightful

      >>c) printf can fail, you're not catching that.
      >And what do you expect to do with a failure? printf() something to the console?

      Just to be annoying: you can exit with a value different from 0, indicating that there was an error.

      But in the real world, this is rarely done, should it be?
      I don't know..

  2. Sweet! by happyemoticon · · Score: 5, Insightful

    Now I know exactly how to manipulate my resume to look like a good programmer.

    1. Re:Sweet! by MikeDirnt69 · · Score: 2, Funny

      Hope your next boss doesn't know it, so he can't manipulate your paycheck!

      --
      Am I eval()? - http://www.monst3r.com.br
  3. it's easier than you think: by yagu · · Score: 5, Funny

    It's easier than you think:

    1. Find a good programmer and learn his (or her) name.
    2. Get to know him (or her).
    3. Take him (or her) out to coffee a few times.
    4. Engage in as many social activities with this good programmer as possible.

    After sufficient interactions like these with a good programmer you really should be able to recognize him (or her).

    (Appropriate apologies to Steve Martin for shameless borrowing of his "How to get a million dollars, and not pay taxes" routine.

    1. Re:it's easier than you think: by Anonymous Coward · · Score: 3, Funny

      PROTIP: Unpronounceable last names and comically bad hair are also good signs - but not positive proof.

      So you'd advise outsourcing to India or Eastern Europe?
    2. Re:it's easier than you think: by Roger+W+Moore · · Score: 2, Insightful

      ...and if you can achieve point 4 then they aren't really a good programmer.

    3. Re:it's easier than you think: by bckrispi · · Score: 5, Insightful

      But you forgot the most important details about the "recognizing" part. If they seem puzzled by the idea of interacting with people - especially people who don't program or otherwise spend most of their day with computers - then you're on right track. If they interact easily and are comfortable conversing on a wide variety of topics look elsewhere.
      I have to call 'bullshit' on that one. I've found the exact opposite to be true. I've worked with a couple of the antisocial "all I do is code" types before, and given the opportunity, I'd *never* work with them (or hire them)again. They are generally prima donnas who insist on reinventing the wheel and breaking best-practices because they keep rationalizing "*my* way is better" - even if "my" way is in direct contradiction with the business requirements.

      The best programmers I've worked with are the ones with a diversity of interests, are very capable of interacting with others. Our field demands that we can translate back and forth between business-speak and code. If all I wanted was a code monkey, I'd pick one up from Bangalore.

      --
      Xenon, where's my money? -Borno
    4. Re:it's easier than you think: by radish · · Score: 5, Insightful

      And this voodoo code made it past review how? Anyone can understand it if you explain it well enough. If you can't explain it, you don't understand it either. If you simply can't be bothered to explain it, then I don't want you working for me.

      However get a couple of really great guys who understand each other then you will get superior code in a fraction of the time.
      Code that's worthless because it will have to be thrown away when the requirements change and no-one knows how to patch it.

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    5. Re:it's easier than you think: by computational+super · · Score: 4, Funny

      What really sets you apart from others, though, is your humility.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    6. Re:it's easier than you think: by DreamCoder · · Score: 5, Interesting
      I've written some truly amazing code which works quickly, efficiently and is used on hundreds of different high traffic websites. I have yet to find someone who can understand what it does and how it does it. Its voodoo to everyone. Its a 20 line snippet which never needs to be touched.

      LOL - I double-dog dare you to post these magical 20 lines here. If you do, I guarantee you will find that:

      (A) Most of us will understand it.
      (B) Many of us could make it better.
      (C) It's definitely not voodoo.

    7. Re:it's easier than you think: by abigor · · Score: 4, Informative

      You sound like you're in high school, kid. How come your site "nickstallman.net" redirects to a site dedicated to cheating at some game called Runescape? Your code might be "truely" amazing to your fellow 15 year old gamers, but let's get real here.

    8. Re:it's easier than you think: by Hamilton+Lovecraft · · Score: 4, Insightful
      I'm a "all I do is code" type and I've written some truely amazing code which works quickly, efficiently and is used on hundreds of different high traffic websites. I have yet to find someone who can understand what it does and how it does it. Its voodoo to everyone.

      You're fired.

      If you aren't writing clear and understandable code, I don't want you on my project.

      --
      step 3: god dammit, it doesn't work
    9. Re:it's easier than you think: by Anonymous Coward · · Score: 5, Insightful

      Anyone can understand it if you explain it well enough. If you can't explain it, you don't understand it either. How can I explain it to you in terms you understand, when I myself can't understand it using only terms you understand?
    10. Re:it's easier than you think: by iwein · · Score: 3, Insightful

      I'd have to bullshit that one too. You're right that being an asshole doesn't make you a great programmer, but usually the best programmers tend to be a bit shy in my experience.

      What truly makes a great team is if you can get a few naturally shy, great programmers to find out that they actually share interests with some and can accomplish great things then. And you're right, intelligent, like minded people working on a common goal are very capable of interacting with each other. Throw in the beautiful office assistant though and you'll see what we're truly made of.

      --
      Show a man some news, distract him for an hour. Show a man some mod points, distract him for the rest of his life.
    11. Re:it's easier than you think: by baboo_jackal · · Score: 5, Insightful
      How to prevent hiring bad coders when interviewing potential new hires:

      He/She says:

      I've written some truely amazing code which works quickly, efficiently and is used on hundreds of different high traffic websites. I have yet to find someone who can understand what it does and how it does it So you ask:
      Unfortunately, the code you write *must* be understandable by other coders otherwise you're worthless to a development team. Assuming you're really so "good" that you can write inexplicable code that's also so awesome that it's used in the real world with no problems, then why are you applying for a job?


      He/She says:

      [I wrote] a 20 line snippet which never needs to be touched. Thats why its perfectly acceptable. So you ask:
      Can I see this 20 line snippet and your proof of its correctness?


      He/She says:

      If your working in a team which doesnt understand each other's styles fluently then you'll be wanting someone with many interests. So you ask:
      Why don't you know the difference between "You're," and "Your?"


      He/She says:

      However get a couple of really great guys who understand each other then you will get superior code in a fraction of the time. So you ask:
      So... Given that you "have yet to find someone who can understand" your "truely amazing code," how would you propose we find these other "really great guys who understand each other," (but, apparently, not necessarily each other's code) in order to obtain "superior code in a fraction of the time"?


      Ow. Your awesomeness hurts my brain. I submit.
    12. Re:it's easier than you think: by inq97 · · Score: 2, Insightful

      Our field demands that we can translate back and forth between business-speak and code. If all I wanted was a code monkey, I'd pick one up from Bangalore. Is that remark business-speak or code?
    13. Re:it's easier than you think: by Chysn · · Score: 4, Funny

      > I double-dog dare you to post these magical 20 lines here

              I'm gonna slightly break protocol here and go right to the dreaded triple-dog dare.

      --
      --I'm so big, my sig has its own sig.
      -- See?
    14. Re:it's easier than you think: by daem0n1x · · Score: 2, Interesting

      Dude, you're right on spot, with the exception of the Bangalore code-monkey, which sounds a bit racist to me.

      I've worked with a few nerds before and, in spite of being considered "geniuses" by the management they are a pain to work with, they work too many hours and force others to do the same because they are unable to plan and organise, and also explain themselves and listen to others. Once, for a particular project, the lead developer coded an FTP stack of her own in C++ because he didn't trust the standard ftp unix command or any free FTP library.

  4. The more important question is... by El+Cabri · · Score: 4, Interesting

    How to recognize someone who would give good advice about how to recognize a good programmer ? I think the C.V. can be misleading : the " official " experience at hiring programmers does not necessarily mean the the person would be apt at giving good advice about hiring programmers.

  5. Useless article by naoursla · · Score: 5, Insightful

    I would be much more interested in an article that tells programmers how to recognize good business people. I don't want to waste five years of my life implementing some POS idea by Joe Random MBA that is never going to make a dime. I am extremely hesitant to go work for any startup unless I personally know the people starting it and know that they have a track record of making good business decisions. From my experience, many business people feel the same way about technical people.

    And what is this about startups failing because the business people hire crappy programmers. Has anyone considered that maybe selling pet food over the internet is simply less efficient that the distribution system build by companies like Wal-Mart?

    1. Re:Useless article by MightyMartian · · Score: 5, Insightful

      It's much easier to blame the programmers than to look at any inherent problems in the business model.

      My definition of a good programmer isn't the worlds most talented codemonkey, but rather the guy that can set the boundaries of the project firmly and manage the expectations of client/boss. Most of the programming nightmares I've seen have nothing to do with programming skills, but mainly because the project went all over the place due to a lack of explicit boundaries.

      When people start going "Yeah, that's neat, but if you can put that widget in there, maybe you can put this other widget that Bob in Accounting thought up yesterday afternoon" you know the project is in trouble.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:Useless article by bkr1_2k · · Score: 2, Insightful

      Honestly, the best way is to read the business plan for yourself. Take a couple of classes in business, specifically something along the lines of how to get venture funding for a startup, and "business plan writing" classes.

      Once you've done that you'll be a lot further along at being able to tell for sure if someone is worth working for/with. Of course that assumes they're willing to let you look at these things. But even if you can't actually look at them, it will give you a lot of insight into good questions to ask during an interview. EG: "what's your 5 year plan for funding?" "What is your market?" "Who is your anticipated competition?" If a person can't answer those 3 questions at least, you need to walk away because they haven't thought the idea through enough.

      --
      "Growing old is inevitable; growing up is optional."
    3. Re:Useless article by I8TheWorm · · Score: 2, Funny

      The Paul Graham quote did fail to mention some of the genius Harvard-MBA-type decisions like with drkoop.com, which had no revenue stream. They really did fit the 1) make a website, 2) ???, 3) profit! model. We bought some of their servers for ten cents on the dollar when I was still in Austin.

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  6. CV experience? by HTH+NE1 · · Score: 4, Funny

    CV experience is only of limited use here, because great programmers don't always have the 'official' experience to demonstrate that they're great. In fact, a lot of that CV experience can be misleading. Yet there are a number of subtle cues that you can get, even from the CV, to figure out whether someone's a great programmer.
    You mean the hours I put in playing CastleVania isn't necessarily a reliable metric to determine how great a programmer I am?
    --
    Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
    1. Re:CV experience? by RailGunner · · Score: 2, Funny

      No, only Simon's Quest counts - since 80% of the clues in that game are misleading or outright false, only Simon's Quest prepares you to deal with management-speak that is 80% misleading or outright falsehoods.
       

  7. Re:WTF is a CV? by trib4lmaniac · · Score: 2, Informative

    I believe CV (Curriculum Vitae) is generally referred to as a résumé in the US. CV is a more British term.

  8. How to recognize a good sysadmin by alta · · Score: 5, Funny

    They obviously can't find a good sysadmin that can project future load on their servers and scale accordingly ;)

    Or maybe they can, and the sysadmin can just blame the evil bean counters.

    --
    Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
  9. Re:At least get a CS degree by jandrese · · Score: 2, Insightful

    I'm not sure I trust real world C++ news coming from Bjarne Stroustrup (sorry I mangled his name), I mean that's the guy who still thinks the C++ Template syntax is beautiful. Plus, it's entirely possible his perception is skewed a bit with regards to his own baby.

    --

    I read the internet for the articles.
  10. They're out there, but scarce.... by get+quad · · Score: 5, Insightful

    After 15 years in IT, I've noticed that programmers as a lot typically cannot spell even the most basic 3-syllable words, so when you find a coder who actually spells properly get out your checkbook. Like it or not, being able to spell is a significant indication of character, especially the propensity for paying attention to detail (a trait you certainly want in a professional coder).

    --
    "To err is human, to mod Funny divine."
    1. Re:They're out there, but scarce.... by SirGarlon · · Score: 5, Interesting

      As one of the elite few programmers who does know how to spell, thank you for noticing. I would say "take it as a good sign" rather than "get out your checkbook" but I'm just the cautious type I suppose.

      However - I can spell, and my brother can't. I believe this has more to do with the teaching methods in our respective elementary schools than with our inherent attention to detail. His school used an experimental method that I think failed him utterly - at a time before national standards were yet fashionable.

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    2. Re:They're out there, but scarce.... by codepunk · · Score: 3, Funny

      Perhaps because we spend our entire life typing shit like this...

      SomeStupidAssLongClassName clsSomeStupidAssLongClassName = new SomeStupidAssLongClassName();

      --


      Got Code?
    3. Re:They're out there, but scarce.... by Richard+Steiner · · Score: 2, Funny

      If you're gonna use spelling as a criteria, be sure to keep in mind that there are a several variants of English (as well as just about every other natural language in existence), and while you might not consider "favour" to be a (the?) correct spelling of "favor", the programmer you're evaluating might, and this would not detract from the "attention to detail" argument.

      Speaking as someone who works in an international company and regularly collaborates with technical folks in the UK and Australia, I strongly agree. Just because they have different spelling standards doesn't make them incorrect. Just wrong. :-)

      Sorry, I mean different. :-) :-)

      --
      Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
      The Theorem Theorem: If If, Then Then.
    4. Re:They're out there, but scarce.... by fireboy1919 · · Score: 2, Insightful

      To go further, I've never met a talented programmer who didn't write well. I have a theory.

      Programming languages are languages. If you understand them, and you're not just shoving out snippets, then a programmer is a linguist.
      So a programmer is a person that spends a very considerable portion of their day thinking of how to say things to a very, very stupid entity that doesn't understand his native language (a computer). So he has to have fantastic clarity of thought in the language translation department - especially if he's regularly using more than one programming language.

      The only notable exception to this is low-level programming - assembly and pure C. That contains so little actual structure in and of itself that it more closely resembles a math construct than a language. So I think you can get pretty good at the low level stuff without affecting your writing capabilities.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    5. Re:They're out there, but scarce.... by tgv · · Score: 2, Insightful

      I'm not particularly fond of the spelling/grammar wars, but ... Although your spelling is fine, punctuation and grammar are lacking. Here is a rewrite:

      - As one of the elite few programmers who does ...
      "Elite few programmers" is ungrammatical and superfluous (an elite is a small group by definition); "Who does" refers to a single person, but the phrase and context make clear that you are speaking about programmers in general, so "As one of the few programmers who do know how to spell" is better.
      - Add "I" before "thank you", or write "A thank you ... from one of the few".
      - Add a comma before "I suppose".
      - The hyphen after "However" should also be a comma.
      - you should put hyphens or commas around "I think".
      - Remove the comma before "and" or add one before "but".
      - "- at a time ..." is written in a way that is normally used to add a contrast ("At a time when foreign tourism to the U.S. is heavily down, the State Department has just raised the incoming visa fee to $131"). However, it just supports the context here, so "but this was at a time" would have been better.

  11. The Title is Way Off the Mark by FreeKill · · Score: 5, Insightful

    I think the author of this article is way off the mark. The title should have been "How to recognize a programmer who's likely to work 18 hours for very little pay." Almost all of his points boil down to the fact that he thinks all good programmers are the ones that can pad out their resume with 900 technologies and eat, sleep, and breathe programming. I can't even begin to tell you how many absolutely amazing C++/Java/Python programmers I've met who I can almost guarantee have never even touched Ruby before. Just because a programmer doesn't go out of their way to try out every single new technology that hits the market doesn't diminish their abilities at those they do use. The author of this article is clearly looking for a programming work horse that he can throw unreasonable expectations on and toss new technology buzz words at until their head explodes. Guess that's probably what you need when you plan a startup and only want to hire one guy to do the work of 10...

    1. Re:The Title is Way Off the Mark by Anonymous Coward · · Score: 2, Insightful

      "Fear not the man who practices 10,000 techniques one time but respect the man who practices one technique 10,000 times" -- Old Chinese Saying

      Updated:
      "Fear not the programmer with lots of languages used only at the basic level, but respect the programmer who uses few languages but knows them well."

    2. Re:The Title is Way Off the Mark by bkr1_2k · · Score: 4, Insightful

      Thank you. My first thought was, the article was written by a coder who needed to justify how good he is. I've known plenty of damn good, dare I say great, coders who never spent time at home coding after they got out of school. They know/knew a couple of languages well, and left the other languages to people more qualified to handle them. I'd say that's a higher mark of someone's skill is asking them how they'd handle something that they don't list on their resume, or list as having some experience with, but not mastered.

      Excessive use of computers may imply passion, but it also implies early burn-out for most coders I've met. The ones who last and are also good, by contrast, are just the opposite. They work hard at work, and they leave it alone when they're at home. Of course there are exceptions to all rules, and certainly to anecdotal evidence, but that's been my experience thus far.

      --
      "Growing old is inevitable; growing up is optional."
  12. Re:WTF is a CV? by Surt · · Score: 2, Informative

    CV is commonly used in the academic world in the US. Resume would be more common pretty much anywhere else in the US.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  13. Re:BigInt by Anonymous Coward · · Score: 5, Funny

    How can I find programmers who don't squander their days reading Slashdot.

  14. Re:WTF is a CV? by VAXcat · · Score: 2, Funny

    Jeez! Don't they teach you kids Latin anymore?

    --
    There is no God, and Dirac is his prophet.
  15. That they aren't primarily a programmer? by SCHecklerX · · Score: 5, Interesting

    The best I've met have degrees in English, Physics, Engineering, or Math. They then focused on the programming aspect as needed to create tools that helped them and their peers to streamline their work. As that focus became more of a primary job function, they honed their skills and methodology around maintainable code, version control, security, documentation, reusable modules, etc.

    I'm guilty of being one of these types myself, but have since moved up to project management around security type stuff after having taught those who replaced me the things that I learned through experience.

  16. Ask him... by Anonymous Coward · · Score: 5, Funny

    Ask him if he's a good programmer in klingon

  17. Easy. I see a damn good programmer when ... by 140Mandak262Jamuna · · Score: 4, Funny

    ... I am brushing my teeth in the morning in the mirror, grinning back at me, saying what a great programmer I am. :-)

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Easy. I see a damn good programmer when ... by Jeremi · · Score: 3, Funny
      I am brushing my teeth in the morning in the mirror, grinning back at me, saying what a great programmer I am. :-)


      If nothing else, being able to grin, talk, and brush your teeth all at the same time is indeed a rare talent :^)

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
  18. Two things by Shados · · Score: 5, Insightful

    That list is very, VERY good in my opinion, if obvious (but not so obvious to HR people).

    However, two things came to mind. The variety part. Yes, its good. I personally am fluent in just about all programming environments known to man, more data storage techs than I can count, too many business types, and things vastly different, like business intelligence and biology (I started as a programmer for R&D biotech softwares).

    The catch is, that tends to show that you're too much everywhere. You can take one "enterprise" stack, let say J2EE or .NET, and even if you worked with them constantly for the next 10 years, learning something new every day, you'd still have more to find (and by more, I mean significant things). Thats why once, in .NET, I coded some tool, it took let say 50000 lines of code, then learned about some obscure feature that could have reduced it to 500. Yes, 500.

    Those are things that makes the difference between a project taking a year, and one taking a month. Once I realised that (and people hiring know this just too well), I specialised in a 2-3 technologies (specialising in just one isn't enough to keep track of the evolution of the field), and I've been a much better developer since then.

    You need to have a broad VIEW of the field, but still be specialised, to be efficient at what you do. Knowing 10 technologies equaly well means that you don't know either of them at their peek.

    Secondly, the certification thing. We all know certification means crap, I agree, but like the article does state, it helps hiring people to spend less time interviewing you about the obvious. If you say you're Java certified, they can only ask 2-3 questions to make sure you truly are, and forget about testing you on a Java hello world. That way, they can spend more time testing you on the important stuff, like actual development expertise, as opposed to syntax knowledge. Also, having a lot of certifications, if you can prove you didn't brain dump them, can go in the "broad knowledge" and "passionate" part. If you have 12 certifications with 12 technologies, well, it shows you like knowing your stuff (those tests can sometime ask for pretty pointy things...)

    1. Re:Two things by phasm42 · · Score: 4, Funny

      Thats why once, in .NET, I coded some tool, it took let say 50000 lines of code, then learned about some obscure feature that could have reduced it to 500. Yes, 500.
      Arrays?

      I kid, I kid!
      --
      "No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
    2. Re:Two things by Red+Flayer · · Score: 3, Funny

      Knowing 10 technologies equaly well means that you don't know either of them at their peek.
      At first I was going to make some snide comment about grammar, since 'either of them' should refer to ten technologies.

      Then I re-read it... you wrote 10, not ten.

      Nice.
      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
  19. Re:WTF is a CV? by MyrddinBach · · Score: 5, Interesting

    CV is latin for Curriculae Vitae which as someone else noted means "course of life" and it is a bit of a misnomer to use "CV" as a resume as traditionally a CV actually includes everything related to your "life" - thus "course of life" - a true CV would be more a of a large binder with many many pages - a portfolio if you will - of anything and everything you have accomplished and achieved in your life whereas a resume is usually just a one page condensed version of anything relevant to the job you are trying to acquire.

    I actually have something that is closer to a true CV - a portfolio that is about 25 pages of material of all my IT experience, education, major projects, contacts, letters of recommendation, etc. When I apply for a job I send them my resume but if I get called for an interview I bring in my portfolio and use it during the interview - it often has a very large positive impact.

  20. Lots of ways by hey! · · Score: 4, Funny

    First, there is razor sharp intellect and subtle, erudite wit. There's the way he has of getting right to the heart of matters, his effortlessly quick and authoritative opinions on an astonishing array of subjects. Of course it is conceivable that some might miss his unconventional but undeniable good looks, although that might stretch the bounds of credibility.

    But in a pinch you can go with the way that he often goes about wearing your pants or the fact that he stares back at you from the mirror every morning. That's a dead giveaway.

    Of course if that fellow's unavailable, most people end up settling for somebody who, while utterly lacking his extraordinary qualities, nonetheless agree with as many of his opinions has he has cared to express.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  21. Passion != "Spare Time" by Anonymous Coward · · Score: 5, Insightful

    The first category is crap; "passion" is often mis-identified (as in the case of the article) and linked to what people do in their spare time.

    The idea that not programming in your spare time makes you a poor programmer is abjectly false and amazingly stupid considering the amount of complaints within the industry about working hours, laundry-list job listings, industry only for the young and unmarried, etc.

    I've known too many counter examples to debunk this; people who would talk on end on how "great" and wonderful a technology was only to mis-use it to the detriment of the business and the customer. People who had no lives; bragging about what they did at home, what OSS projects they were working on only to get fired for not being able to understand or structure requirements, not having enough domain knowledge of the industry they were working in, or not being able to meet the customer's needs.

    Frankly, I work 50+ hours a week and the last thing I want or feel a need to do is look at a f*cking computer when I go home. And this comes from someone who got a Master's in CS while working full time; led implementation of new technologies and languages within the group.

    It sure as _hell_ doesn't mean I don't have passion for what I do.

    1. Re:Passion != "Spare Time" by MightyMartian · · Score: 2, Interesting

      Frankly, I work 50+ hours a week and the last thing I want or feel a need to do is look at a f*cking computer when I go home. And this comes from someone who got a Master's in CS while working full time; led implementation of new technologies and languages within the group.


      One of the best programmers I ever knew wrote and maintained a large Cobol-based Point-of-Sale program for MS-DOS. It was an incredibly good product, with all sorts of hooks for all sorts of POS-based equipment, right down to pump controllers for gas stations. He had an office, worked there, but when he went home, he went home. It's tough in this day and age to do that sometimes, but I really envied the way he actively divided his world between work (development, marketing, support) and home (family and recreation).
      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
  22. Re:BigInt by Anonymous Coward · · Score: 5, Funny

    How can I find programmers who don't squander their days reading Slashdot.

    Easy...If they can finish any of these.. don't hire them...

    a) I for one welcome our new programming _________

    b) In Soviet Russia the programmers ____ ___

    c)
    1. Hire programmer
    2. ?????
    3. ______

    or make a comment about Macs/PS3/Windows and if you get modded/spelling or grammar corrected.. the same applies.

  23. fear by psbrogna · · Score: 2, Funny

    I was going to read the article but I didn't because I'm too afraid that there's going to be pictures of what good programmers look like. Let's face it, we're not the chic-est demographic on the planet.

  24. Why do good programmers need strong opinions? by Chernboyl · · Score: 3, Insightful

    This is a serious question. I totally agree on every point except that a "great programmer is uncomfortable using a technology he doesn't feel is right". Two developers can be great but be completely at odds. Wouldn't the 'better' programmer say, "Perhaps I don't feel right because I don't know enough about it?" Strong opinions about certain technologies, in my experience, signifies a degree of ignorance and imbalance; and they didn't learn it correctly, extensively, or in the right context. In my opinion, a great programmer is more open-minded, allowing a non-biased filter to consider technologies he doesn't "feel is right." Am I right?

  25. They forgot the most important one by mrhifibanjostrings · · Score: 2, Funny

    The list seems to be lacking one of the more important ways of identifying a good programmer -- the uncanny ability to quote from the entire works of Monty Python.

  26. Re:At least get a CS degree by Mantaar · · Score: 5, Insightful

    I wouldn't trust Bjarne on whatever he says about C++ - he's the creator, and he doesn't have an objective POV. Note that it doesn't matter if he's rather skeptic or enthusiastic about anything C++...

    That said, I don't really know if he's right anyways. Everything .NET is going up like a rocket in the Windows world, and companies seem to often be more concerned with their web appearance than with the quality of the programs they write - and thus use Java or .NET, because it's faster to deploy. The FOSS world is making a big fuss about C - and coding GUIs in C (like GTK) has to be the worst idea I've ever seen, by the way (Oh, I'll get modded down for that...). While new and powerful languages like Haskell seem to get a lot of attention.

    C++'s main advantage is the same as Microsoft's: it's everywhere, there are just so many libs out there and there exist language bindings for just about everything. We don't really know anything about the lifespan of computer languages yet. Just when I thought it's finally dead for good, I heard about a release of a new version of a FOSS Pascal compiler.

    And we're waaaay offtopic here...

    --
    I'm an infovore...
  27. Baloney by MarcoAtWork · · Score: 5, Insightful

    from the article, what's the #1 'negative'?

    Negative indicators:

    * Programming is a day job


    excuse me, I am a really good programmer, did the whole 9 yards growing up as a stereotypical geek (not into sports, into programming way before it was fashionable to do so, from basic, to turbo pascal, to z80 assembly etc.), I lived and breathed programming and computers for many years of my life, however now I am in my late 30s and I try to have a much healthier work-life balance, I don't see why this should be a negative at all.

    If I wasn't working at a computer dev job I would probably be coding a bit for fun, but there is no way that nowadays you could get me to talk shop for hours just for the fun of it.

    Also

    In fact, the great programmer will be the one talking your ear off about a new technology that you haven't even heard of, explaining to you why you must use it in your business, even if none of your staff knows how to use it. Even if it's a technology he doesn't know how to use yet.

    gimme a break, for me this would be a huge no-no, it would be the hallmark of somebody going after every possible latest fad, instead of focusing on proven tools for the job. Yes, there ARE cases where the bleeding edge is needed, but they are the exception rather than the rule: if I have a business I want code that is mantainable, and that, if the 'wiz developer' gets hit by a bus, is understandable by others (read, it's not such a niche skill that if I lose that person my business will fold because it's impossible to find a replacement).

    Good programmers will have a tendency to talk your ear off about some technical detail of what they're working on (but while clearly believing, sincerely, that what they're talking about is really worth talking about). Some people might see that as maladapted social skills (which it is), but if you want to recognise a good developer, this passion for what they're doing at the expense of social smoothness is a very strong indicator.

    this is another totally bogus criteria: in nowaday's workplace soft skills (being able to work as a team expecially) are just as important; gone are the days of the single programmer in his ivory tower producing code that only himself can understand. You need to have a team, and if I have to choose between person A who is, say, a programmer worth 100/100 but has 0 social skills, and person B who is, say, worth 80/100 but gets along with everybody, I will choose person B every time. A gelled team is greater than the sum of its parts, but you can't gel a team full of primadonnas and socially maladapted people.

    If you are such a 'smart' programmer you will realize that 'programming' social interactions is as important as programming computers, and you will apply your skills to that as well, making your workplace a lot better and likely improving drastically your career prospects.

    If you're hiring for a small business, or you need really smart developers for a crack team that will implement agile development in your enterprise, you should disregard most formal qualifications as noise.

    give me a break, being smart and having no formal qualifications is a lot worse than being smart AND having formal qualifications. I have a M.Sc. in Electronic Engineering: have I used anything I learned in university in my career? Not at all. Have those years broadened my horizons, introduced me to a lot of different concepts and methodologies that made me a much, much, much better programmer than I was before? You bet. Your 'crack team in agile programming' will likely end up implementing something O(n^3) (because they have no clue about computational complexity) while your university educated buzzword-averse reliable programmer will give you O(n^2) or even O(n log n) because they've been there and done that many times before in a lot of different other contexts.

    THESE to me are the signs of a great programmer, experience, good grasp of architectural con

    --
    -- the cake is a lie
    1. Re:Baloney by C_Kode · · Score: 2, Insightful

      excuse me, I am a really good programmer

      Rule #1, an ego doesn't make you a good programmer. ;)

    2. Re:Baloney by Xentor · · Score: 4, Interesting

      I do agree with you on the "programming is a day job" part, mainly because I'm going through the transition myself. I used to spend a lot of time at home playing around in different languages, writing my own games and utilities, endlessly writing and rewriting websites... Now, I just want to go home and vegetate in front of a game or the TV...

      The change? Full-time job. After spending a full day programming to earn my paycheck, it just becomes mentally separated from what I do in my spare time. I kind of miss the old college days when I could just spend hours and hours doing it for fun, but now I just want to zone out.

      As for the new technology part, I somewhat agree... A good programmer shouldn't be ranting about how everything MUST be done on Ruby-on-Rails, because that's the new fad (Yes, I realize it no longer is. That's the point)... A good programmer will look at a new technology, look at the needs of the project/business, and decide whether or not that technology is a good fit. If it's a major improvement that fixes existing problems, then he'll start pushing it.

      On the other hand, when you're interviewing a programmer, and ask them about some personal project or technology they worked with, getting your ear talked off is a good sign, because this ties into the whole "passion" part. If they find this project or tech interesting enough to ramble on about, this is probably someone who's in the industry because they enjoy it, not because their high school guidance counselor told them it pays well.

      So, on to social skills. Yes, you need to be able to communicate with and get along with other programmers, even those who aren't on the same level. Apart from that, the importance varies depending on the person's role. If they're going to be one programmer on a large team, working off design documents and style conventions, then it's not that important. If they're on a smaller team, and will be working directly with the business side to design parts of the application, then social skills become a necessity. Of course, if you find someone who just wants to sit in a dark room apart from the rest of the team, and just silently deliver code modules to them, then you might want to look elsewhere.

      Qualifications... Degrees... I think the article was basically preaching against certifications, and in that respect I agree entirely. I don't care if someone passed a certification test by Microsoft or Sun... That means they know how to work with one specific area of technology, well enough to pass a test once. It doesn't say whether they can think for themselves, or adapt to a new situation.

      On the other hand, an undergrad degree can be a good thing. You don't learn how to program in college (Well, I hope not), but you do learn how not to reinvent the wheel. You learn some standard algorithms, data structures, and methodologies, and you learn about lots of things that you'll consider useless at the time (Natural sciences, higher maths, etc), but will still influence the way you think. A master's degree or doctorate, well, I don't know... I've worked with PhDs who couldn't think outside the smallest box, and I've worked with a few who could work miracles. A dropout might be a bad sign (Though not a disqualifier, depending on other factors), but I wouldn't trust a PhD to necessarily be better than an MS or BS.

      In short, you make some good points, but you're leaning toward the other extreme. Remember, you're looking for a programmer, not a corporate executive. This is about looking past the doublespeak and self-promotion and determining whether someone can write quality software.

      On a side note... The phrase "working yourself out of a job" is starting to look really scary... I shouldn't have automated this place so well that I have nothing to do but post on slashdot...

      --
      "The amount of intelligence on this planet is a constant. The population is growing." -Cole's Axiom
  28. See previous article by tmcmahon · · Score: 5, Funny

    He can re-program a Tram system with a remote control.

  29. Re:waste of time by mmkkbb · · Score: 2, Insightful

    How else do you get the interview in the first place?

    --
    -mkb
  30. I can't agree with all of this by khendron · · Score: 5, Insightful

    Some of the points made in this article are good, but a couple are way off the mark.

    He lists as a negative indicator *anyone* who considers programming as a "day job." I know quite a few programmers who consider programming a day job. They come into work at 9, they work for 8 hours, they go home at 5, and then they do something entirely different. But the code that they produce while at work is brilliant. They are extremely bright people who enjoy programming, but don't live and breath it. They would rather do something else while not at work.

    He lists as a positive indicator *anyone* who is passionate about technology. Sorry, but I've met a lot of people who are bubbling over with enthusiasm about programming, but can't code worth shit. These are the people dive headfirst into a programming job without any thought of design or architecture, and you end up with an application that uses half a dozen bleeding edge technologies, all bundled together with virtual duct tape, that disintegrates at the first input exception.

    --
    Life is like a web application. Sometime you need cookies just to get by.
  31. Indeed by sterno · · Score: 3, Insightful

    I started reading the article but when I got to this bit I realized they had nothing useful to say:

    what killed most of the startups in the e-commerce business back in the 90s, it was bad programmers. A lot of those companies were started by business guys who thought the way startups worked was that you had some clever idea and then hired programmers to implement it.

    Ummm, if you start a business thinking that simply hiring programmers to implement your clever idea would make a successful business, you've already failed. If you want to start a successful business, the first thing you have to do is actually know how to run a business. Having a clever ideas makes you clever, maybe, but it doesn't mean you know jack about managing a business. Hiring bad programmers is simply the natural conclusion of somebody that didn't know what they were doing in the first place.

    --
    This sig has been temporarily disconnected or is no longer in service
    1. Re:Indeed by AmaranthineNight · · Score: 2, Insightful

      If you didn't notice, that part there was in quotes, as in, it was something that somebody that was not the article writer said. Keep reading, and you'll see that the author of the article disagrees with the guy in the quote on a few points...

    2. Re:Indeed by MellowTigger · · Score: 2, Insightful

      I started reading the article but when I got to this bit I realized they had nothing useful to say: But... that wasn't the author writing, that was the author quoting Paul Graham. If you had bothered to continue reading, or at least skipping past the quote to read the next sentence that the author offered, you would have discovered...

      I disagree with Mr Graham on this one. You gave up too soon. *wag finger disapprovingly* Bad programmer, bad!
  32. He? She? by AeroIllini · · Score: 5, Funny

    If your potential programmer didn't do any programming before university, and all his experience starts when she got her first job, she's probably not a good programmer. Apparently, a lot happened between university and that first job.
    --
    For security, the MD5 hash of this message and sig is 09f911029d74e35bd84156c5635688c0.
  33. Point by point by SirGarlon · · Score: 5, Interesting

    I disagree with a lot of these points.

    * Passionate about technology * Programs as a hobby

    Reasonably good indicators

    * Will talk your ear off on a technical subject if encouraged

    Ability to yammer on about a subject one's audience does not care about is a weak indicator of programming ability and a strong indicator of poor communication skills

    * Significant (and often numerous) personal side-projects over the years * Learns new technologies on his/her own

    OK

    * Opinionated about which technologies are better for various usages * Very uncomfortable about the idea of working with a technology he doesn't believe to be "right"

    NO, NO, NO!

    A good programmer has an open mind and makes decisions after thought, study, and understanding the users' needs; not based on some knee-jerk personal prejudice.

    * Clearly smart, can have great conversations on a variety of topics * Started programming long before university/work * Has some hidden "icebergs", large personal projects under the CV radar * Knowledge of a large variety of unrelated technologies (may not be on CV)

    Negative indicators: * Programming is a day job * Don't really want to "talk shop", even when encouraged to * Learns new technologies in company-sponsored courses

    There is nothing wrong with taking advantage of company-sponsored courses. Taking advantage of classroom opportunities is just good time management (it can be easier to learn more, faster, in a well-taught course than in self-study).

    * Happy to work with whatever technology you've picked, "all technologies are good"

    So what you're looking for is a prima donna who will refuse to work in the environment you ask him to, and is insubordinate out of the gate? No. A good programmer will find the strengths of the technology you've picked and design a strategy that plays to those, rather than just telling you you've made a stupid choice and should have used his pet technology instead.

    * Doesn't seem too smart

    I don't know if it's ever a good idea to hire someone who "doesn't seem too smart."

    * Started programming at university

    That's a stupid criterion. Why someone starting programming is a lot more important than when

    * All programming experience is on the CV

    Inability to write a complete CV is hardly an indicator of competence. The author is biased in favor of people who started programming at the age of 9, as he did.

    * Focused mainly on one or two technology stacks (e.g. everything to do with developing a java application), with no experience outside of it

    Nonsense; depth of knowledge is as important as breadth of knowledge. Ability to justify 50 different buzzwords on one's resume doesn't make someone a good programmer. It is a lot better to talk about the problems the candidate has solved, than the technology used to solve them.

    --
    [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
  34. Tunnel Vision by Roman+Geyzer · · Score: 2, Insightful

    Sorry, but I was not impressed with this article. First off, it was not bad programming that killed off late '90s ecommerce startups. It was flawed business models. In fact, I would say that unless you're selling software or some kind of technology service, it is highly unlikely that even a crap programming team will derail your firm if you have a fundamentally solid business model. So the backdrop for this article is flawed because it assumes that programming talent defines business success. Secondly, this article does not (as the title suggests) tell you HOW to recognize a good programmer. It attempts to define WHAT a good programmer possesses. There's a big difference between WHAT and HOW. If you want to know HOW to spot if someone is intelligent can be significantly more challenging than simply saying "I want someone smart". Furthermore, it misses one of the biggest points for a successful programmer - namely, Communication Skills! If a programmer can not articulate their understanding of the requirements and communicate back issues, concerns, and ideas, then you are taking a major risk. It doesn't matter that they COULD HAVE programmed the next BIG THING.... if they didn't understand the requirements, they will have wasted their time (and someone's money). And what about being able to work with the business and communicate ideas? How about time management and multitasking skills? I would hire a mediocre developer with solid communication skills and a willingness to learn over someone with top 1% programming talent who can't communicate a sentence properly. Ok, I'm done ranting.

  35. Re:How would I recognize a good programmer? by spkog · · Score: 2, Interesting

    "A; B; while(F) { C; D; A; B;} C; D;" from "while (F) {A; B; C; D; }" works only if the loop always iterates 2 or more times. If F is not true or F is true for 1 iteration, the proposed substitution is incorrect.

  36. Re:Useless article-Petsmart. by bkr1_2k · · Score: 3, Interesting

    Every time you have an interview, it should be their interview as much as yours. That's the point of an interview, to see if you fit together, not just to see if they think you fit them, but to see if you think they fit you too.

    Every interview I've ever had, I interviewed my interviewer as much as they interviewed me. Maybe I'm strange, but it's worked so far.

    --
    "Growing old is inevitable; growing up is optional."
  37. This is why... by Anonymous Coward · · Score: 2, Funny
    ...I still submit my resumes on punch cards.

    #include <stdio.h> And I'm always dismayed by programmers that can never spell "studio" properly...
  38. The Python Paradox by Paul Graham by Wiseman1024 · · Score: 5, Insightful

    The Python Paradox
    Paul Graham

    http://www.paulgraham.com/pypar.html

    August 2004

    In a recent talk I said something that upset a lot of people: that you could get smarter programmers to work on a Python project than you could to work on a Java project.

    I didn't mean by this that Java programmers are dumb. I meant that Python programmers are smart. It's a lot of work to learn a new programming language. And people don't learn Python because it will get them a job; they learn it because they genuinely like to program and aren't satisfied with the languages they already know.

    Which makes them exactly the kind of programmers companies should want to hire. Hence what, for lack of a better name, I'll call the Python paradox: if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it. And for programmers the paradox is even more pronounced: the language to learn, if you want to get a good job, is a language that people don't learn merely to get a job.

    Only a few companies have been smart enough to realize this so far. But there is a kind of selection going on here too: they're exactly the companies programmers would most like to work for. Google, for example. When they advertise Java programming jobs, they also want Python experience.

    A friend of mine who knows nearly all the widely used languages uses Python for most of his projects. He says the main reason is that he likes the way source code looks. That may seem a frivolous reason to choose one language over another. But it is not so frivolous as it sounds: when you program, you spend more time reading code than writing it. You push blobs of source code around the way a sculptor does blobs of clay. So a language that makes source code ugly is maddening to an exacting programmer, as clay full of lumps would be to a sculptor.

    At the mention of ugly source code, people will of course think of Perl. But the superficial ugliness of Perl is not the sort I mean. Real ugliness is not harsh-looking syntax, but having to build programs out of the wrong concepts. Perl may look like a cartoon character swearing, but there are cases where it surpasses Python conceptually.

    So far, anyway. Both languages are of course moving targets. But they share, along with Ruby (and Icon, and Joy, and J, and Lisp, and Smalltalk) the fact that they're created by, and used by, people who really care about programming. And those tend to be the ones who do it well.

    --
    I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
  39. OMG you are kidding right? by COMON$ · · Score: 4, Insightful
    A good programmer doesn't write 20 line ambiguous intelligent scripts that do the job. A good programmer plans for his demise/departure by following the standards in the industry. I would rather a project take 30% more time but be supportable by more than the creator.

    This comes from experience, I work on multiple networks and have been through more than one web migration. I tell ya, the one thing that bugs me most is short sidedness, these programmers who are very intelligent and write scripts to prove to the world that they are smart. However they forget to document because why should you document something that works? You take those 20 line snippits and after 3 years or so you have about 100 of them in your environment, something breaks and all hell breaks loose for days because your replacement has to grep through all your code while you are unavailable.

    Standard, Commented, well structured code is what I look for. You show me code examples that are easy to read and commented well. Also show me a positive attitude and have musical talent and you are hired.

    --
    CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    1. Re:OMG you are kidding right? by ldholtsclaw · · Score: 2, Insightful

      I consider myself a pretty decent programmer and the only thing I can play is the radio. Now my 13yo son plays piano, clarinet and sax and my daughter is a music major at a private university on a voice scholarship (soprano with a 3+ octave range, prefers to sing opera though) -- does progeny count? ;) Anyway, the mention of music as a requirement is not new to me. A programmer many years my senior told me IBM used to seek out music majors for programmers before most colleges had a computer-science program. He said it was believed that avid music enthusiasts tend to think in ways conducive to writing code. Whether this is true or not, music as a job criteria is certainly not the strangest I've seen. Not even in the running.

      To pop the stack, I personally have no idea whether my code meets "best practices" or not. Since I'm totally in control of the software development where I work, there's no one I need satisfy with code statistics nor any reports to write -- but what I do must be accomplished on a timely basis, deployed to end users in a guarded but reasonable pace and not cause clients' displeasure towards the company in the process. This may sound easy, but it's anything but. For one thing, you cannot maintain a large codebase (current main project is about 1/4 million lines) without it being appropriately documented. Or, at least, not with any speed you can't. Though I don't follow any set guidelines per se, I learned very early on that it was much easier to come back to something months later if you left yourself enough breadcrumbs to recapture the thought path that led you to the code in the first place. Some functions have reams of notes, others have almost none. Yet, when I can look over lines written ten (or even 20) years ago and work with it rapidly, that tells me it was documented well enough. Sure, I've seen policies of "comments every N lines" and such, but most of those are a matter of someone opinion (well informed or not) and it's the results that really count. And in the case of user interface design, I use the tried-and-true method of watching end users actually using the system and take note of anything that seems to slow them down or add to their confusion. As a result, there is very little training required as the system just fits the way they need to do things. But, I digress from the point.

      To my own observations, those people that proclaim themselves "great programmers" the loudest are the ones least likely to be so. Those that I consider "decent" may not proclaim their virtues, but they are quick to be personally offended when their code is challenged. This shows to me that they are passionate about their work and care enough about it to back it up with their reputation. And that's the kind of person that I want working for me.

    2. Re:OMG you are kidding right? by Anonymous Coward · · Score: 3, Insightful

      Comments shouldn't tell you WHAT code does.
      Comments should tell you WHY code does it.

      If a code monkey can't tell WHAT the code does they need a better book.
      No book tells you WHY the code is the way it is, for multiple versions of way.

    3. Re:OMG you are kidding right? by MPAB · · Score: 2, Funny

      None of them could swing a tune on any instrument save a keyboard.
      Lifeforms... you tiny little lifeforms... you precious little lifeforms... where-are-you?
  40. Re:At least get a CS degree by Reverend528 · · Score: 3, Insightful

    thus use Java or .NET, because it's faster to deploy.

    You've never used java before, have you?

  41. Re:BigInt by jimbojw · · Score: 3, Funny

    I cant understand any of those, you insensitive clod!

  42. Re:BigInt by maxwell+demon · · Score: 5, Funny

    a) I for one welcome our new programming challenges

    b) In Soviet Russia the programmers know math

    c)
    1. Hire programmer
    2. ?????
    3. Pay salary!

    OK, did I pass the test? :-)

    --
    The Tao of math: The numbers you can count are not the real numbers.
  43. not what I wanted to learn by esj+at+harvee · · Score: 2, Funny

    crap, crap, crap. I hit every one of those points. Self driven learning, always exploring new forms of technology and then applying it to the current business, etc. etc. Maybe if I hadn't been so good, my hands would still work and I wouldn't be living with constant pain up to my elbows. What's ironic is I left my father's rigging business (machinery moving) because I saw so many people around me losing fingers, damaging their limbs and back etc.. and I wanted to go do something where I wouldn't be injured on the job. Since I had been programming in high school, I thought hey, this is not a bad career. You work indoors, you're not covered in grease, you don't breathe toxic chemicals and you aren't going to get injured by heavy machinery falling on you.

    Ha.

  44. Re:waste of time by Profane+MuthaFucka · · Score: 2, Informative

    You find a company that's interviewing, walk in, kill a guy in the lobby wearing a suit. Steal his suit, his resume, and his stupid grin. Go interview in his place, steal his job, steal his wife, kids, house, and life.

    And that's how I got my job.

    --
    Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
  45. No. by EnsilZah · · Score: 2, Funny

    You're a clever one but I'm afraid your sig blew your meticulously constructed cover.

  46. Re:At least get a CS degree by Z00L00K · · Score: 2, Informative
    C++ may be useful - but only for "glue" and larger embedded systems today. The potential stability issues that's inherited from C with the possibility of buffer overflows etc. still exists.

    A really big disadvantage with C++ is that it relies heavily on library packages which means that the code may be very hard to port between systems.

    C is sufficient for most uses when it comes to low-level programming. The code is also a lot easier to read than C++ unless the programmer is really obscure about it. And if you plan to write device drivers for Linux you have to do it in C and not C++. (OK, you probably CAN, but you will probably end up doing more work managing the C++ interfacing and management than it's worth)

    And NO! a CS degree will not prove that you are a really good programmer - it only proves that you were able to pass the minimum requirements to get that grade. Experience is worth a lot more than a degree. It is as important to learn yesterday's languages and their pitfalls as it is to learn modern languages - or you will repeat the same mistakes made by programmers in a different language. For being bashed as an unsuitable language experience in Basic is still not an disadvantage - but the experience must be to learn it's shortcomings and not only the language. C has it's shortcomings in that you can do whatever you like - but the pitfall is that you can code buffer overflows. However sometimes you WANT to do "unorthodox" things and then you have to resolve to C or assembly. With Cobol experience there is something new to learn - that the language is designed for business tasks. Here you may learn the Cobol way of defining data records. This is really useful whenever you want to code a package that is going to exchange data with a system written in Cobol. (Yes they still exists - and will probably still exist for several years or even decades to come...)

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.