Slashdot Mirror


Ask Slashdot: Minimum Programming Competence In Order To Get a Job?

First time accepted submitter Wisecat (3651085) writes "So we all know that computer programming jobs are hot right now. Heck, even President Obama has been urging Americans to learn the skill. But all of us in tech know that not everyone can hack it, and what's more it takes a while to learn anything, and keep up your skills as technology changes. Add to that the fact that companies (and their hiring managers) are always looking for 'the best of the best of the best' talent, and one starts to wonder: just how good does one actually have to BE to get hired? Certainly, there must be plenty of jobs where a level 7/10 programmer would be plenty good enough, and even some that a level 5/10 would be enough. And perhaps we can agree that a level 2/10 would not likely get hired anywhere. So the question is: given that we have such huge demand for programmers, can a level 5, 6, or 7 ever get past the hiring manager? Or is he doomed to sit on the sidelines while the position goes unfilled, or goes to someone willing to lie about their skill level, or perhaps to an H1-B who will work cheaper (but not necessarily better)? I'm a hardware engineer with embedded software experience, and have considered jumping over to pure software (since there are so many jobs, so much demand) but at age 40, and needing to pick a language and get good at it, I wonder whether it would even be possible to get a job (with my previous work experience not being directly related). Thoughts?"

466 comments

  1. Relax by Renegade+Lisp · · Score: 4, Insightful

    Given how many 2/10 I see in my everyday job life, it can't be that hard.

    1. Re:Relax by SnapShot · · Score: 4, Interesting

      Ah, you work in government contracting too?

      --
      Waltz, nymph, for quick jigs vex Bud.
    2. Re:Relax by luis_a_espinal · · Score: 5, Informative

      Ah, you work in government contracting too?

      Enterprise, government contracting. It's all the same (I know, I've seen it, it's ugly.)

    3. Re:Relax by pelirojatica · · Score: 1

      That 2/10 programmer might actually be good in a support/assistant position, if ego doesn't get in the way.

    4. Re:Relax by Anonymous Coward · · Score: 0

      Correct. There are plenty of opportunities for terrible programmers. Many developer jobs are really just scripting anyway, with no knowledge of the inner-workings of a system required.

      At age 40, you should have the skills to adapt to any new language, but even without those skills you can get your foot in the door if you present yourself well. Most applicants will be lack social skills and be physical wrecks, even if they have good technical skills. Be fit and outgoing, and life gets easy.

    5. Re:Relax by Anonymous Coward · · Score: 1

      I too have seen people in my job that are not good at development. With one co-worker I currently have, I regulary have to do a major refactor their code because it is normally a horrendous, unmaintainable hack job that makes you want to cry just looking at it. Many times is doesn't even do what it is supposed to or it took them forever to write. When I don't have to, it usually because I had to hold their hand as they wrote it. They have been in software development much longer than me. I bet they make more than me...

    6. Re:Relax by Anonymous Coward · · Score: 0

      That 2/10 programmer might actually be good in a support/assistant position, if ego doesn't get in the way.

      For a 2/10 programmer, ego will get in the way. 1/10 is still overqualified for first-tier support.

    7. Re:Relax by MrLeap · · Score: 1

      Executive Enterprise Super Government contracting. It's the same up here.

    8. Re:Relax by uncqual · · Score: 1

      Since it sounds like you have to refactor everything this developer writes or hold their hand while writing it, maybe it would be faster for you to skip those steps and just figure out what code they are about to write and implement it yourself. Then, when they are about half way through coding, mention to your boss (preferable with the developer in question present for dramatic effect) that "Oh, I see Glen[n] is writing the Foserbaum module - I wrote that for amusement a couple days ago and tested it, should I just go ahead and check it in?".

      Rinse-and-repeat.

      Eventually Glen[n] will either quit or transfer out of humiliation or will get fired.

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    9. Re:Relax by Darinbob · · Score: 1

      There are 0/10s working as professional programmers.

    10. Re:Relax by blackicye · · Score: 1

      Since it sounds like you have to refactor everything this developer writes or hold their hand while writing it, maybe it would be faster for you to skip those steps and just figure out what code they are about to write and implement it yourself. Then, when they are about half way through coding, mention to your boss (preferable with the developer in question present for dramatic effect) that "Oh, I see Glen[n] is writing the Foserbaum module - I wrote that for amusement a couple days ago and tested it, should I just go ahead and check it in?".

      Rinse-and-repeat.

      Eventually Glen[n] will either quit or transfer out of humiliation or will get fired.

      This is how thing would theoretically work in a perfect world. The reality is more likely that the codebase will devolve into an unmaintainable mess at which point you're either left to pick up the pieces, or look for a new job.

    11. Re:Relax by Anonymous Coward · · Score: 1

      More likely you'll be disciplined for going outside your boundaries. 'Do your own work, not other people's!'

    12. Re:Relax by narcc · · Score: 1

      Funny, I'll bet he says the same thing about your code.

    13. Re:Relax by Hognoxious · · Score: 4, Funny

      Most applicants will be lack social skills

      Some of them not write too.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    14. Re:Relax by Hognoxious · · Score: 1

      Well if he writes English like "I regulary have to do a major refactor their code" his code probably sucks ass too.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    15. Re:Relax by Hognoxious · · Score: 1

      Don't be ridiculous.

      They're all managing programmers.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    16. Re: Relax by Anonymous Coward · · Score: 0

      Goodly, anyway.

    17. Re:Relax by Anonymous Coward · · Score: 0

      I work with one. Well ok, we have a manager who tries to code. The thing is the managers know what they want the program to do. However they suck at actually generating efficient, maintainable code. The problem is that the managers tend also to be terrible at actually telling us developers what they want. So in the end the other managers like that guy's clunky garbage than our stuff.(It's frustrating because then they expect you to work with that piece of garbage. If they'd just tell me what they wanted I could give it to them.)

    18. Re:Relax by pdxguy · · Score: 1

      I wrote the Foserbaum module as well as the Bixler interface. Glenn just plagiarized it.

    19. Re:Relax by LordWabbit2 · · Score: 1

      Been there seen that, trying to refactor a steaming pile of cr@p right now into something that doesn't fall over if a user farts.
      Doesn't help that it's really old code, changed by people who could not be bothered to figure out how the underlying system worked and just hacked away at it like a drunken monkey in front of a keyboard until it sort of worked.
      To add insult to injury, when they needed to add a table or a new report they simply used whatever was at hand instead of sticking to the framework or report generator the system was built on. So now it's a mishmash of four different data layers, three different report generators, and two different programing languages, all because figuring out how nHibernate and Crystal Reports worked was too much effort.

      Some programmers should be shot.
      Or at least made to maintain their own steaming piles of cr@p.

      --
      There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
    20. Re:Relax by cwsumner · · Score: 1

      Don't be ridiculous.

      They're all managing programmers.

      Those who Can, do. Those who can't, Manage!

    21. Re: Relax by Anonymous Coward · · Score: 0

      There is MORE opportunity for terrible coder. Good engineers demand higher rates and get passed over for cheaper and no skill. 0/10 is all too common. But hey, we can hire four times as many so it must all work out in the end with some complex math.

  2. Easy by Anonymous Coward · · Score: 1

    My best employees are the one who get stuff done and are mostly self-managed.

    When i give them something to do they don't say "hum i never worked on this tech before, i'll try". They say ok and the work shows up done on time.

  3. Average by digsbo · · Score: 5, Informative
    Most programmers fall into the average range. Some are better, some worse. Remarkable.

    40? Whatever. Lots of people in their 40s and 50s and 60s have mediocre jobs writing 200 lines of code per quarter in some large corporation. My team of ten has only two programmers under 40, and just barely (38 and 39).

    Just dig in and apply for jobs until you get one. Work as hard as you can at being good at your job.

    1. Re:Average by Anonymous Coward · · Score: 0, Troll

      Its OK scro! Lots of computer tards living TOTALLY kick-ass lives. My first team lead was a tard, now he's CEO!

    2. Re:Average by Tablizer · · Score: 5, Insightful

      Lots of people in their 40s and 50s and 60s have mediocre jobs writing 200 lines of code per quarter in some large corporation.

      But maybe it's a damn good 200 lines :-)

      Note that measuring productivity by lines-of-code has a lot of caveats. I've seen bad, repetitious code that could have been reduced to 1/5 its size if the repetitious parts were simply put in functions with optional key-word parameters. The programmer didn't "get" key-word parameters.

    3. Re:Average by rrr00bb5454 · · Score: 5, Insightful

      Even when you get good programmers, projects are often managed to push as many amps through a developer as possible. When that happens to a team, more difficult things do get accomplished, but the code often still looks like it was written by an amateur. Bad code ends up being like credit card charges that never get paid off, while the owed amount continues to climb until bankruptcy occurs. This is because the bad code wastes a percentage of everybody's time every day, and the mess compounds as everybody works around it. So, it is often better to just not hire a developer that isn't "the one" (who is often worth about 10 normal people). We used to do interviews including the entire office, and generally require unanimous approval. Maybe 50 to 100 people between phone screens and actual interviews were done to get one person. I think there is an oversupply of people trying to specialize in programming; and most people should be learning programming as a supplemental skill to a specific business.

    4. Re:Average by robthebloke · · Score: 1

      200 very long lines.

    5. Re:Average by Anonymous Coward · · Score: 0

      And study years and years of advanced math for which no one will EVER pay you to know. Most Computer science degrees are math majors with some programming thrown in. Its a complete waste of money and time and you can teach yourself programming if you put a little time into it.

    6. Re:Average by rrr00bb5454 · · Score: 4, Insightful

      Self-taught developers do need to pick up enough math to stop writing code that dies under its first realistic load (complexity theory). You can't write a good compiler without being able to learn the math. Computer graphics and Statistical programming require absurd amounts of math to do well (to be the 10x developer). I agree that the academic background isn't necessarily useful, and we see good people who went from high school to military to industry. Computer Science as it now stands has serious rigor problems. Which is why it is undergoing a serious security crisis, and the only light at the tunnel is languages that will reject logically inconsistent input that wont follow a specification. That means that at some point, programming is going to look a bit more like Haskell, and require some ability to write code that meets it's spec the first time; rather than quickly building something that undergoes haphazard maintenance for years on end.

    7. Re:Average by spudnic · · Score: 3, Insightful

      How many programmers need to write a compiler?

      I would bet that the large majority of programmers out there are doing data manipulation and fairly simple GUIs, be they web based or some other toolkit.

      --
      load "linux",8,1
    8. Re:Average by jones_supa · · Score: 1

      Lots of people in their 40s and 50s and 60s have mediocre jobs writing 200 lines of code per quarter in some large corporation.

      BTW what's the typical amount of code that one writes in a quarter in a programming job? I just want to know some stats.

    9. Re:Average by jeffmeden · · Score: 2

      It certainly depends on the language and the accountability for the functionality. If you are hacking together PHP or Ruby to run a web application you can probably turn out a few dozen lines a day of good code (on average) but on the other end, for embedded projects that require each line have a very important meaning (because space is at a premium) 2 to 5 lines/day is typical. Remember, being a good programmer means spending a lot of time understanding requirements, researching the best approach to a problem, and documenting the results. If you value "Fast" programmers who just throw code together, test it as they go, and call it a day once the code met whatever the generic objective is, you will end up with a very low quality result.

      Lines/day and other very general metrics are OK for benchmarking an individual's performance (i.e. you turned out 5 lines/day this week, but last week you turned out 2 lines/day... what happened that was good/bad) but they are terrible for comparing programmers, and downright worthless for ranking an organization among others.

    10. Re:Average by jones_supa · · Score: 0

      I thought one has to churn like 1000 lines a week.

    11. Re:Average by rrr00bb5454 · · Score: 2

      Security correct input reading is a compiler problem. Almost all security holes result from haphazard file and socket reading. In any case, people who can only do simple things are not your 10x developers. Due to the maintenance costs of having bad code in the first place, a lot of places will do without a developer than have one that writes code that is just ok.

    12. Re:Average by jeffmeden · · Score: 1

      200 a day is _very_ ambitious, and you may get close to that when sprinting (figuratively... or literally if you adhere to Agile) but your daily average per quarter will be MUCH lower, in just about any language. That is, unless your goal is not good code but instead to have a high LOC/day metric.

    13. Re:Average by HornWumpus · · Score: 1

      Not just no. Hell no. 1000 lines of code/week is what people are capable of when working solo on new projects. I've usually come to regret the manic coding phase, but recognize that sometimes a coders got to code.

      It depends in large part on team size. If you have a large team, a higher percentage of time will be spent communicating. If you have a mediocre technical lead an even higher percentage of time will be spent communicating. If you have a disfunctional management a percentage of time will be wasted keeping PHBs happy. 4 hours/day actual coding/planning is ambitious in many companies.

      2-10 lines of clean, commented, 'debugged' code/hour. For reasonably well defined functionality in a typical language (C#/Java). Database/web/GUI design is not free and doesn't fit into the lines of code metric. Lines of code is a fucked up, easy to game metric. Don't use in the wild. Code review is good.

      Some coders do maintenance, the good ones generate net negative lines of code. At the far end you've got cowboys/hacks/architects*, who drop thousand line steaming piles into source control as soon as they get it to compile, then go on vacation.

      * often self appointed ones.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    14. Re:Average by ShanghaiBill · · Score: 1

      BTW what's the typical amount of code that one writes in a quarter in a programming job? I just want to know some stats.

      A general rule of thumb, is that on large projects, programmers will produce an average of about ten lines of tested and debugged code per day. I first saw this estimate in The Mythical Man Month. In the 40 years since that book was published, the lines-of-code per day metric hasn't improved much.

    15. Re:Average by Anonymous Coward · · Score: 0

      Productivity by number of code lines wrote per day was always a dumb measurement.
      There's so many other factors at play.
      I remember a project dumped on me when higher-ups were near ready to scrap a long overdue project.
      The first few days were spent pouring over code lines while constantly muttering... "what-the-fuck".
      A couple weeks later, project saved, all was good again and software began shipping.
      As it turned-out... the H1B dream team must have been "C" stupid.
      They wrote tons of "C" as-if they were coding lines of assembler.
      Sure... lots and lots of lines-of-code but all shit.
      When done correctly, the number of code-lines in the project didn't grow, it went down over fifty percent.
      Imagine had the project been written in Forth, maybe one line would have been enough!

    16. Re:Average by digsbo · · Score: 1

      It also assumes all you do is code. I'm not just a developer, but a software engineer, which means I oversee environment management, architecture/design, code and configuration management, perform code reviews, support existing products, train other engineers, etc., so while there might be a day or two each year I write 200 or maybe even 300 lines of code, that is extremely rare. Generally I'm happy with 10-20, which fits with what a good supervisor of mine once said that 600 lines per month is a really good rate for reliable code.

    17. Re:Average by Mirar · · Score: 1

      It took me a while to realize you didn't mean a quarter of an hour.

      A big car corporation - no names - I used to work at had an average speed of 2 lines per hour and team member.

    18. Re:Average by hermitdev · · Score: 1

      Personally, I've had days where 5-10,000 lines of C++ happened. Those are extremely few, and very far between, and the result of weeks of mental churning over how to solve a problem. What non-programmers don't realize is that 99% of development isn't the physical act of writing the code, it's identifying the problem and figuring out the solution. You can't write the code until you've done both.

      LOC could be a relatively naive metric for a new code base, but if you're talking about adding onto an existing code base, immediately divide by 10 or more LOC output.

      I've had days where the only commit to fix a bug was to alter 1 character. How long did that take? 8 hours. Why? No, it didn't take 8 hours to alter a character. It took 8 hours to identify which of the half-million characters to alter, make the change, build it, document it, and test it.

    19. Re:Average by greg1104 · · Score: 1

      Most programmers fall into the average range

      Most people fall into the average range. That's how normal distributions work. It's also important to remember that 90% of everything is crap.

    20. Re:Average by mrchaotica · · Score: 3, Insightful

      Lines of code per day also depends very strongly on what stage of completion the project is at. If you've just started on a new module and are painting with broad strokes you might write hundreds of lines of code in a day. If you're filling in fine details or fixing bugs, you might write one line of code (or negative lines of code!).

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    21. Re:Average by aj50 · · Score: 1

      Few people need to write a compiler but many will need to write a parser at some point.

      --
      I wish to remain anomalous
    22. Re:Average by praxis · · Score: 1

      It took me a while to realize you didn't mean a quarter of an hour.

      A big car corporation - no names - I used to work at had an average speed of 2 lines per hour and team member.

      That seems about right, if we're talking about shipping, maintainable code.

    23. Re:Average by Hognoxious · · Score: 1

      By that metric I spent a year where I had negative productivity. Most of it was down to using IF statements (so you didn't have to have 7 programs that only differ by 5%) and an extremely advanced concept called subroutines. These are like totally awesome because you can do the same thing in several places without copying and pasting! If you're really clever you can do the same process-thing to different data-things with these things called parmentiers or paramours or something like that.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    24. Re:Average by Hognoxious · · Score: 0

      sometimes a coders got to code

      Singular article, plural noun.

      You wouldn't be admitted to a UK university, let alone graduate, with writing like that.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    25. Re:Average by rrr00bb5454 · · Score: 1
      Yes, that is what I meant. You will be parsing data almost every day. If you are not good at this, then you will be responsible for the creation of a huge number of security holes, and never-ending quality issues. Complexity theory (ie: algorithms), Probability (ie: measuring), and a basic understanding of language theory (the core of compiler writing) are the key CS specific skills that excellent developers share. You do need to be good at math, but not necessarily the kind of math that is emphasized in the academic world.

      If you already have a couple of good developers on a team and put on a guy who can't be trusted to edit the code without breaking its performance, correctness, or usability; he will both cause the good developers to leave and start creating maintenance burdens. That's why I say that the minimum competence bar to get into a programming team is actually pretty high.

      Now if you have a job which isn't primarily programming, but are writing code to *automate* a tedious process that you would otherwise have to do manually; then go ahead and write horrible code. Maybe you have nothing to lose in that situation, or the consequences of maintenance fall on somebody else.

    26. Re:Average by viperidaenz · · Score: 1

      I wish I was writing 200 lines of code per quarter.
      I spend most of my time either waiting for projects to get budget approval or waiting for environments to get sorted out so they start testing.

    27. Re:Average by The+Technomancer · · Score: 1

      You wouldn't be admitted to a UK university, let alone graduate, with writing like that.

      I was supposed to graduate from a university before getting this gig? Damn. Don't tell my boss.

      --
      Any sufficiently advanced technology is indistinguishable from magic.

      -- Arthur C. Clarke

    28. Re:Average by HornWumpus · · Score: 1

      Good thing I've already graduated from a good school. One that put me in England, working on contract, because all the locals had their heads up their asses.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    29. Re: Average by Anonymous Coward · · Score: 0

      I am on a project that was a hack to begin with when it was written 20 years ago. My assignment has been to clean it up and the result is about 35% of it's original size just by removing duplicate code. Measuring effectiveness by lines of code is like measuring a dentist's effectiveness by number of teeth pulled.

    30. Re:Average by cwsumner · · Score: 1

      Lots of people in their 40s and 50s and 60s have mediocre jobs writing 200 lines of code per quarter in some large corporation.

      BTW what's the typical amount of code that one writes in a quarter in a programming job? I just want to know some stats.

      "Lines of Code" has been known to be a very bad metric, since before you were born. Hell, almost before even I was born!

    31. Re:Average by Anonymous Coward · · Score: 0

      That's the difference between computer science and software engineering.

    32. Re:Average by Anonymous Coward · · Score: 0

      In your scenario you can reduce bad coding through properly conducted code reviews and a well designed and properly managed project.

  4. As my houseboy always tells me by Anonymous Coward · · Score: 0

    I am #10 !!

    Number 10 is good. Right?

    1. Re:As my houseboy always tells me by Anonymous Coward · · Score: 0

      actually number 10 is 5 x Number 2

    2. Re:As my houseboy always tells me by Anonymous Coward · · Score: 0

      Who is number 1?

    3. Re:As my houseboy always tells me by BranMan · · Score: 1

      You are(,) number 6.

  5. Good to go with minimal competence. by jddj · · Score: 1

    That seems to be what most of the programmers around me have.

    1. Re:Good to go with minimal competence. by Anonymous Coward · · Score: 0

      Ha. That's what happens in an "industry" without standards. Some developers never want to interface with customers and/or manage requirements. Some developers only know one or two core languages. I would consider a 9/10 or 10/10 developer in a language that I won't really want/need who can't (or doesn't want to) interface with customers "minimally competent".

    2. Re:Good to go with minimal competence. by boristdog · · Score: 1

      I consider myself minimally competent, but most programmers I meet don't seem to be as skilled as I am.

    3. Re:Good to go with minimal competence. by robthebloke · · Score: 1

      Once one slips through the net, a tidal wave is bound to follow. Good engineers hire great engineers. Mediocre engineers hire terrible engineers.

    4. Re:Good to go with minimal competence. by Anonymous Coward · · Score: 0

      The Dunning-Kreuger effect typically refers to the manner in which incompetence prevents someone from recognizing their own incompetence, but the same study found the opposite effect in highly competent people - underestimation of their own skill because they were adept at recognizing every little flaw.

      As Bertrand Russel put it, "The whole problem with the world is that fools and fanatics are always so certain of themselves, and wise people so full of doubts." There are probably similar quotes back to Antiquity, and to Hammurabi, Akkadia and Babylon before that.

    5. Re:Good to go with minimal competence. by Anonymous Coward · · Score: 0

      Once one slips through the net, a tidal wave is bound to follow. ....

      This has been my experience with people of certain nationality over the last 15 years. They seem to want to help random people that they never met just because they came from the same country. I keep seeing more and more people getting hired (often bypassing the interview process) based on recommendation of current employees, who never met the person they are vouching for. Sometimes they know about open positions sometimes before that position even becomes available (i.e. person who is leaving tells his/her friends before he/she tells own employer).

  6. Ha, hot programming jobs by NotDrWho · · Score: 3, Funny

    So we all know that computer programming jobs are hot right now.

    Only if you have an H1-B visa.

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
    1. Re:Ha, hot programming jobs by Drethon · · Score: 2

      Or are working in the US. I know a few companies that can't find enough developers, though being avionics may have something to do with it.

    2. Re:Ha, hot programming jobs by luis_a_espinal · · Score: 1

      So we all know that computer programming jobs are hot right now.

      Only if you have an H1-B visa.

      Bullshit. I believe there is a problem with too many H1-B visas being given, but your claim is bullshit.

    3. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0

      But for HTML 5, iOS, CSS 3, jquery

      Apple app development, possibly. Web development? No way.

    4. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 1

      Perhaps if you spent less time on FB, reddit, /. et al when at work, your employer wouldn't need to import overseas skills who take their job seriously?

    5. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0

      Personally I like having the H1B's they create more work than they take away from USA jobs.

      60 % of the H1Bs I've worked in developer jobs with didn't know how to code. A few were ok.

      95% of the non-H1Bs I've worked with have been reasonably competent or better.

    6. Re:Ha, hot programming jobs by geekoid · · Score: 2

      Contract COBOL programmers can make 250+ an hour, just so you know.

      All my friend who do Java make 150K a year+

      "HTML 5, iOS, CSS 3, jquery"
      iOS isn't a programming language, the others trivial.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    7. Re:Ha, hot programming jobs by TemperedAlchemist · · Score: 3, Informative

      You mean a few companies who aren't willing to pay what developers are asking.

    8. Re:Ha, hot programming jobs by cyber-vandal · · Score: 1

      Contract COBOL programmers can make 250+ an hour, just so you know.

      Where is this? Not in Europe anyway.

    9. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0, Insightful

      "HTML 5, iOS, CSS 3, jquery"
      iOS isn't a programming language, the others trivial.

      None of those are programming languages, in fact.

      HTML 5 is a specific version of a markup language. iOS is an operating system. CSS 3 is a declarative styling language. And jQuery is a framework that works within a programming language (specifically, JavaScript).

      Furthermore, people who use (a.k.a. "know") these things aren't necessarily programmers. Programmers write instructions for computers to follow. Writing markup, styling, or layout instructions are not programming, since the "rendering engine" is using that markup to do the actual layout and styling of what is displayed. Using an operating system is not programming for exactly the same reason. There is a program already capable of doing what you want, and you're giving it commands that it translates into computations and actions.

      I'll concede that you can call yourself a programmer if you use jQuery, since you can't really use jQuery in any other context other than programming. Easy-mode programming that shouldn't pay much, but still programming. (As you said, it's "trivial".)

    10. Re:Ha, hot programming jobs by Drethon · · Score: 1

      Well they do only offer 30-50 an hour for wages. Might be a result of a part of work being for the government and outsourcing that is rather frowned on.

    11. Re:Ha, hot programming jobs by jeffmeden · · Score: 1

      So we all know that computer programming jobs are hot right now.

      Only if you have an H1-B visa.

      This is the exact reality today. If you are an American expecting a programming job, the question to ask is "how many overseas programmers would it take to do my job" and if the answer is less than 4 you are toast; 5 and you are on shaky ground; 6 and above and you should have no problem finding work.

    12. Re:Ha, hot programming jobs by jeffmeden · · Score: 1

      Contract COBOL programmers can make 250+ an hour, just so you know.

      All my friend who do Java make 150K a year+

      "HTML 5, iOS, CSS 3, jquery"
      iOS isn't a programming language, the others trivial.

      How long is the average Cobol contract? I am doubtful that a career can still be cobol-based given that pretty much all organizations are in break-fix mode on any systems that run it. You might get 250/hr today but tomorrow when the problem is gone, so are you.

    13. Re:Ha, hot programming jobs by junkgoof · · Score: 1

      The normal answer is infinite:

      "Hey can you do this week long project for free?"

      "No, pay me."

      "I'll get my offshore guy to work on it."

      6 months later.

      "So can you do this thing for free?"

      "No. What happened to your offshore guy?"

      "He's still working on it full time but he doesn't have any recoverable work completed yet. So can you do it for free?"

      "Your negotiating position is not improving"

      --
      You got me into this! You were the ideologue! I'm only a poor assassin! - Twenty evocations, Bruce Sterling
    14. Re:Ha, hot programming jobs by losfromla · · Score: 1

      30-50 can be low depending on the location of the job. That would be fantastic in OK, not so great in CA.

      --
      Only I can judge you.
    15. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0

      Contract COBOL programmers can make 250+ an hour, just so you know.

      Cannot disagree with you, but the question is how many hours can you get maintaining COBOL programs these days? One or two a week on average?

      Actually, if you get hooked into the right obscure or antique languages, one can make a bundle... The problem is getting hooked into the right gigs..

      My advice? Work hard and stay valuable, somebody will pay you. I don't care what you know, if you have the ability to learn and teach yourself, you will do well.

    16. Re:Ha, hot programming jobs by losfromla · · Score: 1

      Seriously AC? Do you really think the Repubs feel any differently? Are they lining up to close our borders to products manufactured in countries with lax labor or environmental protections? Are the Repubs really battling against H1Bs? I thought all the people in power from all sides agreed that bringing in foreign labor was good for industry and so must be good for everyone.

      --
      Only I can judge you.
    17. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0

      Well they do only offer 30-50 an hour for wages. Might be a result of a part of work being for the government and outsourcing that is rather frowned on.

      That's a pretty big range for a single position. Suspiciously so. Since you say the work is for the government, instead of it being working for the government (as a gov't employee) I suspect the issue is that the programming is being billed at $150-$300/hr+ overhead and the skilled contractors having a better offer that the 1/10-1/3 being offered.

    18. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0

      Plus no one wants a "COBOL programmer" - they want a programmer who knows CICS maintenance programming, someone who is experienced enough to come in and modify existing CICS transactions. Just happens to be written in COBOL, but if COBOL is all you know you'd never get a job anywhere.

    19. Re:Ha, hot programming jobs by david_thornley · · Score: 1

      $30/hour is pretty low for a good developer, particularly if you're dealing with one on a contract basis, which is the usual context for hourly pay. $50/hour might be good, depending on the area and cost of living.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    20. Re:Ha, hot programming jobs by david_thornley · · Score: 1

      There's a lot of COBOL code around that's mission-critical, and there's often little incentive to rewrite it in something more fashionable. Since there are active COBOL systems, there's active COBOL development.

      For those looking for some big bucks, there are problems. These tend to require knowledge of ancient IBM mainframe software like CICS, and cannot be learned on anything reasonable in price. The applications are also extremely boring in general. I don't want to work on any project where COBOL would be considered, and I'm good enough at C++ and some other things to indulge that preference.

      Since the old COBOL people have been retiring, and there haven't been many young people interested and qualified, it can be a reliable source of a very good income.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    21. Re:Ha, hot programming jobs by ranton · · Score: 1

      You mean a few companies who aren't willing to pay what developers are asking.

      You mean a few companies that don't have the necessary revenue to pay what developers are asking. If a company needs better developers, and it has the money to pay better developers, then it will probably increase their salary offers. You can't always increase pay to get the talent you want. Your customers and/or the industry will often dictate how much you can charge for your products or services. For instance I work at a consulting company, so it is much easier to notice the relationship between what we pay developers and what we need to charge clients. The salaries we offer must be justified by the rates we can charge the clients and still win contracts. If there is a restricted supply of developers, it is not always possible to just increase salaries to compensate.

      This same relationship is true for all companies, although in most situations this relationship is more hidden. There is an alternative to hiring expensive developers, such as dealing with lower quality software or doing your work more manually. If developers salaries rise too high, more companies choose the alternatives. There is a shortage of developers because we cannot hire enough developers at rates that our economy can support. This doesn't necessarily mean the economy doesn't have the money, but it is also the result of preconceptions regarding what software should cost.

      Therefore the people with the most power to increase developer salaries are actually salesmen. I know that my salary has gone up quite a bit as the consulting company I work for has grown. This is not because I am a better employee now; it is because I have more value now that our quantity of high paying projects is growing.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    22. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0

      Most of you, however, struggle to be as productive as half.

    23. Re:Ha, hot programming jobs by Anonymous Coward · · Score: 0

      How long is the average Cobol contract? I am doubtful that a career can still be cobol-based given that pretty much all organizations are in break-fix mode on any systems that run it. You might get 250/hr today but tomorrow when the problem is gone, so are you.

      You seem to underestimate how big, important and broken are things written in COBOL. It might not be as promising as mobile development, but a COBOL career is still feasible.

    24. Re: Ha, hot programming jobs by krups+gusto · · Score: 0

      Developer wages suffer from a simple rule - you can't make more money than your boss.

      And since every developer has 2+ bosses, the extra expense of a developer raise quickly gets out of hand.

    25. Re:Ha, hot programming jobs by Wisecat · · Score: 1

      Yes, but if you've been out of work for years and years, you'll take $30 an hour!

    26. Re:Ha, hot programming jobs by david_thornley · · Score: 1

      Offering desperation wages to hire people works only as long as there's enough desperate people. (And the lowest I ever had to go was $31/hour...don't get me started on the other stupidities there).

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  7. Depends on the job by Anonymous Coward · · Score: 0

    It depends on the job, industry, and type of work. A basic CRUD web app that's not going on the public internet you could perhaps get away with level 5/10.

  8. Nope by Anonymous Coward · · Score: 0, Insightful

    > we all know that computer programming jobs are hot right now.

    I certainly don't. Also this submission is bad.

    1. Re:Nope by Anonymous Coward · · Score: 0

      I either don't see how programming jobs would be hot right now. There will be a solid demand for programmers in the long foreseeable future, but I don't see any special trend right now.

    2. Re:Nope by Anonymous Coward · · Score: 0

      Pay more attention. Also you're bad. Every single developer I know that was out of work during the recession is back to work and making good money. It's really easy to land a programmer position these days.

  9. Guy who makes $150K a year... by RevWaldo · · Score: 1

    ...who only knows HTML, CSS, and JavaScript will be posting in 3....2....1....

    .

    1. Re:Guy who makes $150K a year... by StripedCow · · Score: 2


      setTimeout(function(){ document.write("I make $150K a year!"); }, 3000);

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    2. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      And here I am. Have you tried to hire a javascript programmer these days?

    3. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      Pfft, you can do all those things with the extensible and powerful HOSTS FILE!

    4. Re:Guy who makes $150K a year... by Billly+Gates · · Score: 2

      ...who only knows HTML, CSS, and JavaScript will be posting in 3....2....1.... .

      Those are hottest paying jobs right now. HR wants people with 5 years experience developing IOS, HTML 5, CSS 3, jquery, and nosql. You can pull in six figures easily if you can do this.

      For Cobol and java EE jobs? Uh no as applicants are flooded with many many decades of experience which is something HR weenies love and will devalue you as every applicant has +10 experience? Why don't you etc?

      Comes to show you need to stay current in tech if you want the big bugs. Stay behind and your money and worth stay behind with it.

    5. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      And here I am.

      Good for you. $150k isn't enough to convince me to write anything in JavaScript. I would view that as pity money for having to do such a unwanted thing.

    6. Re:Guy who makes $150K a year... by geekoid · · Score: 2

      "you need to stay current in tech if you want the big bugs"
      truer words have never been spoken. Although probably not what you intended.

      Stop listing iOS as a computer language, moron.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    7. Re:Guy who makes $150K a year... by iggymanz · · Score: 1

      you are wrong about the Java EE jobs for over $100K, we certainly have those where I work. Those are with 7+ years on the big EE platforms such as WebSphere or WebLogic on machines that handle money. Yes, the work is complex, tedious and boring as fuck.

    8. Re:Guy who makes $150K a year... by Billly+Gates · · Score: 2

      It is not a language. I put IOS as what employers list as requirements.

      Most of iOS development is just some HTML 5 with objective-C logic thrown in for integration sake. I just spoke to someone whose son is making $100,000 a year and he is a 24 year old highschool drop out. He works for Coca Cola, Home Depot, and other companies consulting and he has only 2 years exprience.

      He learned HTML 5 and that is how he got in. These companies needed someone to write mobile apps and they couldn't find anyone qualified. Tablet websites, mobile apps all require iOS, Android, mobile app, objective-c, and jquery +html 5.

      In the tech field your value can fluctuate widely based on demand. While C++ coders laugh and look down at HTML 5 development the mobile/web coders are the ones getting the last laugh. You can not pull in 6 figures within 3 years or get people to even talk to you at that level of experience with C++. Doesn't matter if it is harder. It matters is the market demand. There was a time when Java programmers 12 years ago were recession proof and could pull in insane amounts of money for kids with HS diplomas too. Not anymore. Yes you can still pull in cash if you have 10 years experience now but it is not like it was in the old days of new.

    9. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      Since when has JavaScript been considered programming?

    10. Re:Guy who makes $150K a year... by locopuyo · · Score: 1

      When you're using Angular, Backbone, or other MVC type frameworks it can be pretty legit programming.

    11. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      An inline function and two magic numbers in one line? Yep, looks pretty convincingly awful!

    12. Re:Guy who makes $150K a year... by Arker · · Score: 1

      "IOS, HTML 5, CSS 3, jquery, and nosql"

      None of which are programming languages.

      "Comes to show you need to stay current in tech if you want the big bugs."

      Not sure if you intended to say what you said, but it sure is true.

      Those who do not remember Unix are condemned to reinvent it, poorly.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    13. Re:Guy who makes $150K a year... by MAXOMENOS · · Score: 1

      Since Node.js made it possible to write server-side logic in JavaScript.

    14. Re:Guy who makes $150K a year... by Billly+Gates · · Score: 1

      What I listed are job requirements. Yes IOS is a job requirement specific to a platform to develop apps for said platform so I resent being called a moron and being modded down to 0 for this! Apparently arrogant moderators who feel threatened and are trying to make me look bad so they can feel better about their C++ skills.

      "None of which are programming languages."

      Right.

      Tell yourself this and laugh at them. Meanwhile they are making more money than you with the equivalent experience than someone with C (you know a real language for smart people). Apps are needed and websites are about to hit the next generation as IE 6 legacy support is switching away to HTML 5 and mobile friendly replacements are needed. Fortune 1,000 companies are willing to pay big bucks right now for these.

      Mobile app development requires all of this and these kids with 2 years experience are more in demand for C rather than you like it or not. The market does not care about Unix ideology and the best language. They care about products and things which need to be developed to earn income.
      http://slashdot.org/comments.p...

    15. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      Stop listing iOS as a computer language, moron.

      So are Windows, UNIX, and Linux.

      That hasn't stopped them from being variously listed as job requirements for a very long time.

      Did you have some kind of point?

    16. Re:Guy who makes $150K a year... by Intrepid+imaginaut · · Score: 1

      Skilled JS programmers, or scripters if you prefer, are doing pretty well these days.

    17. Re:Guy who makes $150K a year... by narcc · · Score: 1

      Do you have some secret definition of programming that you'd like to share with the class?

      JavaScript is not only a programming language, it's a surprisingly sophisticated and capable language.

    18. Re:Guy who makes $150K a year... by narcc · · Score: 1

      Tablet websites, mobile apps all require iOS, Android, mobile app, objective-c, and jquery +html 5.

      What kind of lunatic would use jquery on mobile? It's nasty enough on the desktop.

    19. Re:Guy who makes $150K a year... by narcc · · Score: 1

      Well, he's right.

      iOS is an operating system, not a programming language.
      HTML5 & CSS3 might qualify under a very unusual definition (as their combination has been shown to be Turing complete) but not individually.
      jQuery is a really shitty library, not a programming language.
      NoSQL is a database, not a programming language.

      Expecting "knowledge of" is fine. (Except for jQuery. Using it is a mistake. Requiring it is insane.) But requiring something does not magically make some random thing a programming language.

    20. Re:Guy who makes $150K a year... by viperidaenz · · Score: 1

      I need someone with 10 years experience in iOS!

    21. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      jQuery is a really shitty library, not a programming language.

      Care to share? I'm seriously interested in why jQuery is bad.

    22. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      Don't get him started, please!!!

      Just type narcc jquery site:slashdot.org into Google if you really must know his thoughts on the subject.

    23. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      "Most of iOS development is just some HTML 5 with objective-C logic thrown in for integration sake." - oh really? Do you have a cite for that spurious made-up fact?

    24. Re:Guy who makes $150K a year... by Bucky24 · · Score: 1

      I'm curious, why do you think jQuery is a shitty library? Not trolling, honestly interested in why you think that way.

      --
      All the world's a CPU, and all the men and women merely AI agents
    25. Re:Guy who makes $150K a year... by narcc · · Score: 1

      To start, it's poorly written. Give the code a once over, it's a mess. Or just check c.l.j., it's been discussed to death there. This should come as no surprise as Resig isn't exactly competent. (Give a quick fact-check to any of his JS books and you'll see what I mean.)

      It's also incredibly slow. You're encouraged to do absurd things -- like chaining, which makes code significantly less readable -- to help compensate for jQuery's long-standing performance problems.

      It's also useless. It was never a drop-in solution to cross-browser issues (it's even worse now) and is even guilty of introducing its own cross-browser issues (compounding the problem it pretended to solve!). To make matters worse, it offers BAD solutions to common problems (see the discussion around even delegation for an easy example) when the vanilla JS equivalent is not only better, but just as simple.

      It doesn't hold still. Newer versions are often incompatible with old code. (To mitigate this, they offer "helpful" tools to allow you to run multiple versions of jQuery on the same page. That's bad for everyone.)

      That doesn't even scratch the surface, of course, but there's more than enough here for the trolls to start a pointless argument defending their bad decision to use jQuery.

    26. Re:Guy who makes $150K a year... by Anonymous Coward · · Score: 0

      > Apparently arrogant moderators who feel threatened and are trying to make me look bad so they can feel better about their C++ skills.

      Don't worry about it. You got modded "-1 Not as Pedantic as Me"

      Lots of traditional developers either don't understand Web applications or they look upon them as "toy" applications, and JavaScript is a toy language for script kiddies to validate e-mail address formats and put sparkling trails behind the user's mouse pointer. That's not what "real programmers" do.

      Now, I'm no fan of Web applications. I think the Web is a horrible platform for developing any sophisticated apps, not leastwise because it requires knowing several semi-overlapping technologies (HTML, CSS, JavaScript, XML, and on the back end PHP, ASP.NET etc.). But the key point developers need to understand is that the Web is a PLATFORM. But it is powerful, and there's no denying that sophisticated, robust applications are being built entirely for the browser.

      Just as you would target your apps to X11 or QT or Ncurses, you need to know something about the target platform before you can deploy your app in ANY language. Saying "iOS isn't a language" is pointless pedantry if you need to know your way around the CocoaTouch frameworks to make a mobile app. Just putting "Objective-C" on your résumé doesn't mean you know a DAMN thing about touchscreen interaction!

  10. Good enough for what? by plopez · · Score: 3, Insightful

    Sysadmin scripting? Build tools control? Data modeling? UI development? Maintenance and enhancement on a ERP or SCM system? So it depends on what you are targeting and the demand. No one wants to support COBOL. Everyone wants to do mobile apps. So how do you differentiate in each of those areas? A 2/10 in one area may be considered a 7/10 in another area. That would be the better question. Please resubmit your question with a better statement of goals. Then we may be able to help you.

    --
    putting the 'B' in LGBTQ+
    1. Re:Good enough for what? by Tablizer · · Score: 2

      No one wants to support COBOL. Everyone wants to do mobile apps.

      They don't have to be mutually exclusive; invent MOBOL.

      Seriously, I once saw Active COBOL Pages for web. The company popped, however.

    2. Re:Good enough for what? by Rinikusu · · Score: 1

      Interesting enough, I'm one of those guys with no interest in mobile or front-end dev. And everyone, I mean EVERYONE is looking for mobile and ASP.NET devs. Sigh.

      Hell, I'd take a COBOL job for the right money, but what I really aspire to do is just grow out my beard and be one of those weird LISP/Smalltalk/Prolog guys. :)

      --
      If you were me, you'd be good lookin'. - six string samurai
    3. Re:Good enough for what? by Celarent+Darii · · Score: 1

      Did you know you can actually use COBOL to write iOS apps ?

      Having a beard even makes programming hotter.... seriously, in summertime, the beard is a no go.

    4. Re:Good enough for what? by plopez · · Score: 1

      Check out R. Of the same lineage and really in demand for data analytics.

      --
      putting the 'B' in LGBTQ+
    5. Re:Good enough for what? by Anonymous Coward · · Score: 0

      Yeah, that was always my dream: Smalltalk/Prolog and I guess Lisp. Fascinating stuff! But who would pay someone to program in them?

    6. Re: Good enough for what? by Anonymous Coward · · Score: 0

      IBM Tivoli Enterprise Console (TEC) was a product with Prolog as its configuration engine. Great times, made my CS degree relevant for a couple of years.

  11. Sales not Skills by Anonymous Coward · · Score: 0

    Based on my years of work, skill has very little to do with it. It's all about salesmanship. Can you sell the candidate for a given position to the hiring people, or do you have a contact to sway to hiring VIA networking.

  12. Can't Tell Them Apart by Anonymous Coward · · Score: 5, Insightful

    a 10% skilled programmer can be identified with simple interview questions. A 20% programmer can be identified with a little more effort. Beyond that? Really hard to differentiate in an interview. You can measure how good they are at language trivia. You can measure there ability to solve easy problems quickly. You can identify basic levels of sanity and social competence. But programming ability? You'll figure it out after they've been working for you over 6 months. So no, you don't have to worry about being a master programmer to get a job, you just need to be a 40% programmer and know how to interview.

    1. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      A simple coding test usually separates the wheat from the chaff. My usual test is to have them write code to calculate the nth digit of pi for a very large value of n. Python acceptable, C preferred. Perl gets you shown to the door immediately, with extreme prejudice.

    2. Re:Can't Tell Them Apart by jythie · · Score: 1

      Meh, I have found all those tests really show is how often they have heard that particular problem or how well they remember that particular pattern. Thus it is more or less a roll of the dice.

    3. Re:Can't Tell Them Apart by Wycliffe · · Score: 5, Interesting

      What is your bias against Perl? Every perl programmer I've met was a decent programmer with the possible
      exception of the ones that have done mostly sysadmin and only used perl for simple tasks not programming.
      Php and Python on the other hand seem to have alot of people who have picked up the bare minimum to
      do a "hello world" and not much else. I have nothing against php and python (except php's random naming
      conventions and python's horrible use of whitespace) but it seems like there is alot more beginners using
      php and python. You see alot fewer beginners using Java, C, and Perl. Even less for Perl as Perl is usually
      a second (or third) language for developers so they are usually highly skilled developers.

    4. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 1

      How realistic is that of a test though? I've been programming professionally for a few years now and wouldn't even know where to begin to calculate the digits of pi, why would I need to?

    5. Re:Can't Tell Them Apart by Jeremi · · Score: 1

      But programming ability? You'll figure it out after they've been working for you over 6 months.

      OTOH, if they've ever written any open-source software, you can simply download the source to said software and have a look through it. Chances are it will be quite similar to the quality of code you'll get from them if you hire them.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    6. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      No, they show that or people who can actually solve a problem. This tells you that the people who fail the programming test can't solve a problem, and does indeed help you to get rid of the rubbish.

    7. Re:Can't Tell Them Apart by Redmancometh · · Score: 1

      Instantiate a circle and get the diameter and radius then divide it out. I dont know if it would simple stop at runtime though...or how to control when it stops showing digits...anyone?

      As a smartass move id call the extended Math.pi lib in java thats floating around...Math.pi.getdigits(x) or something.

    8. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 1

      This. What is it with people who think Python is the next step in the evolution of dynamic languages, and the other 'P' language is the opposite? They each have their pro's and con's, and if you can't name some of them for each language, you're not qualified to compare them. Lot's of bad code has been written in each language, and Perl got a head start by being the early popular language for the web, with many non-programmers churning out spaghetti code. Don't confuse the programmers with the language.

    9. Re:Can't Tell Them Apart by TheGratefulNet · · Score: 5, Informative

      that does not work. I tried, many MANY times.

      I have open source code (about 13k lines of c/c++ for embedded platform) and I happen to interview 'badly' when I am put on the spot and asked to code up something in 15 minutes while someone watches me. that's not how I work and I fail horribly at THAT style of interview. note, I am fairly good (not a+ but definitely better than average) at coding in the real world - just NOT in synthetic white-board style interviews.

      I've repeatedly asked companies to accept my public source code, review it and ask me about it, if they wish. its what they'd get from me if they hired me and I don't have a problem with them judging me based on my submitted public code. but they just don't download it, they dont' ask, they don't care. they ONLY know the stupid 'script' shit of asking to have a guy code while standing on one leg and twirling a hula hoop on the left arm. well, might as well be, for me; I just don't do 'live/standup' coding. just don't do it and I resent being judged on this artificial metric.

      I might have been able to do the stand-up thing in my 20's, but I'm in my 50's now and it does not work for me anymore. I wish employers would get beyond this broken method of interview style. or at least admit that not everyone writes code in 15 minutes while being watched and under pressure. in my years of writing code on the job, never once was there this kind of condition while I worked.

      --

      --
      "It is now safe to switch off your computer."
    10. Re:Can't Tell Them Apart by DaWhilly · · Score: 1

      Working for you must be interesting.

      The test we wrote specifically apply to the skill-sets we need:

      • - SQL Aggregates based on various join types and date ranges. In some cases, asking for rolling totals or even giving questions which cannot be answered accurately. For the later case, we are looking to see either what type of "best effort" they make or what questions they ask to find out more about what we are trying to do vs what we are asking to have done.
      • - Diagnosing a block of code based on a specific "Error Message" to look for it's actual cause and evaluate other areas which may cause bugs. I like to add 1-2 non-obvious issues.
      • - Identify differences between types of the technologies we use (specifically listing the technologies and the limited scope for the review).
      • - Provide a problem domain, identify available toolsets and environments, then ask for 1-2 generic solutions along with possible risks. We keep this generic to reduce the risk they will come up with dumb solutions thinking we want steal their ideas.

      We rarely use them as "Pass"/"Fail" questions but grade each question on a 1-10 scale of the answers provided then find the people with the better score. Comparing that to the interview itself helps us decide who we want to interview again with management. We have overridden our scoring system on occasion because someone impressed us on a question but didn't get the highest score. Their answer was sufficient to allow us to make a judgement call. Worked out rather nicely based on the skills they brought that we didn't make a test to measure.

      We also change the questions based on how our work changes so that we don't try to test against something we were doing 3+ years ago but aiming for skills we need now or will need in a few months.

    11. Re:Can't Tell Them Apart by Alioth · · Score: 1

      You don't use the coding test alone. You have a coding test, and then in the interview you pick a few of the responses to the test and ask the candidate why they implemented in that particular way (as an example) to show the candidate actually understands what they wrote.

    12. Re:Can't Tell Them Apart by Alioth · · Score: 1

      Ignoring the OP's (idiotic) bias against perl, you probably tailor the test to the kind of job it is. If it's a job that might require a reasonable understanding of mathematics and the use of that in a constrained environment (imagine writing software for remote sensors which run on 8 bit microcontrollers out in the field), then that sort of question might be appropriate. Although you're never going to do that in your job it's a straightforward way to see how the candidate thinks and it's a task that can be completed in a short period of time in few lines of code (you can hardly ask someone in a candidate screening test to write a large non-trivial piece of code, so you've got to find something that's suitably trivial but at the same time can provide talking points for the actual interview)

    13. Re:Can't Tell Them Apart by bluegutang · · Score: 1

      How do employers know that you wrote the open source code? And not, say, your friend?

    14. Re:Can't Tell Them Apart by Stormy+Dragon · · Score: 1

      Then focus on the part of the problem you can figure out. Pi is transcendental, so obvious it's going to be the assymptotic sum of some series even if you don't know that series off the top of your head. So focus on code for keeping track of the accumulation efficiently but using a black box function like next-term-in-series(). Once that's all done, googling the specific series (in this case it turns out to be 4 * arctan(1/F(2n+1)), where F(x) is the xth Fibonnaci number) is easy enough.

    15. Re:Can't Tell Them Apart by Billly+Gates · · Score: 1

      My favorites are tests where you have shapes with many lines and must recite them quickly and accurately and rote memorization tests. If you do not pass they wont talk to you, even for a sales position.

    16. Re:Can't Tell Them Apart by Quirkz · · Score: 1

      I can understand that. "Take something that you do on a computer in a structured environment with constructive tools and then draw it on a whiteboard, while talking out loud, to a bunch of strangers." Impossible. Frankly, I can't write and talk at the same time, let alone try to code on the fly without a computer. I'm trying to imagine an interview for a guitarist where they say, "Why don't you walk up to a whiteboard and draw out how you'd play some song you've never heard of."

      That said, I could probably go through the logic of a problem in English well enough, just handwaving pseudocode. Or, given a computer and a few quiet minutes without talking and ideally without someone breathing directly down my neck, code up something that would run. Either might work, but I can't imagine trying to write code on a board in an interview.

      Note: I've never been a professional programmer, though I've done it for years as a hobby, including running an online game for a while. I don't consider myself an especially good programmer, but I can get the job done.

    17. Re:Can't Tell Them Apart by Nkwe · · Score: 1

      Instantiate a circle and get the diameter and radius then divide it out. I dont know if it would simple stop at runtime though...or how to control when it stops showing digits...anyone?

      Of course then you are not actually calculating PI, you are extracting (via geometry / math) the value of PI embedded in the circle class that you probably didn't write.

      Off the top of my head I have no idea how to actually calculate PI from scratch. If I get to leverage the underlying geometric or trigonometric libraries in the environment, sure; but from scratch, no. I could, of course, look it up, but the context of the interview question above didn't imply that reference material was an option.

      If I were interviewing someone and asked the "calculate PI question" and they gave me the response that I gave above, I would consider it a "passing" answer. When I interview people (for programming or otherwise), I am more interested in their ability to understand and clarify the question and how they approach answering the question instead of the actual technical answer. You can look up technical references, you can't look up how to think and communicate.

    18. Re:Can't Tell Them Apart by ClickOnThis · · Score: 1

      How do employers know that you wrote the open source code? And not, say, your friend?

      By doing as the GP suggests: looking at the code online, and then quizzing her/him about it during the interview.

      --
      If it weren't for deadlines, nothing would be late.
    19. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      This is a surprisingly stupid programming challenge since it is more focused on testing the candidates knowledge of an algorithm to determine the nth digit of Pi than it is on their programming ability.

      What this really falls under is the bias towards finding people like yourself. You know how to solve this problem, and you think you are a good programmer, so you conclude that all good programmers should at least be able to do this; and since the skills it requires to solve it are the skills you feel are important (since they are the ones you have, so they must be important!) you focus only on them.

    20. Re:Can't Tell Them Apart by ThatsDrDangerToYou · · Score: 1

      that does not work. I tried, many MANY times.

      I have open source code (about 13k lines of c/c++ for embedded platform) and I happen to interview 'badly' when I am put on the spot and asked to code up something in 15 minutes while someone watches me. that's not how I work and I fail horribly at THAT style of interview.

      Yes, this sucks to be sure. I have developed a level of comfort with "public perfomance" in different areas, e.g. musical and otherwise. Doing this sort of thing might be very useful to you. See also: Toastmasters or some public speaking thing. ... but if you liked those things already, you would be in sales. Ha.

      Alternatively, leverage your personal network as much as possible. Study for interviews and express a knowledge of the company's business and technical area(s). Also, practice coding in front of a whiteboard, with people watching you, naked, on the subway. It may seem like a waste of time, but in your case it will likely help. .. and oh, the naked on the subway part may vary depending on local ordinances.

    21. Re:Can't Tell Them Apart by tommeke100 · · Score: 1

      Can we use Monte-Carlo or you'd rather see infinite series?

    22. Re:Can't Tell Them Apart by gewalker · · Score: 1

      Personally, I have been planning on changing our hiring process to start with this testing process for hiring before they waste our time being interviewed. BTW, if you want to hire, you have to prepare this test suite before you can start the hiring process so H/R can administer the test.

      Have them sign non-disclosure related to interview testing.

      Part 0 - Traditional Q&A. Multi choice and short answer. Maybe 15 minutes total.

      Drop them in front of test V/M with everything ready to go with video recording active.
      Give them a method to ask questions during the testing.

      Parts 1 & 2 are language specific.

      Part 1 - 2 quickie program descriptions, 2 programs that should take a 1 should take a few minutes to write, the other slightly more complex.

      Part 2 - 2 Broken programs with known bugs described, a few minutes each to fix, 1 of these is throwing an exception and all you have is the printed source code (with line numbers) and a exception detail -- you don't actually fix this one, you just state the problem and how to fix

      Part 3 - 2 short problem bit based on SQL.

      Part 4 -- Any thing else domain specific if needed.

      You do on all 3/4 parts. If you don't come out within a reasonable time, you can just let them know they are not being hired. Put them in a waiting area while test results are reviewed. If they do well, on to the interview.

      Now -- should I put existing hires back through this test?

    23. Re:Can't Tell Them Apart by Actually,+I+do+RTFA · · Score: 2

      I've repeatedly asked companies to accept my public source code, review it and ask me about it, if they wish.

      That can be a lot of work, to identify a significant enough contiguous chunk you wrote, understand it, and ask about it. Have you offered to highlight one interesting (and small) section that you checked in that shows your skills?

      Or a small section that shows off how you were able to work within a larger codebase while maintaining stability.

      I'll follow some directions to read your code, but I'm not willing to spend that much time if its too hard to parse what I should care about.

      --
      Your ad here. Ask me how!
    24. Re:Can't Tell Them Apart by vitaflo · · Score: 1

      I have open source code (about 13k lines of c/c++ for embedded platform) and I happen to interview 'badly' when I am put on the spot and asked to code up something in 15 minutes while someone watches me. that's not how I work and I fail horribly at THAT style of interview. note, I am fairly good (not a+ but definitely better than average) at coding in the real world - just NOT in synthetic white-board style interviews.

      As a designer, this type of thing floors me. Every job I've gotten (and every job any designer has gotten) is based on their portfolio. Nobody asks if the person actually did it, or was helped, etc. They ask you to discuss what you did. That's been the standard for getting design jobs for decades.

      I don't understand why developers don't have portfolio reviews like this as well. What they're asking of you is akin to someone asking me in an interview "draw us some pretty pictures". Most designers would find that an offensive disregard for the practice of design, let alone a disregard for the previous work they've done that should be the actual litmus test for getting the job.

      Developers need to start putting their foot down and asking for portfolio reviews of code they've written and not be asked to do a side show act to get jobs.

    25. Re:Can't Tell Them Apart by Catiline · · Score: 1
      That sounds solid for a "take home" test, but I wouldn't trust that for an interview (it's too easy to get an answer from some website instead of doing the work), and as others have stated before me it seems far too hard for use in a live code exercise. (I consider myself quite the math geek, but never bothered to memorizing formulas for pi.) Personally, I've always preferred some variation on the simpler "fizzbuzz" test, like asking candidates to write the C library strcpy function, or a function to calculate m-of-n boolean logic (given n logic tests, write a function that returns true when at least m items are true). These tests actually allow you to check a candidate for several desired attributes at once:
      • Ability to read and follow a specification. For instance, for "fizzbuzz" will the candidate remember to print the numbers which fail both modulo tests, and not print the number when one of these test succeeds?
      • Familiarity with language of choice/test. The second example, as given, would require one to cold-recall the order of arguments (and return value) to a very common library function; properly coding the boolean logic example requires writing a variadic function.
      • Coding practices and problem solving skills. A test with multiple solutions (or at least, seeming to support multiple solutions) allows you to see the candidate's thought process.

      As the parent poster stated: you probably can pass this sort of test and only be a 40%-skill programmer, and many 90%-skill programmers would fail at least one of the above tests. However, the how and why candidates 'fail' (did you ask for clarification, or just rush in? Did you mis-read the requirements, or not think the problem through? Does your code contain a fencepost error?) is just as revealing of desired skill set as any 'success'.

    26. Re:Can't Tell Them Apart by CountZer0 · · Score: 1

      As a hiring manager, I can tell you that I almost never have the time to go dig through a prospective candidate's open source code. Not to mention, most of the time open repositories like that are blocked from my work network anyway, so I would have to further take the time to review it from my personal PC after-hours. Any non-trivial project is going to take hours of my time to get familiar enough with to actually make a meaningful assessment of your skill anyway. I am not going to devote that much time to an individual candidate. Keep in mind, I've got a pile of resumes all vying for the same position.

      That said, I also tailor my interviewing to the candidate quite a bit. If I'm at a campus recruiting event interviewing college grads with no real-world experience, I'll give them some coding challenges and see how they do (they get to pick the language). If I'm interviewing someone who's been in the industry, I likely won't ask for a single line of code, but rather will spend the time discussing prior projects, thought processes and challenges overcome (ie: can the candidate speak, in detail, to their resume. Many can't, by the way).

    27. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      ...and I happen to interview 'badly' when I am put on the spot and asked to code up something in 15 minutes while someone watches me. that's not how I work and I fail horribly at THAT style of interview.

      Yes, this sucks to be sure. I have developed a level of comfort with "public perfomance" in different areas, e.g. musical and otherwise. Doing this sort of thing might be very useful to you. See also: Toastmasters or some public speaking thing.

      On the spot programming tests are as stupid as hypothetical "what would you do if ..." questions during interviews. Hell most of the time my knowledge and experience intimidates the interviewer(s) so I never hear back. Between the laundry lists and dog-and-pony performances I am waiting for an interviewee to come to an interview carrying a sawed-off shotgun under his/her "slacker-inspired" coat. Is that a powdered sugar doughnut you're holding? Nope. It's anthrax and you're gonna die!

    28. Re:Can't Tell Them Apart by TheGratefulNet · · Score: 2

      and in fact, it works both ways. I could tell by the questions they ask if they are any good or not, and they should be able to tell VERY quickly if I wrote it or not.

      in fact, since its embedded, I could bring the device to the interview, give a demo, show a code change, download, debug/run result. but again, even when I offered, it was never accepted.

      employers: please consider opening your minds when folks who don't all dance to the same drummer come to interview. in fact, wouldn't it be refreshing to NOT have to go thru the same old grind, over and over again? if someone asks to demo or explain their code, please consider that as a valid alternative to the 'code me a linked list in 15 minutes while I wait' kind of thing. or 'reverse this string in place'. memorization and solving toy problems in short time slots isn't my bag and its also not necessary for most of the software jobs that people are likely to do.

      --

      --
      "It is now safe to switch off your computer."
    29. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      Granted we are talking about a QA Automation position but we actually have multiple tests. We ask for queries from a database schema, someone to READ code I wrote with errors in it and play the compiler. Most of the errors are easy to find, but we are also looking for their ability to read the code and describe what is going on. Missing an error is not a automatic failure, but it tells us a lot about their ability to read code. Finally we have someone do an arbitrarily easy piece of code like Fizz Buzz on a white board. In any language including pseudo code. If they get confused, we ask questions, otherwise we let the person work through the problem. After they are done, we ask them to test it and describe the possible points of failure. In one case I learned something new from an interview, where python doesn't care about the size of the integer so overflow was not a failure for them. They explained that to me and that gave them bonus points. I asked if it could still fail and he noted memory concerns. Ah ha! He understands limits of his code and he knows python to some depth. Just because we only write code in Java didn't bother me a bit that he didn't use Java. He could read the Java/C# code and knew another language. Good enough. I wonder what sorts of complaints you would have regarding that style of interview. Obviously since it is QA as well we do lots of QA-related questions, but that is a different ball of wax.

      Captcha amusingly was 'expert'.

    30. Re:Can't Tell Them Apart by TheGratefulNet · · Score: 1

      I would never ask anyone to go thru the whole code base or tarfile.

      pick out something, just anything that stands out and ask me about it. or ask me to explain the org of the code modules, why I did things the way I did, what issues I had along the way, what I might do better next time. stuff like that.

      those would be very telling/indicating questions. much better than asking to write code on a white board in short time intervals.

      you can see my commenting, my indenting, my choice of variable and proc names, my looping style, my vertical spacing style. none of which you'd really get from a 15 minute coding slot in an interview.

      finally, stop obsessing on candidates. almost everyone is doing a 'try before you buy' (ie, contract to perm) and not direct perm anymore. if the guy sucks, get rid of him quickly. you'll know in short time if he can code and debug or not. its essentially no risk and you are wasting more time obsessing at the interview stage than is really necessary.

      --

      --
      "It is now safe to switch off your computer."
    31. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      Instantiate a circle and get the diameter and radius then divide it out. I dont know if it would simple stop at runtime though...or how to control when it stops showing digits...anyone?

      Off the top of my head I have no idea how to actually calculate PI from scratch..

      pi = 22 / 7 convert to a string and select the first n characters (calculate to as many digits precision as the ass of an interviewer wants)

      Would you accept my response, Nwke?

    32. Re:Can't Tell Them Apart by TheGratefulNet · · Score: 1

      I use the doctor analogy: suppose you are shopping for a new dentist or doctor or even eye doctor or even shrink. are you going to test or quiz them to see if they are qualified? of course not.

      plumbers and electricians? no. you don't quiz them or 'test' them. you hire them, you watch the work and you keep them on or you fire them if you don't like the work. you never TEST them.

      so, why is it so acceptable to assume the software guy is lying unless proven otherwise?

      in addition to that, do you REALLY think that people can exist at a company for more than a month or so if they can't perform or code or do what the job is about? its not hard to verify if the companies he worked for are real and the time was real there. if he stayed there for a year, do you REALLY think he could not code his way out of a paper bag? really?

      its a shame that we are not unionized, as an industry. we let employers walk all OVER us. we have no power to push back or change the game at all. and we show no signs of getting our power back, either.

      --

      --
      "It is now safe to switch off your computer."
    33. Re:Can't Tell Them Apart by Blaskowicz · · Score: 1

      A friend once "tasked" me to do it, for fun. I came up with a simple and lame method that works if you give me a pesudo-random number generator. The harder part would be to know when you've reached sufficient precision so that the n-th digit is reliable ; and for very large n the stuff would be slow and would have run out of precision anyway.

      Sure, I would need to look up some 18th algorithm or something if you want me to write something better.

      It was in C, but for a bad reason : it's a very simple language that every one knows. So if you want me to write a toy program that does repetitive math and prints an answer on stdout, I'll use that because I won't have to learn the syntax, boilerplate and library structure for an "easy" and "dynamic" language.

    34. Re:Can't Tell Them Apart by JesseMcDonald · · Score: 1

      Off the top of my head I have no idea how to actually calculate PI from scratch.

      You can get a good approximation using the Monte Carlo method. Pick N points uniformly in the square between (0,0) and (1,1). Count how many are inside a circle centered at (0,0) with radius equal to one unit ($x^2 + y^2 <= 1^2$) and divide the result by N. As N increases, the result approaches the area of the upper-right quadrant of the circle. Since the area of the full unit circle is $Pi * 1^2 = Pi$, multiplying the area of the quadrant by four gives you Pi.

      One benefit of taking this approach in an interview would be that it leverages an otherwise rather boring question to demonstrate knowledge of the Monte Carlo method, which is applicable to far more interesting problems than just calculating an approximation for Pi.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    35. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 1

      employers: please consider opening your minds when folks who don't all dance to the same drummer come to interview. in fact, wouldn't it be refreshing to NOT have to go thru the same old grind, over and over again? if someone asks to demo or explain their code, please consider that as a valid alternative to the 'code me a linked list in 15 minutes while I wait' kind of thing. or 'reverse this string in place'. memorization and solving toy problems in short time slots isn't my bag and its also not necessary for most of the software jobs that people are likely to do.

      That's not an awful idea—but legal would probably squash it. From an HR/legal perspective, it's a lot more defensible to say "We have not discriminated against anyone" when everyone has the same interview questions. If the company ever gets sued, it can at least make the assertion that it made a good-faith effort to have the same playing field for all candidates.

    36. Re:Can't Tell Them Apart by BlackPignouf · · Score: 1

      I also think many Python programmers know only the bare minimum.
      But it's not a bug, it's a feature : there are so many libraries that help you make cool stuff with audio/video/websites/graphs in a few lines of code.
      All you need to know is Google "Python + stuff you want to do", use a few assignments and make a few method calls.

    37. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      I'm a professional programmer. I've always been asked to stay when I leave a position for something else. I frequently get performance awards. I completely bombed an interview because I couldn't write a functional linked list on notebook paper at 8am in a hotel lobby with a guy looking over my shoulder. Although I did get my first job writing hello world on the whiteboard because none of the other candidates could even manage that, turns out no one in the room could have known if I'd made the whole thing up.

    38. Re:Can't Tell Them Apart by Herder+Of+Code · · Score: 1

      Them words be the truth. HR was pretty clear that we had to have a defense ready in case someone played the discrimination card. That meant written tests that were pass/fail. Even if we interviewed John Carmack, if he did not pass that test HR would refuse him any further interview steps. The interview themselves had to follow a certain pattern and we had to write down what we asked.

      As a sidenote, I thought I would've a hearth attack when the manager next to me asked a candidate if she was planning on having kids soon. I was like oh god, oh god, oh god. I guess nothing came of it because we hired her but still.

    39. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      Are you testing their ability to code, or their ability to have memorised a particular algorithm?

    40. Re:Can't Tell Them Apart by Herder+Of+Code · · Score: 1

      There's a reason why we ask those questions. I always ask the candidate if he can explain to me how a linked list works ( no code ) and then can he please write a small struct/class for a binary tree node. No processing function, just the node with a data payload. Then how would I traverse the tree? The goal is to see if the candidate has some kind of grasp of how pointers work. This is where 90% of the candidates failed. We were also an embedded C++ shop and I needed candidates who knew what a pointer was.

      I always asked them questions about personal projects but you needed to demonstrate to me that you had a fundamental understanding of pointers and memory as we had to write a lot of device specific optimization/memory management.

    41. Re:Can't Tell Them Apart by Lockdev · · Score: 1

      So you've interviewed with Google too.

    42. Re:Can't Tell Them Apart by TheGratefulNet · · Score: 1

      I usually start out with a data struct (its easy and fast and does show that you know what's going on). then I do some general algorithm or flow discussion (not pseudo code yet but general approach of how I'd solve it and what general alg choices I'd use or not use). I then HOPE that they are happy enough with that so we don't have do dive deeper into code. code is a level of detail that just requires more time. lots of details (any off-by-one issues? did he cover all the corner cases? etc) in the coding but I can walk thru the issues, verbally, saving time and not having to go into gory minutae.

      the better (sigh, sorry: older) interviewers usually are ok if we leave things at that level, but the kids insist I go down to the very last line of code and that - sorry to say - really shows more badly on the person asking the question. it shows they don't get it and they need a full answer before they are convinced. more experienced folks don't need to see the ending statement to know the candidate knows this road and has traveled it before.

      --

      --
      "It is now safe to switch off your computer."
    43. Re:Can't Tell Them Apart by Wycliffe · · Score: 1

      You apparently have never heard of CPAN.
      I don't think there is any other language that has the breath or depth of freely available libraries that Perl does.
      I have found the exact opposite for python. As far as mature libraries goes I tend to find that php, c++, and
      perl have considerably more available. When I've needed a python module I seem to always find abandoned
      or alpha quality libraries. Granted python is a newer language but I don't think you can claim a large library
      or even a large amount of example code and documentation as one of python's strengths compared to other
      languages.

    44. Re: Can't Tell Them Apart by Anonymous Coward · · Score: 0

      No one has time to review your 13K lines of embedded code. They don't know if you ripped it off. They can't compare it with someone else's performance writing that 13k lines of code. When there's maybe 10 CV's make it past HR, do you really think the harassed engineer's will be willing do do more than mark the standard coding test for the interviewing manager?

    45. Re:Can't Tell Them Apart by seebs · · Score: 1

      Doctors are licensed. And in a lot of places, so are plumbers. When we got a gas line run, we didn't hire the guy and see how he did. We hired someone who had gotten official certifications of competence from another source, and then had a state inspector evaluate the work. (And heck, for gas lines, I am totally okay with this, because you really, really, do not want those being done incorrectly.)

      I'm not sure I'd be any better off with a union, mind. The types of unions we have in the US are pretty worker-hostile in a lot of cases, especially for workers who don't fit nicely into pigeon holes.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    46. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      You forget, you have to get past all the stupid HR questions that are bogus personality tests based on pop-culture pseudo-science.
      I am talking about the gems like:
      "If you were a tree, what kind of a tree would you be?" The correct answer is a Ficus, but don't tell them that the why is because "God Hates Figs."

      In that same interview I got passed over despite having a 3.71 GPA across 2 degrees in electronics and software application programming and being listed in 'Who's Who" and having glowing reviews from both college instructors, Previous managers and having a fellow student that was already working at the company recommending me. It was for a company that builds pick and place machines. Though the hiring manager was not asking for anything more than entry level programming skills, you can't tell me that my also having a degree in electronics didn't make me ideal for that job. Hiring managers are sometimes detrimental from an accurate assessment of who is a good candidate. I am not saying that because I didn't get the job, I am saying that because the interview was ridiculous. And no, I didn't answer Ficus or "god hates figs" I think I said something like, "Willow" because it has a mutual symbiotic role in it's environment with animals and other trees. What did any tree species or stupid analogy have to do with anything other than making the interviewer look like someone who believes in "Orgone" fields and Homeopathy? In a way I am kind of glad that I didn't get that job if I had to deal with that kind of ignorance from management when I would be trying to get real work done.

    47. Re:Can't Tell Them Apart by Shados · · Score: 1

      Google and any companies that hire a large amount of people from big name CS schools. Its what they're taught, its how they have been interviewed, its how they'll interview.

      Where I work currently also has the same interview style. Please pump out an algorithm that takes this or that and optimize it in so and so manner, and make sure it fits on this tiny little white board. You have 12 minutes.

      Oh, and make sure to remember whats the specific backing algorithm for this particular data structure of the std. No I don't care that its log n, what is the SPECIFIC algorithm?

      (nevermind the interviewer didn't know until they double checked their internal wiki 5 minutes before asking you).

      Fun times. Even worse now that I'm the one forced to ask these questions to other people.

    48. Re:Can't Tell Them Apart by Shados · · Score: 1

      Thats not too bad. Even though I haven't written a linked list in 15 years, I probably can spit out the basics.

      What sucks is when they ask you to write the full code for a balanced n-ary tree on a white board, then throw in the extra "how would you generate a unique hash from it for a performance intensive application?" to add insult to injury.

      Yeah, I write those everyday! Let me get right to it! The irony is that the greener you are, the better you'll be able to answer that question... I did those on paper during finals a million times in college. But that was over a decade ago.

    49. Re:Can't Tell Them Apart by losfromla · · Score: 1

      I diagnose you egomaniac paranoid

      --
      Only I can judge you.
    50. Re:Can't Tell Them Apart by PaddyM · · Score: 1

      I hear you. It was hard for me to get past the technical interviews even when I was fresh out of school. My brain doesn't work that way at all. I had one question where they asked me about biographic numbers, and I struggled for 30 minutes about. Got back to the hotel afterward and solved the problem in about 5 min. on paper. Or many times the answer is some kind of way of breaking the problem down into a part that can be recursed, but I have trouble with those in a short time too.

      Yet I'm very good at taking some theoretical complicated models and putting them in code. It's harder for me to come up with samples because I really only have proprietary software from work. But I agree that is beyond frustrating they won't even look at your code.

    51. Re:Can't Tell Them Apart by losfromla · · Score: 1

      TheGratefulNet, the suggestion from Actually... is a good one, I think you didn't notice what it was. He is putting the onus on _you_ to pick out the chunk that stands out for whatever notable characteristic is relevant. Pick that out for them and highlight it, discuss it, prove your ownership and why that makes you the badass they want to hire. I definitely don't want to wade through 13K lines of _your_ c/c++ code to find some damn pearl that I should ask you about. It is _your_ job to put that pearl in front of me.

      --
      Only I can judge you.
    52. Re:Can't Tell Them Apart by greg1104 · · Score: 1

      I'm very impressed if someone finishes a program that calculates an infinite series in a 15 minute code interview.

    53. Re:Can't Tell Them Apart by greg1104 · · Score: 1

      When I give someone a fizzbuzz style program to do, I point out to them that part of my grading is how it handles errors. The example programs people swipe online don't help very much, because they usually don't worry about things like boundary checking. If I can break someone's fizzbuzz by giving it a negative number that's a failing grade. That is much, much more important to me than language mastery. For C programming as one example, I'll trade you a dozen people who know the correct order of arguments for calloc for one who knows how that library call might fail.

    54. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      For reference, PI = Circumference * Diameter or Circumference * (2 * Radius)
      therefore to calculate PI,

      if radius or diameter is given, the Circumference value should be divided by Diameter value or 2* radius value to solve for PI.

      It is not clear why you would be trying to calculate a value that is a known constant, unless it is a check to make sure the given values are correct.
      It is not clear from what you typed whether they were just looking for someone knowing how to control the number of decimal places PI is calculated to, that might even depend on the data type.. (Double or floating point.. very probably looking for a floating point value that is returned calculated to the requested number of decimal places... reading between the lines here. There is an argument in that function that controls the number of significant digits returned by the function depending on the datatype and the class that is being referenced. If you use the wrong datatype, either it comes back with the wrong number of digits or you overload the function by passing it a different datatype, either it gives the correct number of significant digits by virtue of the datatype returned or you specify it (in the case of a float) with an argument passed into the function.) This is kinda irrelevant to the information given here and what they are looking for.

      The math is basic geometry. As far as them expecting you to have libraries memorized that under normal circumstances, you would be wasting time not looking it up in an API before writing your code, step by step, making sure it compiles and performs as expected, the interviewer has demonstrated an ignorance about what how programming is actually performed.

      One of my main programming professors in college worked for GE previously as a materials science expert and was involved in the design of the engines on the F-117 Nighthawk. His advice was that, an interviewer expecting you to have code memorized, that you would get the actual work done quicker and with less errors, looking up in the API and implementing correctly, step by step on the first try, rather than "cowboy coding" it and trying to chase down a million errors that may have been made due to subtle typing errors, blatant syntax errors and very likely mismatches between reference calls versus calls by value and potentially numerous other things, the interviewer has demonstrated a poor understanding of how computer programming is done effectively and in a time efficient manner.

      That advice stuck with me, yet I hear all these interview questions where they try to ask you to have an API memorized, which I suspect a few 'rain man' types could , have but if that is what they are looking for, they should really just go on and hire Kim Peak.

      My $ 0.02

    55. Re:Can't Tell Them Apart by rk · · Score: 1

      There are many reasons to hate on Python, but the "whitespace thing" is probably the least offensive oddity, since it just enforces something you should be doing anyway for writing good code. It's not like this is old RPG or COBOL where things in certain columns carry meaning. Really, it should be transparent to a programmer in an hour, unless they're lazy about indentation in general. In which case, Python isn't the thing that's broken.

    56. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      Coding is dastardly easy, it is analysis and design what should take most of your time, and those can be done on paper. If you are the kind of developer that chisels code with a compiler until it runs, make and easy case unitary test and call it a day then I certainly would go for the kid that can take five minutes and think abstractly about the problem.

    57. Re:Can't Tell Them Apart by mrchaotica · · Score: 1

      22/7 is only accurate to 3 digits.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    58. Re:Can't Tell Them Apart by Nkwe · · Score: 1

      Only if you could tell me to how many digits the approximation of 22/7 is accurate for during the interview. If that was your answer, I would need to further probe into how you approach problems that there is not simple shortcut for.

    59. Re:Can't Tell Them Apart by david_thornley · · Score: 1

      How many people balk at an NDA to interview? Sure you're not missing out on good people?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    60. Re:Can't Tell Them Apart by Nkwe · · Score: 1

      It is not clear why you would be trying to calculate a value that is a known constant

      Because doing so was the task suggested by the parent thread as a possible interview question. A response to that suggested using a programming library to instantiate a circle object and simply extract the circumference and diameter properties from the object, apply a little math and voila. My comment was that doing so didn't count as calculating PI, rather it was just indirectly extracting the constant from some other programming library.

      If I were doing the interviewing I wouldn't expect someone to know how to calculate PI, but I would expect someone to know the difference between extracting a constant from a library (directly or indirectly) and knowing the mathematical or other process for deriving the constant. I would be concerned if a candidate didn't know the definition of PI.

      I agree with your comments on memorization of APIs and code being a poor indicator of a solid programmer.

    61. Re:Can't Tell Them Apart by gewalker · · Score: 1

      NDA only covers the interview questions. It is very short and plain English, no-one has ever complained, much less balked. Only purpose is to reduce chance of the test going public.

      Test does not block internet access. I.e,. allow candidate looking up syntax, etc. Such things are part of normal dev. process.

    62. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      Why aren't you a 'stand-up' coder? I can think of a couple of reasons:

      -You can't deal with syntax without a magic editor or compiler pointing out in the right direction, this is bad but I don't think this is your case since you are over 50.

      -You suffer social anxiety, this is bad because projects need you to deal with clients or at least co-workers (in a mature, civilized fashion, not the flaming name calling that sadly is common place in open source world)

      -You have trouble abstracting, also not a good thing for a programer.

    63. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      A lot of employers have gone past the broken interview style you describe. The catch is that those employers have generally re-written or streamlined the hiring process such that your best bet would be to start showing up at programming conferences and giving 5 minute talks about things you've learned. Sending a resume to HR at this point is typically a dead end.

    64. Re:Can't Tell Them Apart by narcc · · Score: 1

      pi = 22 / 7

      You wish. That won't get you farther than 2 decimal places. 355/113 is better, but it still only gets you 6 decimal places.

      It's not so easy to square the circle.

    65. Re:Can't Tell Them Apart by vux984 · · Score: 1

      What sucks is when they ask you to write the full code for a balanced n-ary tree on a white board, then throw in the extra "how would you generate a unique hash from it for a performance intensive application?" to add insult to injury.

      Pretty much, this.

      You'd look at what the available standard container libraries are for the language you are using, and see what fits best.

      Maybe a standard container with a standard hash function is all you need.
      Maybe a standard container, with a custom hash function.

      Odds that I really need to write a container class from scratch for a project? Nearly zero. And if I do a generic from-the-top of my head implementation on a whiteboard is NOT going to be remotely suitable and a person who can do that isn't going to be that useful -- you need to first know WHY a standard container or hashing algorithm isn't going to be suitable, and then code specifically to that deficiency.

    66. Re:Can't Tell Them Apart by dohzer · · Score: 1

      I'm just grateful we have this well defined fraction-system for quantifying programming skill.

    67. Re:Can't Tell Them Apart by 14erCleaner · · Score: 1

      I diagnose you egomaniac paranoid

      Is that a showstopper? I mean, he's a fucking genius, cut him some slack. :)

      I like the idea of having the interviewee read code. In a team environment, that's more important than how much code you can crank out.

      --
      Have you read my blog lately?
    68. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      One those languages is write once and read denied and the other isn't.

      Must be python then, because if I try to copy/paste some code into another program, the code doesn't even run anymore. With perl, it runs, and if I run perltidy on the result, can even make it look pretty.

    69. Re:Can't Tell Them Apart by Smerta · · Score: 1

      This probably doesn't help you very much, but the places that insist on that kind of interview are probably not the kind of place you want to work, anyway.

      I know that's easier to swallow when you're gainfully employed as opposed to looking for a job (I'm not saying you're in either camp), but it's the truth.

      BTW, not sure if you're a C++ programmer, but Scott Meyers would agree with you: https://en.wikipedia.org/wiki/...

    70. Re:Can't Tell Them Apart by Gorobei · · Score: 1

      I wouldn't.

      There are three basic ways to solve this problem:

      1. The infinite series: some people know the basic one of the top of their heads: 4 * alternating odd fractions. Some may even know some Ramanugen (spelling - Indian math genius) better series.
      2. Some people may remember there is an algorithm to compute the nth digit of Pi efficiently - ask to do a web search for the state of the art.
      3. Just go to a trusted website that has already listed Pi to a bazillion digits and pluck the digit out.

    71. Re:Can't Tell Them Apart by Greyfox · · Score: 1
      Most of the time when they ask you to do a function on the white board, that you can code it is not really what they're looking for. They want to see if you can listen to the interviewer, gather requirements and actually design out the thing before you start writing code. Let's say I ask you to write a function to reverse a string. Pretty straight forward, right? But also pretty ambiguous. Should I test the pointer I'm passed to make sure it's not null? Should I modify the memory in-place, or make a copy? If I'm going to modify it in place, should I return a pointer to the same string or is there something else they want returned? Maybe the number of characters I modified? I also like to ask if there's anything else I really should be aware of before I start? I'm still waiting for someone to tell me that the strings will be palindromes frequently enough that it's worth checking in advance to see if you really need to reverse it in the first place...

      Once you have your requirements, draw out what's going to happen in memory with a few test strings just to get a feel for what your loops will look like. You don't need a particularly massive design phase for a function like that, but you really should have a feel for corner cases before you start to put it to code. Ironically by the time you get to the point where you're going to write code, it'll seem pretty simple what you need to do, but the interviewer will probably stop you because you've done something he's never seen before in an interview, and he's ready to hire you.

      I've seen a lot of otherwise good interviews go bad with this seemingly simple little function, but they really don't have to work out that way. Make this one little change and you'll go from hating interviews to loving them. It really is just that simple.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    72. Re:Can't Tell Them Apart by Gorobei · · Score: 1

      I can understand that. "Take something that you do on a computer in a structured environment with constructive tools and then draw it on a whiteboard, while talking out loud, to a bunch of strangers." Impossible. Frankly, I can't write and talk at the same time, let alone try to code on the fly without a computer. I'm trying to imagine an interview for a guitarist where they say, "Why don't you walk up to a whiteboard and draw out how you'd play some song you've never heard of."

      Good analogy. If you were a great guitarist, and you were looking to hire a great guitarist, that question might be reasonable. The two of you would start talking and pretty soon determine if you have a mutual fit.

      Same thing with code. Maybe you think "can get the job done" is good enough. Maybe they expect symphonies, though. Right or wrong, you might not be a good fit. Heck, we expect serious CS from all our potential hires, and sometimes one stops the recruiting process because he figures we are weaker than him. Totally fair - it's not about getting the whiteboard problem right or wrong, it's about the talk between people who are going to potentially work together.

    73. Re:Can't Tell Them Apart by Chemical+Serenity · · Score: 1

      I'm halfway tempted to apply for a job where you are just so I could experience this. Most interviews I've had have clearly (and sadly) been conducted by people who have little technical knowledge, but lots of HR experience and are working off a script put together by some more technically inclined person.

      --
      "People will pay big bucks for the luxury of ignorance."
    74. Re:Can't Tell Them Apart by Wycliffe · · Score: 1

      Whitespace is the number one complaint that I hear from both people who hate python and people
      who love and use python. I don't think it would be too bad if it wasn't for the fact that there are two
      kinds of whitespace. It's also not too bad if you have a python specific editor that subtly marks it
      in some way. Personally though I like visible delimiters. I space my code like I should but I still find
      it easier to read code with visible delimiters especially with any kind of loops or nesting.
      It also gives you more flexibility so that you can alter your style slightly n certain spots where doing so
      can enhance readability.

    75. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      Calculate Pi using random numbers (Monte Carlo method)
      Imagine a square with sides length 2
      Imagine a circle inscribed in that circle (radius 1)
      pick the bottom left hand corner of the square to be the origin of your coordinate system (0, 0)
      The area of the square is 2^2 = 4
      The area of the circle is Pi*(1)^2 = Pi
      The ratio of the area of the circle to the area of the square is then Pi/4
      Pi is therefore the 4 times the ratio of the circle to the area of the square
      Now, generate two random numbers, each between 0 and 2 (x, y)
      Determine if the point lies within the circle, yes if the distance from the given point to the center of the circle is less than the radius of the circle
      The center of the circle is at (1, 1)
      The distance from the point to the center of the circle is SQRT[ (x - 1)^2 + (y - 1)^2 ]
      Set # in circle = 0
      Do for 1, N
      x = 0
      y = 0
      x = Random(0, 2)
      y = Random(0,2)
      So, the point lies in the circle
      if SQRT[ (x - 1)^2 + (y - 1)^2 ] 1
      increment # in circle
      End Do
      Pi = 4*(# in circle) / N
      (the point always lies inside the square, since x and y range from 0, 2)
      Note: this algorithm converges to the correct answer very slowly with increasing N

    76. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      oops...don't actually need to set x, y = 0 in the loop, if they're overwritten by call to Random...sorry about that LOL

    77. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      and not getting printed (less than or equal to)

    78. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      > If I can break someone's fizzbuzz by giving it a negative number that's a failing grade.

      Curious, what kind of requirement are you putting forth for FizzBuzz? The FizzBuzz I know doesn't take any inputs.

    79. Re:Can't Tell Them Apart by Wisecat · · Score: 1

      Yes, I'm lost with just the lingo. "standard container" ? I know what a hash function is, but a "standard hash function" vs a non-standard one? I'm lost. Already. Obivously, I can't fake my way through an interview. I don't have the computer science background, just the ability to hard-code things when necessary (and I took enough CompSci classes to learn what object-oriented programming is, and can write classes and make objects, but that's the most advanced I ever got). I can certainly learn more advanced stuff, if I apply myself, but the question is: will it pay off? or will I be forever chasing something that stays just out of reach?

    80. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      This smells of self-righteousness. 13,000 lines is not a lot to show for a 50-year-old having supposedly spent a career in programming, and OSS is a terrible sample space because you could have spent months honing every line. OTOH if you really have 30 years experience of programming, and you can't sketch out a simple coding solution on a whiteboard, I'd question whether your resume was telling the truth or not. Guess what, your job may well involve sketching out solutions on whiteboards in meetings with other programmers, so saying "I can't do that" is basically saying "I'm not right for this job". You end up sounding like a lone wolf primadonna who has to have the environment exactly how he wants it in order to produce, which is the exact opposite of a team player.

      But, yeah, it's the interview process that's broken, sure.

    81. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      I have nothing against PHP and Python (except the things I have against PHP and Python) either.

    82. Re:Can't Tell Them Apart by DaWhilly · · Score: 1

      We started out having the test sent before interviews and it worked for about 3 months. Then we told HR to start sending an updated test and they continued to send the old tests.

      We ended up asking HR to filter out some of the least eligible people while we go for most eligible but we had to be explicit to the team receiving resumes to make they they didn't discard people who didn't get a degree but have the necessary experience (since I'm in that bucket along with 1/2 the team).

      Ultimately, after we receive the resumes, we then tell HR to send the "Attached" document to the applicants which avoids triggering the "Oh, they just want the test sent and i already have a copy I can send out".

      And, we do put existing people back through the tests. It helps us work out what training we need to provide or get feedback on revising the questions.

    83. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      If I were you, I wouldn't put the effort into learning programming in the hopes that it will make you employable. You will be competing with thousands of developers who have more experience than you, and THEY still can't get in the door. Don't put all your eggs in that basket.

      What I would do is go to the library (literally or metaphorically - there's tons of info online) and start learning about running a business instead. You may pooh-pooh the idea now, but there are lots of people dumber than you who have successful businesses. Hang out with entrepreneurs to get the 'bug.' Participate in forums where people discuss business.

      It may not be what you ultimately want to do for a living, but it could give you an income you can control yourself, and decide what you'd rather be doing once you have a steady income. Changing careers at this point is still an option while you do this.

    84. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      I was with you until this:

      As far as mature libraries goes I tend to find that php, c++, and
      perl have considerably more available.

      If you think the code quality of PEAR rivals that of Python's libraries, you're smoking crack. I do think CPAN is a force to be reckoned with, however.

      I've transitioned from Perl to Python, and I can see the merits of both languages. PHP OTOH is a piece of shit... and yes, I've worked in that language.

      Granted python is a newer language but I don't think you can claim a large library
      or even a large amount of example code and documentation as one of python's strengths compared to other
      languages.

      Python is four years older than PHP. You don't know what the fuck you're talking about. Discussion over.

    85. Re:Can't Tell Them Apart by micahraleigh · · Score: 1

      Do you give them the algorithm? Looks like Bailey, Borwein, and Plouffe got famous enough from figuring it out to having their names put on it. That seems like setting the bar a little high for a programmer position.

    86. Re:Can't Tell Them Apart by BigDaveyL · · Score: 1

      I understand this bit, especially in a litigious society.

      On the other hand though, you cannot say that there is a "talent shortage" if you are unwilling to consider (and ask about) this type of work. I know I have a little bit of a speech impediment/stutter and it gets worse when I am in an uncomfortable/unknown/nervous situation. But, it should have no issue programming and working with others. An interview like the OP suggests would quickly defuse the situation, and show that I am competent. In other words, it would level the playing field.

    87. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      I'm trying to imagine an interview for a guitarist where they say, "Why don't you walk up to a whiteboard and draw out how you'd play some song you've never heard of."

      Good analogy. If you were a great guitarist, and you were looking to hire a great guitarist, that question might be reasonable. The two of you would start talking and pretty soon determine if you have a mutual fit.

      "Hi, thanks for coming in. We're looking for a 'rock star.' Would you describe yourself as a rock star?"

      "I'm a classically trained guitarist with 15 years working as a professional musician. I have a degree in music from Berklee. I've done studio and live work, playing rock, jazz, blues, classical and Flamenco guitar."

      "Hmmm. Not sure that's what we're looking for. Can you play 'Purple Haze', 'Smoke on the Water', 'Bohemian Rhapsody' and 'Wonderwall'?"

      "Those are all different styles of rock, but I've only played Bohemian Rhapsody before. I'm confident I could learn to play the others quickly with a little study."

      "We'll see. We're looking for someone who knows these specific songs - all of them - and has been playing them for at least 10 years. Also, we want someone who can fill in on other instruments when needed. Can you play banjo?"

      "No."

      "That's okay, we don't actually need a banjo player right now, but you might want to learn banjo, accordion, and drums on the side just in case we can't hire all the players we need. You may also be required to sing. Can you read music?"

      "Of course I can read music! You don't get a degree from Berklee without learning to read music."

      "Well, I understand that, but we have a little test we need you to take to prove it. Can you play this song, FizzBuzz, from the sheet music here?"

      "That's just an ascending C major scale in quarter notes."

      "Hey, 90% of the 'musicians' we get coming in the door can't even do that. Sorry, but we can't hire you unless you pass this test."

      "Fine." [Plays C major scale]

      "Great! We'd like to hire you for a series of shows. We can pay you $100 a night."

      "That's less than a tenth of what a moderately successful rock artist would get, let alone a 'rock star'!"

      "That's a competitive rate. All the bars and coffee shops and piano lounges in the area pay that rate. We're on a limited budget. Also, we have a band in Elbonia ready to play at a moment's notice over speakerphone."

      "Won't it sound like crap over the speakerphone?"

      "We're not concerned about that. They're cheap and they're available at a moment's notice. They could play the gig just as well as you. So what do you say?"

      "I might as well... it's the only gig I've been offered in months."

      "Great! Here's your pick, you'll want to keep that on you at all times. Let me take you back to your perforance area where the other band members are rehearsing. Your amp's in there too."

      [Walk back to cramped, smoky room where there are five other musicians - three pianists, one bass player, and a guy with a cowbell]

      "Hey! Welcome aboard. You can plug in over there. We're playing 'Smoke on the Water,' just join in!"

      "Sure, what key are you playing it in?"

      "What's a key??"

      [This is not an exaggeration. This is exactly the way things work in the software industry right now. You may scoff and say 'no musician would put up with that.' Right you are...]

    88. Re:Can't Tell Them Apart by Redmancometh · · Score: 1

      Well in real life I would need to go by a more or less perfect circle which I cannot draw by hand.

      How is that any different than using a circle created by a library call?

      Not being argumenative I'm sure there is a valid response.

    89. Re:Can't Tell Them Apart by vux984 · · Score: 1

      "standard container"

      Virtually all languages ship with a set of libraries containing functions or classes etc that you can use; so you don't have to write your own string concatenation, your own implementation of sin() and cosin(), all the way up to more advanced stuff like providing standard implementations of containers or collections (arrays, lists, sorted lists, dictionaries, etc)

      For example the C++ standard library (which includes the STL - standard template library), or the Python standard libary, or the standard Java API, etc.

      "standard hash function"

      I presume you already know that hash tables and other containers that rely on hashes do not tend to operate on cryptographic hashes; as the goal is performance not security.

      "standard hash" is not really "a thing". I just mean that for most containers most of the time, the hash function you would use is exceedingly simple, a member of the object you are storing or some trivial transformation of one. A lot of objects have a natural id (from a database or something) so you just use that.

      vs a custom hash function, where you really spend some time looking at the data you are using and the way you are using it, and develop a hash function fine tuned to it, with confidence (even proofs) that the hashing function will yield a good distribution.

    90. Re:Can't Tell Them Apart by Yevoc · · Score: 1

      I don't really agree that this is a coding question. It's a thought/personality question about what kind of person you are hiring. If someone actually took the bait and started unquestioningly brainstorming/making an algorithm for large n digits of pi on the whiteboard, I would say they failed in my eyes. I do have to admit you had me going there for a bit, as I was itching to devise an algorithm as well.

      My initial answer would be that I have the first 11 digits of pi memorized, which I can quickly verify to be true just by plugging them into taylor expanded trig functions (not a library). Computations on a universal-to-atomic scale are possible with less than 40 digits, and NASA's most precise calculations are with 16 digits, which they admit to be unneccessary, so I would say the correct answer to the problem is to say "no thank you." If 20 digits were necessary for your quantum-scale deployment to the entire solar-system business, I would just randomly change each digit as I moved down to a less significant digit until the error was minimized in the same taylor expanded trig functions (no libraries used). Horrible brute force I know, but it would take an instant to complete, and I would have spent very little development time on it to yield a realistic solution to a potentially infinite problem.

      --
      AccountKiller
    91. Re:Can't Tell Them Apart by Anonymous Coward · · Score: 0

      It surprised you that people won't download and study 13K lines of code for something they don't know about or care about for one applicant?
      Even if they could prove you wrote it it's probably irrelevant to what they want to know.

    92. Re:Can't Tell Them Apart by Redmancometh · · Score: 1

      I see what you're saying I am just of the opinion that, in most cases, the KISS keep it simple stupid) principle applies...especially in OOP.

      I am also of the opinion that an interview question should be framed in the context of the workplace. In that context I will always have that library.

      Willfully ignoring that tool is...kind of dumb. If i ask a mechanic how he takes a nut off the answer should be a wrench/driver..not some strange screwdriver technique.

      There are ways to test critical thinking skills that arent predicated on ignoring glaringly obvious answers.

    93. Re:Can't Tell Them Apart by Nkwe · · Score: 1

      I think it is more about understanding the semantics of the interview question, because being able to understand specifically what is being asked is a critical skill in programming. There is a subtle but important distinction between "How would you obtain the value for PI in your program?" and "How would you calculate PI in your program?" An excellent answer to an interview question about "calculating PI" would be a discussion about what is really being asked as such a discussion would indicate that the candidate recognizes the subtleties and also knows that questions asked of programmers are not always clear or precise. (Of course having an answer to each possible flavor or meaning of the question is a bonus.)

  13. Key is non-programming skills by gurps_npc · · Score: 4, Interesting

    People often ignore their non-programming skills. Get fired from a manufacturing job? Learn to code and try to get a job coding the software that runs the machines that took your job. Your industry xp will be a plus. Work as an orderly in a hospital? Code for medical machines.

    --
    excitingthingstodo.blogspot.com
    1. Re:Key is non-programming skills by phantomfive · · Score: 3, Interesting

      Exactly this. It's worth mentioning that your interview skills are more important that your actual programming skills. Sad but true.

      The main thing is to do a self-analysis. Instead of thinking of things in terms of 2/10 or 7/10, think of actual skills. Can you get the computer to do what you want? 99% of programming is not complex algorithms, it's straightforward moving data from a DB, or reading form data. Being able to validate form data is more important than knowing quicksort.

      So if you can write straight-forward code, and can interview well, then you can be a programmer.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Key is non-programming skills by bitt3n · · Score: 1

      Learn to code and try to get a job coding the software that runs the machines that took your job.

      this is fiendishly clever. if you're bad enough at it, you might end up getting your original job back.

    3. Re:Key is non-programming skills by Anonymous Coward · · Score: 0

      HR wants the best of the best, but does not define coding skills as part of their criteria. Only those who need to work with an individual value those skills. Furthermore, unemployment for software developers is quite low compares to the national average. Even the 2/10 skills are getting jobs.
      http://money.usnews.com/careers/best-jobs/software-developer

    4. Re:Key is non-programming skills by Anonymous Coward · · Score: 0

      Yup, very good point. I worked in the licensed trade and switched to setting up and running pub/bar websites. OK, it's mostly just Wordpress based stuff, but my killer-skill is the fact that I know how to write copy that won't get pubs in trouble for promoting irresponsible drinking while still promoting drinking. My clients don't even know what LAMP is.

    5. Re:Key is non-programming skills by yesterdaystomorrow · · Score: 2

      Yes, yes, yes. To be a programmer is like being a writer. The most important thing for a writer isn't spelling and grammar, but knowledge of something worth writing about.

    6. Re:Key is non-programming skills by robbo · · Score: 1

      +1000. The OP has embedded hardware skills which is a relatively rare skill-set- the barrier to entry is for sure a lot higher than basic software programming. My advice would be to leverage the hardware skillset into some new embedded programming domain (learn new hardware-specific tricks). There's little-to-no value in reinventing yourself as a generic programmer.

      --
      So long, and thanks for all the Phish
    7. Re:Key is non-programming skills by maestroX · · Score: 1

      Exactly this. It's worth mentioning that your interview skills are more important that your actual programming skills. Sad but true.

      That competence based view certainly is a power play movement of the last 10-20 years, eagerly used to scale down technical work to manual labor.
      In any case, remember that skilled craftsman are always wanted for -- at the end of the day, it boils down to both you and your employer walking in agreement out of the door

    8. Re:Key is non-programming skills by odoketa · · Score: 1

      This. I rarely give coding tests when hiring - a quick check to see if you can at least comprehend the basics. I'd love to do more, but frankly our coding requirements aren't that high, and your ability to interact with your colleagues in a rational way is more important. A jerk is far more of a problem in the office than a mediocre coder.

    9. Re:Key is non-programming skills by phantomfive · · Score: 1

      I agree with you. The thing I've settled on lately is trying to find out if programmers have good project management skills, at least for their own projects. It's hard to test for, but that's what I try to look for.

      --
      "First they came for the slanderers and i said nothing."
    10. Re:Key is non-programming skills by Wisecat · · Score: 1

      I've tried that, but can't get any response/call-back from submitting a resume. I got one rejection letter, once, but the rest of the time I don't even get that. Just crickets.

    11. Re:Key is non-programming skills by Anonymous Coward · · Score: 0

      A solid point. While at uni I actually did work as a porter at a hospital and wrote a few simple programs for parsing results from analysers. Whilst it didn't lead directly to any jobs, it did give me something to talk about in interviews.

  14. Wrong Question by Anonymous Coward · · Score: 0

    I wouldn't be excited about hiring anyone for any job who was looking at acquiring the bare minimum skill set.

  15. meaning of competence by v1 · · Score: 4, Insightful

    I fancy myself a "knows a LOT of languages and knows how to adapt". So I can sit down in front of a machine running a completely in-house language, and be proficient in it in less than a day, very skilled in under a week. I think this is more important than already being proficient with any given language. Having a very broad background of languages is very useful, because there comes a point where a new language won't really have any surprises you're not used to managing.

    Things change so fast with computers, how fast you can adapt is usually more useful than how much you already know. Experience goes stale so quickly, only adaptation remains valuable any distance out into the future.

    So this makes it a little tricky to judge "programming competence". If you simply sit them down and see how well they can code in what you use right now, you're not necessarily getting a good measurement on how "competent" they'll be at it in a week. I'd say "throw something at them you know they have ZERO experience with, and see how they react". A competent programmer should be able to have 80%+ comprehension on any code you set in front of them. They should also be capable of very simple edits, and maybe even a little debugging. Have an experienced dev sit down beside them and then give them a simple challenge, with the dev as their assistant. The questions they ask the dev will tell you a lot about their level of competence. Get the dev's input on this later too.

    --
    I work for the Department of Redundancy Department.
    1. Re:meaning of competence by Andy+Dodd · · Score: 2

      Yup. Really, critical thinking/troubleshooting skills and organizational skills are far more important than your familiarity with any given language. Ability to adapt/learn on your own is next.

      In the OP's case, he's probably in very good shape due to his experience with hardware engineering and embedded development. Software guys who understand what the underlying hardware means for them are RARE. The OP might want to look into platform/BSP maintenance jobs for embedded devices - the smartphone software industry is especially hot right now. Lots of companies are having trouble hiring enough competent software engineers.

      --
      retrorocket.o not found, launch anyway?
    2. Re:meaning of competence by Nightwraith · · Score: 1

      This is where the understanding of Programming Language Concepts comes into play. If you understand the basic principles of what you want to do the syntax will come.

      Mod Parent Up

    3. Re:meaning of competence by Drethon · · Score: 2

      From my experience, pseudo code or programming design language is a large part of the job. How well can a person organize the process the code will use. The actual implementation can usually be looked up on Google.

    4. Re:meaning of competence by geekoid · · Score: 1

      " and be proficient in it in less than a day, very skilled in under a week.
      no, you can't. I have no doubt you believe you can. Unless it's the most trivial and well documented language ever written.

      To me, too be proficient you need to answer how many level of redirection can it use well? How is it manipulating memory, knowing where the flaws are. It simply snt possible to determine that with any accuracy in a day. And this isn't even getting into how it deals with threading, mulit-cores, multi-processors, network latency and so on.

      In order to he what I would call 'very skilled' you would be able to use the language to write a compiler. Preferable a better one then the in house one.

      Devs are seldom qualified to judge is done is a good employee, or even a good programmer. They general get caught up in how they would do it as opposed to how it can be done.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    5. Re:meaning of competence by avandesande · · Score: 1

      Unfortunately I have not been in a single HR/Hiring situation where this is important.

      --
      love is just extroverted narcissism
    6. Re:meaning of competence by Anonymous Coward · · Score: 0

      To me, too be proficient you need to answer how many level of redirection can it use well? How is it manipulating memory, knowing where the flaws are. It simply snt possible to determine that with any accuracy in a day. And this isn't even getting into how it deals with threading, mulit-cores, multi-processors, network latency and so on.

      Too many items on that list sound more like language implementation details, not language competencies. And quite a few reek of premature optimization, which in my book drops you several competency points.

      Most really effective optimization requires the ability to look both above and beneath the language. The ability to analyse algorithms not only for basic functionality, but for appropriateness. A mediocre programmer "knows" that Heap and Quick sorts are "the best". But I once tuned a production system where the norm was a data set that would scream in a Shell sort but plow under "better" sorts, because it was their-worst-case scenario and the actual implementation language would be pretty much immaterial. Once you get beyond the high-level optimization, you may end up squeezing out a few nanoseconds if you can read the disassembled compiler output, but then you're dealing with a different language.

      In order to he what I would call 'very skilled' you would be able to use the language to write a compiler. Preferable a better one then the in house one.

      Thank you! But being an expert in compiler writing doesn't make me automatically proficient in statistical applications programming or even multi-threading, and while you can write a compiler in FORTRAN IV (a major minicomputer vendor did, but their hardware was optimized for it), or COBOL, neither are as well-suited to that job as C or Pascal.

      As very a rough estimate, I can learn the basic elements of a programming language in about a week, get a grip on what makes it superior (and inferior) to other languages in about 2 months, and in the case of a language with a rich run-time support/class library set, perhaps 6 months to learn what all is available when I need to do something that someone already has a solution to.

    7. Re:meaning of competence by Hognoxious · · Score: 1

      You've convinced me.

      Now try convincing a HR drone.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re:meaning of competence by narcc · · Score: 1

      A competent programmer should be able to have 80%+ comprehension on any code you set in front of them. They should also be capable of very simple edits, and maybe even a little debugging.

      Bullshit. For example, I would not expect even a very competent programmer to understand ANY of this:

      : branch fromr dup tor @ fromr + tor ;
      : notbranch not fromr dup tor @ 1 - * fromr + 1 + tor ;
      : if immediate ' notbranch , here 0 , ;
      : else immediate ' branch , here 0 , swap dup here swap - swap ! ;
      : then immediate dup here swap - swap ! ;

      While this will be familiar to those programmers who have likely written this *exact* code before, completely independent of everyone else who has written it, I wouldn't expect any programmer, regardless of skill, would be able to decipher it without an awful lot of experience in the language it's written in.

  16. Lies, damned lies, and statistics? by Anonymous Coward · · Score: 0

    Statistically speaking, aren't only half of us between 6 and 10, while the other half are 1-5?

    Anecdotally I would say that yes, a "less than 7/10" can, and does "get past HR". I've worked with some stinkers. Your 10 years of Java does not necessarily, by itself, make you a 9/10 versus my 2 years of Java, does it?

    I would also ask, how does filling a programmer role (with a range of talent) differ from filling other roles? Would the marketing department ever purposely hire a 2/10 or even a "good enough" 5/10?

    Specific to the question and my experience with hiring (and being hired), it's a bit of a nebulous equation that contains at a minimum a combination of years experience (many times regardless of the quality, or lack thereof, of those years) and a more technical interview process, likely to include on-site or at least near-point-in-time testing. With a sufficiently technical interview process, and assuming the hiring company has the luxury of time to search, if they require a "7/10" star, then it's unlikely to get past HR based on any other abilities. If we believe, as is being reported more often, that there is truly a shortage of programmers (of all skill levels), then, like many other worldly analogies, I would have to assume that the demand will force the lowering of the entrance bar.

    1. Re:Lies, damned lies, and statistics? by Immerman · · Score: 1

      >Statistically speaking, aren't only half of us between 6 and 10, while the other half are 1-5?

      Depends on whether you're using an absolute or population-normalized scale. If a 5/10 has 50% of the programming skills of a 10/10, then they're probably already in the top 90% of the field, while the 50% mark is probably somewhere closer to 2/10

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
    2. Re:Lies, damned lies, and statistics? by Hognoxious · · Score: 1

      It's a logarithmic scale.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  17. How do I check my level? by xxxJonBoyxxx · · Score: 1

    WTF is a "X out of 10" programmer? Is there a stamp on me somewhere I can check to see my level?

    >> just how good does one actually have to BE to get hired?

    Depends who you know, really. (Or whether a posted position is just legalese so they can get their pre-approved candidate through, etc.)

    >> perhaps we can agree that a level 2/10 would not likely get hired anywhere

    Actually, these are the people I would typically talk up to get other companies to "steal" - saves termination expenses.

    1. Re:How do I check my level? by Anonymous Coward · · Score: 0

      You have to use a scouter. On yourself.

      IT'S OVER 9000!!!!!!!!!!!!!!

      yay for dated memes.

    2. Re:How do I check my level? by NewWorldDan · · Score: 1

      How do you check your level? Here's a little test...

      Test 1: write a program that loops through the number 1 to 20. If the number is a multiple of 3, write "Fizz", if the number is a multiple of 5, write "Buzz", if the number is a multiple of 3 and 5, write "FizzBuzz". For all other numbers, just write the number.

      Test 2: read a text file full of numbers, sort it, and write out the sorted list of numbers back out to a second text file.

      If you can do both in under 15 minutes, you're at least a 7/10, and I may have a job for you. Seriously. I hire programmers and 3 out of 4 can't do that. One guy with 5 years experience took almost an hour to produce 2 programs that were almost correct. I rate myself a 9/10, which says less about my skills than it does about 90% of the people working in the industry.

    3. Re:How do I check my level? by Wisecat · · Score: 1

      I can certainly write code that could pass both those tests, even with my current basic level of programming competence. And I might be able to do it in 15 minutes. But I can't tell you what a "non-standard hashing function" would look like (just a standard one), and I can't really explain what an API is to anyone's satisfaction.

  18. Actually quite opposite by Anonymous Coward · · Score: 1

    Well, actually, I have quite the opposite problem. Somehow I found out that to get a job, I have to pretend to be less qualified.
    The most job offerings I see are for qualification level I had 6-8 years ago :(

    So, dont worry, there is plenty of jobs out there you can get (if you have at least some experience)

  19. What do you think of a person who only does the ba by Anonymous Coward · · Score: 0

    Look, we want you to express yourself, ok? If you think the bare
    minimum is enough, then ok. But some people choose to wear more and we
    encourage that, ok? You do want to express yourself, don't you?

  20. Probably hire a range of people by hessian · · Score: 0

    You only need one 9/10 to organize the project and avoid pitfalls.

    Everyone else can write the bog-standard code that doesn't improve between someone with a 5/10 and a 10/10, or at least not by any metric measurable for business logic.

    So they offer the 7/10s half what the 9/10 makes, and hire on a 5:1 ratio.

  21. I'm sorry by Anonymous Coward · · Score: 1

    The real demand isn't for programmers, it is for cheap programmers.

    1. Re:I'm sorry by Shados · · Score: 1

      In all the high demand areas, the average salary for a decent dev pushes you in the top 2 percentile in term of salaries.

      Are the only people who don't count as "cheap" big bang execs to you or something?

    2. Re:I'm sorry by GameboyRMH · · Score: 1

      It's a regional issue. If you're in one of the few areas with a high demand for programming jobs, the article seems true. If you're not, and there are just a few underpaid programming jobs available, you wonder what the hell they're talking about.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    3. Re:I'm sorry by Shados · · Score: 1

      Pretty much. Reading comments on this article really shows that much. You have the California/Mass/NY people going "I can punch my boss in the face in front of everyone and make 300k/year!", followed by the "I asked for minimum wadge by an illegal got the Senior Architect job instead of me!!!".

      As you said, extremely region dependant. Though culturally, developers are generally more prone to accept relocating.

  22. That's not how the world works, thankfully. by talldean · · Score: 1

    Your scale implies one set of skills, and there's certainly more than that! As two important ones; the ability and desire to learn, and the tools you already know. I've worked with a lot of junior engineers who didn't know much, but were good at picking things up and moving with them. I've worked with a lot of senior engineers who knew lots of tools and theory, but weren't very good at picking up new things. (I've also worked with junior engineers who were terrible, and senior engineers who could pick up new things faster than me; it's a mix.) To get hired, you need to convince the hiring manager you can do the job, can do it better than the next guy, and can do it at a price they're willing to pay. Right now, there's simply not enough developers who can do the job, so even if you're not great but still get the job done and don't seem awful to work with, the determining factor is "did someone else better apply?"

    1. Re:That's not how the world works, thankfully. by Wisecat · · Score: 1

      I'm excellent at learning new stuff as I go. And at problem solving, critical thinking, creative solutions. However, I never get the chance to prove this, as I never get the chance to even interview. No call backs from resume submissions. Very little feedback from anyone. One recruiter did say that her boss saw my resume, and said "oh he's a real jack-of-all-trades", with a harumph, and then walked off. I have worked on a myriad of different projects in different industries, from semiconductor fabrication (and writing automated test scripts for the test machines) to Hollywood props (wearable technology, worn by some high-profile performing artists, during the Superbowl no less!). Perhaps the super-serious industry engineers see the Hollywood stuff and get mad and can't take me seriously? While simultaneously the entertainment-types see me as too boring, serious, should-work-a-regular-job-at-some-corporate-office-park type of guy? I honestly don't know. The question is: will switching to programming allow me to be able to get a job, ANY KIND of paying job, even if it pays not that much? One can only be out of work for so long...

    2. Re:That's not how the world works, thankfully. by talldean · · Score: 1

      If you're looking to get a software job, but can't get the interview, one thing that enormously helps is writing code for open source projects, or having sufficiently complex project work that you built yourself available to see online. If someone can read a short link on your resume, and then go see your actual code, you become *much* less of a wildcard and much more of a known quality; they then know you can do the job, if the code matches up well enough.

      Alternatively, if you've done automated test scripts, look for QA Analyst positions as a bridge into most tech organizations.

      What's your academic background? And are you located near a large city, and/or a tech hub?

  23. Wrong Metric. by jythie · · Score: 1

    While programming competence often play a role and can sink an interview, social skills tend to play the dominant role in both getting an interview and getting hired. Interviewers will generally find ways to rationalize their choices, either highlighting or downplaying 'signs' they find in the person's work history or test results, but what really ends up mattering is the connection one makes and how good an impression one leaves.

  24. As a Sr. Analytics Manager... by garcia · · Score: 2

    What I like to see are the following:

    1. Statistics knowledge

    2. Excel (pivots, charting, VBA, etc.)

    3. SAS/R/SPSS (in order).

    4. Unix shell scripting.

    5. Some sort of data visualization tool usage (e.g. Tableu)

    ---

    We are currently looking for analysts and the market is tough. We take people from all walks: CS, social sciences, Stats/Math/Econ/Finance, etc. The Analytics market is continually growing and in desperate need of people who are competent until higher education catches up and starts putting people out with a good mix of CS, Stats, and Business knowledge.

    Get into Analytics IMO, the pay is great and the work is pretty fun.

    1. Re:As a Sr. Analytics Manager... by Billly+Gates · · Score: 1

      How do you get in without experience. I graduated in 2009 with a specialty in this area and ended up doing low end desktop support. No one wanted to talk to me unless I had the experience first and then they have to bring in H1b1 visa holders as they couldn't find qualified candidates yada yada.

    2. Re:As a Sr. Analytics Manager... by garcia · · Score: 1

      In the work my team is responsible for, I look for culture fit above anything else. I took a guy with some internship work during his graduate schooling and turned him into what I consider a stellar programmer/analyst.

      I'd concentrate on your programming skill and your business knowledge, if any. A lot of organizations are looking for report jockeys and/or true analysts and in that case, highlight your visualization and analysis ability first, programming second. What sort of experience did you have during your schooling that you believe makes you a good fit for an analytics role today?

      We have sponsored before, but we/I prefer to hire those who don't require it first.

    3. Re:As a Sr. Analytics Manager... by Anonymous Coward · · Score: 0

      How do you get in without experience. I graduated in 2009 with a specialty in this area and ended up doing low end desktop support. No one wanted to talk to me unless I had the experience first and then they have to bring in H1b1 visa holders as they couldn't find qualified candidates yada yada.

      I feel your pain. I have decades of analytical and programming background yet for even the most junior level data analyst position employers have a laundry list of products including versions and require a minimum of 5 years demonstrable professional experience. You'd think training in data science from John Hopkins University in conjunction with years of professional computer programming and analysis would be the ticket in today's "big data / small data" obsessed society. This is a primary reason I regret taking computer programming from hobby to job...I'm unemployed and nobody wants to talk to me nor look at my resume.

    4. Re:As a Sr. Analytics Manager... by radtea · · Score: 2

      Not that the requirement is unreasonable, given the business environment, but man I'd like to see Excel fall off that list. It's useful for non-programmers, but as a programming and visualization environment it is a hideous mass of unkempt hairballs.

      I use matplotlib and python (including rpy, which lets me get most of the R goodness without having to remember much R syntax) as tools, but mostly what I see lacking in analysts is statistical knowledge and the ability to reason statistically, starting with an inability to pose issues in ways that are suitable to well-formed statistical analysis.

      --
      Blasphemy is a human right. Blasphemophobia kills.
    5. Re:As a Sr. Analytics Manager... by umafuckit · · Score: 1

      As an analytics manager you want to see Excel? Why? If someone on your team can do everything else that you list, plus maybe Python, Octave or MATLAB then why would you want to dirty yourself with Excel?

    6. Re:As a Sr. Analytics Manager... by Snufu · · Score: 1

      Get into Analytics IMO, the pay is great and the work is pretty fun.

      Send resume and cover letter to:

      Big Brother
      Every Street and Number
      XXX, XXXX, XXXXX

    7. Re:As a Sr. Analytics Manager... by DdJ · · Score: 1

      As an analytics manager you want to see Excel? Why? If someone on your team can do everything else that you list, plus maybe Python, Octave or MATLAB then why would you want to dirty yourself with Excel?

      At a guess; because a ton of the data you receive will come by default in Excel format, and because a ton of the recipients your'e going to be asked to deliver data to will want it in Excel format.

      I've begun doing some analytics in my current job (which is pretty much all Unix, all server-side), and I'm finding this to be the case surprisingly often.

    8. Re:As a Sr. Analytics Manager... by umafuckit · · Score: 1

      Wow. How Satanic.

    9. Re:As a Sr. Analytics Manager... by garcia · · Score: 1

      For many reasons including:

      There aren't many places that do not have Office installed. People are very familiar with it and even if they aren't, they can usually make their way around it in with only a little coaching.

      Most companies use Excel for basic analysis, charting, and data delivery to non-technical report recipients.

      Deliver a raw dataset and allow the end-user to pivot, chart, etc. It takes the strain off the analytics team for basic tasks and gives the end user the power to do what they want with the data. Tableau seat licenses aren't realistic for most companies and building some sort of analytics platform from scratch in your language of choice isn't always something you can do in the short term and provide more functionality with less training required.

      I could go on, but that gives you a general idea.

    10. Re:As a Sr. Analytics Manager... by micahraleigh · · Score: 1

      I pick the framework I work with based on how many positions are open for it in my area.

      I don't see a lot of listings like that.

    11. Re:As a Sr. Analytics Manager... by Anonymous Coward · · Score: 0

      Have you ever gotten onto the system and pretended to apply for such a position as you described? They don't exist. People have told me several times that I'd be a good fit in their company, I have all the skills you mentioned and more, but they can't consider me until I apply through the "website". On the taleo style website, I can never find a job I qualify for. They always want a lot more than what you say you want. So much that they don't even make sense. Only liars need apply. So, I don't. I have a gut feeling that the hiring managers are not reviewing these job descriptions to make sure they aren't disqualifying people who could probably do the job. I've heard a strategy that might work is to apply anyway, then, if a person calls, be prepared to explained. But, I don't want to misrepresent myself simply to get the interview, and, besides, I don't really want to work for someone who posts unrealistic job requirements.

      For some reason, it says that although I'm logged in, it will post as anonymous coward.

  25. My experience is mixed by AlienSexist · · Score: 1

    Having worked with and managed a number of programmers over the years I've had the privilege of working alongside a number of truly gifted people. But for every rock star there are far more mediocre and inept persons for the role. On the lower-end of the quality I've seen work so shoddy that it was insulting - those people don't last long in the role but might be suitable for other positions. We try our hardest to retain the top talent but sometimes they just like to wander from project to project for their own interests. Thankfully they seem to like us enough that they always consider coming back after they've had their walkabout.

    Not starting a religious war here, but the only pattern I can offer is that those lacking any formal education (self-taught/hobbyist) and those whose primary skill and experience is PHP have had the most disappointing performance. Those among the best performers stay current and attend technical conferences & seminars on topics that interest them. One particular symposium that yields great results for our team and projects has been No Fluff Just Stuff YMMV.

  26. Short answer yes, long answer yes, if by Opportunist · · Score: 4, Insightful

    First of all, let me be the one to say that getting past the HR department is independent of skill. Simply because they usually know LESS about programming than you. I don't know how much you know, but I can say with some credibility that if you ever had to do anything with computers other than turning it on, your chances are high that you're a computer wizard compared to anything that could sit in HR.

    That aside, you do have some valuable experience and I'd build on that: You worked on embedded hardware. Yes, I'm dead serious, build on THAT. We're getting more and more "smart appliances", the next big thing in IT will probably be how to manipulate all the appliances in your home with your smartphone or your tablet. Let's face it, we've pimped TVs and got people to buy a new one every other year, at least. But their fridges, microwaves, washers and dryers sit there for years and years without being replaced. A marketing nightmare. The next big thing must logically be to get people to throw those out every other year to buy something better, and "better" in this case can only mean that you can somehow network them. My suggestion would be to get on that train.

    If you don't want to be the guy designing and developing the hardware/firmware for the appliances, there will most certainly be a spot for a software developer for mobile devices who knows the "other side", read, the hardware in the appliance, and how to string them together sensibly. If you have any kind of experience with WPAN in any of its forms, I'd say you're going to be very popular.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:Short answer yes, long answer yes, if by Anonymous Coward · · Score: 0

      In the OPs situation I'd be sticking with embedded programming, maybe getting a bit more away from the hardware itself, but sticking with the embedded side of things. Last thing I'd want is to be writing foo-foo websites for every stupid department in the company that thinks they 'need a website' with no real thought out requirements (and a pile of bizarre ones). Either that or go for mobile development, but I'd stay away from trying to be a 'generic software programmer' at all costs.

  27. 5/10 by Anonymous Coward · · Score: 0

    For a full-time software development position, you need to be at least 5/10. Anything below that, and you will inevitably cause more issues than you fix. Note that most people are at least 1-2 points below where they think they are.

    5/10 is your 'average' developer that can get the job done, but produces average quality code at an average speed.
    6/10 is 'above average', does everything that a 5/10 can, but better.
    7/10 is a good, solid developer, that can work independently and produce quality code.
    8/10 guys are going to be very strong technically and are the ones you want designing systems and writing critical components
    9/10 and 10/10 are the Carmacks, Stroustrups, etc.

    My theory is that developer competence is a logarithmic scale. As you go up the scale, you will be able to solve more difficult problems, in less time and with better quality. A 6/10 is 2x as productive, and can solve more difficult problems than a 5/10. A 7/10 is 2x more productive than a 6/10, etc. At the extremes, given a large enough and complex enough problem, a 10/10 is ~30x more productive than a 5/10!

    With that in mind, you need to be atleast 5/10 to get hired. Personally, I would pass on 5/10s and hire 6/10s (and up) and train them up.

  28. Anyone can get hired by HeckRuler · · Score: 1

    First off, this reeks WAY too much of that bullshit stock question: On a scale of ten where would you rate yourself

    8. Everyone is an 8. If you're not an 8, you've probably got issues of one type or another.

    As for the actual question, you don't have to know jack fucking shit to get hired by an incompetent manager, dodge all responsibility for as long as you can, and then bail. It happens. People with literally zero experience show up, talk a good talk, and land jobs. Their resume is full of lies and the company doesn't verify.

    I know of one case where the guy was desperate for a paycheck and landed an IT gig. During the day he logged everyone's problems, but he was "real busy putting out fires, I'll get to you tomorrow". After work and at night he would learn the shit out of the thing he was asked about and he'd come in fix the thing the next day. He's lead dev at a company now. Eventually you don't have to fake it.

    Now, anywhere I work, and have any sort of sway over the hiring process, I'm going to demand that you at least pass a simple coding quiz to weed out the worst offenders. My manager actually asked me for such a test. I pulled this out of my ass. What do you guys think?

    In the language of your choice or in pseudocode please provide a solution to the following stub: /*
    reverses the string for every sentence.
    Ex input: “My test. It works ok.” 21
    Ex result: “test My. ok works It.”
    */
    void reverseSentence(char* str, int sizeStr)
    {

    }

    After he gets done ask:
    -What are the discrepancies in the requirements as stated?
    -How would you resolve them?
    -What are the undefined cases?

    (“reverse the string” is not the same thing as reversing the sentence structure as shown in the examples. And it doesn’t really define what a sentence is.
    It says nothing about what to do when there are no periods, or when sizeStr is zero.)

    It doesn't really matter how you solve it, as long as you spot the giant glaring pit-trap, and provide some reasonable code to perform what you wanted it to do.

    In the end it's actually more a matter of what keywords your have on your resume, how well you can schmooze with HR types and office drones, and how cheap you're willing to work. Sorry if that comes off as cynical, but I'd rather be cynical and true than naive and wrong.

    1. Re:Anyone can get hired by UnknownSoldier · · Score: 1

      reverseSentence() is a very good test question. I usually ask people to write itoa(), aka, a simplified printf(). For bonus points write it so it doesn't need a string reverse. :-)

      Like you said, part of being a great programmer is being able to identify and code around the edge cases. The masters understand variable naming and whitespace (aka, alignment).

    2. Re:Anyone can get hired by Anonymous Coward · · Score: 0

      reverseSentence() is a very good test question. I usually ask people to write itoa(), aka, a simplified printf(). For bonus points write it so it doesn't need a string reverse. :-)

      Why would you need a string reverse in the first place? a1 b2 c3 -> c3 b2 a1 or were you assuming a a1 b2 c3 -> 3c 2b 1a -> c3 b2 a1 reversal instead of a tokenizing and push pop?

    3. Re:Anyone can get hired by Richy_T · · Score: 1

      Or when periods are, in fact, decimal places (and related to that, when it is used as the thousands separator.). Also, does punctuation count as part of the words or part of the space in between?

    4. Re:Anyone can get hired by Megane · · Score: 1

      I think xtoi would be more interesting, because you get to see what they do about the 0-9 A-F range split. Will they try to use a constant string "0123456789ABCDEF" (this is harder to use for xtoi than for itox!), or will they try something like "while (isxdigit(*s)) { digit = *s++ - '0'; if (digit > 9) digit -= 'A' - '9' - 1; if (digit > 15) digit -= ('a' - 'A'); n = (n << 4) + digit;}" ?

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    5. Re:Anyone can get hired by Wisecat · · Score: 1

      I may have to try that. Spend a good amount of time getting competent at a language (Javascript seems to be the one everyone tells me to pursue), and then put all the buzzwords into my resume. Maybe then I can get a callback, cause right now, NOBODY calls back (and I used to have people banging down my door to hire me as an electrical engineer, in the wireless industry)

    6. Re:Anyone can get hired by UnknownSoldier · · Score: 1

      > Why would you need a string reverse in the first place?

      Given an integer, say -123, you typically peel off the digits one at a time in the one's place to allow for printing in an arbitrary base (say bases 2, 8, 10, 16; binary, octal, decimal, hexadecimal respectively). For example:

      // assume buffer has ceil( log( 2^(8*sizeof(int)-1) / log( base ) ) bytes + 1 byte sign space
      int itoa( int n, char* buffer, int base = 10 ) {
        int digit, negative = (n < 0), remain = (negative) ? -n : n; // remain = abs(n)
        char *end = buffer;
        while( remain >= base ) {
          digit = remain % base;
          remain = remain / base;
          *end++ = ('0' + digit);
        }
        *end++ = ('0' + (remain % 10)); // last digit
        if( negative )
          *end++ = '-';
        *end = 0;
      // TODO: StringReverse( text );
        return (end - buffer); // return string width
      }

      This becomes the string '3' '2' '1', '-' which is reversed.

      It is possible to write itoa so no push() pop() or strrev() is needed at all by putting the character digits in the proper place when the mod is done in the first place.

      * http://en.wikipedia.org/wiki/N...

    7. Re:Anyone can get hired by UnknownSoldier · · Score: 1

      Once they have something like this ... #47009861
      It is trivial to extend itoa() to include base support up to hex. You change 3 lines.

      e.g.

      int itoa( int n, char* buffer, int base = 10 ) {
        const char hexdigits[] = "0123456789ABCDEF"; // 1st change to support arbitrary bases
        int digit, negative = (n < 0), remain = (negative) ? -n : n;
        char *end = buffer;
        while( remain >= base ) {
          digit = remain % base;
          remain = remain / base;
          *end++ = hexdigits[ digit ]; // 2nd change to support arbitrary bases
        }
        *end++ = hexdigits[ remain % base ]; // 3rd change to support arbitrary bases
        if( negative )
          *end++ = '-';
        *end = 0;
      // TODO: StringReverse( text );
        return (end - buffer);
      }

    8. Re:Anyone can get hired by micahraleigh · · Score: 1

      That's a good question. Some A-listers use that (NetApp).

      In C# it's very simple:

      var reversed = new string( oldString.Reverse().ToArray());

      SQL server also has a REVERSE procedure, but it operates on the string, whereas the Linq one operates on a list of anything (chars in this case).

      The downside of that question is probably that it is becoming ubiquitous. If you pick something more original you might spare yourself from a programmer who just googled "interview questions" and memorized the answers without being able to think more openly about solving these problems (as simple as they might be).

    9. Re:Anyone can get hired by HeckRuler · · Score: 1

      MicahRaleigh - Red Flag: Failure to identify conflicting requirements. Failure to even read requirements. Shits-Easy syndrome - NO HIRE

  29. Competence various as allowed by Carrot007 · · Score: 3, Insightful

    Your actual competence and achieved competence may vary.

    You may be a good 9/10 however you may achieve 2/10 in your job because you are not given the time/resources to do any better.

    Shit is complex.

    --
    +----------------- | What is the question!
    1. Re:Competence various as allowed by Anonymous Coward · · Score: 0

      And of course the competence of H1-B visa holders is top-notch, particularly if they work for half or less. We just need to import more of them. Its not like we need jobs here or have a recession or anything.

    2. Re:Competence various as allowed by Kjella · · Score: 1

      You may be a good 9/10 however you may achieve 2/10 in your job because you are not given the time/resources to do any better.

      Quick and dirty hacks don't ever score a 2/10 simply because they're short and straightfoward despite being ugly, Assuming it's a 1-10 scale then 1/10 is what you get if you outsource it to the cheapest monkeys you can find, 2/10 is just one step up and probably a Rube Goldberg machine of bizarre copy-pasta. I'd give 3/10 for code that's not only crap but deceptive with ugly hidden side effects. A straight up "hack" is never below a 4/10, even if it's ugly as sin. Then again I'm probably on a game review scale, 5/10 is bad, 6/10 poor, 7/10 decent, 8/10 good, 9/10 excellent and 10/10 outstanding. Like the lower half should never make it through to actual production code, unless you just skipped all that review, testing and QA hogwash. Then again, I've seen that happen...

      --
      Live today, because you never know what tomorrow brings
  30. Exhibit the ability to solve problems by Dishwasha · · Score: 1

    Nuff said

    1. Re:Exhibit the ability to solve problems by Anonymous Coward · · Score: 0

      That.

      Ability to solve a range of problems. Cover a gamut of the development process from marketing spec to (successful) product.

  31. Funniest typo ever by Anonymous Coward · · Score: 0

    Comes to show you need to stay current in tech if you want the big bugs.

    With a nick of "Billy Gates," it makes it even funnier.

  32. No such thing as a 5/10 programmer by gwstuff · · Score: 1, Insightful

    In my experience, there's no such thing as a 5/10 programmer. If a person has good fundamentals (decent math and analytical thinking), the right attitude, and the desire to learn and improve, then while he might find himself at the 5 mark temporarily, he will eventually get to the high mark. Without the right attitude, he'll be stuck at 2 and generally do more damage than good.

  33. Short answer: yes by syzygie · · Score: 2

    Warning: lots of terms in quotation marks here because there are no agreed-on definitions for those terms.

    In we and mobile development, there is a lot of demand for developers and there are not enough "senior" developers to go around. That means there are opportunities for "junior" and "intermediate" developers to work on teams where they can gain experience and work their way up. It also explains why so many intensive developer training courses have popped up everywhere.

    And why shoot for 7/10? That might be a place you live for a while, but with a little discipline and lots of practice, I feel many people have the ability to be great programmers. For most web development, having a great CS background isn't really all that useful.

    Having other experience is often (almost always) useful, especially if you have knowledge of the domain you're working in.

    It's never too late to start. I've had people well into their 50's come to the Rails Girls workshops I have organized.

    1. Re:Short answer: yes by Anonymous Coward · · Score: 0

      Web coding without much experience is exactly why we have so many data breaches in big business today. No one takes the time (or knows) how to properly implement security. Copy and paste a few lines of code and you have a web site just waiting to be hacked.

      There is a lot more to GOOD programming than learning a language. I've been programming for 20+ years now and the language used is the least of my worries. Getting proper requirements from the customer is the hardest. Can't count the number of times I've heard "That is exactly what we asked for, but not what we need!".
      I'm not saying programming language skills are not important. Different industries have different requirements. Talk to someone programming in the field that you are interested in and find out what's important in their job.

      Good contacts and luck is always usefull as well.

  34. It sounds like you would pass my interview. by Anonymous Coward · · Score: 0

    I think if you like coding and can learn from what you find on Google... You would probably pass my interviews.

  35. I don't see why you would not get hired by vikingpower · · Score: 4, Interesting

    Your age does not play as large a role as you may think. In 2004, I had 13+ years of experience in pure software on the odometer, but - due to mental illness - first lost my job, then became homeless. I did the only thing I was still able to do: I walked. All over Europe. Homeless, but not giving in. Once back in my home country, in 2006, I managed to settle down again: the clouds in my head had cleared, and a large aerospace constructor gave me chance. I was 39 years old, and it started a great ride in my career, one that I am still on.

    What I did, you can do. As to the language: there is not really a problem discernible to me. You probably already master C, or a C-like language. The jump to C++ is not that hard, in that case. Otherwise, you might want to consider ADA, a stunningly elegant language that could very well land you jobs with e.g. Rockwell, Boeing etc. etc. ( assuming you are in the USA ). Good luck, and do not forget: it is not your success that counts - it is the fact that you keep trying.

    --
    Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
    1. Re:I don't see why you would not get hired by Drethon · · Score: 1

      +1 for learning Ada, while at it learning how avionics and airplane navigation/radios work can help.

    2. Re:I don't see why you would not get hired by Wisecat · · Score: 1

      @vikingpower: My situation might be similar. I don't have mental illness, but I am technically homeless, and have been unemployed for years and years (I catch a small job here and there, freelance, etc, but that only adds up to $4,000 a year, which is well below the poverty level). I know C++ already. Just not the advanced programming concepts (CompSci). I can do OOP. I might learn Javascript. Can I convince a company to give me a chance, with a hardware background and a resume that is all-over-the-place (jack-of-all-trades)? Will being skilled at a language (instead of just competent) be enough to make the difference?

    3. Re:I don't see why you would not get hired by vikingpower · · Score: 1

      @Wisecat I think the answer upon both your questions is "yes". The trick, in the first question, would IMHO lie in "selling" yourself. And two major ingredients of that magic soup would be enthusiasm, as well as "honing" your CV for the vacancy. I don't mean outright lying, though. But one can always ask what a HR person, what a recruiting manager really wants to read and wants to see. Often, they are like children: if they whine for a chocolate, then give them a chocolate - or convince them there is chocolate in what you are about to give them. The results can be.... interesting.

      And yes, specializing in one language would be a good idea, especially at the point where you are now. ADA would be a bit risky, though having the potential to land you that great technical computing job. In your case, I would dive deeply into C++ and the more advanced programming concepts. I did with Java, and it made me break through, what with barriers, semaphores, locks, lock-free waiting, queueing, concurrent programming, dependency injection etc. etc. The chance I got was a job opening asking for exactly that, and I had prepared for such a chance exactly by specializing. Remember: luck does not simply come to you out of the blue. You prepare for luck to hit, creating the conditions for it to manifest itself. And then - a "jack-of-all-trades" could very well grow bold and sell himself as an assistant project manager, a configuration manager, or a technical product owner. You might want to think "up", think different.

      However - here is an offer. I have changed jobs so often that I have grown an eye for CVs. My email address is above this post. If you want me to take a look at your CV, just ping me.

      --
      Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
    4. Re:I don't see why you would not get hired by Wisecat · · Score: 1

      @vikingpower thanks, I'll do that. I think its very telling that I had no idea what you meant by the term "CV" . I had to look it up.

    5. Re:I don't see why you would not get hired by Wisecat · · Score: 1

      Hmmm tried emailing you, but it bounced back.

    6. Re:I don't see why you would not get hired by vikingpower · · Score: 1

      exercitussolus ( at ) gmail dot com

      --
      Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
    7. Re:I don't see why you would not get hired by micahraleigh · · Score: 1

      That is some story!

      As an old C++ dev, I think it's on the way out. Boeing is leaning more and more on embedded programming. I've found a lot of demand for C#/.NET.

  36. Good Times, Bad Times, Warning by Tablizer · · Score: 5, Insightful

    I lived in California after the dot-com crash, and the field was tough-going for a few years. I had to take some out-of-state contracts with sleazy agencies to pay the bills. Fortunately I had some "legacy" knowledge to fall back on compared to the web-only developers, who had to compete directly with other webbies recently dumped from the failed dot-coms.

    Remember, ups-and-downs are likely and the field changes fast. Being good enough to work in the field during the boom years may not be good enough for the bust years, and you could wind up with the wrong skills at the wrong time.

    In my opinion, for a longer view, pick a field you are good at rather than one that appears strong now.

    And people skills are always good to have and/or hone because that reduces the chance you'll be off-shored or automated out of the job.

    1. Re:Good Times, Bad Times, Warning by Anonymous Coward · · Score: 0

      Yeah, I don't think people get how region dependent a "hot" field is. Where I'm living now, people with CS degrees are a dime a dozen. And the company names are big enough that unpaid interns are happy to chip in to flooding the market as well. Living in Nowheresville, one will be in demand. Within a lot of major cities, not really.

    2. Re:Good Times, Bad Times, Warning by Common+Joe · · Score: 1

      In my opinion, for a longer view, pick a field you are good at rather than one that appears strong now.

      I usually agree with you, but I'm going against that advice right now. I've had multiple phone interviews that lasted about 5 minutes. Long enough for them to learn that I programmed in Java, but not JEE or J2EE. I'm good at what I do, but the market doesn't seem to want me as my skills don't present well on paper. It's hard to filter past the HR drones. When I do get it to filter, the managers are disappointed that I don't have 100% of the knowledge they are after. This has been going on for three years. It's a little hard to "wait it out" after so long.

      Recently, I had a manager say he likes my skills, but he needs those skills in the web world. He's given me a little time to see what I can learn, so I've dived both feet into we web development and I get to interview with him again shortly. It was a good time for both of us because I was tired of searching for a non web-related job (which seems to be what most open positions want) and he was tired of interviewing script kiddies.

      Merely food for thought.

    3. Re:Good Times, Bad Times, Warning by Wisecat · · Score: 1

      That's kind of what I'm getting too, when looking for hardware jobs lately. The recruiters like my skills, but the hiring managers need them to be in something VERY SPECIFIC, and its never >quite there. For example, I have worked on electronics that went into aircraft, and needed certification by FCC, but since they weren't specifically for critical systems (just air-to-ground communications), its not quite 100% what they want. I have the same problem when it comes to medical devices. I have worked on a few, but they always want to know about SPECIFIC types of medical devices, and which government agency I had to do approvals with. If its the wrong one, then they don't call me for an interview. (all this feedback is filtered through recruiters). So i wonder if switching to programming will solve this dilemma? Your post seems to imply that no, it won't, that the hiring managers are STILL way too specific even in the software world.

    4. Re:Good Times, Bad Times, Warning by Common+Joe · · Score: 1

      Yeah, unfortunately, I don't have many words of encouragement. The best advice I can offer at this time is look at the ads and see what they are looking for. There seems to be a good deal of suck to go around because companies are unwilling to make the effort to train people and managers are unwilling to hire based on "real" quality instead of paper quality.

      When I sheer-dumb-luck ran across this guy (CEO of 20 - 30 employees), I went into full study mode. I took two weeks of reading hundreds of pages of tech docs and skimming thousands of pages in an effort to absorb over a dozen technologies. The third and fourth week has been to try to write some code, but as you can imagine, I've had very limited success; too much to learn too quickly. (I've been working my butt off weekends, some nights, and all holidays. I'm not sleeping very well right now.) Although I don't know much about the job or the company, I'm trying very hard to get this job. He's the first serious bite I've seen in a long time.

      The take away I've gotten from my journey is that companies want you to look good on paper. The more your resume matches the ad, the better. Key words on high-demand jobs will also trigger phone calls. My key word was "Java". They completely ignored my lack of web experience or what I had been doing for the past 10 years. I even had a list of technologies on my website. "Java" was how I inadvertently got phone calls from head hunters, recruiters, (and in a few rare instances) HR. I'm into PHP now and it's my intention to write small programs and publish the code on the Internet so I can stand out in an interview, but this comment is very discouraging with that idea. (It's still my plan if this second interview doesn't yield me the job. I have to learn and keep up the skills somehow.)

      I am trying very hard to figure out how sub-standard programmers get employed. Other than out-right lying, I cannot figure it out. I've never lied and I'm not about to start now, though.

      Wisecat, I wish you luck in your journey. Be smart, keep at it, and don't become discouraged.

  37. Same Scenario by Anonymous Coward · · Score: 0

    I too have been looking for jobs as someone who has a decent understanding with both the hardware and software side of a system. After applying for countless jobs and getting only one interview, I can't help but think that companies are hiring people unless you are fresh out of college (I graduated last year with an EET, but am currently employed as an Electronics Technician) or have 5+ years of direct experience.

    I guess my suggestion would be to stay away from "Software Engineering" jobs unless you definitely have experience in that field. I would suggest looking into the Embedded Software/Firmware Engineer field. There are lots of good jobs for people who have experience with hardware/software.

    As far as language, you can't go wrong with C/C++. It is amazing the number of jobs that require having competency in those fields. I would also look into Arduino, PIC, and Xilinx platforms. Loooots of jobs that use that/similar technology and are less brutal to get into.

  38. Tech support and crystal reports and excel macros by Wycliffe · · Score: 1

    Having interviewed plenty of "programmers" who had jobs, the bar is pretty low.
    There are plenty of "programming" jobs out there that are not really programming
    jobs by my definition. Many "programming" jobs are updating a webpage for
    a department occasionally, generating some random report, helping someone
    install a printer, creating an excel macro, etc... The minimum competence to
    "get a job" is very low. The question is: What kind of job do you really want?

  39. Overqualified, often passed over by scorp1us · · Score: 1

    I don't know what it is with hiring managers. I've been submitting to jobs that I should be hired for. In one instance in particular, I submitted a job app at Zenimax where they were looking for a DevOps person with a string scripting background. Perl, PHP, Python, JS were all on my resume, even including Python embedding. They said my experience was "thin". I don't know how you an be "thin", when you've embedded Python into C apps, it requires a pretty thorough understanding of Python internals. I've been out of college 13 years now, and I've done everything except GIS, 3D, and mainframe stuff like SAP/PeopleSoft. I've done .NET, Java, C++, full-stack, (Full stack in C++, Python, .NET, Java) I don't consider myself a .NET expert or a Java expert, but I wield these languages without any struggle. Have I done JNI? No. Have I done C++/CLI yes. I've even done project management (in house and international) So I think I'm pretty experienced, but hell if I can get hired. I wonder if all my experience just makes me look "thin". But they passed me over 3 times. Now, they deserve whatever crappy candidate they hire.

    These days, I think I need to talk to the actual dev people and not the idiot in HR.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:Overqualified, often passed over by Anonymous Coward · · Score: 0

      Just tell them you have an H1-B Visa given to you by the government. The only 2 words after that will be "you're hired". Of course the pay will be half or less than what you were expecting, but you'll be hired.

    2. Re:Overqualified, often passed over by CountZer0 · · Score: 1

      The key to getting hired is to form relationships with headhunters. With most companies, they work directly with hiring managers and HR only gets involved once a candidate has been selected and then it's strictly administrative (perform background checks, handle paperwork etc).

      Don't limit yourself to a single headhunter either. Reach out to several, send them your resume and have a few conversations with each one to explain to them the types of work you are interested in.

      They'll contact you with a variety of job opportunities. Weed through them and then allow the headhunter to submit you to a few that you feel are particularly good fits. Just be careful and make sure you keep track of who is submitting you where, so there is no overlap. Also, be willing to do some work to customize your resume for each position. The headhunter will usually give you some general guidance on what the company is looking for, so you can massage your resume to highlight relevant experience.

      Don't expect the headhunter to have any technical knowledge, these are salesman not IT types. Some headhunters specialize in specific industries and might have passing familiarity with technical terms but many are generalists and will basically do a keyword match on resumes with job reqs. Don't get frustrated when they pitch jobs to you that aren't a good fit, just identify them as such and provide feedback to help the headhunter properly re-filter the jobs.

      Over the years you'll end up building a relationship with one or two good headhunters and they'll end up helping you find good candidates when you are in a hiring position, and also help you manage your career and find your next opportunity when you feel it's time for a change.

    3. Re:Overqualified, often passed over by digsbo · · Score: 1

      13 years out of college and you can't get hired? Do you have a professional network of people who have a positive opinion of you and will refer you directly to hiring managers? If so, why not use that avenue? If not, are you sure your self-appraisal is accurate?

    4. Re:Overqualified, often passed over by scorp1us · · Score: 1

      I've always over-performed at my jobs. I have letters of recommendation to prove it. And fantastic references.

      The problem isn't me, it's that the industry is fickle. "Oh, you do java, but you haven't done Struts? We will find someone who has." It's not like struts would be that hard to learn. "Oh, you only have node.js, but not Angular.js sorry". I could learn angular in an afternoon, but I still couldn't put it on my resume. Maybe I am a fool for not padding it more?

      After months of searching, I found one guy desperate enough to hire me as an Android developer, just because I indicated an interest in mobile. I'm a 1-man team and the iOS team is a 2-man team. It's been a few months, and I'm about 3/4 as far into a a project as they are, a project that we started at the same time, and I'm learning Android while I do it.

      But how do you put that on a resume?

      --
      Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    5. Re:Overqualified, often passed over by digsbo · · Score: 1

      I worked with a guy who was really good, top notch. He didn't realize it until he asked me to review his resume that he was coming off incredibly arrogantly in his resume. By toning it down, he had a lot of success - ended up getting some excellent offers well outside his language expertise (from C to Java). Maybe try that? I wouldn't pad. Part of my ease with this is that I'm not a 10/10 guy, maybe a 6/10 or 7/10 coder on a good day, and it doesn't intimidate people.

    6. Re:Overqualified, often passed over by Wisecat · · Score: 1

      I've done that. I already tailor each resume for the position I'm applying to. And I have a great relationship with one recruiter, and have talked to many of them. I even contacted an old one that got me a great high-paying job in the past (he made a bit of money off me, let me tell 'ya). So far, though, nobody's biting. Not even 1 interview. Years and years of unemployment. So I wonder if switching to programming might be able to save my butt from the cold street!

  40. I've worked in call centers by Anonymous Coward · · Score: 0

    I've worked in call centers where programming wasn't in the job description, yet in all of them I wound up programming my own tools because the tools provided by the companies were substandard (well eBay's were all cribbed from previous employees, the tool they use the most was written by people who weren't hired as programmers to begin with.)

    So I'm of the opinion that even a 2/10 programmer can be a 7/10 programmer if they aren't hired into a position where programming was in the job description because it's often the people who actually do the work who need tools that they can understand. Tools written for CSR's by programmers have some of the worst designed user interfaces (eBay uses something called KANA in which the web tool is a total piece of crap, slow and when I viewed the source code, it seems like every page was being generated by the server and all the javascript was responsible for was the UI buttons, but it was begin generated on every page, so it was some of the slowest miserable crap I ever had to use. Yet the older Native win32 KANA tool was lightning fast and preferred by staff who knew about it. )

    One of the other call centers I worked for, a "knowledge base" system came online written in Java, was miserably slow. The staff who knew better, used the static web pages that predated the crappy knowledge base. This same call center upgraded (or should I say downgraded) to a CRM software for their GSM network called SIEBEL. This program was a royal piece of crap and slow, so slow that they wrote a static web page just to do bill payments that they outsourced to India.

    See this is the problem with large companies (AT&T, eBay/Paypal, Comcast, Verizon, Google, Apple, Dell, HP, GoDaddy, etc) is that there is not enough communication between the people at the "front line" of customer experience that care, with the people who actually write the tools they need to use. Crap just gets dictated "ooh this Siebel program is shiney, let's drop a fortune in licensing it, even though it's woefully inappropriate and incompatible with what we already use"

    Like I sound really grumpy, but it comes from being "forced" to learn a piece of software that was 10 times slower to actually use that the previous software. Between myself and a handful of people at these call centers, we wrote our own tools with whatever macro language was available on the machine (MS Word/MS Excel, WSH, Macro Express, etc) having to smuggle in/out algorithms since we weren't hired as "programmers" yet the company "owns" anything we create that we don't disclose at hire. The "best" relative experience was eBay, because even though they upgraded to "better" software, they didn't force us to replace what we already used. However the entire data mining bullshit of taxonomy reduced efficiency whenever we had to look up the history of an account.

  41. I find it a bit hard to believe by Chirs · · Score: 1

    I fancy myself a "knows a LOT of languages and knows how to adapt". So I can sit down in front of a machine running a completely in-house language, and be proficient in it in less than a day, very skilled in under a week.

    I question the timeframe. While the semantics of the language can be picked up in that time, I find it hard to believe that you can pick up all of the system dependencies, the overall design structure, all the dependent components, etc. for a large software system.

    I worked in telecom software for a while. When I was hired, they put me through a week-long training course on the proprietary language, another week-long training course on the proprietary debugger, another week-long course on the design of the proprietary OS, another course on the basics of telecom systems, another on OO-programming as used in their product, etc. Sure, some of it was fluff, but there was a lot of meat there too.

    I also worked as a linux kernel developer. It's C, so it's not exactly an unfamiliar language. But it took a long time to get to the point where I understood the structure of the kernel, knew what bits were handled where, understood why things were the way they were, and could submit code that was likely to be accepted by the main developers.

    1. Re:I find it a bit hard to believe by Hognoxious · · Score: 1

      Been a long time since I even looked at it, but doesn't it use so many macros that it might as well be in a language all of its own?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  42. hw - sw switch is popular by alex4747 · · Score: 1

    I saw 10s of engineers who made this switch. In some industries (telecom equipment, storage) it is very common. I do not understand the question about language - I suppose you can program in C and it is still bread and butter in many cases.

    Try to get contract job first. In the past I had good experience with some guys that now are working for http://www.symphonyteleca.com/

  43. the syntax is the easy part by Chirs · · Score: 2

    The more complicated part is all of the system libraries, the third-party libraries, the "right way" to do things in that language, etc.

    1. Re:the syntax is the easy part by Nightwraith · · Score: 1

      None of this is more than a web search away.
      Besides, we're talking about the 'competent' coder anyway. Who's leading this team? Hellen Keller?

    2. Re:the syntax is the easy part by iMadeGhostzilla · · Score: 1

      And today you find most of it instantly on stackoverflow and the like. If the library/language is well known and there is the "right way" it will crop up in your google search. If it isn't, it's OK that you will be one of those who will discover it.

    3. Re:the syntax is the easy part by Shados · · Score: 1

      And the top 30 hits and accepted answers that come up on stack overflow are all wrong. You need a fair bit of experience in the particular language to weed them out.

      Generally, people who know "the right way" are too busy doing stuff to answer questions on stack overflow, leaving the peanut gallery to answer with the "I read somewhere once that this maybe will work" way.

      I've hopped jobs a fair bit over the years, and every time I start at a new company, and look at their code, there's always a bunch of things that make me go ::Gasp! I've done it wrong for years!::. Because short of the occasional company that open source some really cool stuff to show you how they did it, the "real solutions that work" are never published or talked about unless you work with them.

    4. Re:the syntax is the easy part by Anonymous Coward · · Score: 0

      And the top 30 hits and accepted answers that come up on stack overflow are all wrong.

      Haha, who should we believe? You or all the people on the Internet? Wait, you are a person on the Internet. So it's you versus all the other people on the Internet. Hmm...

  44. From what I've seen as a maintenance programmer... by Max+Threshold · · Score: 3, Insightful

    ...the bar is pretty fucking low. Incompetence rules the industry; everyone is selling snake oil.

  45. You should know enough to be able to debug by quietwalker · · Score: 2

    I have fielded this question a number of times.

    Right now, the job market for developers is not very discriminatory. They'll take anyone they can. That means your barrier for entry is low. That being said, I've done a bit more research, and I can say that the most lucrative and mobile entry level development job you can land is probably web application developer. Not designer, but rather, someone who makes a web-based application 'go'.

    With that in mind, you'll need the following skills: SQL, HTML, CSS, Javascript (jQuery specifically, but other libraries are good), and a backing language - probably Java or C#/ASP.NET. You'll also need to become familiar with your web execution framework - Tomcat is big in the Java world, and naturally IIS is used in the .NET world. Luckily for you, there are many resources to learn all these things absolutely free of charge, with huge communities of volunteers helping each other out. So, what level do you need these skills at?

    Well, as a new hire - regardless of your skill level - you're unlikely to be given a new project to start on. Likely, your first few months are going to be a combination of learning your company's domain knowledge (like finances or autos, or whatever), and tackling bug fixes and/or feature enhancements. For that you'll need to understand how the programs work so that you can source problems. You'll have to be familiar with IDE's and the debugging capabilities - especially learning how to setup and debug web based programs on your local system, as well as remote debugging. You're going to have to be able to read code well enough that you can translate most of it into english in your head - without having to go line by line until you have to dig down that deep. That means recognizing structures and flow easily (which is why I also recommend you avoid ruby on rails and spring - and maybe even hibernate/nhibernate until you've learned more).

    You're also going to need to know enough about a development environment to know how to ask an intelligent question about it. There's a world of difference between "I can't get it to work," and something like "I tried increasing the max heap size, but I'm still getting an out of memory error each time I execute a prepared statement after the first call." See here: http://www.catb.org/esr/faqs/s... . One important quote to take away from this: "What we are, unapologetically, is hostile to people who seem to be unwilling to think or to do their own homework before asking questions." That faq will help you get past the newbie phase without giving up.

    So, an unasked followup question, how long will it take to get there? Well, hour-by-hour, you can compress the entirety of a CS degree program into 4 months of 8 hours, 5 days a week, but you won't need all that. I'm going to say that to get there, to really be employable, worst case it'll take about 250 hours of study total. If you take it at a light pace, about 10 hours a week, you should be ready in 6 months.

    With today's environment, I wouldn't be at all surprised if you halved that and still got a job, but I would feel bad for suggesting that was an adequate amount of study and practice.

    One last important thing that I've only touched on indirectly; you absolutely must learn how to teach yourself. New libraries and frameworks come out every day, and the flavor of the month changes at a rapid pace. At some point, you'll realize that all languages do more or less the same thing, they just have different syntactical sugar, or internal constructs that make a given task easier or harder, sometimes even between versions of the same language. You need to be able to stay on top of those changes, while googling or asking for solutions to odd problems or configuration errors.

    1. Re:You should know enough to be able to debug by Anonymous Coward · · Score: 0

      >and I can say that the most lucrative and mobile entry level development job you can land is probably web application developer.

      Such horrid advice. The article poster has embedded systems expertise, which is both rare and requires a very high level of CS expertise, whereas web developers are pretty much a dime-a-dozen with rather low bar for entry. It makes absolutely zero sense for the article poster to abandon his strengths and enter an overcrowded field.

  46. Thats a maths test, not a programming one by Viol8 · · Score: 2

    Its probably some simple equation that could be written in 3 lines of code but unless someone knows how to do it I doubt they could figure it out, at least not in the few minutes required in an interview.

  47. Depends on the position by MarkRose · · Score: 1

    What is the position? Is it to fill a chair? Is it to produce one-off work? Or is it to produce a larger project that's maintainable for the long term?

    It's not simply enough to have some skill: for every bit of skill a person brings to the team, there is the additional overhead of communication with that person. After a point, adding more people to a project is simply not productive and even a hindrance, regardless of the calibre of those people. A small number of great programmers can often outperform a large team, and cost a lot less in salary and benefits.

    If someone is 5/10 skilled, that person should spend time to get better at something. Read more books. Watch more talks. Study algorithms, design patterns, anti-patterns, etc. Write more code. Get good at something. I'm not a good C programmer. I like C, but I've never done enough to get good at it (maybe someday). But I built a distributed, fault-tolerant auto-scaling LNMP stack that services thousands of API requests per second, without a rearchitecture, because I studied how to scale and wrote scaling into the system from day one.

    Embedded software experience is an in-demand skill. Many programmers can create bloated, slow code, but few can write lean, efficient, and fast code. That's highly valued in the embedded space, of course, as it's needed, but it's also very in demand at scale, because being inefficient costs a lot of money. If I were hiring, I'd look very fondly at someone with this skill, much more than someone who is focused on simply the language de jour. It's easy to find people who can produce code. It's hard to find people who can solve problems well.

    I can't speak for every area, but in my locale there are plenty of hardware-oriented startups that have a tough time finding qualified people. The jobs are out there, but I agree the market is smaller than for pure software. One place hardware companies struggle is writing good drivers and application software. Someone who got good at that, along with having the embedded knowledge, would be very in demand.

    --
    Be relentless!
    1. Re:Depends on the position by Hognoxious · · Score: 1

      I think you're right about embedded - in the short term as things like smart watches, peripherals for tablets and such catch on, not to mention 101 business uses. In the longer term hardware will catch up - you've already got tiny things like the Pi that run a "proper" OS with GUI and everything.

      The key indicator that it's in decline will be when you see Rails ported to it. That or a "... for dummies" book comes out.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  48. Not Close to 90s Level Yet by Maltheus · · Score: 1

    I worked for a big telecom company, in the 90s, that hired a senior engineer who didn't know how to use a mouse. He had to call someone over to explain it, as the rest of us watched on in awe.

    He got over six months of salary before they finally let him go. He cried over it too, which I thought strange. He obviously had someone else do the phone interview for him, not sure what he was expecting the outcome to be.

  49. location, location by ahoffer0 · · Score: 2

    I live in the home Amazon and Microsoft. The region is starving for more developers, but it's very hard to land a job. I'm not a prodigy; just a solid programmer, with a Masters. It took it a couple of dozen interviews and a year to get a job. It is going great. Companies here compete to see who can be the pickiest. I heard some one brag once that they flew in half a dozen candidates from Sweden and that only one Swede made the cut.

    So where are you looking for work? Every region has its own peculiarities.

    1. Re:location, location by Wisecat · · Score: 1

      Well, I grew up in Seattle but I left there for a reason. I'm looking for a hardware position in California, North or South, I'm flexible. Still having trouble finding work, even with all of SILICON VALLEY, ORANGE COUNTY, and SAN DIEGO as options. can you believe it? Its ridiculous. Maybe they really ARE competing to see who can be the pickiest... so my idea to switch to software, to be able to get a job, won't get me away from the picky hiring managers, it sounds like...

  50. Microsoft jab here by Anonymous Coward · · Score: 1

    And perhaps we can agree that a level 2/10 would not likely get hired anywhere.

    Oh, I don't know about that. I'm sure if you want to work on the Microsoft UI or security teams, you're a shoe-in!

  51. Observations on the job search by Anonymous Coward · · Score: 0

    I've been looking for a few weeks now, have got maybe ten applications out there, and these are my observations, YMMV. I'm a 40-something trying to break into a new skillset:

    Try to learn from every rejection. Why didn't this application get a callback?

    Understand that HR is trying to match the skills on your application to what they've been given by hiring managers. If they don't it's bad for their performance review. Also realize, some job listings are bogus, especially in government or companies trying to bring in overseas labor. Don't get bitter - just understand it, in order to help you get what you want.

    You're competing with new grads, who are cheaper. I think you may need to address this in your resume/cover letter. I haven't gotten a callback yet but this makes sense to me. I'm in the same boat as you are, as I'm trying to beef up a skillset which I don't have.

    It's tough to break into a new field. You may have do some stuff on your own. I keep hearing recruiters talking about 'code on github' and such. Certifications are a possibility, but beware of money pits or study aids which don't help you pass the test. Do some web research on forums about any certification.

    Keep slogging. Stay positive. Keep continuously improving your resume/cover letter and keep trying to learn why you didn't get a callback. Try to address those issues. If they cost more than you are willing to pay in terms of price or effort, there's nothing wrong with building yet more experience in your existing career.

    I'm suspecting, if I can't get a callback soon, that I'll just need to adjust my sights and try to leverage my existing experience, and hope I can get experience in the new field at a new employer, by trying to get involved with work that involves the new skillset.

    Rolling Stones said, "Can't always get what you want / but if you try sometimes, you just might find / you get what you need."

  52. I worked formerly as an EE by CosaNostra+Pizza+Inc · · Score: 1

    I'm a degreed EE and used to do board-level circuit design (I'm not talking about drafting). Then the jobs dried up so I decided to go back to school for a masters in computer science. I picked Java and learned it well. When I turned 40, I graduated and have had a good job as an application developer for 2 1/2 years. I'm good at it but am still playing some catch-up. I enjoy software development and for me, it was worth it.

  53. Minimum skill fer uh programmer by Impy+the+Impiuos+Imp · · Score: 1

    ""So we all know that computer programming jobs are hot right now. Heck, even President Obama has been urging Americans to learn the skill. But all of us in tech know that not everyone can hack it, and what's more it takes a while to learn anything, and keep up your skills as technology changes. Add to that the fact that companies (and their hiring managers) are always looking for 'the best of the best of the best' talent, and one starts to wonder: just how good does one actually have to BE to get hired? Certainly, there must be plenty of jobs where a level 7/10 programmer would be plenty good enough, and even some that a level 5/10 would be enough. And perhaps we can agree that a level 2/10 would not likely get hired anywhere. So the question is: given that we have such huge demand for programmers, can a level 5, 6, or 7 ever get past the hiring manager? Or is he doomed to sit on the sidelines while the position goes unfilled, or goes to someone willing to lie about their skill level, or perhaps to an H1-B who will work cheaper (but not necessarily better)? I'm a hardware engineer with embedded software experience, and have considered jumping over to pure software (since there are so many jobs, so much demand) but at age 40, and needing to pick a language and get good at it, I wonder whether it would even be possible to get a job (with my previous work experience not being directly related). Thoughts?""

    > "Thoughts?"

    1. Ability to break a train of thought into paragraphs.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    1. Re:Minimum skill fer uh programmer by Wisecat · · Score: 1

      I thought about breaking it up, but that seemed to formal a style of writing for slashdot. I instead wrote it like a blog post.

  54. Jesus Christ, Superstar. by westlake · · Score: 1

    So I can sit down in front of a machine running a completely in-house language, and be proficient in it in less than a day, very skilled in under a week.

    The in-house language implies unusual and specialized applications --- which I very much doubt can be mastered in a week.

    It is ridiculously easy to convince yourself that you understand a new language --- be it English or C++ --- and still fall flat on your face when you try to apply that knowledge to a specific set of circumstances,

  55. Thoughts from the IT side of the house... by ErichTheRed · · Score: 1

    Yes, I know development is different from IT, but I think we have some of the same issues. I'm finally in a position where I can hire someone to help me with some of the backlog of work, and I'm having a very difficult time doing so. Everyone in my network is either working and doesn't want to leave their current job, and I've only gotten a couple of vague "Well, I know this guy who's been unemployed for a year..." kind of suggestions.

    So, going through the usual recruiter garbage dump, I've come to the conclusion that everyone good is employed. I'm also starting to see stuff similar to what was going on in the late 90s -- people graduating programmer bootcamps with no experience, paper certs, etc. I hope the bubble doesn't pop as hard as it did in 2000 -- that was no fun for anyone involved.

    I'm looking for a systems engineer, someone who can build out a customer environment in a lab, replicate problems, simulate software rollouts, etc. _and_ document their work and be presentable in front of customers. The only people I've seen so far are in-house IT administrators who can't even spell key items on their resumes correctly. I know grammar isn't a strong suit for some, but it's your resume -- if you can't be bothered to have someone proofread it, you're not going to be able to write clear customer communications. We're willing to train people who look like they have at least the potential to be good at this job, but I haven't even seen that yet. Of the very few whose resumes looked promising, some have been OK, but others are total disasters and I'm not looking for rockstar talent. When someone who has supposedly been s systems engineer for 10 years can't walk through a troubleshooting scenario with me, or articulate at least where they would start looking, that's bad.

    For someone in IT or software development, I would say the absolute minimum qualification is good communication skills and excellent troubleshooting skills. You're getting paid to solve problems and communicate these solutions to people who are paying the bill. You need technical skills, of course, but people who lack the ability to write a clear email or document their work kill productivity. There are fewer and fewer positions available for ultra-low-level kernel development, real-time development or other specialties where the communications requirement could be relaxed. Lots of development at least at the business logic and UI level consists of gluing various libraries together, which means that integration skills are also very important.

    1. Re:Thoughts from the IT side of the house... by Anonymous Coward · · Score: 0

      Yes, I know development is different from IT, but I think we have some of the same issues. I'm finally in a position where I can hire someone to help me with some of the backlog of work, and I'm having a very difficult time doing so. Everyone in my network is either working and doesn't want to leave their current job, and I've only gotten a couple of vague "Well, I know this guy who's been unemployed for a year..." kind of suggestions.

      Hopefully you are not the defensive sort, but that response makes it sounds like you are surprised that your relative equals (people "in your network") should be interested in being your assistant (for a "backlog of work"). Setting aside personal issues, you are clearly not offering enough money for the qualifications you want because 1) Qualified employed people aren't going to jump off a non-sinking ship for without a bump up in pay to offset the risk of migrating; and 2) you discount those interested in those terms (suggestions of those "unemployed for a year").

      More bluntly, what did you think? That your former colleagues want to take a pay cut to handle the worst half of your job as your assistant?

  56. Enough to qualify for an internship by MillerHighLife21 · · Score: 1

    At a minimum, most programmers today need to be competent with SQL and one server side language (Java, C#, Ruby, Python, PHP, Scala, Node.js). Smaller companies with smaller teams that require fewer people to handle more job duties require "best of the best" type programmers. The constraints on server side systems are the same regardless of language, so it's just a matter of what's popular where you want to work. Rails is in exceptionally high demand right now and there are a lot of free materials online to help you learn. There are also code schools popping up everywhere.

    Learning something that's trendy is also helpful because NOBODY has more than a couple of years experience with it, like Node.js. That certainly helps too.

    If you really want to do this, get in the door with an internship or a charity project in your spare time. Charities are a great way to see a set of needs and build something to solve a problem, which requires you to understand a lot of the needs of a system as the sole person responsible for it.

    The #1 most important trait in this field is desire to learn. You have to enjoy what you're doing enough to want to keep up with the constant changes and new technologies that are coming out. If you do that, you'll go far.

    If you don't, you'll end up in a cube farm at a telcom without a lot of mobility but you'll have a steady job as long as you don't have a huge screw up.

    --
    "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    1. Re:Enough to qualify for an internship by Shados · · Score: 1

      SQL isn't that big of a deal anymore. It used to be. Lots of top colleges don't teach databases anymore, or only do it as electives. Big companies either don't use relational databases for anything you'd actually want to work for (Feel like working on an ERP? Yeah, neither do I), have specialized departments for it, or use one of many trendy data storage solution, NoSQL or whatever.

      Sure, if you work on a shopping cart for an e-commerce company and you'll be expected to know it. But work at Google or Nvidia? Probably not.

    2. Re:Enough to qualify for an internship by MillerHighLife21 · · Score: 1

      That's a complete myth. Just about every web based system that exists is an "information system" of some type providing a front end for a database. There are abstraction layers out there like Active Record and the like, but you still need to know what they're doing. The database is the backbone of everything.

      Are there people who are adequate web programmers that don't know SQL? Yes. Plenty. And they all generally fall under the worst stereotypes of bad programmers because they can't be bothered to learn the basic functionality of the single most important piece of their application.

      SQL is everywhere. Programmers can willingly choose to suck at it, but that's pretty stupid since

      A) It's not that hard
      B) It's insanely powerful
      C) If you have a database as powerful as something like PostgreSQL and you aren't using it for all it's glory, its like owning a Lamborghini to go get groceries from the store.

      NoSQL data stores have very specific use cases. Most of those revolve around extremely high write volume to one or two tables. Or caching layers. Or sorted sets. Or queueing mechanisms.

      If you work at NVIDIA...no. You're not doing web/api/iOS/Android if you're working at NVIDIA. You're doing graphics drivers. If you're working at Google and you don't know SQL I'm fairly certain you'd be fired almost immediately.

      --
      "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    3. Re:Enough to qualify for an internship by Shados · · Score: 1

      Only in small companies do everyone need to know everything, and again, only if that company even does everything.

      You only need a transactional database for transactional system. Sure, your shopping cart needs ACID transactions. Bit if your website is letting people upload LolCats all day? Not so much. NoSQL in 2014 is the general case, not the specific one.

      And lol. The vast majority of developers at Google don't do SQL, most don't know SQL (its not taught in big name schools in any mandatory class and they don't use it most of the time, why would they?), and its usually not part of the interview.

      I work for a multi billion dollar e-commerce site. I've been a DBA, I worked on transactional portion of websites for a decade, but for my current role, I never have to touch the database. There's 40 million lines of code on top of anything data access related...hundreds of people are working on that part, and only a handful are working on the section that actually touch the various databases (we have probably 50, totally a few petabytes of data...and its only a few teams that ever have to deal with them. I'm not one of them).

      Any meaningfully large project will require specialization, and the database is just a tiny portion of it. And that's if there's even a database.

    4. Re:Enough to qualify for an internship by MillerHighLife21 · · Score: 1

      Next time I work on a site that has 40 million lines of code between me and anything data access related, I will keep that in mind. For everything else, there's a database.

      PostgreSQL covers the general case for every site these days. JSON/HStore data types. Geolocation. Custom indexes for custom data types. Extremely fast naive full text search. Multiple index searches on a single query. You can even write stored procedures, functions and triggers in Javascript.

      If you're doing anything where data integrity counts, yes a database is going to be key. But far be it from me to jump to conclusions there. I was not aware that uploading LolCats is now the general case for website building. Didn't get the memo. Probably got overwritten in a race condition by somebody who had no idea what they're database was doing.

      --
      "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    5. Re:Enough to qualify for an internship by Shados · · Score: 1

      Your initial post I replied to started with "At a minimum, most programmers today need to be competent with SQL".

      But what do most programmers do? Write little e-commerce websites that duplicate functionalities already available in open source CMS packages and a few in-house plugins you could write in a week? No.

      Of course there's all the app developers for mobile that consume existing APIs. There's all the scientists who write all the algorithms necessary to do anything that hasn't been done a million time already. Embedded system devs. UX devs (the javascript ecosystem is quickly becoming deep enough that you need specialists to do meaningful stuff in that field). All those Hadoop shops you see everywhere (quite a few are pretty successful). All the desktop application developers. All the game developers (most new MMOs are not backed by transactional databases except for the part that handles $$$).

      And so on and so forth. Its not to say database development is dead, or that its not useful. But you only need it for a very specific type of jobs. If you don't want to do databases, there's thousands of high paying, rewarding jobs that don't need any of it.

      Transcriptional web apps are just a small fraction of what a programmer can do these days. Sure, in 2004 it was probably the majority. Today? Nowhere close. And if you want to work for a big name tech company, then you REALLY don't except for specific departments. You don't really think the guy who codes Amazon's website's UI is the same guy that writes the stored procedures, do you?

    6. Re:Enough to qualify for an internship by HeckRuler · · Score: 1

      Yeah, I'd say that sql isn't that big of a deal anymore because it's ubiquitous, and easy to work with. Picking it up as a skillset is akin to learning how to script or use regex.

      Big companies that live and breath data do indeed hire their own DBAs to manage it. Or a non-SQL alternative. Because it's that important. For them.

      But I think you're focused a little too much on web-dev. Sure, for webdev I'd say SQL is a requirement. But for game developers, embedded developers, robotics, AI, test engineers, anything Labview, library develoeprs, etc... A lot of programmers don't even interact with servers.

      You said "most programmers..." when you probably should have started with "most webDevs...."

    7. Re:Enough to qualify for an internship by MillerHighLife21 · · Score: 1

      Of course not. If you're in UX/UI or Game Development then you can be perfectly successful without knowing a thing about databases. Just about EVERYTHING else ends up using a database pretty heavily. Additionally, UX/UI work that is more AJAX heavy benefits significantly from understanding the stress put on a backend based on the ways their code is either sending or receiving data from the backend.

      Mobile Apps and adaptive mobile point to database backed APIs. They often will have a local database utilizing SQL lite or the like.

      So, to summarize:

      Programming where database knowledge is important / critical include:
      - websites (content, transactional, e-commerce, information management, search, business tools)
      - mobile apps
      - "big data" / analytics / scientific data

      Programming where database knowledge is marginally important:
      - user interface design
      - game development

      Unless you're storing information in flat files, a database is in some way critical to your application. Not understanding SQL as a programmer serves only to limit your options. Getting back to my earlier post, it's simple, it's powerful, it's everywhere. There's no good reason not to understand it.

      --
      "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    8. Re:Enough to qualify for an internship by Wisecat · · Score: 1

      I've been doing charity and artist projects for years now. They aren't helping, and seem to be making the situation worse. My resume now has all sorts of unrelated projects on it, jack-of-all-trades style. I think it shows how flexible and awesome I am, but to a hiring manager, it might just show a lack of focus. I thought the charity and artist projects would help me network with some great people, but the people I meet are charity workers and artists! None of them can employ me. The very few people I've met that actually have jobs in the real tech world, are just not around that much.

    9. Re: Enough to qualify for an internship by Anonymous Coward · · Score: 0

      It's not so much to make contacts as it is to learn and get applicable resume experience. What type of stuff have you been building and where do you live?

  57. Two things could hold you back by KingTank · · Score: 1

    I'm 40, and I've been programming professionally for two years, but I'm currently trying to get a better paying job. I find the main stumbling blocks are inability to "talk shop" well and lacking experience in highly specialized skills. Talking shop convincingly is difficult because I haven't had much experience collaborating with other programmers. I imagine you would have the same problem. Employers expect you to have all the correct terminology flow right from the tip of your tongue. The other issue is that a lot of employers seem to be looking for a lot of experience in a very particular area, which an inexperienced programmer is rarely going to match. You have to program for many years on many different projects to have a good chance of matching what someone is looking for. Age itself, as far as I can tell, is not an issue at all. At least, not at 40. Although I know there's some very vociferous people on Slashdot who will tell you otherwise.

    1. Re:Two things could hold you back by Wisecat · · Score: 1

      Yes, I can't talk shop. I can't even explain what an API is , satisfactorily. I still call things 'subroutines' Its obvious that I'm not a programmer! And it sounds like in both hardware and software, they want a lot of experience in one particular area. And I'm a jack-of-all-trades, have done a VARIETY of things, my resume shows it too, all over the place. They may be seeing this as a huge MINUS instead of a plus.

  58. Over 30 && U.S. citizen = no by echtertyp · · Score: 1

    I honestly don't see how a non-H1b person, especially if over 30, should be realistically planning on working as a programmer, at least in the Silicon Valley area.

    1. Re:Over 30 && U.S. citizen = no by MerlynEmrys67 · · Score: 1

      Why is that? There are lots of jobs for the over 40 crowd... and I am a proud owner of a US passport.

      --
      I have mod points and I am not afraid to use them
    2. Re:Over 30 && U.S. citizen = no by Lockdev · · Score: 1

      Maybe in the Silicon Valley area, but honestly, who wants to put up with that? Working long hours, insanely high rents, stiff competition, and long commute times? I don't think you're finding 30+ year olds in that area because they have the life experience to know better than to move there. Most move to places with a much better cost of living and without the hassle. The "pride and glory" of working for a big software company quickly fades. I'll take my 20% cut in pay and work in an area with 40 hour work weeks and a 40% less cost of living. Signed, 30+ US Citizen programmer

  59. best of the best? by Anonymous Coward · · Score: 0

    Who is looking for them? Why have I never been contacted? I'm easily in the top 5-10% of the industry, conservatively.

    1. Re:best of the best? by Kittenman · · Score: 1

      Who is looking for them? Why have I never been contacted? I'm easily in the top 5-10% of the industry, conservatively.

      Maybe because you post anonymously?

      --
      "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
  60. Productivity is an exponential function of talent by bzzfzz · · Score: 2

    The relationship between programming talent and programming productivity, at least in complex real-world systems, isn't linear. The very best (top 10%) of programmers can get things done dozens of times faster than average programmers. And it's not just about speed. The very best programmers produce code with fewer defects. They are less prone to making unfortunate architectural decisions that cause problems later. They can find difficult bugs and solve difficult problems that average programmers simply cannot, regardless of time spent.

    Sure, there are jobs out there for people with limited talent, mainly involving software that solves simple problems. There are reports to be generated that are too complex for someone without a certain amount of database and software experience. There are relatively isolated scripts that connect stuff together that wasn't originally designed for that. There are the sort of third-tier corporations that need some IT but can't attract top-flight talent. All kinds of stuff that's more complicated than an Excel macro but simpler than a web browser.

  61. Age by hcs_$reboot · · Score: 1

    Actually whatever level you may have, age is a critical factor: the higher the level, the higher the chances to get a job, but the higher the age, the lower the chances to get a job. Usually the level goes along with experience, which in turn goes along with age [up to a certain limit]. In other terms, to get a job you need a high level, that you get with more experience, acquired with extended work time, which increases your age, and that prevents you from getting a job.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:Age by shadowrat · · Score: 5, Insightful

      i am paranoid about that as i'm 43, but honestly i haven't seen it play out. I've consistently been able to find work. I have recruiters banging on my door day and night. i've turned down offers from those big imposing software giants. maybe i'm just lucky because my core competencies are in use all over the place. maybe i'm lucky because i'm a young and hip 43 riding around on my skateboard with my full head of hair and getting mistaken for a 20 something. However, i strongly suspect that i just happen to be able to pass a technical interview and that's really all that most places care about.

      Oh, also, i'm not really interviewing at those startups run by actual 20 somethings.(If i really needed that job, you can bet i'd ride my skateboard to the interview)

    2. Re:Age by DanielOom · · Score: 1

      Age is an important factor, but competence does not seem to correlate with your chance of getting a job.

    3. Re:Age by Anonymous Coward · · Score: 1

      >maybe i'm lucky because i'm a young and hip 43 riding around on my skateboard with my full head of hair and getting mistaken for a 20 something.

      That is absolutely the difference. The number of years that the earth has revolved around the sun since you were born isn't the issue with finding work for older people. Being a physical wreck, and demanding higher pay is. Most of us aren't smart enough to stay fit and mentally-sharp as we age.

    4. Re:Age by david_thornley · · Score: 5, Interesting

      The secret for me was hair dye. Suddenly I started getting offers. It doesn't seem like it should make that much difference, but it did.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:Age by hermitdev · · Score: 2

      The Plague, is that you? I haven't seen you around since '95. How's da Vinci treating you?

    6. Re:Age by Anonymous Coward · · Score: 0

      As long as you didn't plan on staying there till retirement, couldn't you just dye your hair and lie about your age?

    7. Re:Age by TapeCutter · · Score: 1

      I'm in my mid fifties, I'm not seeing it either.

      There are only 4-5 people in our ~30man dept. who are under 40 and one of those is the secretary. I been there for about 10yrs now, recruiters stopped calling after 5. Not bothered, I like my current job and want to keep it until I retire in another 10. I might get restless and think of doing something else but right now it's a very pleasant and flexible way to earn a buck.

      I had dozens of "low paid shitty" blue collar jobs in my 20's. A "good job" is not really about the work or the pay. Sure nobody enjoys cleaning the toilet and the pay is important, but much less so when it's providing a healthy disposable income stream, at that point the "right" people and conditions take priority.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    8. Re:Age by Wisecat · · Score: 1

      Yes, but I'm talking about STARTING programming at 40, with a resume that shows very little programming background (some embedded microcontroller, some C++ from 10 years ago, some Visual Basic). I'm an excellent engineer, but I can't make heads or tails of a complex Java program. I COULD get good at it if I focused on it (I have the right brain for it), but I have to have some feeling/idea that its the right direction to go. Right now, finding engineering jobs has been all but impossible. I went from having people banging on my door to hire me, to COMPLETE ghost town. I can't even get a phone interview. But if I were a programmer things might be different...

    9. Re:Age by Anonymous Coward · · Score: 0

      I hope I have the same luck when I'm 43. I just turned 35 and with most of my hair and looking a bit younger that may have something to do with it.

      Oh, and the skateboard thing. Skateboards are a fun mode of transport.

    10. Re:Age by Anonymous Coward · · Score: 0

      i am paranoid about that as i'm 43, but honestly i haven't seen it play out. I've consistently been able to find work. I have recruiters banging on my door day and night. i've turned down offers from those big imposing software giants. maybe i'm just lucky because my core competencies are in use all over the place. maybe i'm lucky because i'm a young and hip 43 riding around on my skateboard with my full head of hair and getting mistaken for a 20 something. However, i strongly suspect that i just happen to be able to pass a technical interview and that's really all that most places care about.

      Oh, also, i'm not really interviewing at those startups run by actual 20 somethings.(If i really needed that job, you can bet i'd ride my skateboard to the interview)

      I smell the distinct scent of bullsh**. I suspect your job offers are for management level positions, and the 20 something led startups don't have those positions for you, so they aren't offering. I also suspect you are getting the headhunting equivalent of junk mail. Your information is being sold around to staffing agencies and they are just offering you every job their system spit back out after feeding it your resume.

      Don't try and say there is no age-ism just because you're still employed at the age of 40. Ludicrous.

    11. Re:Age by Optic7 · · Score: 1

      That's really interesting. I've thought about doing the same if I were to find myself looking for a job, as I have premature grey hair. It's nice to know that it has the effect I guessed it might have. My question though is what happens after you get the job and you decide not to keep your hair dyed, or if your roots become noticeable? Has that happened to you, and did you get any weird looks or changes in attitude or treatment from co-workers or bosses?

    12. Re:Age by Tablizer · · Score: 1

      In theory once they know you do a good job at your actual job, the superficial things don't weigh as much in their mind. When bunches of applicants with similar resumes are applying, then other things like age tend to have a greater effect on decisions.

    13. Re:Age by Anonymous Coward · · Score: 0

      They'll probably blame it on the stress of your job!

    14. Re:Age by david_thornley · · Score: 1

      I work with a bunch of geeky guys. Nobody's going to notice my roots.

      Also, I've been doing a good job for the company I'm at for over six years now. I could dye my hair orange with purple spots and it wouldn't affect my performance reviews. The key is to get hired in the first place.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    15. Re:Age by Optic7 · · Score: 1

      That's reassuring. Thanks for the reply!

  62. Not a linear graph by Anonymous Coward · · Score: 0

    I'm guessing that 10/10 programmers are extremely rare, while 0,1/10 will be common (ordinary people). 2/10 programmers will be like MS Excel "programmers" who do spreadsheet magic. 3,4/10 programmers would make passable batch file or bourne shell scripters. 5-8/10 programmers would be good for most "software dev" jobs. 9/10 or 10/10 are for mission critical, people might die if done wrong style programming.

  63. Minimal Competence by Anonymous Coward · · Score: 1

    Isn't that the truth?

    I don't code for a living -- in fact, I only work tertiarily in tech -- but I can sit down with a book (or these days, just the internet) and knock out simple working programs in a new language within hours. It can take months to master a core language, of course, but what scares me is that many times my rough code looks and functions like that of those who do it day in and day out. Why, oh god, why do they never write maintainable (preferably self-documenting) code, never refactor, etc? I've had conversations with programmers, talking about issues they've been having at work, and I've occasionally made suggestions that make their jaws drop and go "Holy crap. You're right. Why didn't I think of that." It makes me feel like an ass to say anything, since its not my field of expertise, but come on...

    And while I love modern languages with garbage collection -- C# has become my favorite language by far to quickly cobble together a proof-of-concept idea -- I am still a kid of the 80s in awe of those Atari programmers who wrote entire releases in assembler, reordering instructions to cram the program into that last few bits of memory. When I write code, I still try to do so efficiently and memory-consciously; outside of embedded systems, it seems like the philosophy has become entirely that "the fix to bloated code is to add more ram!"

    1. Re:Minimal Competence by jddj · · Score: 1

      If you're interested in coding, you should think about it as a career. If you're interested in coding beautifully, maybe not.

      Though it's true, I've met a bunch of not-all-there programmers, part of the issue with code quality is that they don't have the luxury of forever refactoring.

      Once a feature is done, the lid has to get slammed on it and nailed shut. If there's a bug that shows up during a warranty period, it might get fixed, but that won't involve a refactoring.

      If a bug that's not a critical issue shows up outside of warranty, it gets put on the QC backlog, to be fixed...never. (One bug not considered critical by a team I once worked on: the mobile site won't let anyone who shows up with a mobile device log in. Has lasted > 1 year and still broken).

      The factors that push the "finish it quick and never touch it again if you can help it" behavior are mainly aggressive schedules, and a desire to get home a little after 5PM.

      Some of the best programmers I know work the vampire shift, drive their wife and kids nuts with it. But they don't work next to me in an enterprise.

      If you're young, you can burn through the night, as I'd have done before the wife and kids (and to be sure, all my coding is hobby stuff, and I'm picky and refactor forever). Now, married, mortgaged and spawned, I have to pull 15 minutes together at a time to immerse myself before someone needs snot wiped or the house fixed. That or baffle my in-laws by coding like a madman and doing _nothing_else_ throughout the Thanksgiving weekend.

  64. Engineers, not Programmers by Gestahl · · Score: 1

    The question isn't about finding programming competence anymore... you can weed out people that can't figure out (or know) a decent algorithm off the top of their head.

    The question is a matter of engineering skill: if you can't make an application that's architecturally coherent, properly sanitizes inputs, decomposes functionality, behaves intuitively for the user, anticipates future needs and builds in that flexibility in the API, is easily deployable in your org (or to the client), and all with proper documentation, etc. etc. etc. you are a programmer.

    These are all completely different skills than simple programming... it's the difference between wiring a house and designing a fault-tolerant power distribution system that plans for future capacity over 5 states.

    We have enough programmers.

    We need engineers. It would help if business in general thought of programmers as global data and process engineers, rather than simple wish-fulfillment elves for whatever they want to see on their screen using whatever software their buddy in company X sells.

    1. Re:Engineers, not Programmers by FlyingGuy · · Score: 1

      What you are describing is a Software Engineer not an electrical engineer or an aerospace engineer or any other kind of civil engineer. I work with a boat load of civil engineers who are extraordinarily competent in their distinct skill set. They can do some prototyping in matlab and a few other things but when it comes to writing actual software they just need to step very far away from the compiler because their minds don't think in those spheres.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
  65. Assume the unemployment rate for programmers is 5% by MerlynEmrys67 · · Score: 1

    Only slightly under the 6.3% average for the whole US. Given that - there are 1/2 of all of the 1/10 programmers getting jobs somewhere.
    I am going for a fairly static distribution, in reality - I am betting there are very VERY few 9-10/10 programmers (well under the 10% that they represent) and a lot more 3-7 programmers and then a tailing edge of people that just haven't gotten down the path.

    --
    I have mod points and I am not afraid to use them
  66. Uhh What? by Anonymous Coward · · Score: 0

    How often are you giving them stuff that they've never dealt with before? It's reasonable to assume that there will be some type of spin up for any project and you might not be aware of certain limitations. If it's in their wheelhouse and you're giving them stuff and getting those responses, then that's a different situation. I've been given assignments that should have been handled by a whole team, with at least a month of spin up and been given expectations to get the whole thing trained, tested, and deployed to over 10000 users in two weeks by myself on top of my regular assignments. I'd say that the knife cuts both way with what should be expected.

  67. What does the number even mean? by Anonymous Coward · · Score: 0

    I am an automation engineer (some call us tool smiths others use the term SDETs). If I rate myself on the basis of the people who do my work, as a percentage, I am between a 9/10 and a 10/10*. That is to say I'm in the top 10 percentile. However, in absolute terms, in how much I can get done and how good I am within the general group known as developers, I might be more like a 7/10. That is because often automation engineers are really just manual testers who use record and playback. Even with my self-assigned 7 / 10 if you stick me in a particular area such as assembly and I'm a 2/10 (although given time that would increase). So what does a metric such as x / 10 mean? What particularly does it apply to?

    * Based upon my coworkers, blogs and interviewing I have done. It is distinctly possible in a different geographic location I would have a different opinion, another flaw in the rating system is it is completely relative and empirical.

  68. Its location based. by Shados · · Score: 1

    If you're willing to relocate anywhere in the country, the minimum threshold is pretty damn close to "do you have a pulse?".

    We had to fire a developer last year. The guy had severe personal issues, got wasted at work (and I mean black out for 20+ hours kind of wasted). He was so messed up once (during work hours!) that he propositioned our CTO (same gender, definately not interested), as well as pretty much every female in the company....in one afternoon.

    Even when he wasn't wasted, he couldn't code the slighest thing (I would even give him exact code and exact line number to copy paste, and he would still manage to screw it up), couldn't handle source control, etc. Don't ask me how he originally got the job.

    Oh, and if you googled him, the first hit that came up was his mug shot from driving under influence with a suspended license.

    After we fired him, he got a new job. In a week and a half. FOR A BANK.

    This is just one of many situations like this that I've seen over the past few years. The market is just too hot to the point of insanity.

    If you're in one of the major tech hubs (SF, Seattle, Boston, NYC, etc), and you can write a while loop, you can get a job that will pay rent in that city. If you're mediocre and have some experience, 6 figures is your worse case scenario. If you're actually competent, you're the reason a million$ barely pays for a decent condo.

    1. Re:Its location based. by Wisecat · · Score: 1

      Hmmm I'm in California, near Silicon Valley...and CANNOT find a hardware job to save my life. I haven't tried to get a software job, maybe I should just go for it, even with my limited experience in C++, embedded development, Visual Basic, and FORTRAN

  69. It's hard to judge competancy by GWBasic · · Score: 1

    I find it very hard to judge skill when I interview candidates. I can easily filter out incompetent people. Someone I work with says, "when you interview people, all you find out is if the person interviews well."

    Many professional fields have long professional exams. Civil engineers need to be certified, as well as doctors. Frankly, I wish I could look at some kind of a score, and spend most of the interview on "soft" topics.

    1. Re:It's hard to judge competancy by Shados · · Score: 2

      The field is too broad, and everyone is dropped in the same bucket.

      Designing a fully functional shopping cart (that handles everything from complex discount and coupon rules to credit card) from scratch is -hard-. Writing a proper video card driver from scratch that handles everything a game needs is also hard.

      The two, however, requires such different skill set, they should not have the same title. Yet they do. They require the same degree from the same schools. Its a problem.

      You see it at companies like Google or Amazon, where "one size fit all" interviews are the norm. They filter out people who didn't go to MIT or CMU, but their questions are so far off from anything you'd actually do day to day (even if you work there!), that they're really just gambling on the loose correlation between someone who can write a hash algorithm for a tree and the ability to develop software in the real world.

      And that's why some of their stuff is amazing (ie: the search engine) and some is buggy piece of crap (ie: any desktop app they ever made)

    2. Re:It's hard to judge competancy by Anonymous Coward · · Score: 0

      Designing a fully functional shopping cart (that handles everything from complex discount and coupon rules to credit card) from scratch is -hard-. Writing a proper video card driver from scratch that handles everything a game needs is also hard.

      Those two things are not even in the same ballpark.

      The two, however, requires such different skill set, they should not have the same title.

      They require the same skill set, but different domain expertise. Companies can and do advertise for computer programmers with this or that domain knowledge. Job title is irrelevant, you have job requirements which specify the need. Nonetheless I'd hire a GPU programmer to write my shopping cart any day of the week, because if you can do that, you can do anything, and you'll pick the domain knowledge up in a few weeks.

      the loose correlation between someone who can write a hash algorithm for a tree and the ability to develop software in the real world.

      The idea that knowing how to write a hash algorithm can somehow harm your ability to write code for "the real world" is a lie peddled by people who don't know how to write hash algorithms. The best programmers know how to write hash algorithms because when they learned about hashes they were compelled to discover how the underlying algorithms worked. Any programmer lacking that compulsion to constantly learn about his own trade is suspect, and vague platitudes about "the real world" won't save them.

    3. Re:It's hard to judge competancy by GWBasic · · Score: 1

      I disagree. American doctors have to take standardized board exams before they specialize. The exams are significantly more rigorous, and better-designed, than the job interviews that I run.

      Specifically, in the American medical system, specialization happens with on-the-job training after taking a standard exam. Students seeking to be pediatricians, heart surgeons, and dermatologists all take the same standardized exam. The score is then presented when students apply to programs to specialize.

    4. Re:It's hard to judge competancy by Shados · · Score: 1

      And a standard exam before your specialize wouldn't be a big deal. I wonder how many of those doctors would be able to pass the same standardized exam 10-20 years AFTER they specialized.

    5. Re:It's hard to judge competancy by GWBasic · · Score: 1

      I'd think that most could pass with flying colors; now that they've done the work so frequently!

  70. Do you give them the algorithm... by jsrjsr · · Score: 1

    ...or do you expect them to just know it? Math knowledge does not equal programming skill. I know that the algorithm usually picked is the Sieve of Eratosthenes, and I have no doubt that I can code it, but I first need to go to the web and find an explanation of the Sieve.

  71. None by Charliemopps · · Score: 1

    None... you don't need to know any programming to land a programming job. You can sit there and do nothing for months before getting fired usually. Trust me, I work with them all the time. Some of them ask lots of questions and eventually catch on. Most dont.

    1. Re:None by Greyfox · · Score: 1

      Yeah. Back in the 90's I had to clean up after someone who'd been the sole programmer on a project for the better part of a year. They left a month before the project was due. I come in and discover they didn't realize that C strings were null terminated. And that although the target system was a UNIX system that needed text-base screen stuff done (IE: ncurses,) they'd written all their screens with Borland's text I/O utilities. They wouldn't let me redesign any of the stuff the original person had done. I think the project ended up being later than it would have if they'd just let me start from scratch.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  72. I know he can get the job... by kiick · · Score: 1

    But can he do the job?

    - Joe Vs the Volcano

    1. Re:I know he can get the job... by TheGratefulNet · · Score: 1

      that was such a classic. most of the movie is classic, but that line sequence was amazing.

      I think of it often when 'interviewing' comes up. its just the opposite with me: I can *do* the job, but lately, it seems I can rarely *get* the job. (I suppose that's why that line sticks in my mind).

      --

      --
      "It is now safe to switch off your computer."
  73. how about this by slashmydots · · Score: 1

    My sister in law had to take a basic intro to programming class with VB.NET to get a bachelor's degree in statistics and product research-related math. I thought that was sort of cool but unnecessary and unusual. I wondered if it was just to filter out stupid people who are bad with logic and numbers because I can't imagine someone working in her career position actually having to do coding ever.

  74. -2000 lines of code (was Re:Average) by WillAdams · · Score: 5, Interesting

    My favourite take on lines of code as a metric is from the early days of the Macintosh:

    http://www.folklore.org/StoryV...

    In early 1982, the Lisa software team was trying to buckle down for the big push to ship the software within the next six months. Some of the managers decided that it would be a good idea to track the progress of each individual engineer in terms of the amount of code that they wrote from week to week. They devised a form that each engineer was required to submit every Friday, which included a field for the number of lines of code that were written that week.

    Bill Atkinson, the author of Quickdraw and the main user interface designer, who was by far the most important Lisa implementor, thought that lines of code was a silly measure of software productivity. He thought his goal was to write as small and fast a program as possible, and that the lines of code metric only encouraged writing sloppy, bloated, broken code.

    He recently was working on optimizing Quickdraw's region calculation machinery, and had completely rewritten the region engine using a simpler, more general algorithm which, after some tweaking, made region operations almost six times faster. As a by-product, the rewrite also saved around 2,000 lines of code.

    He was just putting the finishing touches on the optimization when it was time to fill out the management form for the first time. When he got to the lines of code part, he thought about it for a second, and then wrote in the number: -2000.

    I'm not sure how the managers reacted to that, but I do know that after a couple more weeks, they stopped asking Bill to fill out the form, and he gladly complied.

    --
    Sphinx of black quartz, judge my vow.
    1. Re:-2000 lines of code (was Re:Average) by Tablizer · · Score: 4, Funny

      managers decided that it would be a good idea to track the progress of each individual engineer in terms of the amount of code...[Bill rewrote] the region engine using a simpler, more general algorithm...As a by-product, the rewrite also saved around 2,000 lines of code... wrote in the number: -2000... they stopped asking Bill to fill out the form

      He's lucky; my bosses would see the negative sign and bill me.
           

  75. How hard? by Dareth · · Score: 1

    Well, that just depends on who you know. Oh wait, you actually want to be able to do the job? You will never get promoted to management with that attitude.

    Dude relax. I am assuming you have a job. So use that to earn a living while you learn. Programming is either something you love or you don't. Take a course, read a book, volunteer on some open source projects. Scratch those "itches" you always wanted to find software to help you reach.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
    1. Re:How hard? by Wisecat · · Score: 1

      You assume incorrectly. I have no job, no home, and have been unemployed for years and years. I am an excellent engineer, and a rather inexperienced programmer. I cannot get anyone to give me an interview. My resume looks good, recruiters like it, only negative feedback was "he looks like a jack-of-all-trades". I have worked on some amazing high-profile projects, even in Hollywood, even one 'wearable technology' device that was worn by a high-profile performer during the Superbowl half-time show. But I can't get an interview! Much less a job!

  76. So true by Anonymous Coward · · Score: 0

    I recently interviewed with a company, first step was a typical technical interview over skype, Then they give me a coding challenge to do on my own, I beat the record performance speed by 50%. Then I go in for person to person, everything is going well. I get a "senior" developer who asks me about deadlocks (his recent problem experience). He gives me a badly thought out problem. when I come up with a straight forward solution, he tells me I failed because I did not come up with one of his "two solutions". Next a guy comes in an asks about how to solve a abstract problem, I walk him through all of the restrictions on the problem set, and come up with a good answer. So now he gives me the "I want to generate an anagram" problem. After 30 years of professional programming, I have never had to generate an anagram. I do not think the problem has any relevance to this interview, so I tell him so. He insists that I solve it. So I walk through the steps I would take. I find out later that he rejects me when the group gets together because of "arrogance". Again I am over 50, have programmed many commercial systems that have made hundreds of millions of dollars for the companies I wrote them for. Something is rotten in Denmark...

    1. Re:So true by Richy_T · · Score: 1

      Sometimes it's good to recognize when you dodged a bullet.

  77. Probably a better question... by MAXOMENOS · · Score: 1

    ...is how do you get a job and then succeed at it for longer than a year or so.

    For that second part, my main recommendation is this: Don't be a bottleneck. As to how to carry out that part, there's plenty of good advice in the comments above, but your goal should be to solve problems quickly and produce solutions faster than expected whenever possible.

    1. Re:Probably a better question... by Wisecat · · Score: 1

      Well, if I could just land one, then i would be learning like crazy as I went, and would be competent at it before anyone got suspicious about me. I'm no slouch, I work hard, and learn fast. But I have to convince someone to give me a chance! And its been years and years and no interview...

  78. Re:From what I've seen as a maintenance programmer by Anonymous Coward · · Score: 0

    Yup, 3 years experience and school was way harder and challenging than "the real world".

  79. Everything requires 5 years specialized experience by walterbyrd · · Score: 1

    Don't take my word for it, look at the job ads.

    And not just 5+ years of specialized experience in one thing, usually it's at least six different things. And requirements are different for each, and every job.

    For example: one job requires ms-sql, javascript, c/c++, windows admin, and oracle, in a shoe manufacturing environment. Another job requires: linux, solaris, java, python, HVAC certification, and thorough knowledge of skateboard manufacturing.

    Every programming job is an arbitrary grab-bag of god-only-knows what.

    Unless you are an H1B. For whatever reason, the job requirements are virtually non-existent. I suspect that's because an H1B is something of on indentured servant, so employers don't have to worry about "training people for their next job."

    Again: don't take my word for it, look at the job ads.

  80. Mediocre programmers by TsuruchiBrian · · Score: 1

    I am not sure exactly how this number scale maps to reality. I'm sure everyone has their own idea of what a 7/10 programmer actually is.

    That said, competent programmers are capable of orders of magnitude more productivity. They are able to design software correctly from the beginning. This leads to less time spent on reworking parts of the software when design flaws are found, less time spent hunting down bugs that are due to poor design, less time spent learning on the job, and less time spent maintaining software that is hard to maintain due to poor design.

    Mediocre programmers, in my opinion of what counts as mediocre, actually end up being more expensive than good programmers who command much higher salaries. It is cheaper to spend $3000/day on a good software engineer who finishes the job in one day than it is to pay a mediocre software engineer $50/day to finish the job in 3 months. Not too mention the fact that a mediocre software engineer will probably never be able to produce something of quality until he/she becomes a good software engineer.

    It's not a question of "which jobs are easy enough to finish for a 5/10 programmer". There are very few jobs that a competent programmer can not do more cheaply for the same (and usually better) quality of work, due to expending less effort and time to do it.

    My advice to any 5/10 - 7/10 programmers out there is to become better at your craft. You will be more productive, make more money, your customers will be happier, and you will have less stress and be happier. It's easier to love your job when you are really good at it.

    I would also like to note that I don't think it is necessarily the case that mediocre software engineers are incompetent. I can envision a day when mediocre software engineers are perfectly competent, but that's not the case today.

    I work at a company where we actually hire 5/10 - 9/10 programmers, and I would estimate that the 5's and 6's actually do not produce any code that's actually usable. It always needs to eventually be replaced by an 8 or 9. The only thing 5's and 6's are useful for is unit testing, because it frees up good programmers to be productive rather than doing things that don't require much skill.

    The good news is that even if you are a mediocre programmer, and can somehow manage to get hired, you will probably eventually be promoted to being a manager provided you are reasonably responsible and not anti-social.

  81. Programmer Competency Matrix by Anonymous Coward · · Score: 0

    There is the well-known Programmer Competency Matrix, I don't think you'll get a more thorough description of "levels" in programming aptitude than that.

    http://sijinjoseph.com/programmer-competency-matrix/

  82. Few geniuses needed. More team players, please by ReadParse · · Score: 1

    I manage development teams. First of all, like it or not, .NET is huge and seems like it will continue to be huge. I don't mind C# and I think Visual Studio is one hell of an IDE. Myself, I prefer to code in Perl or Ruby, and to use vim to code it. But C# and Visual Studio are tolerable. So if you had to choose one to really focus on, I think from a marketability standpoint, that's a good one. It's also a great idea, though, to have a true scripting language in your back pocket (in addition to PowerShell, which is, yes, really cool).

    OK, back to the other question: Do you have to be a 7 or higher? Heck no. I find that there's very little "computer science" in what we do in a lot of professional software development. It's a lot of CRUD and knowing how to put various things together (REST plus AJAX plus responsive plus ORM plus third party integration plus memcached plus S3, etc, etc). You don't have to be a brilliant programmer for that. You have to be able to learn quickly, retain knowledge (at least enough to remember what you Googled to do it again), be a good communicator, and be a really good team player.

    In summary, I would gladly take a 4 with potential and a great attitude, over a 9 who is a dick. I would do that over and over again. You just need to make sure that you have a few 7s around, but not too many.

  83. Constructive feedback? by Anarchy24 · · Score: 1

    I taught myself BASIC at 5 and was writing servers and web applications at 14... I've worked full-time as a systems engineer and web developer for the past 9 years. I've taught myself everything I know and always worked alone... I've never had another set of eyes on my code except for one project, and after they saw the first 10 lines of code they passed. Yeah. That's all the feedback I've ever received, and it was completely useless.

    How can I get critical feedback - not just a list of everything I'm doing wrong, but actual constructive feedback on how I can add/change/improve those shortcomings? It SHOULD be a centerpiece of my job, but it hasn't happened once. Between that, and being self-taught, I have no intention on paying for a programming course.

    I've always been able to program ANYTHING and make it work. I'm torn between the fact that I've been able to build tons of complicated applications over the years and I'm doing some really cool work with "Big Data" processing right now, but feel like my code is probably garbage. I wasn't hired as a developer and never took a programming class, but it has always the majority of what I do day-to-day...
    I took compsci in high school and it made everything that I loved about computers seem so miserable and mundane and boring and painful - their teaching method sucked and I'd never have chosen this industry if that was my introduction to this field!!)

    The final kicker here? I work for the research institution of the computer science program at a major university. And not a single person I work along-side writes code for a living. I don't need feedback to know I need a new job, but I do need some suggestions on how I can improve my code when I don't have anyone to help me :-(

  84. Here's the truth... by bobbied · · Score: 1

    What's on your resume just gets you an interview.

    What you know, or claim to know, gets you a job.

    What you can LEARN is what keeps you in the job.

    When I interview, I'm looking for two things technically. First, does the applicant have enough skills to be partially useful right away? Second, does the applicant have a demonstrated ability to learn, not just in school, but on their own? If you score good marks in both of these, you go high on the list of people to hire. Have great skills but are not interested in learning? I don't have time for you because if I run out of needing your exact skill set, I'm going to have to let you go. I hate letting people go...

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  85. Re:Grow up Mr. Forty by ImprovOmega · · Score: 1

    That's pretty funny. You do realize that a lot of people lack the requisite skill set to be their own boss right? It's not just a matter of risk, it's a matter of business sense, accounting, paperwork, and all the other attendant infrastructure required for a successful business. And even among those with such aptitude many just have bad luck and can't get a business off the ground anyway. It's not a lack of maturity or willpower, it's often just a function of how we are that prevents us from striking out on our own and being a job creator.

  86. It all a crock by Anonymous Coward · · Score: 0

    I'm totally amazed that a scruffy 20-something with zero experience and two years of community college can walk into a job while a 50-something with close to 30 years experience proving they can solve problems draws unemployment. I seriously doubt that the value two years in community college can come close to that of the three decades of problem solving. I can think of no other reason except to say we've entered an age of fascism where good is bad and bad is good.

  87. You're suffering from a misconception by PJ6 · · Score: 1

    that you need to know what you're doing.

    Demand far outstrips the supply of what you would call a reasonably skilled programmer. Also, unless you get an interview that requires coding (all should, none do) it is practically impossible for an interviewer to tell a good developer from a bad one.

    Don't bother learning anything ahead of time... just memorize jargon, and you can land a job where you can screw around for six months before they figure out they made a mistake.

    I clean up the messes this creates all the time. Good luck.

  88. Re:Grow up Mr. Forty by holophrastic · · Score: 1

    Yeah, all of that is known as growing up. If you've made it to forty, and can't govern yourself, then you've simply failed as a productive part of society. You can't possibly keep up with a 20-year old on their strengths, and you're ignoring all of the strengths of being a 40-year old. I'm certainly not going to hire a 40-year old to work under me. I'm 35. But I won't contract a 20-year old as a supplier either. Expertise, experience, and accountability as key things that come with calendars. Ignoring your own benefits is just idiotic.

    And besides, according to you, 99.99% of people fall into your incapable categoy. Bullshit.

    But hey, keep importing more H1-B foreign workers for the jobs, keep paying welfare to your unemployed, keep screwing yourselves out of every bit of your lifestyle. It all works in my favour. I wind up benefiting from all of it.

  89. will this damn bubble ever pop... by Anonymous Coward · · Score: 0

    then all the trash can transfer to nursing school.

  90. Total newbie at 40 will not get a job by Medievalist · · Score: 1

    If a modern corporation is going to hire someone 40 or older, they are going to hire someone with at least 20 years of experience.

    Why? Simple economics.

    Cost of providing healthcare, pension and similar benefits is higher for older workers. They also typically have families (or at least lives) outside of work that require some portion of their attention and enthusiasm that might otherwise be directed towards work. They aren't fresh college grads that will work 38 hour shifts without extra pay and brag about it.

    Now, if the older worker has lots of experience, that totally justifies his higher cost. You cannot get decades of real world high tech work experience from somebody only 20 years old. Obviously the older worker also has to be good at the task - a half-assed chucklehead of a young worker might learn to do better (if not, the employer will want to get rid of him before he causes too much damage). But if a 40+ year old isn't already a recognized expert in his or her field, s/he's unlikely to become one any quicker than a younger, cheaper person would.

    This is the way the system works. It's not because somebody's trying to discriminate against your age. It's because companies want to make money and they have to work within the framework that exists.

    So, if you're over 40 and your heart is totally set on becoming a programmer, you'll need to look for work in fields that you have non-programming experience in. For example, if you spent the last 30 years doing fireproof construction, you can be a programmer for a concrete company or architectural engineering firm, because you can leverage your knowledge of masonry. If you have been building and racing cars for decades as a hobby, you can be a programmer for a racing or car company. But those kind of angles are the only way you'll get a decent programming job as a 40-year-old newbie. You'll have to capitalize on your experience, or some younger person will be able to do the job better for less money than you can survive on.

  91. sounds like a mid life crisis to me by Anonymous Coward · · Score: 0

    sounds like a mid life crisis to me

  92. microshit by Anonymous Coward · · Score: 0

    just dont use microshit services

  93. Ditto that experience by Anonymous Coward · · Score: 0

    I was never good on a whiteboard. I insisted on doing a programming task on a Linux system with my keyboard. Hard problem, but I went through it quickly.

    That is the only time I was able to direct the interview, but will never do a standard interview again.

    I program in Python, a big language. In my recent jobs, I wrote all the code, no other Python programmers on our project. Inevitably, I write in a subset of Python. My subset is plenty big enough for the work I do, I keep scanning language features to see if there is a better way, but I don't use or know the entire language.

    So quizzing me on language specifics is ridiculous : I wrote 60k+ lines of file in a part-time job over 2.5 years which included writing the Python version of a set of network protocols for the ad-hoc, mesh radio network to be used in testing. Good clean code, documented, naming conventions, .... I have samples of projects I work on at home, just as complex and really interesting.

    Nobody wants to even look at any of that. I was a consultant for most of 30 years, am pretty good at evaluating problems and knowing whether I can do that work. I have no reason to walk into problems, will give you an honest eval of whether your job is one for me. That discussion is also useless, they all assume that my resume and I are lying.

    Management is an artform, everyone learns the forms from your previous managers and mentors, but there is damn little understanding of the research that should inform opinion and process. Interviewing is just the most-visible of the many management stupidities that we run into frequently.

    So std interview is a way for people to knock out anyone they don't like a lot, has very little to do with assessing competence.

  94. levels? by Mirar · · Score: 1

    What levels are we talking about?

    If I could just pick any, I'd set someone who can write a tail-recursive strncpy in C on a whiteboard (and discuss the quirk) without any help at 2/10, and someone that can write/discuss a hardware UART driver or give me an idea of a posix-compatible SNMP SetRequest routine without any help at 8/10. Anyone who has implemented a HTTP server (without using a HTTP server library) in any language would score at least 5/10.

    I think lots of programmers that score 2/10 can get work.

    What are your 2/10 and 7/10? It's probably not my 2/10.

    Or is there an official scale and my google-fu didn't find it?

  95. for sure... by Anonymous Coward · · Score: 0

    If you're clueless on coding, just become a greenfield programmer, seems to be the norm for those types of projects.

  96. 7/10, 5/10, 2/10? what is that base-10? by OrangeTide · · Score: 1

    I'm a solid C/10. I'd never hire a 7/10, or even a 9/10. I've met a few E/10s and F/10s.

    --
    “Common sense is not so common.” — Voltaire
  97. yeah by Hognoxious · · Score: 1

    So we all know that computer programming jobs are hot right now.

    It's as undeniable as the earth being flat, the moon being made of cheese, and Obama being American.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  98. H1Bs do not work "cheaper" by Rene+S.+Hollan · · Score: 1

    As a former H1-B holder, and current lawful permanent resident ("Green Card"), here long enough to become a citizen (> five years), H1-B DO NOT work cheaper.

    At least, it is ILLEGAL to pay them less than 95% of the prevailing wage in the local area (as determined by the State Dept. of Labor). Furthermore, the employer has to bear the brunt of non-immigrant related legal paperwork and the cost of sending them home at the end of their visa. H1-Bs actually cost employers MORE than citizen workers.

    While it is true that contracting firms and employers themselves will often lie regarding wages, this is criminal, and strongly opposed by legal H1-B workers as much as it is opposed by citizens.

    --
    In Liberty, Rene
  99. Re:Productivity is an exponential function of tale by Anonymous Coward · · Score: 0

    Yes. It is often the case that I solve in 10-15 minutes a problem someone has been working on for days and days. After a while, people just come ask me before they start. Team productivity is such that we are asked "why is the team so productive, we don't understand". They see the magic, but they do not understand the magic. Developernomics

  100. the death of sql is greatly exaggerrated by Anonymous Coward · · Score: 0

    sql is everywhere in business. Most good dba's won't let programmers directly at the databases they maintain. Probably because the programmers have proven they don't understand the performance issues they cause with poor queries... YMMV.

  101. Hmmmmm by Anonymous Coward · · Score: 0

    "So we all know that computer programming jobs are hot right now."

    Really? They don't pay like it.

    "And perhaps we can agree that a level 2/10 would not likely get hired anywhere."

    Sadly I know of one who did. The person who hired that 2/10 "programmer" must not have asked any programming questions.

    "So the question is: given that we have such huge demand for programmers"

    Really? They don't pay like it.

  102. reading their code is one of the best methods by ericbg05 · · Score: 1

    > As a hiring manager, I can tell you that I almost never have the time to go dig through a prospective candidate's open source code

    I also have had the responsibility for hiring people from time to time. And OMG you are hiring a *programmer*. This is the *primary* thing they are going to be doing after you hire them. Their code is their main work product. The information is available to you and you're just going to *ignore* it? Who cares how charming and articulate they are if their code is crappy?

    You could assess these things in 15 minutes in a 13kLOC code base. Did they write clear and useful comments? Is the code well organized? Is the high-level structure obvious? It's an excellent second- or third-pass method, and I've always found it pretty weird that it's not a more common practice.

    Okay, maybe you have some reason to doubt that they actually wrote it or whatever. And of course they will be showing you the awesomest, cleanest little gem they ever wrote. Weigh it appropriately. But don't weigh it at 0%!

    I want programmers who can write code AND are articulate and charming. Someone who is articulate and charming but cannot write code should not be hired as a programmer.

    OTOH someone who can write code but is not particularly charming can still be a great contributor if they are not a total asshole, and can explain their code clearly in comments or in small meetings.

    Probably the reason most hiring managers don't want to review candidates' code is because they are not particularly skilled at reading code quickly and making a useful judgment about its quality. This just means that the hiring manager isn't qualified to judge the candidate on this critical dimension. They should admit this limitation and farm out the task to someone else in their company whom they trust. (If there is no such person in their company then their company is pretty well fucked anyway.)

    > Not to mention, most of the time open repositories like that are blocked from my work network anyway

    Okay, but this is not a statement about the objective predictive utility of a hiring process that involves code reviews. It's just a statement that your company is toopid. :-) And you can always have the candidate email you the code. They key problem here is that *you* do not believe that reviewing people's code adds a lot of value, and on that point I believe you are quite mistaken.

    > can the candidate speak, in detail, to their resume. Many can't, by the way

    Totally agree with you on this point. It's amazing how many people just blatantly lie on their resume. In my experience it's, like, way more than half.

    This makes it frustrating for people who are honest on their resumes, since managers have to take steps to weed out the significant population of liars out there.

    "So what's the difference between TCP and UDP?"

    "I have been writing network protocol stacks for 138 years. I sleep with a printed copy of the TCP state machine under my pillow, and all night little synsies and finsies dance through my dreams. I hang out with Vint Cerf every weekend. It says so right on my resume. Why don't you believe me?"

    "Because 95% of people who say that cannot articulate a reasonable answer to my question. :-("

    I guess until we can get most people to stop lying on their resumes, that will just be a fact of life.

  103. Age 40 by Anonymous Coward · · Score: 0

    If you are 40, and I am too, don't bother trying to relearn how to program. Either you do or you don't. If you don't, then try to get into management where you, apparently, don't need to know shit (from the technical perspective). If you have a solid technical background then you can transition to management and pickup any of the people skills you might be lacking along the way.

  104. the most stupid thing I've heard all week by steve.cri · · Score: 1

    How do you put programming skills on a single linear scale, and than apply that to "a job"? This is the most stupid thing I've heard all week, but hey, it's only Wednesday, I'm sure my manager will come up with something.

  105. four yorkshiremen by NotSoHeavyD3 · · Score: 1

    At the far end you've got cowboys/hacks/architects*, who drop thousand line steaming piles into source control as soon as they get it to compile, then go on vacation.

    You were lucky with such luxury. I have seen those cowboy/hacks refuse to use source control at all and just take their dump into a folder on a server. Then I had to merge that code into the current branch and hope he didn't forget anything.

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
  106. Re:Ha, hot programming jobs -Yeah! by gabrieltss · · Score: 1

    The last two companies have outsourced all development to India outsourcing firms because they can pay them a dime on the dollar. In fact the COO of my current company flat out told me that to my face as to why they were doing it. But the first firm they outsourced to racked up a HUGE multimillion $ bill and gave us utter garbage of a product. So they just changed to a different India firm that is charging even less. I can see what utter garbage we will get out of them... The U.S. developers are now having to go in and cleanup the mess the first firm left.

    So yeah - if your from India there are LOTS of programming jobs available - if your from the U.S. - your better off moving to Bangalore or some other major India IT hub to look for a job. Sorry but those are the absolute FACTS. It seems U.S. companies don't care about quality - they only care about reducing costs so the executives can get bigger bonuses....

    --
    The Truth is a Virus!!!
  107. Re:Ha, hot programming jobs - What? by gabrieltss · · Score: 1

    Democrats AND Republicans are BOTH systematically DESTROYING the jobs in this country. The problem is voting is useless anymore - we are given two choices for anything - $h!thead #1 or $h!thead #2 - party doesn't matter - both options we are given are both already bought and groomed.

    --
    The Truth is a Virus!!!
  108. Dance - 10, looks - 3 by anonymous_wombat · · Score: 1

    There are ratings for both personality and talent.
    Finding people high on both is difficult.
    Different groups put different emphasis on the two independent ratings.

  109. You are wrong about C++ by Anonymous Coward · · Score: 0

    I don't know where you live, but where I am, if you are good with C or C++ you can easily pull down 200k a year or more. Same with Java. HTML5, not so much, the most I've been offered for stuff that is more web oriented is about 120k - 130k.

    Note, I said *if you are good*. If you are mediocre you likely won't even get an offer unless you have connections.

  110. Nope. by DdJ · · Score: 1

    And perhaps we can agree that a level 2/10 would not likely get hired anywhere.

    I'm not prepared to concede that. I'm also not prepared to concede that it should be the case.

    If there are a large number of 2/10 programmers out there not getting hired, then more value can be extracted from the workforce if someone can come up with a sandbox or somesuch in which they can actually be used productively.

    Maybe you get four of them and have them keep swapping off in pair-programming pairs. Maybe you only let them write code that goes into a continuous-integration server. Maybe you only let them write social games. (Heck, maybe you use them as living, breathing "fuzzing" tools for toolchain developers to use in debugging.) I don't know.

    But the economy is better off if we can figure out how to extract value from them. (They should be paid very poorly compared to better programmers, however.)

  111. I have an extreme allergic reaction when by mtthwbrnd · · Score: 1

    People demand ". Thoughts?"

    It just really grates me.

  112. Dev Boot Camp? by bdrasin · · Score: 1

    I don't know where you are located, but have you considered applying to Dev BootCamp/App Academy/Hack Reactor or another such organization? From what I read they get their grads good jobs.

  113. Re:Tech support and crystal reports and excel macr by Wisecat · · Score: 1

    Right now, any type of job will do. Gotta get out of poverty, years and years of unemployment

  114. Re:Everything requires 5 years specialized experie by Wisecat · · Score: 1

    Yes, this seems to be true. From my perspective. Requirements that are impossible for anyone to meet.

  115. Learn several languages by Anonymous Coward · · Score: 0

    Since you're 40, and have likely discarded the hobbling parts of ego and learned how to learn, you are in a better position to master a variety of languages and frameworks than your younger competitors. I point this out because you mentioned your age as if it were an excuse for the likelihood of failure. In my experience, the older someone is, the easier they are to train and the faster they learn.

    Contrary to popular misconception, our brains do not get less powerful as we get older. They get more powerful. Unfortunately, due to fixed oxygen supply and cranial volume, they get "unsustainably" more powerful and while our high-level skills grow, we succumb to various dementia. At 40 this is a non-issue and you may only be slightly passed (or have not yet even reached) your intellectual prime with regards to learning skills.

    So start googling some tutorials, buying some references, torrenting some GUI's and get playing.

  116. Re:Tech support and crystal reports and excel macr by Wycliffe · · Score: 1

    There are plenty of jobs with smaller companies or colleges that can't pay silicon valley wages.
    Here in Missouri there is even an organization that is willing to pay you $15/hour while giving you free training:
    http://launchcodestl.com/ and I wouldn't be surprised if there are similiar programs elsewhere.
    $15/hour isn't much for a career but it's alot better than an unpaid internship or having to pay money for training.
    Having sorted resumes for both high-level positions and low-level positions, I would make sure you have a well written
    resume and cover letter. You might even consider custom tayloring it to each position you are applying for so that
    it is relevant. Having employment gaps is going to make it a little harder. Basically when sorting resumes, people
    who look unreliable, incompetent, unintelligent, etc... are the ones that are quickly going to be eliminated. It's not
    so much technical ability in the first round as "will this person show up to work? Can I trust them? Can I expect
    them to stick around for 6 months? Is this someone that I can relate to and would want to work with?"
    Have a technical friend and a grammer nazi friend both proofread your resume. Nothing gets a resume eliminated
    more quickly than referencing a non-existent technology or having misspellings and bad grammer. Make sure your
    resume looks as professional as possible but at the same time make sure your cover letter and resume clearly
    state that you are looking for a career change. If you have 20 years experience in hardware and make no mention
    of acceptable salary or career change then you will probably be eliminated as the assumption is either that you will
    want more than what the position pays or that you will leave as soon as you find a job that more closely matches
    your experience. It wouldn't hurt to even put an acceptable salary range. If you're applying for a small company
    and willing to accept 50k while they were expecting to have to pay 70k for that position then this might boost your
    chance of an interview if they think they might be able to save a little money.

  117. "it would even be possible to get a job" by Anonymous Coward · · Score: 0

    Suggestion: do it, change, you will be making mo money in 3 years compared with what you make now, and more mobility and job security.
    (62 year old electronic engineer, working in IT for the last 15 years)

  118. But how do you do it... if you're 45? by MPAndonee · · Score: 1

    Some good answers, but I have yet to find one that really answered the OP.

    I am a little older than the OP. I am originally a Hardware Engineer as well, but have worked on so many Electronics, PCs, Servers, have a few certifications, and know the following languages: C+, FORTRAN, Basic (first language I learned), PL/I, Pascal, some JAVA and HTML.

    I am married -- no kids.

    The thing I have over other candidates is dedication. Will I stay at my desk to work late because the project requires it? YES. Will I stay late because I need to get up to speed? YES. Will I spend extra time to get ahead of others on the project? YES. Can I pick other languages fairly quickly? I am trying to learn JAVA right now.

    So why won't companies look at me? Because most of my experience is on the Hardware side? My work ethic is impeccable.My dedication? Undeniable. Would I work for a 25 year supervisor? Why not? If he knows more than me? He probably does. I am not there to measure brain case sizes. I am there to work.

    But the thing is, most people think we have a shortage, when people like me can be trained fairly quickly OR transition to a software job pretty quickly. I was writing code in 1989-1990 in FORTRAN when most of you might not even had been born....Glorious days those were. Then in 1991 / 1992 I was creating dBase databases. Those were the days.

    Oh well....

    --
    Nothing to see here -- move along now...
  119. Measuring your competence by Modern+Primate · · Score: 1

    How exactly does one even go about placing themselves on that scale? I've taken an intro to comp sci class, but from then on it's been Google and banging my head on the keyboard until I got the result I was after. I wouldn't consider myself a programmer, but I have occasionally solved problems that people with actual degrees had been struggling with. Perhaps I underestimate myself. Is there somewhere you can go to be measured for programming competency? Some sort of SAT for the self taught?

  120. Help Desk guy by DirtyAmish · · Score: 1

    I did/do help desk work for ?15? years and then "one day", you need to know programming.

  121. Minimum Competency to Get a Programming Job by Anonymous Coward · · Score: 0

    Whatever the minimum competency level is, I know for a fact that education level is completely ignored. I have both a Bachelor's and Master's degrees in Software Engineering, but because I don't have 5 years of experience in Java, I am not employable as a developer. I don't know how new college graduates get hired. Many universities just started offering Java, XML, and other desired languages in the past few years.
    Perhaps the industry needs a standard exam in programming/problem solving to help employers find people who really can code. Many companies are now insisting on certifications like Network+ and Security+, so why not a Developer+?

    1. Re:Minimum Competency to Get a Programming Job by bdrasin · · Score: 1

      That's probably due to the vast number of Java devs who have been doing it for many many years. Try Node.js, Rails, or Django; these are newer platforms where you won't have to compete with the same number-of-years-with-my-platform issue