Programming Lessons from Online Screening Software

Some time ago, I applied for a position at a major university. As is typical, part of the online application was a questionnaire. One question turned out to be a minefield.

What to click?!On the surface, the question was simple: Do you have a Bachelor of Science in Computer Science? A Bachelor’s in Computer Science was listed as a requirement in the job description, but like many of us I came to programming via an indirect route. I know several individuals that have degrees in math, physics or chemistry and have years of experience in programming.

I have a Ph.D. in Physical Chemistry, which in some ways is the intersection of math, physics and chemistry. I don’t have a Bachelor’s in Computer Science.

The purpose of these online screening questions is to eliminate those who don’t meet the position requirements, and thus allow employers to focus their efforts on the applicants who do. This is a good way to make use of limited resources. But as in most things, to be effective the details have to be implemented in order to achieve the goal.

As programmers we need to anticipate all possible scenarios and ensure that edge cases are handled. We need to think carefully about every possible input and ensure that our code will at the very least fail gracefully for any input.

I’d like to think that our employers do the same. When they write position descriptions, they consider the applicant edge cases and have requirements that reflect what is really needed for the role.

In my case, even though the job description required a bachelor’s in Computer Science, I think that a Ph.D. in Physical Chemistry would meet with the hiring manager’s approval. My options were either to lie and say I had the necessary undergraduate degree so I could pass the online screening, or be honest — and be rejected — before a live person even reviewed my application.

I answered the question honestly and was passed over by the screening software. To add further insult, the system said that I would be prevented from applying again and changing any answers.

The person who defined that screening software didn’t consider the edge cases. A few words added to the question would have allowed me to answer affirmatively. The question could have been phrased, “Do you have a Bachelor of Science in Computer Science or a related advanced degree?”

This is probably what the hiring manager intended, but they didn’t give the question enough thought.

