Please create an account to participate in the Slashdot moderation system


Forgot your password?

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

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?"
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • Relax (Score:5, Insightful)

    by Renegade Lisp ( 315687 ) on Tuesday May 13, 2014 @11:03AM (#46989607)
    Given how many 2/10 I see in my everyday job life, it can't be that hard.
    • Re:Relax (Score:5, Interesting)

      by SnapShot ( 171582 ) on Tuesday May 13, 2014 @11:17AM (#46989797)

      Ah, you work in government contracting too?

    • 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.
      • Re:Age (Score:5, Insightful)

        by shadowrat ( 1069614 ) on Tuesday May 13, 2014 @01:23PM (#46991251)
        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)
  • Average (Score:5, Informative)

    by digsbo ( 1292334 ) on Tuesday May 13, 2014 @11:05AM (#46989623)
    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.

    • Re:Average (Score:5, Insightful)

      by Tablizer ( 95088 ) on Tuesday May 13, 2014 @11:45AM (#46990107) Journal

      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.

      • 200 very long lines.
      • by WillAdams ( 45638 ) on Tuesday May 13, 2014 @01:47PM (#46991495) Homepage

        My favourite take on lines of code as a metric is from the early days of the Macintosh: []

        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.

        • by Tablizer ( 95088 ) on Tuesday May 13, 2014 @04:04PM (#46993077) Journal

          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.

    • Re:Average (Score:5, Insightful)

      by Rob Fielding ( 3524407 ) on Tuesday May 13, 2014 @11:56AM (#46990229)
      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.
    • 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.

      • 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 pr

        • Re:Average (Score:4, Insightful)

          by mrchaotica ( 681592 ) * on Tuesday May 13, 2014 @04:38PM (#46993411)

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

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

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

    • Once one slips through the net, a tidal wave is bound to follow. Good engineers hire great engineers. Mediocre engineers hire terrible engineers.
  • by NotDrWho ( 3543773 ) on Tuesday May 13, 2014 @11:06AM (#46989649)

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

    Only if you have an H1-B visa.

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

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


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

    • ...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 b

      • by geekoid ( 135745 )

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

        • 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

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

  • by plopez ( 54068 ) on Tuesday May 13, 2014 @11:08AM (#46989673) Journal

    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.

    • by Tablizer ( 95088 )

      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.

    • by Rinikusu ( 28164 )

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

  • by Anonymous Coward on Tuesday May 13, 2014 @11:09AM (#46989689)

    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.

    • by Jeremi ( 14640 )

      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.

      • by TheGratefulNet ( 143330 ) on Tuesday May 13, 2014 @11:57AM (#46990243)

        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.

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

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

            • 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 N

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

        • by Quirkz ( 1206400 )

          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 g

        • 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

  • by gurps_npc ( 621217 ) on Tuesday May 13, 2014 @11:10AM (#46989711) Homepage
    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.
    • by phantomfive ( 622387 ) on Tuesday May 13, 2014 @11:34AM (#46989977) Journal
      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.
    • by bitt3n ( 941736 )

      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.

    • 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.
    • by robbo ( 4388 )

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

  • by v1 ( 525388 ) on Tuesday May 13, 2014 @11:12AM (#46989723) Homepage Journal

    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.

    • by Andy Dodd ( 701 )

      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

    • 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

    • 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.
    • 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 th

    • by geekoid ( 135745 )

      " 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, n

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

    • 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,

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

  • 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.
  • by garcia ( 6573 ) on Tuesday May 13, 2014 @11:25AM (#46989873)

    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.

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

      • by garcia ( 6573 )

        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 y

    • by radtea ( 464814 )

      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

  • 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 thei
  • by Opportunist ( 166417 ) on Tuesday May 13, 2014 @11:27AM (#46989899)

    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.

  • 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 com

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

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

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

  • 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 b

  • by vikingpower ( 768921 ) on Tuesday May 13, 2014 @11:39AM (#46990031) Homepage Journal

    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.

    • +1 for learning Ada, while at it learning how avionics and airplane navigation/radios work can help.
  • by Tablizer ( 95088 ) on Tuesday May 13, 2014 @11:39AM (#46990035) Journal

    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.

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

  • 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

  • by Max Threshold ( 540114 ) on Tuesday May 13, 2014 @11:45AM (#46990109)
    ...the bar is pretty fucking low. Incompetence rules the industry; everyone is selling snake oil.
  • 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: [] . 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.

  • 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 la

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

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

  • 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.
  • 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 conc

  • 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

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

Never worry about theory as long as the machinery does what it's supposed to do. -- R. A. Heinlein