Slashdot Mirror


Am I Really That Unemployable?

Frustrated Programmer asks: "I'm a programmer with seven years of experience on various platforms/languages. The past few years, I've primarily freelanced, building my expertise in C/Unixes/Oracle, dabbled in Perl a bit. Since my last contract, I haven't been able to find any work at all. I've learned Java2 to update my skills, I know C++ from university, however, I can't seem to get a break from any companies. I get the same response, no Java experience, or no OOP experience. I'm wondering if this is a problem systematic of Canadian companies (specifically here in Montreal), or do any of my American cousins have run into the same problem? Anybody care to share their experiences?"

10 of 43 comments (clear)

  1. Its WHO you know, not how good you are by bluGill · · Score: 2

    My boss has 3 positions open. he has 80 resumes on his desk. As a company we have 12 tech positions open, and 8 offers outstanding. (Resumes are shared between all engering managers, and yes, these are real numbers)

    So you ask, how do you get from a resume to a job? The answre is knowing someone who already works here. My boss and our HR department is traned in interview technichs. However their best bet in finding a good canadate is to ask a former co-worker of the canidate who already has a job here what they think. And it is easy to find that former co-worker, because that person is the one who did the referal, and will get the referal bonus!

    In other words almost nobody is hired here unless some current employee gets the referal bonus. This means that you need to know people, hard for some folks, and easy for others.

    I assume that your in the catagory where it is hard for you to deal with people. Thats okay - for the last two years one person got most of the hiring bonus money. Managemnt had a position open up, and they automaticly went ot this one enginner and asked him for a recomendation! (He came from Cray, which laid off a lot of people in the last few years - he had an in with lots of people who were looking, and could weed the less desirable people without thought). Things have changed this year, as they always do but many of the people we hire were laid off from Cray.

    The point is talk to folks you used to work with. Don't leave a contract without the personal email address of almost everyone, and make sure they ahve your address. Make sure you find out in each orginization who is most likely to do the refering of future emploiess. When you need a job send a small, personal, email asking those folks if they know of an opening. (One per orginization please, since you don't want them fighting over the hiring bonus). Of course it isn't so useful to have that today. Two years from now though, some of those folks have found jobs in other companies, and they tell their boss "I worked with him in the last job. We didn't cross paths often, but he got his work done, and there were no complaints about his work." Not the most glowing report, but to management it is much better then former bosses (there are all kinds of legal implications of giving bad references - you might win the court case, but just the thought of being sued is enough to make these less valuable), or references (which you have hand picked). Of course you choose the person who is going to recomend you, and that person gets a bonus, but that person also has to face working with you, and may not be your first choice. (Its like voting, you chose the lesser of the evils, where as with references you have a larger pool to chose from)

    I hate doing everything I said above. That why I'm not contracting. That is why I want my project to succeede, I don't want to find a new job. Eventially I will have to, so I try to keep a list of all the people who have moved onto new jobs.

  2. The Solution (Or one solution, anyway!) by jd · · Score: 2
    The difference between "non-OO" programming and OO programming is NOT as significant as many CompSci professors would like to claim. Really, OO is just a form of parallelization that is then run sequentially.

    (If you think of each object as a virtual computer, the methods as daemons, and public variables as SNMP data, then that is =ALL= there is to it.)

    "So what?" you might ask. Well, first, employers notice long gaps in resumes. That's a BIG no-no. Now, if you were to write a C++ to Parallel C "compiler", you'd not only "explain" the gap (a huge plus!) but =also= have a product to your credit (another huge plus) AND be able to put down C++, or any other OO language, on your resume as a professionally-used skill (a third, and awe-inspiring plus).

    The other thing to remember. Resumes are filtered by people like Stef, long before they reach anyone qualified to understand a word on them. Use key-words and trigger phrases wherever possible. Provided you're accurate, this can turn a passable resume into dynamite.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:The Solution (Or one solution, anyway!) by jd · · Score: 2
      What it's achieved is one layer of SIMD (Same Instructions, Multiple Data) and a second layer of MIMD (Multiple Instructions, Multiple Data) parallelisation.

      What do I mean by parallelised? Simple. The code is capable of being executed in parallel rather than in serial.

      Still too confusing? Let's put it this way. There is no distinction between parallel code and distributed code, IF AND ONLY IF the threads are being executed at the same time. If the threads are being run sequentially, you've got a serial program, no matter how many processors you throw it onto.

      But once the threads have independent execution and inter-dependent data, you're in the realms of true parallel processing.

      It's typical to use a very meaningless distinction between wide-area clusters (distributed processing) and clusters run inside a single physical unit, but the practical difference between the cases is speed, not nature, and they're just points on a continuum, not distictly different types of machine.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    2. Re:The Solution (Or one solution, anyway!) by jd · · Score: 3
      That's got to be the worst deliberate mis-interpretation I've seen outside of a party political broadcast.

      ANY parallel program can run on one computer. Does that make it serial? No! So get off the high horse and start thinking about what I'm saying.

      What I'm saying is that there is a 1:1 relationship between EVERY OO program and EVERY parallel program. I'm not talking about a functional relationship, here, as you can implement any computable problem in any form you choose. I'm talking about an actual 1:1 code-level relationship.

      Let's look at an example, to make this clear. Let's have a class called "Point", with four methods on it - getX, getY, setX and setY. It also has two private variables, X and Y. (Not very tidy, but - hey! - it's an example, not a CompSci exam entry!)

      Each time a Point object is created, it will have these four methods and two private variables attached.

      It is possible to parse this class into four distinct programs, accessing two variables in shared memory. The class has been parallelised, as it can now be run on 1+ machines in EXACTLY the same way as it ran as a single class.

      To argue that a 1:1 relationship is the same as comparing the atom to the solar system is ludicrous. There's no 1:1 relationship there (ever seen an atom with a binary nucleus? ever seen particles orbiting electrons? ever seen an electron with rings?) and it's a vast over-simplification.

      However, when you can directly translate on a 1:1 basis between ANY class and it's parallel form, it ceases to be an approximation and becomes an identical description.

      Ok, so why run objects in this way? Because you don't need to faff around with all that stupid, meaningless CompSci parallel programming nonsense. If you can code parallel programs WITHOUT using a parallel programming language OR a specially-written parallel compiler, life becomes much easier. And, by modelling objects in the above way, you can distribute over any arbitrary number of machines, WITHOUT having to know how the code is to be divided up, beforehand.

      (For those using Qt and KDE, this basically means that you can beowulf a window manager.)

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  3. Wierd by drix · · Score: 2
    I just got back from Cal Day at Berkeley where they had a Q&A between all the people admitted to the EECS program (me) and their fourth year students. Here are some of the things I heard from the graduating class (I am not exaggerating at all):
    • I met one girl who had nineteen job offers.
    • Met a girl who had been picked up in a limo, taken to probably the most expensive restaraunt in San Francisco, returned in limo, and sent flowers the next day, by like 8 different companies (Oracle, MS, etc.).
    • Met a guy whose friend is getting 6 figures when he graduates (so he claims).
    • Met a guy who didn't have to buy himself dinner for two weeks because recruiters were doing it

    This was all two days ago. Imagine my surprise then, to hear of your plight. As far as I know, it's a real bear market for computer jobs right now. Companies really are starving for engineers, especially for University trained OO programmers (this is like the creme-de-la-creme, from what I gather). Either you are not looking far or hard enough. Put your resume up where a lot of people from all over can see it (Monster.com, etc.) and be ready to relocate, and I guarantee that something will come along.

    --
    --

    I think there is a world market for maybe five personal web logs.
    1. Re:Wierd by FigWig · · Score: 2

      I am a non-CS but technical major at Berkeley, and I must say the job market is completely nuts. I barely had to roll out of bed to get a job offer. There are full page ads in the student newspaper urging students to drop out and join startups. I had at least two recruiters calling me everyday for almost a month straight. I have been wined and dined, taken to clubs, given 6 packs, given rental cars, hotel rooms, flights, and per diems (no hookers though :( ). I'm not saying this to brag, quite frankly I found the whole experience uncomfortable and I never want to talk to a dumb-shit HR/manager type again if I can help it. The point however is that the job market is extremely tight for qualified people in No. California. If all else fails, make a sign that says "WILL CODE FOR CAFFEINE" and stand by the side of the 101 Freeway. I would bet you would be wisked off in a BMW within 30 minutes.

      --
      Scuttlemonkey is a troll
  4. Shopping Lists Are Missing The Point by tomblackwell · · Score: 5

    I hire programmers constantly.

    I don't issue a shopping list of the languages, paradigms, applications, etc. that the successful applicants should know. Such lists are a primary indicator that the company you are dealing with is one that just *doesn't get it*. If you go to one of those companies, you will find yourself herded like cattle and dictated to by so-called "Human Resources" types who generally lack any insight into programming or development.

    Those in school should also keep this in mind. The content learned during a degree is secondary. What is important is that, for a certain amount of time, you can be put under a lot of pressure, and learn a great deal without cracking.

    Here's what I'm looking for:
    1) Great communication skills - It does me no good to hire a genius that nobody understands, or who irritates customers

    2) Graduate Of The School Of Hard Knocks - Graduates fresh from school generally are pumped full of misguided notions about their worth. While they may be paid handsomely after graduation, they are generally a drain on the company for the first 6 months to a year. I'd rather hire someone who has at least one computer-related nightmare job on their resume. These jobs generally build character and give the employee some perspective about what the work world is really about.

    3) Signs of Life - Many applicants are very sluggish during the interview. I'm not hiring you so I can tell you what to do; I'm hiring you so I can give you a domain of responsibility and then not have to deal with it anymore. Take the initiative.

    4) A brain - I don't particularly care about the degree, although it's generally a safe bet that a person who makes it through an engineering degree has some intelligence. If the person can show that they're motivated and willing to learn, then I'll hire them.

    1. Re:Shopping Lists Are Missing The Point by layne · · Score: 2

      You are the rarest of gentleman. I envy your organization generally and your staff in particular . . .

  5. Y2K to blame? by b100m · · Score: 2

    I'm having similar difficulties in Calgary. A recruiter told me that there is a glut of qualified I.T. people that have been laid off due to the Y2K bust. Therefore, this spring is a buyer's market in Calgary since most companies have an I.T. department that let Y2K people go. There are lots of positions open for people with tons of experience, but they seem to want an ideal candidate. Some of them are ridiculous: I've seen companies wanting five++ years experience in Java, C++, Perl, CGI, ASP, ColdFusion, LDAP etc. as well as every platform under the sun.

    Headhunters are good at finding me work in Vancouver, Ottawa and Silicon Valley. Unfortunately, I need to stay in Calgary for at least a year. I've been at it for three months and have applied for over 100 positions. It does get disheartening, but I got an offer yesterday with an I.T. Consulting firm.

    This is what I did to get exposure:

    -most people doing the hiring are clueless about I.T. They are looking for buzzwords in your resume. Research and ask people who have turned you down. It's hard, but you learn a lot. I added that I had worked on testing platforms using TCP/IP, APPC, NetBIOS, IPX, SPX, and suddenly recruiters were interested. It's ridiculous, but inject the buzz words into your resume, it helps.

    - Check out Nortel's site and mirror their resume format with skills and time spent utilising those skills. It's an extremely effective format.

    - Bug everyone you know that works in I.T.. Most of my leads came from referrals. Try old teacher's, professor's and contact your old University. They often have employment programs for grads. Case in point, I sent my resume to a company two months ago and didn't hear a thing. My old Co-op coordinator sent the same resume to the company two weeks ago, and I instantly got a phone call for an interview.

    -If you get turned down for a position, ask why. It hurts the ego at an already fragile time, but it gives you something to work on. If you're like me, you spend your time on the computer anyway. If Company Y wants you to know such and such, find an Open Source equivalent and hack away for a few weeks. If they haven't filled the position, follow up and tell them that you've learned it in the interim.

    - To take the sting out of the job search, my friends and I had a PFO letter contest. We tried to see who could get a PFO letter from the coolest company. I applied everywhere just to get a letter. I actually got a couple of leads this way that I wasn't expecting. It was a good morale booster.

    - Finally, listen in interviews and get feedback. HR people can be totally clueless. I think that the skill set that I have has actually hindered my job search. Case in point: I do a lot of freelance web work and applied to a web company. They asked if I could use "such and such" proprietary web design software. I said I wasn't familiar with it, but would learn it. They asked what I used for my own development. I replied vi and emacs. They didn't know what I was talking about. So, the candidate that can use an automatic HTML generator probably got the position, and since I hard code all of my HTML, SQL and programming code with a text editor, I'm not attractive to them. Go figure.

    Anyway, I'm not sure how much of this you are already doing, but hang in there and keep pounding the pavement. There are always start ups that need to throw bodies on a project who are willing to take a risk. The trick is to find them. Bug everyone you know and let them all know that you're looking for a job. It's humbling, but I've had great leads from the weirdest sources.

    Best of luck. You're definitely not alone.

    ________________________________________________ _
    $which weed

  6. Dang if I know... by chipuni · · Score: 2

    Dear Frustrated Programmer,

    Finding jobs where you live might be easy or difficult... that depends on the high-tech culture of where you are. (Unfortunately, I don't know how the culture of Montreal is.)

    However, as a freelance contract programmer, you have an option which isn't available to most professions: You can contract work from any company, anywhere in the world. If you want to work for a Silicon Valley pre-IPO startup, without having the Silicon Valley nightmares of traffic and the housing crunch, you can.

    On the other hand, your problem might not be technical -- it might be personal. A lot of us programmers concentrate so strongly on technical issues that we forget that the rest of the world operates on social issues. You might talk with people who have hired you in the past, asking them how well they got along with you, and whether they could recommend any way to improve yourself, socially.

    If you've determined that your problem really is technical (I don't consider this likely), you might sign up with a consulting or contracting firm. They take a hefty margin from what their companies pay them... but you'll get experience, and many of them provide education. If joining that kind of firm offends you, you can also get experience by volunteering your services to a non-profit.

    If you post your resume here (hopefully without your address or identifying information), I'm sure that people will be glad to critique it.

    --
    Never play leapfrog with a unicorn. Or a juggernaut.