54 Responses to “Programming Lessons from Online Screening Software”

  1. Dennis Little

    Actually, I have to disagree with your change somewhat (depending on the job). In my case, I have a 2 year degree — but I also have about 22 years of professional experience doing every aspect of of hardware/software except building the chips (data entry for a year or so, software and database development, database administration, systems administration, web development, etc) for major companies.

    Even though I’ve always had good reviews and references, that 2-year degree has stopped me on a few occasions where I had the same situation — lie and explain in comments or tell the truth and have the system drop me with a human never even seeing it. In the past, I’ve done a little of both and have decided at this point that I’d lie and explain in comments.

    One instance I’ve had this happen is someone was looking for 6 months of experience. I explained to the headhunter that I had several years experience in other SQL databases but not specifically in the database they named. They wouldn’t even accept my resume for consideration — and this was when talent was hard to come by instead of the current environment.

    Second instance I had happen is a headhunter looking for experience DBase III ON MAC. I contacted them and explained that DBase III never existed on Mac, but I did have experience in the clone for Mac called FoxBase. Never received a reply.

    Sometimes, it’s a no-win situation if you completely tell the truth.


    • World do not have fully fair. I applied for Computer Science in some graduate school in NYC, but I was rejected because I do not have good GPA during my undergraduate period, even I have more than 8 years experience in software development industry.

  2. Steve

    I agree. There are many issues surrounding prescreening software, which seems to be in widespread use. I’ve had frequent issues with the software over at Raytheon, as I’ll be drawn to what specifically says is an entry-level job requiring 0 – 2 years of experience. Then, I’ll be answering questions on their screening software and it will ask if I have at least 2 years (insert any number here that is greter than 0) doing the work. I’ve had this happen with several jobs at their site, and I’ve tried both strategies. I’ve also spoken to their recruiters at job fairs who have stated that the 4 pre-screening questions must all be answered as “yes” in order to go to the next level of consideration for the position, regardless of the position.

    I’ve also technical problems with the screening software: general glitchiness, screen update problems, pages needing to be reloaded to clear error messages, etc. Sometimes there is trademark information stating who wrote the prescreening system. One of the worst performers seems to come from Oracle.

  3. Charles

    Application screening is used to allow human resources employees to remain in the technological dark :-/ Just kidding… sort of… but seriously. I work with a young man who has an industrial degree from a Jr College and whose depth of knowledge in all things programming is unparalleled in most circles. He’s been programming since he was a teen and if he’s not currently proficient in whatever language is required for the job, he can get there within days. No prospective employer with any real sense of technology would rely on screening software to locate the best candidate. It is doubtful any truly innovative programmers would want to work for employer who relies on such screening software to locate the best people for the job. I wouldn’t. On the other hand, I have a Comp Sci degree so I’ve never been bumped off the short list for lacking that requirement. I must admit that I have worked for some real bone heads over the years. Guess I will never know if I could have avoided those engagements by dropping out of college. Ha!

  4. What hacks me, it seems some of the screening software has never been tested. I entered 12 for years of experience but the 1 was lopped off and the 2 was entered. When I pointed this out to the people they just shrugged. The entry panel/program had never been tested!

    Bob Hamilton
    Richardson Texas USA

  5. Whirly Bird

    I think the degree does matter in some cases — just for at least the vocabulary. Just to play Devi’ds Advocate: The OP is a Phd In Chemistry (why did he leave that?) and twice he used the term “edge cases”. I’ve never heard the term “edge cases” in computer science, so immediately, within the course of only a couple of paragraphcs, a miscommunication has occured because of a difference in vocabulary between the science the person studied. In this case, the OP assumed that the reader would know what he meant — the least he could have done was to Google edge cases then convert it into a term computer science folks would recognize. The same type of miscommunication has destroyed off-shored projects in embarassing ways.

    • Steve

      I’m sorry your computer science education didn’t include any coverage of “edge cases”. The first place I heard the term “edge cases” was in my undergrad Software Engineering course, a required senior-level course in my university’s Computer Science curriculum. The discussion centered around formally documenting use-cases, and there was an emphasis on locating “edge cases” in particular for testing. I can’t imagine my experience in school to have been all that uncommon.

    • DuraBlend

      Uhmmmm… I don’t see how you could work for five minutes in a software/computer field without hearing ‘edge case’ epecially if any testing at all was involved.

    • M Noivad

      You might want to look up an unfamiliar word before commenting on it to make sure you know what you are talking about to prevent your own embarrassment in the future. “Edge Case” is from Engineering, and the place I see it referenced all the time is when programmers are talking about testing code and planning on dealing with input that exceeds there expectations, and can destroy the utility of the software. While you don’t need a CS degree to be and excellent programmer & be able to communicate with other programmers on their level, you do need to be able to communicate with them on their level. I don’t know any programmers that have written good code that do not know this term.

  6. Whirly Bird #2

    One other comment: I’ve seen too many self-taught programmers with alternate degrees that don’t know what truth tables are, much less stuff like DeMorgan’s Law. Many self-trained programmers lack the discipline that comes from having your homework and programming projects scrutinized for years in college, hopefully from professors who themselves have degrees in the subject matter.

    I think it would be just as unsettling to investors of a chemical company have a bunch of self-trained chemists whose real degrees are in computer science. Just my two cents.

  7. Hmmm...

    I only hire CS grads for developer positions. I have had bad results with non-CS grads. Perhaps there was no mistake, the hiring manager only wanted CS grads.

  8. We should have to prove ourselves worthy of these positions. Lying on an application or omitting meaningful info is unconscienable.

    Good thing we have politicians that document their right to be in office, treasury dept secretaries that never lie on their tax returns, irs agents that never use their position to intimidate and harass law abiding citizens just because the administration does not like their politica point of view

    • Sarah

      At least your doctor, lawyer, and accountant all have education in appropriate fields as well as professional certification and time as ‘apprentices’ before being considered “qualified” to practice and charge you major dough per hour. Why don’t our employers deserve the same from us? The count on us for the health of their businesses just a much.

  9. It’s the same old arrogance of supply problem. Employers are still looking for unicorns and purple squirrels. Someone in HR needs to tell the king he’s naked or they’ll miss out on a lot of good talent. I will add that it’s not only degrees, but experience in applications that are proprietary to the company. How does that work unless you already work there? Talk about inbreeding.

  10. Sarah

    I think the screening software was working properly in this case — exactly why should an university hire a non-computer scientist for a position? Was this a teaching position? If so, the applicant should be absolutely required to have a computer science degree. If it was for a programming position creating software for the university, I’d still think they should require a CS degree — why? Because they likely grant CS degrees, and why should anyone bother getting one (an expensive and difficult degree to get) if it’s not required?

    I have worked with both degreed and non-degreed programmers; while those without degrees are often talented and smart people — I have noticed that they tend to be more political then others and generally seem to treat their coworkers with more disdain and disrespect — in a defensive posture in order to secure their position. On that basis alone, I would not recommend hiring them.

      • Sarah

        While there are a few examples of individuals without degrees that have achieved fantastic success (Bill Gates), I think we can find many more examples of people without degrees that are not successful (financially, career-wise, etc.)

        The benefit for employers in hiring people with degrees is that, so long as the person graduated from an accredited institution, they should possess a minimum body of knowledge in the subject matter area of the degree. There is no such information about a candidate that arrives without a degree.

        • Sure there is if there is a practicum. Produce a solution, take a test, discuss solutions etc. If someone knows their stuff, a degree doesn’t matter. BTW, I have a master’s in IS and I still think it doesn’t matter most of the time.

        • Sorry for the late comment, but just catching up to this article.

          I might be an exception, but I have to take issue with your statement “minimum body of knowledge in the subject matter area of the degree.” I graduated with a Computer Engineering degree in 1991. The degree doesn’t get me the gigs that I land now; instead, it is just a check-in-the-box for employers. What gets me the gigs now is self study and a willingness to be a generalist.

          Did I study Object Oriented Programming (OOP) or design patterns or HTML / web development (ColdFusion / ASP / ASP.NET / JavaScript / jQuery / Knockout) or any of the other things that are in my toolbox right now? Absoutely not. I had classes in Fortran and a single class using ADA (which is an OOP language but was taught in a procedural way).

          As other people have stated, some of the most brilliant people that I have worked with (both from a technical and a personality perspective) either don’t have a degree at all or have a degree in a non-technical area.


    • DuraBlend

      I have noticed that they tend to be more political then others and generally seem to treat their coworkers with more disdain and disrespect — in a defensive posture in order to secure their position. On that basis alone, I would not recommend hiring them.

      Gee, Sarah. Extrapolate/generalize much?

    • Dennis


      Here are a few reasons to consider looking at those that don’t have a degree… If you’re unwilling to even consider someone without a degree (or lower level degree), you have just eliminated some extremely talented people — including the late Steve Jobs and Bill Gates. I won’t put myself in the same class as either of these individuals, but I can say I have a proven track record on some extremely high profile projects for very large projects where others with higher degrees weren’t able to get the job done.

      MANY programmers with degrees that I’ve known could only do things by the book and couldn’t think outside the box. They had no imagination with regards to solving problems that hadn’t already been solved by someone else. If you love what you do (I was programming personal stuff 10 years before I got my 2-year degree), you’re more likely to find a solution to almost any problem.

      There are a bunch of people with no degree or lower level degree that take it as a personal insult/challenge when someone tells them they can’t do something and implies they aren’t smart enough without a BS/MS/PhD — including me. A couple of examples

      1. The group I was in went to the software engineering people and got a quote to replace a project I’d done in 4th Dimension ( with a “clone” written in PHP/MySQL (VERY simple project with 4 tables and a handful of web pages). When the software engineers came back and said 6 weeks to develop the “clone”, I went home and learned enough PHP/MySQL over the weekend and wrote it. It took me a grand total of about 16 hours to learn what I needed and have a working system ready to go.

      2. The same group as above decided to replace my working 4th Dimension solution (a much larger project) with PHP/MySQL. I ended up moving on to a different group and let them have at it. After 4 years, the PHP/MySQL system has about 1/4 the functionality, is buggy as hell and will likely never be finished. I get calls every once in a while for support of the 4th Dimension system I’d built. It’s still running after 4 years with no developer, no DBA, and no system administrator.

      Perhaps you’ve noticed the defensive posture from those non-degreed programmers is they HAVE to be. I have a two-year degree and 20+ years of experience doing everything computer related (support, software development/administration, database development/administration, web development, system setup/administration, project management, etc). One of the things I constantly battle in my current company is a manager who has given me above average reviews especially with regards to picking up anything tech related and coming up with creative solutions that work very well, while at the same time telling me I’m not allowed to advance without a PhD when the job title doesn’t indicate a PhD is required (the usual PhD or equivalent education/experience). Do I feel defensive about that — damn right I do as would anyone else.

  11. The question was framed exactly as the hiring manager wanted because it’s nearly impossible to have a computer science graduate programmer who is over 50 years old. Useful computer science degrees were not offered 30 years ago. This question was not an error; it was intentional age discrimination.
    In truth, 50% of computer science changes every 5 years and it’s up to the individual to keep current, once the degree gets you that first job.

    • Malachi8

      I’m over 50 years old and I have a CIS degree.

      ‘Useful computer science degrees were not offered 30 years ago.’

      I scoff at that. To keep up with an industry that ‘changes every 5 years’, you need a firm foundation. My degree and the discipline I’ve acquired during my education has served me well all this time.

      I’m still at it and hot.

    • Duane The Wize

      Bob K – Your theory makes sense, you may be right… and Sarah’s makes sense as well. I concur that in some cases experience and degree of talent is not the highest priority of an employer- for various reasons. They may desire a very specific type of individual; under a certain age, with a specific skill set, for a job with a narrow focus. The assumption of the author that the question was created without forethought may be naive… or perhaps we are the conspiracy contingent.. 🙂

    • kcuhcttenneb

      It can’t be that hard. I’m one (50 yrs old) and work with a number of others at a well known top tech company. I write well-written sw in a dozen languages, including procedural, functional, and OO languages. I’ve written everyting from embedded Linux stuff to server stuff to web stuff and currently write mobile apps.

      People go back and get degrees, get Masters degrees and sometimes start a degree and finish it later. There’s no shortage of older, qualified, CS degreed engineering talent in this country.

    • Steve

      It seems that I am not quite alone in the group of impossible here. I received my MS in Computer Science in 2006, at the age of 50. I received my BS in Computer Science in 2001. Before that, I received my Associates in Electronics Technology in 1980, but I realize that is a nothing-degree, even though it served to get me in the door at several companies where I worked as an engineer working on electronics design.

      Since my graduation in 2006, I have stayed quite active with personal projects, but I currently seek an internship or entry-level position so I can obtain “professional” experience. It seems that I am constantly passed-over due to the rampant age-discrimination present in all areas. I can’t even get a job as a greeter at Walmart.

      • Let’s not give up. IT needs focused skilled professionals but they have to scale back expectations and settle for consulting or more mundane opportunities. The people skills born of maturity and a depth of experience is your greatest advantage.

        If a business discriminates based on age, move on because it’s a poorly managed organization. A fine organization will choose the people that best fits their needs. I have a friend that was placed as a PM at 71 because he had a great value proposition and communicated it well.

  12. Al Shpuntoff

    I experienced the same dopey question, at the University I graduated from. I took all available CS classes at the time, but they didn’t offer a major! I called HR and read them the riot act. They sent my resume on to the hiring manager…but I still didn’t get hired. Too old; too sensible; too activist?

    • Sarah

      it’s likely the ‘reading of the riot act’ to HR that got your resume immediately round-filed; they likely labeled you as a liability (or activist.) Try using linked in to see who you know at the hiring company and reach out to them, find out how important the degree is to the hiring manager and if it’s really not (but is something they feel compelled to put on paper), then ask that person to submit your resume to BOTH HR and the hiring manager for you.

  13. Carealess

    I have three MSc (Mathematics, Actuarial Sciences, and Economy) but no computer science degree.

    I was hired once despite failing a screening process because I came so highly recommended by two of their programmers. After less than a year, my manager wanted to promote me to team lead but HR said he could not because I did not have a computer science degree. Needless to say, I left shortly thereafter.

    One thing I learned in 30 years in the IT field is companies which have strict screening process, working hours, hiring salary range, or whatnot tend to see a position more than the individual; it’s best to use that strictness as a flag to question whether you really want to work there.

    • Sarah

      The flip side is that if you meet all those strict qualifications and join said company, there’s nothing holding you back from success except your own lack of effort and skills. So if you don’t succeed you’ll have to take it on yourself to improve and stop blaming all extrinsic factors.

  14. Louis

    My degree is from a small liberal arts college. This was a small school at the time, and there was only one section for the 100 level computer science courses. So things to be dumbed down for the benefit of the business majors (there to get a degree before going to Daddy’s business) and the pre-meds (not getting into med school because of a comp sci course would be bad for the school’s reputation). In my Cobol course, we learned about display and computational data types. For the latter, that included COMP, COMP-1, COMP-2, and COMP-3. We were told just to use COMP, and not worry about the rest. Unfortunately for me, COMP-3 turned out to be packed decimal, the format used for 99% of the financial data in the predominately IBM mainframe world at the time.

    No wonder I had so much trouble getting past the technical interviews for my forst job, but hey, at least I have the degree.

  15. The more common expression in software engineering is “boundary case.” “Edge case” is a relatively new entry. Tomayto, Tomahto.

    I always required a BSCS or equivalent before I would hire anyone for one of my teams. A PhD in Physical Chemistry is not an equivalent, regardless of the amount of programming done. There’s more to CS jobs than writing code, which I can train any reasonably bright high school grad to do. I just can’t train them to design, plan, measure, estimate accurately, determine algorithm performance (especially as related to scalability), and a host of other things.

    That being said, the software cited would have filtered me out as well, as my undergrad degree is a liberal arts degree. My CS degree is an MSCS. I also have 60+ hours past my masters. Just no BSCS, so I would have answered “no” to that question and been filtered out.

    Yes, the online filtering systems are insane, but they can cut the number of resumes to be looked at from hundreds to a couple of dozen by ranking them IF they’re done well (haven’t found a good one yet). If you’re skillful, you can learn to game them, mostly through hidden text in your résumé (or white text).

    Overall, they’re pretty useless compared to a correct and accurate set of requirements, which cannot generally be written by HR. Targeted recruiting is also helpful. If you use a headhunter, use a good one, which limits you to only a handful of people who are actually competent to understand job requirements well enough to evaluate the people they represent. Most headhunters do nothing more than keyword matching. I get tired of headhunters attempting to put me into COBOL jobs because I taught it a couple of times as a graduate student!

  16. To echo some of the comments above, I have worked in the field for years with folks that have CS degrees, those with other advanced degrees, and those with neither. The truth is, I find those people with degrees in Math or Physics or Chemistry to be rather poor programmers. Its not that they are not smart – of course they are. But they are not trained. They don’t know the basics of software engineering. I am currently working on a project that was originally developed by someone with a MSc in math and although it works – sort of – it is one of the most gawd awful messes I have ever encountered. Maintenance is a complete nightmare. 90% of software development is not about being clever or smart, its about organization, and if you don’t know the basic principles then you really don’t belong in the job.

    I don’t know the author of this article so my comments are not directed at him personally. Nor am I trying to defend stupid screening software. But there are reasons people study for 4 years in a specific discipline and I think it quite arrogant for someone who hasn’t put in the time to expect that they are just as qualified because they have studied some other “hard” discipline.

    • rfichoke

      What you say about organization is absolutely correct. However, a lot of CS programs don’t teach how to write good code. They tend to focus more on the theoretical side of things while ignoring the practical. The other side of the coin is schools that seem to teach little more than Java.

      • Sarah

        I’ve heard this sort of commentary many times about the deficiencies of cs programs — generally it comes from someone without an actual cs degree (so is based on no actual experience.) How about sharing with us the basis of your comment?

        I recall that most if not all accredited cs programs require at least a class in software engineering — which seeks to teach some of that design, organization, matainability, and estimation skills.

        IMHO, the theoretical side of things is what all of the practical things come from — without the theory paving the way, there is NO progress, NO innovation.

        For those bringing up Steve Jobs, he’s not a programmer or engineer at all — he’s a really demanding marketing guy — that dumped working products into fish tanks when they weren’t meeting his rather arbitrary requirements (sleekness, too much ‘air’ inside; this is from the recent biography.)

        I noticed that many have cited Bill Gate’s success, but no one has commented on this company’s known ruthless acquisition and gut approach to their competitors, oh yeah Oracle does that as well…. and Larry Ellison also doesn’t have a cs degree (or any college degree) before he got his start. Someone earlier said that I extrapolated/generalized too much. Maybe I didn’t make my point clearly enough; I hope these two fine examples have adequately demonstrated my point.

    • To get a bachlors degree you don’t have 4 years of study in any major, at least 2 years is in Core Courses. To say that only a person with a BSCS is qualified is exactly what the degree indicates BS. Some of the best programmers I have hired are those that studied in other areas such as Psychiatry. It’s a thought process and organization as well as memory skills. School teaches you how to learn, get information and what to do with it. It has nothing to do with common sense, which is on par with book skills.

      • You are right in one respect, a higher education teaches you to think and that is an extremely important aspect for any profession. But to say that there is no other take e away is naive. What is it you think a CS student does during their four years of cs courses – read books on how to program with java? There is far, far more to it than that. CS students come out of their program with a solid foundation for planing, designing, and engineering computer systems. Without that background and understanding all you have is someone who can throw together a bit of code. If that’s all that is needed, great, hire a high school wiz and forget about paying the bucks a PhD in whatever would demand. But if you need a system with even a rudimentary level of sophistication you’d better be looking for professionals.

        My first degree was in physics. My 2nd in computer science. The two are not interchangeable.

  17. Bill G

    There is a very simple and proven mechanism to stop the recruiting companies from relying on these screening and profiling programs…STOP responding to automated resume feeds. If the vacancy posting does not contain a direct phone number for the recruiter, dont even consider applying for that role. If you cant speak directly to a recruiter, dont waste your time. If they dont return your call, never consider a posting for that entire recruiting company again. Sooner or later, these so called professionals will receive a wake up call, the inevitable pink slip, and then they can experience what we are dealing with…a totally defunct, useless and unfair screening system, designed by inept programmers and released with litte or no release testing.

  18. Ashok Kumar

    The whole process is broken. Its so easy to apply but very difficult to get through the process. Now it has become an exercise in gaming the software to get noticed. That is why the main channel for getting a job is still the old fashioned “whom do you know inside”.

  19. Diana

    As a long-time hiring manager now on the other end of seeking a position, I am fully exasperated with the automated resume submission process at many companies. When I am contacted, it is typically by a recruiter who found my resume on Dice and has a client match. This is the way it used to be, and in general I always found competent candidates, employees, and even jobs for myself. With the automated software, I rarely hear from the company applied to beyond the initial email confirmation. Sometimes, months later, I may get another automated email with the “while your credentials are impressive, we have found someone better suiting our requirements….” message. At that point i can only conclude that a monkey pressing random buttons on the HR system selected the other candidates, because I usually don’t even apply to a position where I do not meet or very much exceed the requirements. The best way to find a good candidate is to get the basic feel from a resume, and then TALK TO THE PERSON. Some of my best hires had less than impressive resumes, but were enthusiastic, had good work habits, and learned quickly the job requirements that perhaps were not already in their backgrounds.

    My bottom line opinion is that if a company really needs to fill a position – to get the work done! – they won’t agonize for months trying to find the letter-perfect applicant. It’s not like you can’t fire somebody who doesn’t work out. Try some good ones out, and hire them! And then get rid of the internal recruiters department, because they are just dragging things out to keep their own jobs.

  20. I agree automated online screening systems are poor, but have an explanation for why they are used.

    The supply and demand situation leaves employers with choosing between so many good candidates they can afford to discard many qualified applicants for no reason at all. Often they don’t know how to assess a good fit based on assessment since they can’t do the job they are hiring for so they’re trying to minimize their decision making overhead in any way possible.

  21. I’m not so certain it was a short-coming of the screening software. Isn’t plausible that the question was written that way to disqualify just about every qualified candidate so the company could become extremely selective in whom they hire without having to answer to any worker advocate group, union, or even the department of labor?

  22. IT Professional looking to work in USA

    Online screening does not seem to work nicely. Needs the work of a smart recruiter to actually do the job of recruiting.

  23. Cynthia Thomas

    I think it’s a bunch of propaganda that there are so many thousands of qualified candidates submitting applications for a single position. What might be true is that there are thousands of desperate job seekers submitting applications for any openings, whether they are vaguely qualified or not. Crap shooters, if you will. And, of course HR people don’t want to waste their time with people who don’t have a clue about the job they are applying for.
    Online screening seems sensible and useful in that respect. Seems to me, there needs to be some kind of balance between impersonal computer filtering and human intuition. I might emphasize the word “human,” as in Human Resources.
    I try not to be too cynical and read into trick questions with thoughts of age discrimination strategy. I’m almost 60 myself, so it’s hard to do. I do have an Associates Degree in Computer Science and a Bachelor’s Degree in a completely unrelated field.
    I would have failed the question too. So what happened to the days when college meant that you didn’t just learn a trade, but you learned how to think? Yes, in some focused skill, but that it prepared you for a pursuit of any passion. With eyes wide open, never stop learning, and, there’s always more to learn.
    Does this make you incompetent? Of course not. And I do eschew the self taught. Which seems to be common among the IT wannabees. But Steve was not self taught. He did learn the fundamentals in college. He just didn’t get a degree in it. He learned how to think and kept learning in a field he was passionate about.
    Human Resources needs to get back to basics here. I understand. A Human Resources guy is clueless about what a programmer does. He relies on the computer screening now to weed out the crap shooters, the inexperienced, and the self taught. But what about the HUMAN factor here?
    Since when does the brainy guy who lucks up, by getting through college, with the right degree, signify that he’s going to be a great employee? Does he come to work on time? does he call in sick often? Is he moody, or cocky? Is he eager to solve problems for the company, to earn his pay, or just wants a job and doesn’t care? Only a human can tell, by talking to another human. No computer can discern this.
    Edge cases could easily be your perfectly motivated, passionate, problem solving employee. But Human Resources, and the online screening software, discarded Steve. While game playing and white text seemed fascinating, it’s a shame that the human, in Human Resources, has vanished. One last irony, he’s a programmer, and badly done programming did him in!

  24. Eric Schweitzer’s view and those of many of those who responded reflect a misunderstanding that is easy to get caught up in. The optimal goal of the hiring process is to hire people who will perform well during their employment. That is, however, only the functional specification and not the operational objective.

    The operational objective is to hire someone. After applying narrow optimization, the objective becomes hire someone quickly with minimum effort. The easy first step in performing this optimization is to reduce the number of applicants that are considered at all. At the same time, the minimum threshold for the process is to avoid hiring someone who will have to be replaced soon after being hired. Strict use of criteria that has some correlation to the work performed works for both these objectives.

    Criteria based filtering isn’t intended to identify those who will be better performers after they start working. It’s there to bring numbers down to a manageable level. The criteria isn’t judged by the long term performance of those who make it through; it’s about getting the desired number of somewhat qualified applicants into the rest of the process. Aside from reducing the list, discussion over the relevance of these criteria is only conversation.

    In some cases, the criteria can be extremely narrow. I remember seeing a help wanted ad that had a list of required experience that was so long and specific I didn’t see how they expected to find anyone who’d meet them. A colleague explained that they already knew who they wanted to hire, but policies required that the opening be published.

    It’s possible that the criteria is deliberately defined so narrowly that no one will make it through. The results then justify use of off-shore or imported H1B resources. For decades, new IT methodologies, techniques and tools have been promoted to business using buzz words about quality and productivity, but the true appeal to business was the promise of having to pay fewer programmers and analysts to run things. There has been some success in achieving this, but many businesses shifted the strategy to finding those who will do it cheaper.

    As I said at the beginning, it’s a misunderstanding to say these screening devices don’t work. That assumes they are there to best satisfy functional business needs. They aren’t. They are there to meet the operational objectives of those tasked with locating employable resources.

    Trying to crash through these gates will only produce frustration. Finding a way around them isn’t particularly easy, either, but smaller businesses aren’t as set into large processes, and may provide a better opportunity.

  25. I never did get any degree but have over 30 years of programming experience. I have been a senior manager for Development and QA and have run my own company for 15 years. The issue is that there are a lot of people just like me with the right experience and no degree. The only thing a degree does is show that you have the ability to go to school for 4-5 years and get through it, which in itself is a great accomplishment. It doesn’t mean that you have any ability to write or design software programs.

    I stopped going to Night School because I was wasting my time and wasn’t learning anything, For two years I was told not to come in for the final exams because I was already getting either an A or B in the class. The turning point was I entered a programming class that was manditory and the instructor worked for me during the day..

    Is life fair, nope. But get off your soap box and stop telling me that your better because you have a degree. As for Edge Cases, my lord even if you didn’t know the meaning, just think about what it means in context to the artical, it is obvouse.

  26. Dennis

    Sarah (and the others who have said a degree is required to be a good software developer),

    FYI, here are a few projects this cowboy developer with only a two-year degree deals with.

    System/Application Administrator for a linux cluster used by our criticality safety group. The cluster runs MCNP calculations and a PERL/mySQL application used for tracking everything involved with criticality safety.

    System Administrator/DBA/SQA author for a PHP/MS SQL Server application used in generating Designated Safety Analyses. In the case of our main facility, this document is around 2000 pages long.

    Application Administrator/SQA author for a LabWare/MS SQL Server system used to calculate radioactive material at risk.

    Software Test Engineer for a government startup that just won Excellence in Pilots and Start-up Projects. Google “yourCLOUD”.

    Developer/DBA/System Administrator for five international experimental two different laboratories.

    Web/Application Developer for the Safety Basis Division.


  27. Unca Alby

    Yah, OK, me, just my opinion, I say, LIE on the application. Coz let’s face facts, the whole point is to kick your application out of the system. That is the GOAL of the system. That’s HR’s main job, to take 10,000 resumes and THROW OUT 9,990 of them.

    Maybe it doesn’t sound very good, but YOUR goal is to SUBVERT that system. You need to somehow do an end-run around all their obstacles. That’s the main reason why you need to “customize” your resume to the job description, that is, copy the job description into your resume.

    If you get to the point where you can actually interview with a live person, and they call you on it, just say “OOOPS. MY BAD! Sorry, no, I don’t have a Bachelors Degree in your field. But, hey, does the MASTERS DEGREE or the PHD in the same field mean something?”

    If you never even get to the point of talking to a live person, it’s not going to make any difference anyway.

  28. Wadya

    The entire process of resume screening and interviews is flawed. In screening the recruiters go by keywords in resume and then contact the candidate. Most if the recruiters do not have any technical or subject background. Interviewers want perfect candidates but there are none. Interviewers should know what work they want to get done, what problems they want to solve and accordingly should ask questions in the interview. They have to find out whether candidate can work in the subject area they need and whether the candidate can learn fast.

  29. Steve Hansen

    I don’t have a bachelors degree in computer science. My bachelors is in mathematics. I do have both masters and doctoral degrees in computer science. And I have a few decades of industry experience actually doing computer science…

    Clearly, the person who wrote that question was not thinking. A better question would be, “Do you have bachelors degree in computer science or a closely related field?”, or perhaps, “Do you have a bachelors or higher degree in computer science?”.

    It is very clear that the knowledge gained during a bachelors program can be very useful. It is also clear that, a specific bachelors degree is not the only way to gain that knowledge. And, it is even more clear that the knowledge gained in any degree program is only a very small fraction of what a practitioner needs to know at various points during a career.

    Similar questions that require 10+ years of experience in specific technologies that have only existed for two or thee years, are just as bad. “Do you have a least 10 years experience coding in C++11?” A “yes” answer cannot be true, but someone who has been using C++ for a couple of decades…

    By asking such questions, the manager is really telling me loud-and-clear, that he or she is an idiot.

    I decided a long time ago that I don’t want to work for idiots.

    The thing to do is to balk the application process, and write a nice letter to the president of the company. Explain why you think that manager is an idiot… and offer to replace him.

    • Dennis


      I agree with most of your reply — until I got to the bottom. MOST companies — even small ones — have an HR person that makes these job postings. It isn’t reasonable to expect an HR person to be knowledgeable about every field they have to post jobs for. However, I would agree that HR departments should be required to pass job postings back to a subject matter expert for the position before posting it.

      You had a good example — but I think I have a better one that should’ve never been posted. It wouldn’t be as bad if when the contact was notified, the posting would be corrected and you got a little thank you. I once saw a job for a software developer using DBase III for Mac. Since DBase III for Mac never existed but a similar package called FoxBase did, I emailed the contact and asked for clarification and never heard back.