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?"

28 of 466 comments (clear)

  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 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."
  2. 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 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.

    2. 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.

    3. 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.

    4. 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
    5. 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

  3. 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 TemperedAlchemist · · Score: 3, Informative

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

  4. 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+
  5. 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 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.

    2. 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."
  6. 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."
  7. 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.
  8. 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.
  9. 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!
  10. 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
  11. 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.

  12. 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.

  13. 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)

  14. -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.
           

  15. 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