Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming

Ask Slashdot: What Portion of Developers Are Bad At What They Do? 809

ramoneThePoolGuy writes: We are looking to fill a senior developer/architect position in our firm. I am disappointed with the applicants thus far, and quite frankly it has me worried about the quality of developers/engineers available to us. For instance, today I asked an engineer with 20+ years of experience to describe to me the basic process of public/private key encryption. This engineer had no clue. I asked another applicant a similar question: "Suppose you wanted to send me a file with very sensitive information, how would you encrypt it in such a way that I would decrypt it?" The person started off by asking me if it was an excel file, a PDF, etc. In general, I'm finding that an overwhelming number of developers I've interviewed have poor understanding of key concepts, especially when it comes to securing data. Are other firms experiencing this same dilemma in finding qualified applicants? (Quite frankly it scares me that some of these developers are building sites that need to be secure)"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: What Portion of Developers Are Bad At What They Do?

Comments Filter:
  • by jawtheshark ( 198669 ) * <slashdot@nosPAm.jawtheshark.com> on Friday February 13, 2015 @01:26PM (#49048271) Homepage Journal
    It's a vast field, and expertise of people is usually just a subset. I'm not even sure what the answer you you expected was, but I'd say: I'd use your public key to encrypt the file to you and then send it to you. Personally, I wouldn't know which commands to invoke to do this, but I know that's the theory.

    So, should any developer know this? That is debatable. I've had very competent developers who had next to no clue about how DNS works. They could do their job just fine with that. Me? Personally, I'm not up to snuff with the finer points of SQL queries and all the joins that exists and when it makes sense to create an index, etc. Could I find out? Most likely, but I haven't had the need to recently.

    The problem is, that you are mapping your knowlegde to "what people must know". I used to do that too, and I probably still do often enough. The DNS example above didn't come from nowhere: I had the case, and I was really thinking "how could such a competent person not know this", but then this person could probably enlighten me about dozens of things I don't know well enough.

    It all comes down to what you define as "general knowgledge" for a developer should be and that is highly subjective.

    TL;DR Hiring people is hard. Especially, technical people.

    • by Asmodae ( 1155077 ) on Friday February 13, 2015 @01:34PM (#49048393)
      Indeed, it seems like if you're hiring for a very specific skill set, state that in the job req. If its a very narrow skillset and you want them to be up to speed from the get go, be prepared to pay a premium. Otherwise you might want to give more attention in the interview to what they can learn vs what they currently know. Especially in security related applications where things change all the time.
      • by Java Pimp ( 98454 ) on Friday February 13, 2015 @02:09PM (#49048891) Homepage

        This. As someone who has 16 years under my belt I'm finding it more and more difficult to branch into areas which I've had little experience because to justify my salary I'm expected to already be an expert. Which is a shame because I have at least another 20 years of new technologies to learn before I retire.

        • by brian.stinar ( 1104135 ) on Friday February 13, 2015 @02:49PM (#49049327) Homepage

          I've found this to be much easier as a contractor. I have different rates for different skills that I have, versus my less-skilled areas, and my less skilled employees. One major problem with W2 style employment is that it is inflexible. People can become rapidly more, or less, valuable based on their skills (attitudes, or whatever), and their compensation doesn't quickly change. Quite often, what happens with me is that a client hires me for something I am very skilled at, that I can sell them well, and then after that is finished and good, they realize they need other things too that I'm not quite as skilled at. I can have a conversation with them about giving them a discount on the rate no problem, and because of the relationship we've built up, they normally have no issue subsidizing (at a discount) my learning. Typically, I try and charge them about what an employee would make for things I'm not (yet) good at, and around 2-3x what an employee would make for things I am good at. Plus, all of this is legal. Depending on your state, there are all sorts of laws about cutting employee's salaries and/or firing them.

          The downside of this flexibility is that the income is also quite flexible. If you are expecting a consistent, senior level salary, then I think you'll be consistently doing things you're already senior level at.

          Or become part of a fully funded startup. That is a crazy roller coaster ride one of my buddies is getting on, and it sounds like a psychedelic combination of contracting, W2 employment, and doing everything that needs to be done, now. I've been a part of an unfunded startup, and I learned a TON quickly, but I also never got paid and (now) never expect to.

    • by Anonymous Coward on Friday February 13, 2015 @01:38PM (#49048459)

      We have had to get away from getting into looking for too specific skill-sets and instead look for overall qualities, such as how they learn over the course over an interview loop, as well as team fit, if we can find someone that shows up, demonstrates the ability to learn, and gets along well with others, if they demonstrate some level of intelligence then they should be able to pickup the specific skills in a short amount of time, that's what those 20+ years of experience should have taught those people. Don't get me wrong we do dig into the technical understanding but it's usually around design patterns, and overall good coding qualities.

    • Comment removed (Score:5, Interesting)

      by account_deleted ( 4530225 ) on Friday February 13, 2015 @01:53PM (#49048699)
      Comment removed based on user account deletion
    • by pugugly ( 152978 ) on Friday February 13, 2015 @02:00PM (#49048785)

      No, you (Alice) encrypt with your private key, then encrypt with 'Bobs' public key, then Bob decrypts with his private key and again with Alice's public key.

      Thus Both Alice and Bob are authenticated, and no one besides Alice and Bob can intercept.

      Pug

      • by RingDev ( 879105 ) on Friday February 13, 2015 @04:37PM (#49050265) Homepage Journal

        The beauty of this post is that in 2 sentences you have just educated any readers lacking this knowledge to the point that the OP's interview question could be answered.

        This is the danger of specific knowledge questions. Knowing the answer of the top of your head is largely immaterial. Google is just a finger stroke away. And thanks to JITC (Just in time Comprehension) specific knowledge is less critical than general knowledge and thought process.

        I have a couple of things I like to look for in an interview. I like to know what a person is passionate about. A person who really enjoys coding, who works on open source projects on the side, does game mods, toys with the latest new technologies, etc... is likely someone who is always going to be pushing for a better solution.

        I also have a white board exercise I like to do because it has an easy answer but can be thrown a curve ball based on inputs. Most folks miss the curve ball, so when we point it out, we can see how they debug code.

        Those two general points helped to form one of the greatest development teams I've ever worked with. There were days where it took a lot of cat herding to keep some of them on task, but most of the time, you put a problem in front of them, and they will attack it with vigor and get you a solid product at the end of the day.

        -Rick

    • by Slashdot Parent ( 995749 ) on Friday February 13, 2015 @02:09PM (#49048893)

      It all comes down to what you define as "general knowgledge" for a developer should be and that is highly subjective.

      Can I be snarky for a moment and just enjoy the irony of a sentence that wonders what should be considered to be "general knowledge", and it has the word "knowledge" misspelled? :) Continuing with the theme, I'm sure I just made a run-on or something in the midst of my pedantry.

      OK, back to business. This is a hard question to answer for a senior developer, what should be considered to be "general knowledge". I think that to be a successful developer at the senior level, you really need to know a little bit about a lot of things, and be able to look up what you don't know.

      By way of example, as a developer, if I were to see something like "192.168.0.0/24", I recognize that immediately as an IP address range in CIDR notation. Mind you, I have no earthly clue how to compute that range--I'm not a network guy--but I know what it is in the general sense. Enough to google for "CIDR calculator" in order to compute the range in a format that I understand.

      Part of being a developer is having a decent working knowledge of security concepts. Like "Oh, I'm sending a file across the public Internet. Someone could intercept that. I'd better protect it somehow with encryption." Maybe the developer doesn't quite know what type of encryption to use yet. Should the connection be encrypted, or the file? Or both? Is it required to verify the authenticity of the file? Should it be signed? Or is it good enough to verify the remote host? Or some type of login?

      Incidentally, I disagree with OP that the answer of "The person started off by asking me if it was an excel file, a PDF, etc." was totally unacceptable. Excel and the PDF standards both have encryption support, so if the "sensitive data" were an Excel file, the path of least resistance would be to pointy-clicky through the menu and click "Encrypt this here spreadsheet" (or whatever the command is). Likewise with the PDF, but with Acrobat instead. Of course this does not solve the general problem of "how do I protect sensitive data?", but maybe he doesn't want to bother looking up and verifying your public key, installing GPG or setting up S/MIME or whatever if a simple solution exists. If I were to send you a spreadsheet of salary data for the company, you can bet I'd just encrypt the fucker within excel and tell you the password via some other channel like the telephone.

      • by jythie ( 914043 )
        This touches on one of the points of why questions like these are bad. There are many things a good developer will not know off the top of their head but can easily find out when it pops up. However, asking during an interview usually comes across as wanting an answer pulled from existing knowledge.
        • good point. I've been hit, countless times, with very specific questions that the interviewer 'knew' everyone should know, but it was clearly his pet area of study. "I know this, how come you don't? sorry, not qualified. next!"

          I could turn it around, but I don't. there are a lot of things I know in my decades of being in tech that I'm quite sure the interview guy won't know. "hey, is a 2n2222 a diode, an npn transistor or a metal film resistor?". seems quite simple to me, even as a software guy. rea

      • by k8to ( 9046 ) on Friday February 13, 2015 @03:37PM (#49049807) Homepage

        FWIW, I think that's a mistake. Why trust the opaque "encryption" feature of the application like Excel or acrobat when you can use something well-proven?

        Unless you only want to dissuade casual observation, in which case any number of simple methods may work that involve no encryption.

        • FWIW, I think that's a mistake. Why trust the opaque "encryption" feature of the application like Excel or acrobat when you can use something well-proven?

          I don't necessarily disagree with this point, but I will happily answer the question.

          As I'm sure you are well-aware, security is not a binary value (secure vs. insecure). Because any security measure can be defeated given enough time and money, it's more of an economics problem (perceived value of defeating the security measure vs. cost to defeat security measure). There's also a convenience factor in there, because if the security measure makes life too difficult, then no one will use it properly (passphra

  • by gatkinso ( 15975 ) on Friday February 13, 2015 @01:26PM (#49048275)

    Because PKI is more of a specialization, not a fundamental.

    • by Austerity Empowers ( 669817 ) on Friday February 13, 2015 @01:34PM (#49048389)

      This is a problem I see in the entire STEM field. You work on technology X for a while, you learn it inside and out, and you expect everyone else who is "qualified" knows what you know. You want to hire someone with no ramp, who is going to drop in on day 1 and start doing great stuff, just as soon as he sets a password to his laptop.

      In practice the fields are so huge, that it's fairly unlikely anyone has the domain knowledge you've acquired in your niche, unless you hire direct from a competitor (in which case you better pay well, or be offering something huge). A more reasonable approach is to weed people out based on their general skillset (i.e. what they should have learned in school), based on resume lies, and general attitude and disposition: excessive use of the passive voice, reluctance to commit to anything, points in their discussion where they failed to pursue issues to the next level, excessive number of employers, etc. Then expect it's 6 months before they start producing something that doesn't require you to hit them for. If you're afraid they will leave in 6 months, you're not paying enough or else you hired an incompetent and he's doing you a favor.

      • Sortof, I find that the situation is:

        You work on technology X for a while, you learn it inside and out, and you expect everyone else who is "qualified" knows what you know. but they moved on from that technology a couple of years ago and now only want to develop in Java/Erlang/Ruby/Node/Scala (* delete as applicable as depending on which year this decade you were hiring).

        even more mature technologies like .NET are stuffed full of so much churn that no-one really has time to become a master of any of it. Lik

    • I am not an expert on cryptography. But I know which algorithms I would use. I know how PKI works. I understand how to use PKI either to encrypt, or to authenticate. I understand what a certificate and certificate chain are. I understand the basic principles.

      I would not write home grown code. I would definitely select mature, well tested libraries. But I understand what to use and how to use it.

      I've been working since the days of the Apple II. It seems pretty basic to understand the basics of
  • Yes... (Score:2, Insightful)

    by Anonymous Coward

    Having been interviewing people recently, it's almost impossible to find people who are half decent. Slashdot likes to make out like there's a huge glut of good engineers without jobs in the US. If it's true, then I haven't found them. What there is is a huge number of people who don't understand how anything at all works.

    • Slashdot likes to make out like there's a huge glut of good engineers without jobs in the US.

      There's a huge glut of engineers who think they're good. Draw your own conclusions.

    • Re:Yes... (Score:4, Funny)

      by Oligonicella ( 659917 ) on Friday February 13, 2015 @01:30PM (#49048339)
      This announcement brought to you by the H1 Visa Promotional Board.
    • Re:Yes... (Score:5, Insightful)

      by tibit ( 1762298 ) on Friday February 13, 2015 @01:32PM (#49048353)

      I must, sadly, second that. There's a lot of engineers who have vastly overinflated opinions of themselves. In my hiring, I try to be modest, since I know I'm not good at most things, and always look for people better than myself in some way - mostly to learn from them. They are very, very hard to find. But then I spend about 15% of my time reading "random" technical writings about all sorts of subjects, just so that I won't look like a total idiot when faced with fields I normally don't deal with. It helps to gain perspective and understanding of the limitations of one's knowledge.

    • OH really? I interviewed at Netflix for an API Engineering position and had the API Manager tell me that what I had been developing on the side 'fixes alot of what we are having problems with'. They then didn't hire me but invited their entire development team to my talk the next week. I have done a talk at SpringOne 2014, been invited to talk to Mashery's development team twice and am considered the leader in API automation... but can't find work to save my life. Mind you... I'm 45 in the Valley as well. :
      • Why would you have done a whole bunch of free work where only Netflix benefits?

      • Re:Yes... (Score:4, Insightful)

        by garcia ( 6573 ) on Friday February 13, 2015 @01:40PM (#49048493)

        Depending on what need I'm trying to fill, I hire 90% for culture fit and 10% for technical ability. Most often, people can learn to improve their technical ability, especially b/c there is very rarely any single individual who can fill an open req 100%. That said, what I have found cannot be learned as well, is how to fit into an organization's culture.

        • by vovin ( 12759 )

          So what are saying is that you that at your company, or the positions that you are filling, you just need warm bodies.
          What you are saying, bluntly, is that you are just building a social club where people are paid to sit around and be nice.

          What is funny is that when someone asks me if Bob is good candidate and my response is that Bob's a nice guy what I mean is
          that Bob is a moron but he tells funny stories. Sure I like to work with Bob, but I sure a hell am not going to give Bob anything
          to do that in anyway

    • Yes... (Score:4, Interesting)

      by Anonymous Coward on Friday February 13, 2015 @01:35PM (#49048405)

      There is a huge pool of EMPLOYED engineers. Even when they switch jobs they don't generally go through the typical application process circus. The problem is that the people who have been unemployed for months are the most likely to get an interview strictly because of motivation and availability.

      It IS very hard to find good people, because they all already have jobs and aren't willing to switch to come work for you.

      One good way is to chase shop layoffs (the kind where they close the whole shop, not just trim a few people), and headhunt there. Laid off people tend to be much better than fired people or people who can't get hired by anyone.

    • by sycodon ( 149926 )

      Most probably aren't making it through the HR filter because you've put so many fucking key words in your requirements. When I was out, that was what killed me. That and stupid requirements for experience...5 years experience in this or that...no, 4 years 6 months doesn't count.

    • Re:Yes... (Score:5, Informative)

      by Grax ( 529699 ) on Friday February 13, 2015 @01:43PM (#49048533) Homepage

      I keep hearing how hard it is to find good people but then the recruiters tell me that the potential employer can't meet my price point and that is the end of the discussion.

    • Re:Yes... (Score:4, Insightful)

      by AK Marc ( 707885 ) on Friday February 13, 2015 @02:02PM (#49048789)
      I've found that about 15-20% of all people in all fields are bad. Medical is one of the few exceptions to that, because of the additional hurdles designed to remove the lower performers. Even certified Engineers (mechanical, electrical), there are many incompetent ones.

      What I see with IT is that people demand the top 5% and somehow think that's "average". If 99% of your applicants are incompetent, your standards are the error, not the applicants.
  • by Anonymous Coward

    Are you going through a staffing agency? Expecting them to find you a "senior" developer who will work for 50k a year? Do you only look for resumes with decades of experience, which usually amounts to sitting in an office chair jacking off?

    Why would you expect every developer to be an expert in cryptography?

    • Re: (Score:3, Insightful)

      An "expert in cryptography"? He's looking for someone who can tell him to use a public/private key pair... that really should be common knowledge in software engineering.
      • by Lunix Nutcase ( 1092239 ) on Friday February 13, 2015 @01:45PM (#49048583)

        that really should be common knowledge in software engineering.

        For what reason exactly? Cryptography doesn't apply to many fields of software.

    • Re: (Score:3, Insightful)

      by DickBreath ( 207180 )
      I don't expect every developer to be an expert in cryptography. I do expect every developer to have a basic understanding of cryptography, which would include the type of understanding that the poster was asking for. What is PKI? How would I use it? I don't expect you to develop a secure cryptographic library and I don't expect you to develop the microprocessor in your computer. But I expect you to have a basic understanding of how a microprocessor works.
  • This is stupid (Score:5, Insightful)

    by Lunix Nutcase ( 1092239 ) on Friday February 13, 2015 @01:28PM (#49048315)

    For instance, today I asked an engineer with 20+ years of experience to describe to me the basic process of public/private key encryption. This engineer had no clue.

    Yeah, and? Not everyone is going to know the ins-and-outs of every single field of software.

    I am disappointed with the applicants thus far, and quite frankly it has me worried about the quality of developers/engineers available to us.

    Unless you claim that you know everything about everything, I'm sure I could find areas that you had no clue about as in these engineers you refer to in the previous sentence. Does that make you a bad developer?

  • by JohnFen ( 1641097 ) on Friday February 13, 2015 @01:29PM (#49048319)

    There is far more that can be known than a single person can know, so you should never, ever assume that a developer is skilled (or even knowledgeable) in a particular specialty based only on the number of years experience they have. I think you're doing a disservice in your process for finding qualified applicants: if you want them to know about PKI, for example, then you need to specify that in the job listing.

  • by sandytaru ( 1158959 ) on Friday February 13, 2015 @01:30PM (#49048337) Journal
    You don't need to hire experts right off the bat. What you want to hire is someone who recognizes that they don't know the answer, and tells you that, and then immediately says they'd go research it to find out. "Can I Google that?" is a perfectly valid answer sometimes. If you hire a person who knows how to learn whatever it is you need them to become an expert in, you'll have a new employee who is not only going to be a valuable asset for where you're hiring them, but also has the flexibility to expand to other areas when necessary.

    TL;DR: Stop looking for purple unicorns, and start looking for fast learners.
    • Re: (Score:3, Interesting)

      I agree with this in general. The last developer I hired hadn't ever written any code in our core language, but he demonstrated in the interview an eagerness to learn and had developed in other languages. He is a really smart guy so we hired him. Sometimes you need some folks though that have a lot experience in doing what you're trying to do with new initiatives...obviously they need to be able to learn as well, but the experience is critical for some positions.
  • by fahrbot-bot ( 874524 ) on Friday February 13, 2015 @01:30PM (#49048341)

    "Suppose you wanted to send me a file with very sensitive information, how would you encrypt it in such a way that I would decrypt it?"

    I'd use a cross-cut shredder, then send it to you in a paper bag along with some Scotch tape. (You didn't specify how easy it needs to be to decrypt, especially if I include some random shredded pages in the mix.)

    Works for most types of files: Excel, PDF, etc...

    • I'd zip them into a password-protected archive. Why the hell is this idiot expecting PKI for everything?

      Too much functional fixedness. Pass.

      -

  • Common Problem (Score:5, Insightful)

    by BradMajors ( 995624 ) on Friday February 13, 2015 @01:31PM (#49048345)

    This is a common problem... interviewers asking questions that have no relevance to any of my work experience or interests.

    • Yeah, these questions would only be relevant if it was vital to the job being interviewed for. Otherwise, these are just stupid questions. Unless knowing the ins-and-outs of PKI is relevant to the job, this is about as dumb as me asking a Web developer about how to optimize multimedia codecs using ARM Neon.

  • I'm a recent CS grad, but I've had a number of years of IT experience as well, and explicit security education/training hasn't come up in either case. OOP? Troubleshooting? Database design? Parallel programming? On it. Computer Security 101? Not so much.

    .
  • by QuietLagoon ( 813062 ) on Friday February 13, 2015 @01:32PM (#49048361)
    And about half are above average.
  • Broad experience is great and I wholly support companies which are looking to add resources who possess such knowledge; however, broad experience can come with the price of not having enough targeted knowledge to bring deep-dive specifics to the mix.

    The real question you should be asking is whether they can figure it out on their own if tasked with finding a solution to the problem. I guarantee you that most of those you have cast aside due to their lack of public-key cryptography knowledge would be able to

  • by muhula ( 621678 ) on Friday February 13, 2015 @01:36PM (#49048409)

    Are you a hot magnet company? (well known pre-IPO) Are you paying above market value?

    My guess is that the best devs have already been scooped up, and the ones interviewing are comfortable enough where they are

  • I agree with all of the above. No one person is going to be an expert on everything programming/IT. Case in point, I spent the first 18 years of my career as a developer...in many languages. I recently made a career shift and became a Network Administrator for a company. I made it clear to them that while I had exposure to that side of things, I was by no means a Net Admin. I didn't know shite about Exchange administration when I started 6 months ago. I know WAY more now, but only enough to know that
  • by Laxator2 ( 973549 ) on Friday February 13, 2015 @01:39PM (#49048469)

    I did have to interview quite a few people in a year, when we were re-building our team.
    We interviewed about 40 people before getting 2 of them who actually knew the stuff they advertised on their CVs.
    One extreme case, was a candidate who put on his CV that he wrote a compiler for C++.
    I expected him to know quite a bit about the language itself, but the discussion did not get past the point where I asked about the number of operations needed to find an element in a sorted array of length N.
    As for the people that were already working in the place, one could spot who was trying to maximize the pain for the ones left behind, in case he was let go.
    A relevant example is a developer who made sure that his code made calls to a library for which he was the only one with a valid license. Had he been let go, the whole system would stop working.

  • by fractoid ( 1076465 ) on Friday February 13, 2015 @01:41PM (#49048497) Homepage
    Genuine answer is "most of them", but only because virtually everyone is terrible at software development. Note that even terrible developers will get there eventually and if you're developing simple software they may still be your best bet. You only need excellent software developers (which implies strong analytical and creative skills) if you're working on something interesting. If you're grinding out simple business logic you are probably better off with mediocre developers because they won't get bored. A scalpel is sharper than a bread knife, but it's not very useful for slicing bread.

    In my career, out of the ~50 I've worked directly with, I've worked with maybe three developers that I'd class as excellent. A few that were "good" for various definitions of that word. The rest were marginal at best, but they still got things done after a fashion.
  • by idontgno ( 624372 ) on Friday February 13, 2015 @01:41PM (#49048501) Journal

    Title asks "Ask Slashdot: What Portion of Developers Are Bad At What They Do?"

    Title actually means "Ask Slashdot: What Portion of Developers Are Bad At What I Do?"

    If a functional understanding of a fairly specialized technological area is what you have in mind, don't assume it's widespread.

    That's like getting bent out of shape if the local mechanic (fully trained and certified, even) doesn't know the detailed intricacies of ECM programming.

    If you want a broadly expert Renaissance Engineer, I hope you're prepared to pay more than the usual one-trick-monkey pay. You're not talking about an engineer, there. Something more like Chief Engineer or Chief Scientist.

  • "Suppose you wanted to send me a file with very sensitive information, how would you encrypt it in such a way that I would decrypt it?"

    Sounds like something you should be dictating to them not asking them for thier opinion. Unless the developer has actually needed to use use things like PGP etc, he probably has never thought of it.

    I think a better question is, We will be transmitting confidential/sensitive information, which means you will use PGP(whatever) are you ok with that? etc.

  • I keep running into folks who are locked into a very reactive mindset and require explicit direction because management refuses to let them work / think independently. Sometimes it just ends up being easier to be told what to do than it is to stick your neck out on the line to try and do something innovative. It goes back to the silo mantra. Stay out of my (Network / Security / Database / Workstation) Sandbox!
  • Unless you have a genuine interest outside your actual scope of work you can be very proficient in a narrow way like how to write SQL or write a GUI app or a back-end web service without having a clue about much of anything else. These are the people who just want to collect a paycheck and go home, nothing wrong with that really until they need to find new employment and it turns out it's pretty hard to find another position where the glove fits.

    All that really matters is if you're capable of the job you're

  • by Anonymous Coward on Friday February 13, 2015 @01:45PM (#49048573)

    I'll be frank and post anon to avoid harming my image.

    I was smart enough to see that College was a huge waste of time. I dropped out of high school senior year to go move and live on my own. Wasn't about to sign up for a whole new school just to finish part of a year so I never even got a high school diploma.

    However I self taught myself programming before I turned 10 years old and have been coding on a unix machine of some sorts with C/C++ for nearly 18 years now. I'm only 27.

    I go to the conferences and attend every single event that I can find because I have *passion* for programming and technology. Through meeting people at conferences I was given a rather high paying developer job despite my lack of credentials. (I earn over $100K in a place where rent for a decent sized house and garage is less than $1000/month).

    I decided to move awhile back and I can't seem to find anyone in a Red state that will even give me the time of day. I have 8 years of professional senior-architect level experience and tax documents proving I earned the big bucks with no degree. I had to go back to a Blue state where suddenly I got called back for interviews immediately and was visiting 2-3 in person interviews a week. 2 weeks later I was employed again.

    Turns out your HR drones are likely keeping guys like me from even getting a second look. Stop taking the guys who can't see a shortcut and wasted a lot of time and money on college. Those people are the fools. I skipped doing all their hard work, skipped their debt, yet I have better skills due to my passion and I absolutely embarrass them when you get us side-by-side. I grew up coding and literally was an expert before the other guy even tried getting into college.

    I now work in a Venture Capital capacity with lots of big clients who almost wouldn't believe me if I told them I had no credentials. They think I'm an MBA because I act geeky and seem to know something about almost every computer science topic.

    So my advice to you is stop filtering. I only work for places that will give me the time of day when I hand in a resume with not one educational resource. That proves to me that what I can do is what matters, not how rich my parents were or what I *did*.

    So focus on what people can do. Not what they did. Seriously. You'll find some crazy smart guys who this whole time weren't even being called back.

    • by david_thornley ( 598059 ) on Friday February 13, 2015 @03:32PM (#49049755)

      If a company gets more applications for a position than it can deal with, it's going to filter them down. The hiring manager's job is to get somebody good with reasonable effort, not to get the best regardless of cost, and high school dropouts are generally unlikely to be all that good.

      Nor do I know that you're any good. You are certainly confident, which is in my experience more likely Dunning-Kruger than genuine expertise. The best people I've worked with have been at least somewhat modest, because they have had a clue as to a whole lot of things they didn't know. Your confidence and possible social skills may be getting you jobs that you really can't do well, and don't realize you aren't doing well. Convincing people that you're an MBA is not something a typical developer does, those being different skills.

    • by radish ( 98371 ) on Friday February 13, 2015 @06:01PM (#49051073) Homepage

      Meh. I wouldn't hire you because you come across as an arrogant prick who thinks he knows better than everyone else. That's a team dynamic issue, which is every bit as important as what you can or can't do technically.

      That aside, your general point is sound - what matters is the person not what certifications they have. However, as others have mentioned there is a value to a (good) formal CS education, at least for the work I do. Self taught people tend to learn the minimum needed to solve the problem they face. There's a whole bucket of academic stuff (logic, complexity, stats) that don't often fall into that category but which are really useful as background knowledge. Someone teaching themselves python or ruby is unlikely to spend much time learning about CPU cache design, but that can be surprisingly useful when it comes to optimizing stuff. Just examples, there are always exceptions :)

  • by HappyDrgn ( 142428 ) on Friday February 13, 2015 @01:51PM (#49048657) Homepage

    I've had a lot more success hiring great people when I stopped interviewing in a Q&A format and instead spend the time learning how the candidate solves problems. I typically spend 5-10 minutes asking some specific questions about technologies on their resume. Then I define a fictitious project and spend the remaining time ( typically an hour ) learning about how they might solve it, dive deep into a few areas, do some white boarding, a little bit of impromptu code examples and discuss the potential long term problems and solutions. You get a better feel for the breadth of someone's knowledge and their ability to think soundly on their feet. It lets you know that they have the knowledge and ability to apply it to a problem.

  • PDF encryption (Score:5, Informative)

    by oneiros27 ( 46144 ) on Friday February 13, 2015 @01:51PM (#49048665) Homepage

    I asked another applicant a similar question: "Suppose you wanted to send me a file with very sensitive information, how would you encrypt it in such a way that I would decrypt it?" The person started off by asking me if it was an excel file, a PDF, etc.

    You should've answered the person, because then they might've told you that there's an encyption standard for PDF. I use it with my tax-preparer, so that we don't need to deal with other programs that would decrypt the file (and then potentially leave an unencrypted copy lying about).

    Excel offers password protection to restrict modifications, it wouldn't surprise me if they offered encryption, too.

    So in this case, it might not be that the person sucks at his job ... it might be that you are, because you had a pre-conceived notion of what the answer should be, rather than finding out how that person would handle the problem. It's entirely possible that they could come up with a better solution than yours.

    And as for the the question of what proportion are bad ... you have to remember that you're hiring people. The people who really know what they're doing are likely either going to be paid well, or have an established network that they can tap when they need a job. (Rather than answer some random job posting where they don't know if it'll be worse than their past job, and/or have to jump through hoops answering poorly thought up interview questions).

    If you mention to your current developers that you're hiring, and they can't manage to find people to refer, that's possibly a sign that none of them would be willing to subject their friends to come work for you. And if that's the case, you might have problems when one of their friends' companies are hiring.

    • "The person started off by asking me if it was an excel file, a PDF, etc"

      He may have also been trying to determine the size of the file. You may attack the problem differently if it is a 200k pdf vs a 40GB log file.

  • by merick ( 1878106 ) on Friday February 13, 2015 @02:00PM (#49048779)

    I'm a web developer and I also haven an interest in understand public-private key crypto, PGP, steganography, physical security etc. The thing is, You don't need *any* of that to build good, secure websites. You should be asking about things from the OWASP Top 10 List if you want to gauge their ability to write secure code.

    https://www.owasp.org/index.ph... [owasp.org]

    Otherwise you're judging them for not having the same "other" unrelated-to-your-job security interests as you.

    They should understand that they aren't trained enough to build their own authentication encryption systems correctly. They should use generally accepted procedures like BCrypting passwords with a unique per-user SALT that also uses a site-specific key. And that other sensitive fields should be blocked from being recorded in logs, data should be encrypted at rest, etc. But if they have poor OWASP skills, the sensitive data is still readable because it is accessed through the application which is decrypting it for an attacker.

    You're asking the wrong things and judging on unrelated skills.

  • by endus ( 698588 ) on Friday February 13, 2015 @02:00PM (#49048783)

    Almost everybody is extremely bad at their jobs. Especially in IT, but in general too. I would say a solid 85% of people working in IT today should not be in the field.

    I work in Security and so my job is basically to know, at a high level, how other people should do their jobs. Of course there are compromises that have to be made for functionality and cost, but in reality most IT systems are developed and architected in a way that no one should architect anything for any reason. The amount of money that's wasted because of poor infrastructure is astonishing. Companies could have an architecture that's twice as secure and probably half the cost to maintain if they were willing to make a one time investment in doing it properly.

    Developers are a weird animal too. I know I'm playing with fire saying this on Slashdot. :) In my experience developers have a deep understanding of how systems work and are designed (obviously), but their understanding is *extremely* narrow. This is by no means true of all developers, but it's true of a lot. They can write brilliant code, but they can't tell you how to go about FTP-ing a file, how to encrypt an email, or how a domain works. It's a specialized skill set.

    At a previous company I had to call support because my computer didn't grok with the domain and wasn't getting group policy. The tech, with her domain admin access, comes over and is obviously floundering trying to fix the problem. I suggest running a DOS command I know...she googles it and pulls it up...she gets to the command prompt and starts typing, "command\optionfoobar-x7", etc. How can you possibly be in that field and not know the *most basic structure* of a DOS command? I don't care if you know the command and options, everyone googles that crap, but you don't know how to type it in properly? A backslash and no spaces? Really? Even when you're looking at a webpage which has it verbatim?

    Its no wonder things are in the state they're in.

  • by tempest69 ( 572798 ) on Friday February 13, 2015 @02:05PM (#49048843) Journal
    I've sat through an upsetting number of tech interviews. Getting someone at the high end is a really horrible experience. People come in with very impressive resume's only to show no real skillset.

    I don't think having some lack of understanding of encryption is a non-starter.
    But I do want to see that someone has a good breadth of experience, and can talk about a good number of things at some base understanding:
    How a file system works,
    how a network works,
    how memory works,
    how a repository works,
    how a software build works,
    how to use editor functions far beyond what can be done by microsoft notepad,
    how to use a regex,
    how to make a presentation from data,
    how to make a lamp webpage,
    how to merge tables from multiple databases,
    how to do statistical tests on data,
    how to set up proper controls for experiments,
    how to write. The other part is that bad applicants pervade the pool. Good hires get hired, and held onto -- Bad hires don't get hired, or get released back in the pool. If you want a good hire, there is a bunch of crap applicants to wade through, or you pay the cash to lure talent away from a lucrative job.

    Oh the subject.. Eventually gave up on hiring a senior, and posted for a junior position, and got far better applicants than we ever saw for the senior position.
    • by angel'o'sphere ( 80593 ) <{ed.rotnemoo} {ta} {redienhcs.olegna}> on Friday February 13, 2015 @03:22PM (#49049665) Journal

      So you are a bad interviewer, too.

      'How file systems work' would span one book, minimum.
      So what is your question?

      What do you mean with 'Repository'? Certainly not what a hard core information manager means. You likely mean either a source code control/version control system or an artifact repository like maven/ivy. So you see: I likely had given the wrong answer, because I had said: a Repository is a version of a database that contains metadata (true meta data, not table descriptions) about its data, usually it is a graph database that uses 3 primitives, entity, link and attribute, to define the metamodel which is used to instantiate the model. Wow, that is a Repository, and is very likely not what you meant.

      The rest of your questions are kinda bollocks, too. I certainly never memorized all dialects of regular expressions.

      I google them when I need them ...

      'How to make a lamp' web page, what a stupid question is that anyway? Is P python or Perl or PHP? Why the L? What is wrong with a Mac? Why Apache? Can't it be an tomcat? Is the M MySQL? Why not Postgres? Ah, the P was given.

      The correct question would perhaps be: what would you consider/think about if you had to serve dynamic web pages?

      What actually is a 'bad hire' and a 'good hire'? Candidates? Is that new 1337 speak for people applying forma job?
      If I'm a 'hire' for you, then I certainly don't want to work for you, thanx.

  • You post two examples of questions you asked your applicants.

    Exactly zero of them applied directly to the actual work they would be doing.

    I am fucking sick and tired of being asked moronic questions during interviews - and horrified when people I work with ask them. Why do you feel the need to show people how much they don't know, and pretend you are smarter than them?

    If you want to pretend to want to find out how smart your applicant is, by all means continue. Otherwise just administer an IQ test and have them write some code related to the product they will be working on. Then, for gods sake, ask them about themselves.

    The interview is not about you -- it's about the applicant. When you find a decent one you do want *them* to actually want to work with *you* right?

  • by dougg76 ( 1078049 ) on Friday February 13, 2015 @02:11PM (#49048919)
    OP this might or might not apply to your situation

    I would like it flip it around and ask you why do you think your companies are actually worth working for? Are you going to employ us when we are 40, 50, 60+? Are you going to ask me a bunch of stupid questions even though I have 20 years of work in my portfolio? I just don't understand why its so acceptable for employers to be so arrogant in the IT world compared to other professions.

    • Do we ask medical professionals to play with putty during an interview to show us how they work?
    • Do we ask engineers to play with toothpicks and tape to build a bridge to assess their worthiness?
    • Do we ask a chef to make a cup of gravy? (they hate that)

    If companies really wanted good people they would:

    • Treat their current employees better.
    • Pay them market rate instead of rewarding job hopping.
    • Learn how to manage.
    • Build a reputation that will attract good talent.
    • Learn how to be professional.

    I have found that software development might be a decent job, but a horrible career. I'm going to go raise goats and make cheese (sorry ranting)

  • by Slashdot Parent ( 995749 ) on Friday February 13, 2015 @02:19PM (#49049009)

    I asked another applicant a similar question: "Suppose you wanted to send me a file with very sensitive information, how would you encrypt it in such a way that I would decrypt it?" The person started off by asking me if it was an excel file, a PDF, etc.

    Why are you holding this up as an answer to be ridiculed? This is a perfectly fine way to approach the problem.

    Many sensitive documents are in Excel format and Excel has an encryption function (same with the PDF standard). If I were to send a sensitive Excel file to someone, I would most likely just encrypt it within Excel, send it on its merry way, and then just deliver the password to you out of band (like via the telephone). That is secure enough for most corporate purposes. It's not like I'm sending you nuclear launch codes or anything.

    Obviously that doesn't work in the general sense because not all document types have specs that support encryption, but what's wrong with taking the easy route? I can pointy-clicky encrypt an Excel file much more quickly than you can organize a key exchange, verify each other's keys' authenticity, etc. Your way would be more secure, true, but sometimes, you just need to email a fucking Excel file and get on with your life.

  • by Jason Levine ( 196982 ) on Friday February 13, 2015 @02:20PM (#49049029) Homepage

    I'm not sure if this was a web developer position you were interviewing for, but your statement of "these developers are building sites that need to be secure" makes me think it is. Let me speak as a web developer who's been at this for over twenty years.

    I've never once in my position needed to know public/private key encryption to secure files for my job. If you asked me right now how to do this, I'd have no clue. If my manager were to walk over to me now and tell me to do this, I'd need some time to familiarize myself with the process. This would mean using Google to find articles on the subject. Possibly with an addition of purchasing books on the topic or going for training, but mostly Google. I pride myself on my Google-Fu. It can be an invaluable skill to a developer.

    How do I secure my websites without knowledge of public/private key encryption then? I know how to set up SSL certificates and send traffic via HTTPS. (Yes, this is a form of public/private key encryption, but I don't know the intricacies of it. I just know how to set it up.) I also know to sanitize my inputs so a user entering "LastName=Jones' 1=1; Delete From Users" in the URL won't delete all of our records. I know not to take user input and just spit it out on my webpage. I know to look for the edge cases where security could fail and protect against them. When I'm building websites/apps, I think "how would I break this if I were malicious" and then I protect against these attacks. Is my security 100% effective? I'm sure not. Nobody's is, but I take pride in securing my sites as much as I possibly can.

    All without being able to recite Public/Private Key Encryption details on command. Unless the job directly requires this knowledge, I'd inquire as to why this was such a deal-breaking question and why you've come to the conclusion that so many developers are bad at what they do because they can't immediately recite the details of every technology you toss their way.

  • Some people just choke in interviews. Worse, other people sound *great* in interviews. What I find is the best guide is references, especially if you can *interview* the references. Just be aware that you have to scale the response you get. If the reference sounds very positive and enthusiastic, the candidate is just OK.

    Anyhow, I wouldn't necessarily expect a senior developer to automatically have much experience with public key encryption. Most developers in "hot" fields like mobile apps will have some familiarity with it because of app signing, but you can easily spend twenty years as a developer in certain kinds of contexts without ever having to give much thought to it.

    You interview developers with 20+ years of experience? Good for you! I found it so hard to land an interview with 25 years of experience as a lead developer that I decided to leave the field. People just assumed because I was over 50 I wasn't up to date with the latest technologies.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...