Slashdot Mirror


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

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

809 comments

  1. It's a vast field.... by jawtheshark · · Score: 5, Informative
    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.

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    1. Re:It's a vast field.... by Anonymous Coward · · Score: 0, Troll

      Yes, been doing this 20 years and no one has asked me to send something encrypted. And even if they had, it's the sort of thing I would do once and put it in a library and forget about it.

    2. Re:It's a vast field.... by Asmodae · · Score: 5, Insightful

      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.

    3. Re:It's a vast field.... by BarbaraHudson · · Score: 3, Interesting

      Just archive it with a password, email them the archive, and phone them with the password. No need messing with keys, which the recipient probably doesn't have a clue how to do it.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    4. Re:It's a vast field.... by monkeyzoo · · Score: 4, Insightful

      I'm not saying a developer shouldn't likely know at least something generally about public key cryptography, but the skillset of building a secure website is VERY different from that of using GPG to send a secure email to this guy doing the interview. Does the job posting specify a need for cryptography expertise specifically? There is a vast array of technical knowledge out there and you can jack-of-all-trades-master-of-none types or specialists in one or a few areas, but not all. To therefore say that these developers are "bad at what they do" smells strongly of a frustrated, non-tech-savvy interviewer/manager who doesn't understand why he can't hire someone today to build him a perfect website that will be ready next week.

    5. Re:It's a vast field.... by jawtheshark · · Score: 5, Informative

      There are also a plethora of "technically correct" answers. You could say: "I scp the file to your server", where you presume the server is secure, and ssh is secure, so the documents confidentiality is guaranteed. (Upload the file using https works as an answer too). Hey, just connect to the companies VPN and copy the file to a Samba share. Valid too!
      The question of what kind of file it was, isn't even that dumb. I'm not familiar with PDF, but I could -for example- imagine there is a standard for encryption within PDF. Someone from with a document management background would most likely think of such solutions.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    6. Re:It's a vast field.... by sycodon · · Score: 2, Insightful

      No doubt he's looking for an excuse to get some H-1B guys in there.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    7. Re:It's a vast field.... by alphafive · · Score: 1

      More to this point, what was the person applying for? Was it in the job posting you were looking for someone with cryptology knowledge and/or experience? A lot of developers let slide the stuff that's not entirely useful for them in the market. It's not like in college where you learn everything because some of it might be useful. Once you get in the market, you learn only the stuff that's useful and they other stuff starts to drift for most developers I have worked with. I would rather have a guy who knew which join to use when if I was building a database, then a guy who could tell me how private/public asymetric keys work. If it's a job where you stated or implied that you should know something about encryption then shame on them for not knowing. To a different end, if I am interviewing someone with 20 years of experience, I want to know more about their team/management skills and what they can bring to the table as a senior (--being the operative word) developer, but that may just be me.

    8. Re:It's a vast field.... by Anonymous Coward · · Score: 0

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

      This goes a lot deeper than that.
      The answer to "What do you want?" is a very hard one to find.
      There are plenty of old tales about the genie that grants wishes, and then later about making deals with the devil.
      In this case it appears as if the poster is looking for someone with a particular skillset but doesn't know enough about the field to make the request precise enough.
      Being precise is hard, you always assumes that the one you are communicating with have experience and knowledge similar to yours.

      Stupid computer, I wish they would sell it.
      It never does what I want, only what I tell it.

    9. Re:It's a vast field.... by ramoneThePoolGuy · · Score: 0

      Wrong - we don't do sponsorship of H-1Bs. We pay top dollar for really good candidates and this wasn't the only answer in the interview that the candidate had trouble with. To me a senior developer should at least know some basic concepts of encryption (not necessarily specific implementations)...I certainly wouldn't disqualify a good candidate based on this alone, however.

    10. Re:It's a vast field.... by Noah+Haders · · Score: 2

      if the guy is in your building, then just walk the files over on a thumb drive. that way it never goes through the network at all. or, just print it out and give it to him? seems like a number of options are more secure than email.

    11. Re:It's a vast field.... by AK+Marc · · Score: 5, Insightful

      You aren't evaluating candidates. You are making a common interviewing mistake and fishing for specific answers. You (wrongly) assume that a matching answer is a good answer.

      How many are bad? I'd say 15-20%. Same as every field. But you aren't looking for "not bad" you are looking for "does it the way I'd do". That's different. Why is file-level or transfer level encryption "wrong" for your question, and message-level encryption the only acceptable answer? I know plenty of people that would find your clumsy "email it" answer to be incompetent, and they'd look for SCP as the only correct answer.

      The fact that the candidate recognized that and tried to gather more information to give the right answer shouldn't be counted against him, as you did, but indicate that he's good at clarifying unclear requests (which is just about all of them).

    12. Re:It's a vast field.... by ysth · · Score: 0

      Why should they know basic concepts of encryption? Frankly, that's a subject that the vast majority of developers never need to worry about.

    13. Re:It's a vast field.... by datavirtue · · Score: 4, Interesting

      99% just poke around in whatever language they know (yeah, I'm talking about most senior devs and architects). Every architect I have met knew like one language/framework. Knowledge of: Encryption? No. Infrastructure? No. Application Servers? No. Build/Deployment? Next to none. Network Transport? No. Database? Barely. Most are totally clueless about what their software is doing really. Logging and Auditing? Blank Stares. The people who are really good and competent technically and who have a command of the above mentioned skills often get corralled into management.

      --
      I object to power without constructive purpose. --Spock
    14. Re:It's a vast field.... by OrangeTide · · Score: 1

      But the default umask for the scp process ended up being 0002. oops!

      --
      “Common sense is not so common.” — Voltaire
    15. Re:It's a vast field.... by fractoid · · Score: 1

      You (as in, the person asking the genie) are trying to find a way to describe the skills to be precise
      Without having the skills to be precise
      Or the skills to recognize whether something is precise
      Or the skills to recognize whether someone is being precise
      And yet still somehow assuming that it's easy to be precise.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    16. Re:It's a vast field.... by sycodon · · Score: 1

      First, a senior developer should be mentoring others, managing projects, be involved in architecture, probably a little database, and of course build management.

      If you want to encrypt something, use a commercial package. You are wasting the company's money if you are writing your own encryption software.

      The Wheel is available in many variations. No need to make a new one.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    17. Re:It's a vast field.... by pugugly · · Score: 5, Informative

      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

      --
      An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
    18. Re:It's a vast field.... by hawguy · · Score: 4, Informative

      if the guy is in your building, then just walk the files over on a thumb drive. that way it never goes through the network at all. or, just print it out and give it to him? seems like a number of options are more secure than email.

      Printing is probably the worst option for confidential data unless you have a private printer or it supports secure printing. The HR director at a former company had to get his own printer after he printed salary information several times before he realizing that the printer was out of paper. After he went to lunch someone replaced the paper and the salary docs ended up spread out on the printer table for everyone to view. Oops. He could have used the secure-print option, but apparently didn't know about it.

      Plus there's the fact that the print server is likely not very secure so the document could be intercepted there, many office copier/printers these days have on-board storage and might hold a copy of the document for who knows how long, and, printers are rarely patched in most offices and are often riddled with vulnerabilities. Plus, cloud-print from mobile devices goes through unknown servers so you may as well just email it in plain text than cloud print it.

    19. Re:It's a vast field.... by ramoneThePoolGuy · · Score: 0

      Perhaps the question as worded was a bit too specific. And I do give points for being able to talk through various solutions to a given problem, provided the solutions make sense - I've been in this business long enough to know there is more than one valid approach to solving any given problem. To me the concept of public/private key encryption is important to at least have a basic understanding of for developers working on securing applications - the specific implementation is irrelevant, bu the concept is important. I certainly wouldn't disqualify an applicant based on this question alone.

    20. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      When you are filling out your requisitions, are you asking for senior developers with an encryption skillset or are you assuming that all senior developers should know it? If you assume they should all know it, you are incorrect, that is not the core of any programming language and in most requires specialized knowledge. You should make a list of those things you think are important for a senior developer and share them. We can tell you if they are.

      So, how can you tell if someone is strong? How about asking for a stackoverflow score in the referrral process? Or perhaps asking them to code or review code during the interview?

      A senior developer needs to have strong technical skills in the areas you are hiring. But dont' forget about the intangibles. As a senior, have they ever mentored a junior? Do they present well to management? What is the process by which they create estimates, or do they pull numbers out of thier ass? When you distinguish between a mid-level and senior, what do you expect?

      Once you know that, then you'll be able to do your job well enough to interview.

      Think about it like this, I use net-present-value regularly to justify the cost of my projects and to set budgetary limits. Is it fair of me to use that as a way to determine if other managers are good at thier job? Should I use it as an interview question?

    21. Re:It's a vast field.... by Java+Pimp · · Score: 5, Interesting

      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.

      --
      Ascalante: Your bride is over 3,000 years old.
      Kull: She told me she was 19!
    22. Re:It's a vast field.... by Slashdot+Parent · · Score: 5, Insightful

      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.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    23. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      What I got from this is that you are probably one of the incompetent people the original post was directed at. Three is a lot of specialization in the industry but I also think the demand for very narrowly skilled developers is in decline - the technology changes too frequently. There are some number of concepts that everyone should know or they are likely doing more harm than good and just creating a mess someone else will eventually have to fix - and basic crypto is one of those.

    24. Re:It's a vast field.... by AqD · · Score: 1

      a senior developer should at least know some basic concepts of encryption

      What for? 20 years ago there was no encryption widely used anywhere. He may have learned the implementation details in college but never grasp the idea behind it or the importance, and never used it during 20 years of work.

      What has he done in the 20 years? anything impressive?

    25. Re:It's a vast field.... by Lunix+Nutcase · · Score: 1

      To me a senior developer should at least know some basic concepts of encryption

      Why? What if their previous jobs have never involved cryptography? Why is encryption arbitrarily any more important than a dozen other specialties I could list?

    26. Re:It's a vast field.... by Culture20 · · Score: 2

      Anyone who works with a computer as their primary tool should know basic concepts of encryption. They shouldn't need to know how to use an algorithm in a specific programming language or a pencil and paper to encrypt something, but they should be familiar with public/private keys and how they might be used in general. Too many people are still emailing passwords et al unencrypted. And not just bankers or secretaries.. programmers and even sysadmins seem ignorant of how to use encryption for communications.

    27. Re:It's a vast field.... by jandrese · · Score: 2

      Printers and print servers tend to have hilariously poor security. Printer companies just don't care. That's why most organizations go to great pains to partition them off and try to run their own print servers as intermediaries.

      --

      I read the internet for the articles.
    28. Re:It's a vast field.... by jedidiah · · Score: 1

      I am not sure I would ever do something like this by hand. I would be inclined to use an application that already handles these details. Probably just use a standard file transfer tool.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    29. Re:It's a vast field.... by jandrese · · Score: 1

      Oh yeah, the H1B guys will definitely not lie about their expertise with public key crypto. This is the perfect option.

      The summary was kind of dumb sounding. "I went to our web monkeys and asked them about the technical details of public key encryption. The answers will shock you!"

      --

      I read the internet for the articles.
    30. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Yes, I'll to say any good developer - which should certainly include any "senior" who got there not merely from politics - should know the basics of public key cryptography: basics meaning (1) that it exists, (2) how to do an appropriate search to find tools to encrypt/decrypt with it in a couple of minutes, and (3) why it's useful, and (4) the math concepts behind it, i.e., hard to reverse transformations.

    31. Re:It's a vast field.... by ub3r+n3u7r4l1st · · Score: 2

      So I assume you forgot about the SONY hack that cost them billions. Let alone various other security incidents in countless firms.

    32. Re:It's a vast field.... by ub3r+n3u7r4l1st · · Score: 1

      Technically speaking, asking about NPV is a fair game especially if you are PMP-certified.

    33. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      More than that it's somewhat easier to audit existing code for security holes than it is to write new code that doesn't have them. There's going to be holes, but it's a lot easier to patch a hull that's 99% there than it is to patch one that's probably only 40 or 50% there.

    34. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      for a developer to know about it will depend, they should at least know where to find out the basic theories. Their project manager, that person should know about it and how each member of the team has to use those tools. I'm a generalist, i want to know how everything works, get the full picture. but now most programmers get pigeonholed to just doing 1 section even project managers are getting into locked into positions the same way,
      and no one has the over all view to see where the problems will arise from. also the vision on most of these is so short, you try to get it functional before it becomes obsolete

    35. Re: It's a vast field.... by Anonymous Coward · · Score: 1

      the technology changes too frequently.

      Then you want someone who can learn and adapt, not someone who comes in with a diverse toolbox that might never grow. Sorting that out in an interview is much harder though.

    36. Re:It's a vast field.... by thechemic · · Score: 5, Insightful

      You're asking "developers" questions about "information security" by using vaguely worded questions that even "information security" experts would need to clarify, and when you don't get the results you're looking for, you take to the internet and declare that you are "worried about the quality of developers/engineers". I am quite sure that many of your interviewees have left your facility worried about the leadership qualities at your firm as well.

      Try asking very broad open-ended questions such as, "Tell me about your general understanding of different types of encryption processes, and elaborate on any experiences you have using them." You might find that interviewees dump so much information on you about encryption that you can't get them to shut up.

      --
      Let's make like a bird... and get the flock outta here.
    37. Re:It's a vast field.... by Crazy+Taco · · Score: 1

      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.

      I think that's true, and not every developer out there will know everything anymore. It's just too vast a space.

      That said though, I do find that there is a general dumbing down of the development community overall with the advent of high level frameworks. It used to be that you had to be pretty technically competent in order to program. Now, things have been simplified so much that a lot of people who would never have been able to program back when the popular languages were C/C++ are able to get jobs as app developers. That's not necessarily a bad thing since the frameworks shortened app development time and made it so there are more people to fill jobs. But, it does mean that if you have a job that does require that strong, deep knowledge of how things work you are going to have to look harder. The same kinds of strong technical types who could have been very able C programmers 20 years ago are still present today in the web development landscape, but think of it like signal to noise ratio: if they are the "signal", there's a lot more noise to sort through now.

      As a good example of this, I worked on a web hosting team for a very large company. Our average time from posting to hiring was actually about a year. There were plenty of developers around, but we needed the kind who understood (or could be trained to understand) lower layer technologies, such as HTTP, DNS, some of the auth technologies like basic or Kerberos, the web server itself (IIS), F5 load balancers, and that sort of stuff. Those are the kind of things that have to be in place for web apps to run. And as it turns out, many people can slap together a website with high level frameworks but a much smaller percentage are able to learn the underlying technologies at a deep level. And unfortunately, of the internal developers we knew could handle it, most said "No, I don't want to worry about that low level stuff... that's why we like have you hosting guys around to handle it for us!" So we would always have to post externally, and it would take about a year, almost never less than six months.

      So if you've got a need for someone to just write basic apps, you can fill that fast, but if you need a "deep" programmer just expect that it's going to take a very long time to find one, but if your compensation is adequate you will probably get there eventually.

      --
      Beware of bugs in the above code; I have only proved it correct, not tried it.
    38. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      I'm sorry, what does that have to do with general software development?

    39. Re:It's a vast field.... by halofan_sd · · Score: 1

      a software developer that has no idea how public/private keys work? that's not asking for a very specific skill set, it's something all software engineers should know

    40. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Developers need to understand code security, not document security. That should be for application security architects to worry about.

    41. Re:It's a vast field.... by vanye · · Score: 1

      As a hiring manager I see this all the time.

      If you put something on your resume that you consider a "skill", we will ask questions on it. If the interviewee then doesn't know the answer on something that they have declared they think they are good at - what confidence would I have about things that I might assume I don't need to ask questions on (i.e. can you handle command line build systems)

      One of the last people put HTTP as a skill and then didn't know/explain how one might architect handling a long running request with HTTP....

      Part of me wonders if open source and now apps, while democracizing software development has harmed the profession.

      After working for two years, I had a software engineer that didn't even know where in the system to start looking for a given filename.

      20years ago with a couple of years experience I could recognize where I was in each of the files in the Motif source tree - just by its line indentation. Why ? because I was interested in all software - not just my little bit....

      And no - Motif isn't on my resume anymore :-(

    42. Re:It's a vast field.... by brian.stinar · · Score: 4, Interesting

      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.

    43. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      As someone who has around 16 years of experience in life, I saw that learning Erlang helped me become a better SPARQL person, even though the two don't share much. If I hired someone, I would care more about the thought process [s]he uses to solve problems.

    44. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Nailed it! This is the pointy-haired boss from Dilbert thinking he'll take a page out of Google's handbook and throw curve balls in an interview so he can put a glass slipper on a super genius. I'm guessing that the subby often talks into his mouse to start his computer and calls IT when he needs his printer cart changed. Lissen man first off I can already tell you underpay your employees. Secondly, whoever you hire he'll be overqualified for what you're looking for: "Hey can you put a lens flare on this graphic on our website? And how about a Visitor Counter at the bottom of the page here?"

    45. Re:It's a vast field.... by ub3r+n3u7r4l1st · · Score: 1

      Their resume indicates they know EVERYTHING.

    46. Re:It's a vast field.... by morgauxo · · Score: 1

      Wouldn't you be better off signing it with your private key and letting the recipient decode it with your public one? Anyone could encrypt something with the recipient's public key. Using your private key prevents a man in the middle attack.

    47. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      sourceforge, but skim over code and build it with your own compiler in case a sneaky developer smarts himself to think he'll get a nice botnet

    48. Re:It's a vast field.... by jythie · · Score: 1

      Super genius? I get the impression all it really does is zero in on people with the same subculture background as the interviewer. It is about as useful in determining intelligence as asking which techie news sites they follow, with all the factionalism involved in that.

    49. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      I was part of an unfunded startup once, and ended up with 50,000 shares. It turns out they weren't utterly valueless. After it went under, the primary backer offered to buy my shares for $0.01 each, because he was setting up another business and rather than go through the hassle of incorporating yet another company, he just took the name and stock of the previous one, legally changed its name, and saved himself thousands in legal fees.

      It was all a part of my master plan to "get poor slowly".

    50. Re:It's a vast field.... by Altus · · Score: 2

      Don't undersell yourself. If you work really hard I'm sure you can get poor a lot more quickly

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    51. Re:It's a vast field.... by Sarten-X · · Score: 1

      I spent a good many years as a software engineer, though I've recently moved on to systems administration, with a focus on deployment automation. I used to work in medical data, defense, and finance, all using secure networks to handle sensitive information.

      Three comments above, I just learned (or at least understood) something new about how public-key encryption improves secure communications.

      Now, I've had a fairly successful career, but I simply never needed to know exactly the encryption worked. For most of my career, the answer was either "use the library-provided encryption routines" or "don't care because that's all handled at the network layer", depending on exactly what data was being discussed and where it was going.

      Engineering as a general field is about finding optimal solutions to meet a set of requirements. To use the standard car analogy, a mechanical engineer doesn't need to be an expert in metallurgy to design a car with a steel frame. He just needs to know the costs and benefits of the alloys available, and make his decision based on that information. The precise chemical composition of the steel is a matter for another team with their specialized knowledge to figure out.

      Similarly, a software engineer should know what various security terms mean, and should recognize that sensitive data must be stored and transmitted securely, but he doesn't need to know exactly how those mechanisms are implemented.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    52. Re:It's a vast field.... by ArhcAngel · · Score: 1

      Not true! If you forget the supervisor password to your Ricoh MFP they will charge you $300 to replace the NVRAM on the BICU-Board because you can't master reset the password. Now THAT is some major security! ;)

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    53. Re:It's a vast field.... by phantomfive · · Score: 1

      Everyone who manages to stay in the field has some skill. Instead of trying to filter by bad/good, I try to answer the question, "What skills does this candidate have?" Once that question is answered, I can determine whether their skills are a good match for the company, or alternately determine how easily they can be trained.

      It's rare to find someone who is truly bad at everything, and those people have often managed to stick around by having great interview skills.

      --
      "First they came for the slanderers and i said nothing."
    54. Re:It's a vast field.... by jythie · · Score: 2

      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.

    55. Re:It's a vast field.... by Altus · · Score: 1

      I could give you that, but in an interview asking this question makes a dev think that you want much more in depth information which often causes people to choke. I implemented a public/private key encryption system once. In college. I couldn't tell you the first thing about how the math worked now. That was 20 years ago. I could research a turnkey solution if necessary though but if someone hit me with this kind of question in an interview I might thing they wanted me to explain how to implement a solution. Asking the right questions is critical. A good dev can be sunk by a poorly worded question and interviewers don't think nearly enough about it.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    56. Re:It's a vast field.... by Altus · · Score: 1

      To do what you want you have to do both. If you encrypt with your private key anyone could use your public key to decrypt it. That is signing. If you do that and then encrypt with the recipients public key then only they can decrypt and they can use your public key to confirm that you sent the message

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    57. Re:It's a vast field.... by TheGratefulNet · · Score: 2

      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. really - you don't know this, mr. interviewer? I knew this 30 yrs ago. gee, I guess your company doesn't hire smart people.

      works both ways. but of course, during interviews, it never really does work both ways ;(

      interviewing is one of the most painful things I have had to do in my life. the people (mostly younger kids) with extreme egos and a strong dislike for people over 30 - makes me want to puke.

      --

      --
      "It is now safe to switch off your computer."
    58. Re:It's a vast field.... by k8to · · Score: 4, Insightful

      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.

      --
      -josh
    59. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Bob, Alice and the NSA, you mean.

    60. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      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?

      No.

      General Nollij is a cunning tactician and a fearsome warrior. Do not trifle with General Nollij.

    61. Re:It's a vast field.... by Grishnakh · · Score: 1

      for a developer to know about it will depend, they should at least know where to find out the basic theories. Their project manager, that person should know about it and how each member of the team has to use those tools. I'm a generalist, i want to know how everything works, get the full picture. but now most programmers get pigeonholed to just doing 1 section even project managers are getting into locked into positions the same way,

      Huh? At one of the last places I worked, the "project manager" was some late-20s girl who had no technical background at all, just a degree in project management. And the place after that was mostly the same, our PM was some older ex-military guy with no engineering background. I thought the job of a project manager was just to make up project schedules in MS Project and run around and bug people to see what their progress on each step is.

    62. Re:It's a vast field.... by Sarten-X · · Score: 4, Interesting

      For what it's worth, the best interview I've ever had was mostly nonspecific questions. In the interest of making the world a better place, here's a few of the questions:

      • On that blank whiteboard, go draw a system you worked on and explain it.
      • What do you do in your spare time, and why do you like it?
      • I noticed your resume says you worked on a church sound system. My church's sound system is old, and is pretty much just a microphone and a speaker up front. What kind of improvements are out there that would give us the best bang for our buck to improve the quality of the service?

      In retrospect, all of those questions, though sometimes posed as casual banter, were either nonspecific or relating to my own knowledge domain, rather than directly relating to the job itself. The first question gave the interviewers insight into how well I organized my thoughts and could explain a complex system on the fly. The second question is an inquiry into my work/life balance and whether I would actually enjoy my job, and the last is a chance to demonstrate problem-solving and meeting requirements.

      The job in question was mostly server administration. There were a few questions about Active Directory, Linux permissions, and network design. I botched a few of those (mostly all of networking), but I still got the job because my answers showed that I was the sort of person who could recognize my own shortcomings, and learn what I need to know when it was needed.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    63. Re:It's a vast field.... by Grishnakh · · Score: 1

      So if you've got a need for someone to just write basic apps, you can fill that fast, but if you need a "deep" programmer just expect that it's going to take a very long time to find one, but if your compensation is adequate you will probably get there eventually.

      The problem is, almost no companies actually want to pay much more for the "deep" programmer than for the one who writes basic apps. There's only a minimal difference in salary between the two at best, and the difference is really based on years of total experience, not their actual expertise.

    64. Re:It's a vast field.... by Slashdot+Parent · · Score: 2

      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 (passphrases written on sticky notes, mouse movers to prevent screens from locking, etc.).

      I haven't googled for it, but I doubt that there are any known exploits against Excel encryption other than brute-forcing the passphrase. MS surely would have fixed it if there were. We also don't know how sensitive the information is and who might be trying to get it. Is a simple Excel encrypt good enough? We don't have enough information to know, but I suspect that it's fine.

      I can even envision a situation where Excel encryption is better than a PKI solution like GPG. Imagine a situation where a firm is under investigation and has to turn all email over to opposing counsel. Opposing counsel is reviewing emails and encounters this encrypted spreadsheet. What happens now?

      In the case of Excel encrypted: Them: "Give me the passphrase!" You: "Uhh, that was like a year ago. I don't remember it." So now they have to choose whether it's worth brute-forcing or to just move on.

      In the case of GPG encrypted: Them: "We have the private key from discovery, so give us the passphrase!" You: "Uhhh, I don't remember the passphrase." Them: "Bullshit! You just signed an email with it 5 minutes ago, dumbass!"

      Ridiculous? I dunno. But anyway, I think that Excel encryption has its place in a business setting. It's not like you're protecting nuclear launch codes.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    65. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Not only that PKI falls into networking way more than it falls into development. PKI is a pretty big thing (or should be, they I stands for infrastructure) - you need to secure your certs and be able to generate them and distribute them properly and all that. If you think a developer should you that, you should tell your boss you quit because you can't tell the difference between network administration and development. I'd go as far to say that PKI isn't even a netadmin's job, but more a security specialist.

      Short answer:

      1. Tell the fucking network admin to put a SSL/TLS cert on the website.
      2. Redirect all http calls to https

      I'd be *way* more concerned if the developer knows what SQL injection is.

      PS: I hope like hell you are offering $125K+ for this position.

    66. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Can I be even snarkier, and point out that a typo is not indicative of knowledge, thus invalidating your claims of 'irony'?

    67. Re:It's a vast field.... by ramoneThePoolGuy · · Score: 0

      Bear in mind that was just one question of many that we asked. We do offer up a lot of general questions such as "describe some ways that web services can be secured". We get good answers from some candidates, while others answer with responses like "it's handled in the configuration" and they obviously have no real understanding of how it all works. In general our questions are wide ranging from general programming concepts down to some specific, often-used syntax in our core languages.

    68. Re:It's a vast field.... by lgw · · Score: 1

      Was about to say the same - that's exactly what I do with my tax guy, who has no technical skills at all. Damn you Hudson for saying something I can't disagree with.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    69. Re:It's a vast field.... by lgw · · Score: 5, Funny

      You aren't evaluating candidates. You are making a common interviewing mistake and fishing for specific answers. You (wrongly) assume that a matching answer is a good answer.

      To put it another way, "what do I have in my pocket?" is not a legitimate riddle!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    70. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      We have a winner! Perhaps learning all the different skill sets you are hiring for (so you know the "correct" questions to ask) is the solution?

    71. Re:It's a vast field.... by jbohumil · · Score: 1

      If you allow your users to write sensitive data to a thumb drive you are setting yourself up for a data leak when they walk out the door with the thumb drive in their pocket.

    72. Re:It's a vast field.... by MrBandersnatch · · Score: 1

      > describe some ways that web services can be secured

      Sonys hiring?

    73. Re:It's a vast field.... by lgw · · Score: 2

      For what it's worth, the best interview I've ever had was mostly nonspecific questions. In the interest of making the world a better place, here's a few of the questions:

              On that blank whiteboard, go draw a system you worked on and explain it.

      The best interview question I was ever asked (for a senion dev position) was:

      "On that blank whiteboard, go draw this system I worked on and explain it."

      Obviously, he wasn't expecting me to answer in an hour what had take a team a months to do, but they had had lengthy discussions about the pros and cons of a variety of designs, and so he could tell beyond just his opinion whether my idea was one of the smarter or dumber ones from that design process.

      For the curious, the system was VMware's vmotion - moving a running VM from one host to another without disruption. None of the details were relevant to the job I was applying for, but my design skills and intuitions were. I really enjoyed that interview session.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    74. Re:It's a vast field.... by Dynedain · · Score: 3, Insightful

      Exactly the submitter's problem. He doesn't realize that PDF and Excel both have built in file encryption as part of their formats. Even Zip does as well!

      If he phrased his question differently, he'd get a different answer. "How would I securely encrypt an arbitrary file" - that's a very different problem then most business users who simply need to send a PDF or XLS with private details to a client or someone else in the office.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    75. Re:It's a vast field.... by RingDev · · Score: 4, Insightful

      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

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    76. Re:It's a vast field.... by lgw · · Score: 1

      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?

      Well, if you're interviewing someone from the Office or Acrobat team, you could have a great interview discussion about it! I'd at least ask "why should I trust that - have you worked on that closed source, or had it audited, or something?" Maybe the answer will surprise you.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    77. Re:It's a vast field.... by jawtheshark · · Score: 1

      Thank you. I didn't have to think about this ever since college.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    78. Re:It's a vast field.... by markhb · · Score: 1

      Precisely!

      --
      Save Maine's economy: write stuff down. All comments are exclusively my own, not my employer.
    79. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      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.

      You know, I've been a developer, and a network admin, and a sysadmin, mostly unices, and a DBA, and so I can do all that. I could tell you about public and private keys (in fact, I explained it to my mom during a discussion that wasn't strictly tech-minded, it just came up as part of an example for something), I've brushed up on SQL and relational algebra just for the heck of it, I've run DNS and routing and other services and whatnot...

      and yet, I've gotten shot down by recruiting agencies, even self-described tech recruiters, for things like "not enoug unix" (there's only six flavours, and no, not six linux distributions, on the old CV), or not having enough experience with a long list of things that was apparently copied verbatim from the job advert, from right under the heading "nice to have but not required".

      If you really wanted a generalist, you could have them. But companies never do, they want cookie-cutter people, who then end up exactly like cookie cutters, usable for very few specific things but quite useless in general. Generalists simply don't get hired.

    80. Re:It's a vast field.... by lgw · · Score: 1

      All programming jobs start out paying shit, but there's a huge gap even by mid-career. Maybe companies who hire both pay about the same, but I don't think any of the big software companies that pay top quartile hire devs who are only good for "basic apps" in the first place (or at least they try not to, interviewing being a measurement system with a large error bar).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    81. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Wrong. Go and read about public key encryption and digital signatures

    82. Re:It's a vast field.... by blue9steel · · Score: 1

      I thought the job of a project manager was just to make up project schedules in MS Project and run around and bug people to see what their progress on each step is.

      That's probably about as true as saying that the job of a developer is to do typing things on a computer so that in future it might do something you want.

    83. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      What is the astronaut saying? There's no problem so bad that you can't make it worse?

    84. Re:It's a vast field.... by BarbaraHudson · · Score: 1

      Not true! If you forget the supervisor password to your Ricoh MFP they will charge you $300 to replace the NVRAM on the BICU-Board because you can't master reset the password. Now THAT is some major security! ;)

      That's what they told you? :-)

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    85. Re:It's a vast field.... by Anonymous Coward · · Score: 1

      One of my clever colleagues devised my favourite "test of honesty" on a general computer experience and knowledge that our org administered to new candidates. The position was for someone with +10 years experience as a system administrator. The year was 1998.
      The test was to cull the list of applicants who alleged in their resume and cover letter that they were qualified.

      The first question of one hundred was "What day of the week was January 1st, 1980?"
      If at that time you did in fact have +10 years experience as a sysadmin, that particular date would have been burned into your subconscious since it would have been staring you in the face while working with both new and borked computers.

      There were other questions about AC/DC power, DIP switches, RLL/MFM, SCSI/RAID and the like, as well as Banyan, VMS, Novell, DOS, Unix and DNS, router config ... you know, the stuff any sysadmin worth their salt would have been familiar with.

      Out of ~500 applicants, only 5 knew which day it was; incidentally it was those five were also the top five scores (by a ~60% margin) which got them a face to face interview.

      Some seemingly irrelevant questions are indicative of skill, attention to detail, memory and even honesty.

    86. Re:It's a vast field.... by ememisya · · Score: 1

      It is indeed a vast field, and yes nobody knows everything I'm pretty sure, but there is a base line I think which should be learned. I think every programmer must know all security concepts (including encryption), assembly, hardware, and C as a baseline. Yes the detailed knowledge about it pretty much obsolete practically, but what are you going to do when things break? Albeit things look very similar at most levels of abstraction (there are always loops and conditions), but you can't assume your libraries or frameworks will work perfectly, even the best people make mistakes.

      On a bad day, I'd much rather have a programmer who can tell me, x package, or x component we are depending on has an issue, and this is how we fix it, than a programmer who says, "Well, that's not Java, I don't know". Consider another scenario where a person might not know why to use a statement vs. a prepared statement. This of course will be perfectly fine if you're running a closed source shop and have your own framework and language in place, but then you're hiring logisticians not programmers.

      Basically a programmer is not allowed to say, "I don't know", only "I'm not sure yet".

    87. Re:It's a vast field.... by war4peace · · Score: 1

      works both ways. but of course, during interviews, it never really does work both ways ;(

      It always works both ways, but probably you won't get the job :)
      Back in the day, I was applying for a job which involved assembling computers (I was 22). The recruiter asked my what kind of socket is a CPU, and the correct answer was "socket 939". I gave him the correct answer, he said "no, the correct answer is socket 754". He was wrong, so I said "oh, I thought you meant the other CPU" (which WAS socket 754).
      Basically I agreed to his wrong answer, so he felt good about himself and in his mind I still was technical enough.
      I got that job.

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    88. Re:It's a vast field.... by BarbaraHudson · · Score: 3, Funny

      Q: Describe to me the basic process of public/private key encryption.
      A: (a long string of incomprehensible sounds, something like you might hear coming out of a pentacostal church when they "speak in tongues")
      Q: Are you okay?
      A: Sure, I answered your question. My answer is encrypted. The encryption is unbreakable.
      (try proving otherwise. :-) )

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    89. Re:It's a vast field.... by BarbaraHudson · · Score: 1

      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.

      In this industry, where ageism is rampant and getting worse, don't count on it. 40 is the new 65.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    90. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      +1

      The summary strongly suggests a bad interviewer.

    91. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      I work primarily in web application development. I do have a set of concepts I would expect someone who is a senior developer to have at least a basic or better understanding of. Its these concepts that are the foundation of everything we do in the field. If you run into a problem, knowing these concepts will help you narrow down the cause rather quickly.

      With encryption, I would expect a senior web developer to know and understand basic concepts like hashing, salting, public/private key encryption, etc. More importantly, how encryption works within the larger application (which does require a understanding of how data is handled over the wire, processing and storage). A lot of web development projects do involve some type of hashing or encryption.

      But knowing how different algorithms work or how to write a encryption algorithms is not necessary. There are a lot of established practices developed by people who specialize in that kind of work.

    92. Re:It's a vast field.... by jawtheshark · · Score: 1

      If you're talking about the Unix epoch, shouldn't it ve 1970? While I know the 0 of the Unix Epoch, I have no idea what weekday it was.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    93. Re:It's a vast field.... by jandrese · · Score: 1

      Or you could just wait for the next exploit and use that to reset your supervisor password.

      --

      I read the internet for the articles.
    94. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      You must be the OP, as you're doing exactly what everyone else here is calling him out for.

    95. Re:It's a vast field.... by Anonymous Coward · · Score: 1

      The fact that this is modded up +5 on a geek site shows that even people here don't know how PKI actually works.

      You sign with your private key by encrypting the hash of the message. The other person can verify that signature by decrypting the hash with your public key.

      None of the encryption or decryption of the message itself is done with an asymmetrical key. The asymmetrical keys are used to encrypt/decrypt symmetrical keys which are actually used to encrypt/decrypt the message.

    96. Re:It's a vast field.... by jellomizer · · Score: 1

      That is just putting in your belief that Open Source is just better at security then closed source...
      I am not disagreeing with the general assertion.
      However if you use the embedded encryption on the product, then you are more sure that the person who gets the file can unencrypt it.
      Will it prevent NSA from looking at it... Probably not, but for most people and companies it is good enough. Just to prevent it from being peeked at during transmission. Say a packet sniffer set to flag SSN or something.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    97. Re:It's a vast field.... by CrimsonAvenger · · Score: 1

      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.

      Actually, since the interviewer said "would decrypt", not "could decrypt", I'd think that mentioning in plaintext in the email that there was porn in the encrypted stuff would be easier....

      --

      "I do not agree with what you say, but I will defend to the death your right to say it"
    98. Re:It's a vast field.... by Darinbob · · Score: 1

      Note the tendency on Slashdot to have questions like "how can I be a programmer without going to school?". A generation of intentionally ignorant developers could arise from this. Getting breadth of knowledge is vital as a programmer, even as a non-programmer. But so many people think that they can find a short cut, or focus on a very narrow range of topics, and then miss out learning important stuff. I do agree that people can be self taught, but that often leads to people who only learn the interesting stuff because people who are self taught don't often go out of their way to learn boring stuff.

      Certainly we don't need developers who know *everything*. But we need developers that know something other than freshman level programming. If I was doing the same thing as my first entry level job for my entire life I'd go crazy, and yet I think some people are destined to do just that.

    99. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      That's a textbook answer, but doesn't translate to real life. Security is a specialized field and you shouldn't be asking random developers to implement security within your products. First, the parent's post deals nothing with key exchange. The encryption is useless if someone intercepts the communications and replaces Bob's public key with their own. Alice will never know and the 3rd party can decrypt the message and re-encrypt with Bob's real public key, thus Bob will never know too. Second, implementation matters. Your code can't leak any information. It has to have timing attack blocks. The encryption and surrounding code has to be 100% bug free. What you're encrypting shouldn't have a long repeating pattern. The keys need to be strong. Etc...

      If you're asking a non-security expert to write your encryption code it's going to fail. The code may work, but your data won't be protected from an attack.

      Unless these developers listed encryption or security as one of their skill sets I won't expect them to be able to answer any security questions. If the job description didn't mention implementing encryption, then the interviewer is asking poor questions or the job posting needs to be updated.

    100. Re:It's a vast field.... by unrtst · · Score: 1

      works both ways. but of course, during interviews, it never really does work both ways ;(

      Change that (as the candidate), and you're quite likely to get more job offers.
      In every interview I've ever had, even from back when I was a kid getting a paper route, the interviewer asked if I had any questions (sometimes with the suffix of "about the job" or "about our company" etc). Come prepared! The interviewer had to come up with all their questions and concerns and such, and you should too! When you do, you'll seem very smart (knowing what it is that you don't know is more important than recalling facts, and it shows an strong interest in your career and quality of your employer).

      As to the general knowledge questions (the replies here made me feel quite good about myself), those in TFS aren't bad. The general process of private/public key encryption is some very old and well defined maths. If they don't know anything about it, then they don't know anything about that whole subject area. That may or may not rule them out for certain projects/positions. Maybe a follow up request something like, "here's a computer and the internet; I'll come back in 20 minutes and will ask you the same question again". For the question regarding sending something sensitive, that could have any number of answers that could be appropriate... how they solve that problem is a good example of what you'll be getting. If it's, "paste the thing into excel and clicky-clicky and send them the password via SMS", then that speaks volumes about that candidate. Exchanging information securely is hard (applying encryption correctly is the easy part).

    101. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      this is actually misleading ....

      although you can encrypt with the private key, the public key can decrypt it and since the public key is public, it does you little to no good to encrypt it.

      public/private keys are really effective one way. the public key encrypts and since one person/enitity has the private key, only they can decrypt.

    102. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      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.

      Some people have lives. There's way more to life than sitting in front of a screen. By limiting yourself to those types of people, you're cutting out a lot of cross-knowledge. And to the experts who have been in the field for a long time, that's a clear sign that you overwork people.

    103. Re:It's a vast field.... by Darinbob · · Score: 1

      The programers working on such a system must know how the various components work. Someone who programs only within a tight bubble without seeing the big picture is called a junior programmer. The programmer doing the file system should know that there will need to be a distinction between storage of private keys versus public keys. The system designer needs to plan for the security component starting from day one, since we already have far too many systems where security is tacked on at the end as an afterthought. The network layer designer has to be involved with the security designer. The application designer needs to know about security. Even to test or debug some systems the developer needs to understand some basics of security. If a developer thinks that security is just about calling the right API at the right time they're likely to be a liability.

    104. Re:It's a vast field.... by Outtascope · · Score: 1

      Please tell me you don't mean a "password-protected" zip file.

    105. Re:It's a vast field.... by Grishnakh · · Score: 1

      No, not really. A developer has an education in computer science usually. A project manager, in my experience, does not have any kind of technical education whatsoever.

    106. Re:It's a vast field.... by Darinbob · · Score: 0

      True, if a candidate does not know about public/private key encryption then it's pretty safe to assume they know almost nothing about security, as it's the basis for most everything security related in the last several decades. Time to move on to the next topic at that point.

    107. Re:It's a vast field.... by BarbaraHudson · · Score: 1
      So why not just give them 30 minutes to research the question, making sure to tell them what language your software development is, and then see if they come up with something relevant? For example, if it's java, they shouldn't have a problem finding and reading the Java SE java Cryptography Architecture (JCA) Reference Guide. For C, C++, C#, Python, they can start here.

      This way you'll get a feel as to whether there's a hope that they can at least make a start at adapting the right library to your needs. You can even do it with her as the other part of a "pair"; this way, you can discuss the thinking behind her decisions at any point and then maybe discuss other solutions, or how she would attack other problems. You also get a feel as to whether the candidate is a good fit with your other people.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    108. Re:It's a vast field.... by BarbaraHudson · · Score: 1

      I specifically didn't mention zip. It's been broken for quite a while.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    109. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      really? so you never had to implement for example signing of API requests? never had to protect data? Because you have to have knowledge of how the whole signing process works...

    110. Re:It's a vast field.... by Darinbob · · Score: 1

      It's a subject the vast majority of senior developers *should* know about. You need to know something about it to design web sites, routers, embedded systems, even games. You don't need to know the details of course but the concepts are fundamental. Ie, what are public/private keys, why are there two keys, which key gets to be distributed, etc. Stuff that you can put up on a white board easily. These aren't advanced security concepts.

      Of course even though it should be known, it commonly is not, which is why there are so many security problems out there. Security is being treated as an after thought, added on after the basic functionality is done and the ship date is carved in stone. My current company has expanded into two buildings previously occupied by a company that didn't bother with security and as a result imploded.

    111. Re:It's a vast field.... by blue9steel · · Score: 1

      One would hope he has some education relevant to managing projects.

    112. Re:It's a vast field.... by Anonymous Coward · · Score: 1

      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.

      You know, I have heard that repeatedly through the last two decades and yet I am still unemployed without job specific skills. Still looking for work (after eight months) and keep being told people want employees with general skills. It's BS. Organizations can't afford to wait for you to find the answers as a generalist, they want the work done NOW! so they hire people with specific knowledge to do that work and then the person usually moves on once that work is done to another company.

    113. Re:It's a vast field.... by msobkow · · Score: 1

      Clearly you've never actually dealt with enterprise-level security.

      The way you use encryption has not changed in 25+ years. The algorithms used to implement the security have been updated and are harder to crack, but the general "how to" philosophy of using public key encryption has not.

      --
      I do not fail; I succeed at finding out what does not work.
    114. Re:It's a vast field.... by Darinbob · · Score: 1

      Designers need to understand security. Not just code security but the security architecture. Ie, how to you protect data on your network protocol, how to you manage key exchange, how can you keep customer data secure from prying eyes, how can you prove to the customers that you know what you're doing. Designers need to meet with the security architect and understand what is being said.

      Sure, if someone wants to remain a junior developer forever then they can stick to that.

    115. Re:It's a vast field.... by Darinbob · · Score: 1

      For someone *senior*, it would be nice if they understood some of the fundamental concepts in perhaps eight of those dozen other specialities. The question did not ask about advanced concepts in encryption, but something that's described in a paragraph on wikipedia along with handy pictures. A beginner question in other words (though asking how to encrypt and send a file is not really beginner, that requires more knowledge about actual current products). Similarly, asking a basic networking question should be fair game as well, as in compare and contrast UDP vs TCP.

    116. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      >any security measure can be defeated given enough time and money

      Make a one-time pad and kill yourself immediately.

      Foolproof guaranteed-unbreakable security!

    117. Re:It's a vast field.... by Darinbob · · Score: 1

      Don't forget the related item, that if something is mentioned in a job listing then it's a good idea to brush up on it before going to the interview. If the company makes wickets then it's a good idea to learn what wickets are. Part of the interview is convincing the company that they want hire you instead of all the other bozos who want the job.

    118. Re:It's a vast field.... by chuckugly · · Score: 1

      I can even envision a situation where Excel encryption is better than a PKI solution like GPG. Imagine a situation where a firm is under investigation and has to turn all email over to opposing counsel.

      Or even more simply, if the intended recipient has no clue how to use PGP, but can handle an enciphered ZIP or Excel file just fine.

    119. Re:It's a vast field.... by gregmac · · Score: 1

      In every interview I've ever had, even from back when I was a kid getting a paper route, the interviewer asked if I had any questions (sometimes with the suffix of "about the job" or "about our company" etc). Come prepared! The interviewer had to come up with all their questions and concerns and such, and you should too!

      Absolutely! When I'm the one doing the interviewing, I often find this is one of the most useful parts of the whole thing.

      It gives insight into the person's personality (Are their primary concerns/first questions about salary and hours and benefits? Do they ask intelligible questions? Did they research the company/products? Are they curious about the language, technologies and dev environment? Types of problems they'll be solving?), plus it's often a launch pad into further conversations that help judge the candidate.

      I also want to hire people that will get along with the team (and me), and we would be concerned about things like: source control, if CI is being used, how testing/QA is done, what dev methodology is used, why are you hiring/what is dev effort being directed against.. So if I talk to someone that doesn't ask those questions (particularly if they're "senior"; junior people have an excuse) it's an indicator they won't get along with the team.

      --
      Speak before you think
    120. Re:It's a vast field.... by Darinbob · · Score: 1

      One sort of question that some of my coworkers ask is to have the interviewee describe the fundamental structure of their last product they worked on. Without disclosing company secrets of course. Ie, what does the system do, what are the blocks in the system, how does the data flow, or whatever. Open ended question.

      It is surprising how many people can work for a company for five years and be unable to describe what it is they worked on. Are they just bad communicators or didn't interact with their team, were they only working inside their cubicle and never stepping out of it, did they fall asleep during meetings, was the company highly partititioned, or what?

    121. Re:It's a vast field.... by chuckugly · · Score: 1

      I wish I had mod points for both you guys.

    122. Re:It's a vast field.... by chuckugly · · Score: 1

      I'm going to assume that's a joke.

    123. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      A week. That is how long it takes for me to implement something that I know nothing about with a language that I don't know. So am I a bad developer because I don't know everything? I don't need to know. I can learn what ever I happen to need. If I had no need for security in previous projects I would know less to nothing about it. Perhaps someone else was taking care of it.

    124. Re: It's a vast field.... by ComputerKarate · · Score: 1

      This is exactly the premise of one of my all time fav Asimov stories "Profession". Do you hire someone who already knows and discard him later or hire someone who can learn and stay with him...

      --
      "The urge to save humanity is almost always a false front for the urge to rule." --H.L. Mencken
    125. Re:It's a vast field.... by Darinbob · · Score: 1

      I got a job one, not a good job mind you, but after a few weeks my boss told me that he was surprised that I actually knew what I had put on my resume. He had assumed that everyone inflated the resume and and was bullshitting during the interview and thought I was just one of the better bullshitters.

      (although I did sort of bullshit, he asked about OpenView and I mistakenly thought he was talking about OpenWindows, aka SunView, and I explained how I knew all about it :-)

    126. Re:It's a vast field.... by Darinbob · · Score: 1

      One up, one down, and one to polish.

    127. Re:It's a vast field.... by phantomfive · · Score: 1

      One sort of question that some of my coworkers ask is to have the interviewee describe the fundamental structure of their last product they worked on. Without disclosing company secrets of course. Ie, what does the system do, what are the blocks in the system, how does the data flow, or whatever. Open ended question.

      That's a good question.

      At the moment, unfortunately, I would be unable to answer that question without pausing for a minute and letting all the rage flow out of me. Then I would ask you if you really want to understand this spawing, creeping underling of the dark world that has come to inhibit our earth-plane; this entity that grows without form and knaws at your synapses while you sleep.

      --
      "First they came for the slanderers and i said nothing."
    128. Re:It's a vast field.... by tw2k · · Score: 1

      I guess the first part refers to signing, in which case you are generally encrypting a hash, not the raw message.

    129. Re:It's a vast field.... by Darinbob · · Score: 1

      The follow on question is how did you fight the monster?

    130. Re:It's a vast field.... by phantomfive · · Score: 1

      I cried. I have no idea. This is a problem I have to deal with.

      The big problem isn't the code, any code base can be cleaned up over time; the problem is the people who are still actively adding to the problem over time and think it is good (mainly because they've never seen any better, I guess).

      --
      "First they came for the slanderers and i said nothing."
    131. Re:It's a vast field.... by tw2k · · Score: 1

      I think you are right, just fishing for 'correct' answers is not the right approach. When I'm interviewing then if they ask questions for clarification or more detail then I think that's generally a positive sign. Whilst I tend to agree that 'what type of file is it?' probably isn't that relevant, there are lot of other questions: What kind of data is it (i.e. trade secrets, cat pictures etc)? How big is it? What technologies does the recipient support? etc. Maybe it's small enough to email and SMTP over TLS is sufficient, or maybe the type of data determines that it should be encrypted at rest and you'd use PGP, maybe it's too big to email etc. But if the start asking questions to clearly understand the problem then that's someone with a good reusable skill.

    132. Re:It's a vast field.... by goarilla · · Score: 1

      Bear in mind that was just one question of many that we asked. We do offer up a lot of general questions such as "describe some ways that web services can be secured". We get good answers from some candidates, while others answer with responses like "it's handled in the configuration"

      What's wrong with hardening apache directives ? Not everyone groks mod_security.

    133. Re:It's a vast field.... by Salgat · · Score: 1

      Why wouldn't Bob just encrypt with Alice's public key for messages to Alice and vice versa for Alice? All messages to Alice can only be read by Alice and all messages to Bob can only be read by Bob, why the added complexity?

    134. Re:It's a vast field.... by goarilla · · Score: 1

      I would be horrified by an interview like that. Having to switch from the dull expected but studied standard questions to
      full battlemode with a potential boss isn't something I would be comfortable with.

    135. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      No, he wants to hear the words that are in his head - "Validate my knowledge, interview candidate!"

    136. Re:It's a vast field.... by goarilla · · Score: 1

      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?

      Ease of use and the fact those applications are ubiquitous.

    137. Re:It's a vast field.... by RingDev · · Score: 1

      Interesting, I can understand that point of view to an extent.

      For example, I'm just wrapping up a massive hiring spree for a very specific project. Almost 30 new contractors (Mainframe devs, Java devs, BAs, PMs, etc...) and yeah, we put out very specific technical questions. Because in this case I have very specific, highly focused, unit testable deliveries I need to hit. None of it is system re-engineering, it's all just flipping from one ERP to another and having to adjust workflows and integrations.

      But I have another posting coming up where I need someone to work on a composite system that requires GIS, Java, and .Net expertise. Getting a trifecta like that on a resume is damn near impossible, and if someone were to have all three, they would be able to charge a mint for it. Instead, I'm going to be looking for someone with GIS/.Net experience (ESRi focuses primarily on .Net) with additional generalist skills and an aptitude for new technologies. Someone that can jump into the Java side of the house, and stand on their own two feet in short order.

      Even my last hire I was looking for a Java dev, but I wanted someone with experience in CI, or at least familiar with the concepts. Sure, having Jenkins, Maven, and Sonar experience would be a bonus, but I'd take someone who understands and has played with GIT/AppVayor.

      Toss in someone who shows interest/excitement in abstraction, automation, code organization, etc... and you've got a winner.

      As long as they can answer the basics. I've had people claiming 8 years of experience in Java that can't tell me what the 4 member access modifiers are. I had one guy tell me that the 'M' in MVC was the database. I don't even bother with things like Stack vs Heap or thread safe vs synchronized until after they can give me a rough description of the difference between a JAR, WAR, and EAR. Sadly, some people don't get that far. And I would be much more lenient of college grads and people jumping into Java for the first time, but for folks claiming 8+ years of Java experience, these things should be long since encountered.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    138. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Except that description is wrong. Bob combines his private key with Alice's public key and Alice does the complement. The combined keys are then used for encrypting messages between them. You can't use Alice's public key to decrypt a message encrypted by her private key. That would make the whole scheme pointless.

    139. Re:It's a vast field.... by RingDev · · Score: 1

      Ha, that's funny. I was disliked by the senior leadership at my last company because they felt that I didn't work my employees hard enough (expectation was a 42+ hour average work week, my team hovered just over 41)

      If one person is really into technology, and they come into work with a bunch of coworkers that are completely disinterested in advancing their knowledge, they will either quickly burn out, or leave.

      But if I get two people who are like minded, they come to work and bounce ideas off of each other.

      I've found that getting 3 of these people together is where it really takes off. At 3 you have enough to make a majority rule, you have enough that even if someone is busy or uninterested for a bit, the cycle continues, you have enough that they start to carry some weight. It switches from 'those noisy kids and their new fangled technology' to 'the guys/gals that are setting the technical roadmap'.

      I don't need everyone to be of that mindset, but I'd rather herd cats of a team of people pushing the envelope than have to walk around kicking complacent people in the seat of the pants.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    140. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      I would expect anyone in this technical field to know how certs worked. That's jsut how the world _works_ these days.
      Not knowing how certs work is like a biologist not knowing what ions are and how they move around. "but I just do DNA...", what? that's just not good enough.

    141. Re:It's a vast field.... by complete+loony · · Score: 1

      A rar archive with a password would be good enough for most cases, and probably be the easiest for most users to manage.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    142. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Meh. From my experience (not true of everyone, I'm sure), security is indeed being treated as an after-thought, but it isn't the *developers* at fault.

    143. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Alice encrypts with her private key and Bob decrypts with Alice's public key?
      You lost me.
      Did you mean Alice signs message with her private key and Bob verifies that the message he just decrypted indeed came from Alice?

    144. Re:It's a vast field.... by Sarten-X · · Score: 1

      You really ought not to jump to conclusions. A church is primarily a social place, and there is a wide spectrum of places that use the term.

      Mine in particular is a Unitarian Universalist church, whose philosophy boils down to "don't be an ass", and whose sermons are essentially open-ended discussions of environmental and social justice concerns, with an eye toward improving ideological freedom (for all ideologies), and a social hour between services.

      As for the interviewer asking that particular question, I don't know what kind of church he went to. It never came up in the workplace again, and we have since gone our separate ways.

      When I paraphrased his question for the Slashdot audience, I included the part about my own resume, intending to illustrate that the church aspect was not entirely unrelated to the rest of the interview, though it was unrelated to the job. The question had a personal and informal nature to it, and did not at all seem as though a particular belief was expected of me.

      In fact, I actually took it in quite the opposite manner: This was a workplace where discussion is open for all subjects. That eventually proved to be very true, as I've seen open (and not always politically-correct) disagreement with managers and leaders, eventually changing the course of business in a better direction. It's a cultural thing, and treating the interview like a first glimpse of the workplace culture is a good way to start the employment relationship.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    145. Re:It's a vast field.... by safetyinnumbers · · Score: 1

      In this case state that you only accept applications encrypted to your public key.

    146. Re:It's a vast field.... by dnavid · · Score: 1

      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.

      Although the title of the post said "developer" the content said "developer/architect." Unless they were hiring a programmer that could also design houses, I'm assuming they mean IT infrastructure architect. I would presume a systems architect would be familiar with how internet protocols work (like DNS), how common physical network infrastructure works (like switches), how fundamental concepts like client-server architectures and encryption work, and the issues involved in major ares of system design (storage, virtualization, wide area networking, etc).

      Programmers just need to know how to write computer code. Software engineers need to know how software systems work. Architects have to know how the pieces of systems work that they will eventually be the architect for. Perhaps the problem right up front is that unless this is some small company where everyone wears a ton of hats, "Programmer/Architect" is not a proper job designation in the first place. "Programmer/Software Architect" might be more applicable, in which case the applicant should fundamentally understand how to code and what common software design methodologies are. If the intended target application(s) are internet-based, an additional requirement to understand the problem domain would also be reasonable (familiarity with medicine if you're writing medical software, internet protocols if you are writing large scale internet applications, human resources if you're being hired to be a Peoplesoft app developer, etc).

      In any case, the subject question was "what portion of developers are bad at what they do" which is a different question than the one posed by the actual post. The answer to that question is, in my experience, most of them. Note that I'm not saying most developers are bad at writing software. I'm saying most developers are bad at what they do. What they do tends to be, whether its their own fault or someone else's, significantly outside their actual area of expertise whatever that might be.

    147. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      This. The OP sounds like the background for a 'Tales from the Interview " post at the Daily WTF.

    148. Re:It's a vast field.... by BarbaraHudson · · Score: 1

      It's actually a lot LESS stressful than you'd think.

      You have to understand that this scenario is not a "pass/fail" depending on producing a specific piece of code, but to evaluate if, in general, you have either (a) the required knowledge or (b) the ability to know how to pick it up as required.

      Remember, most "programmers" fail basic tests, such as "bing, bang, boom". Or making a simple demonstration string class. This would demonstrate that you know the toolchain, how to acquire and free resources, know how to avoid buffer overruns, overloading +, -, /, *, == - you wouldn't necessarily be able to complete it in the time given because of the pressure, and that's understandable and should be explained to you.

      Back when laptops cost $WAY_TOO_MUCH and were pretty crappy, I would throw my box, keyboard and mouse in my car "just in case" someone wanted me to whiteboard pseudo-code, I'd go get my box, plug it into a monitor, and write the actual code. It's actually easier to do than "this is how I would do it" - I had my work environment, my compilers, and everything else I needed. Plus, my handwriting, even on a whiteboard, is awful - so I end up drawing pictures instead if I can.

      Using your own keyboard is a lot better than using $RANDOM_KEYBOARD that's hanging around their office - you get used to a keyboard and will make more mistakes if you use one from someone else - that's why you can have it when you pry it out of my cold dead hands.

      Also remember - doing this takes the attention off you and onto the code itself, so you can explain it as you go along. Even if you only write mostly stubs with TODO comments and hard-coded test values, it will show how you analyze problems and organize yourself to tackle them.

      After that, it becomes much easier to talk, because there's not much of a question that you are capable of doing jobs that are thrown at you, organizing a plan of attack, and doing the research to execute it. And of course, your interactions as you explain what you're doing and why will let them judge if you know how to communicate and whether you're also a good "social fit" for the rest of the team.

      With laptops going so cheap, there's really not a reason to NOT bring your toolchain with you.

      It's a lot easier than answering questions that are designed to trip people up. Even if the person doing the interviewing isn't a coder, but can, with your explanations, pretty much follow what you do, you're going to be a winner.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    149. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      because public key encryption is slow. REALLY slow.

    150. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      It's old BIOS. A blanked CMOS would reset to 1/1/1980.

    151. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Even for secure site how are you supposed to store sensitive data in db without having a clue about public/private key encryption concept? Not every site needs it, but you should know what it is to make a choice. Sometimes it is really needed. I think it is basic concept in computer science as taught in university. Not the math theory, but just a concept that you can use private/public keys. Maybe the author expected from applicants to know something more than basic concept. Maybe he can't offer much for applicants and only lower qualification pool applies.

    152. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      You're incorrect. You encrypt with the recipient's public key, and sign with your private key. The recipient verifies the signature with your public key, and decrypts with his private key. If you're going to go around attempting to correct people, you should know the relevant subject matter first.

    153. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      The post you replied to was incorrect.

    154. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      Database security are handled by a database administrator, not a developer.

    155. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Isn't it more accurate to say that you (Alice) use your private key and Bob's public key to create the same secret that Bob can create using his private key and your public key, then that shared secret is used for the encryption and decryption by both parties? At least that's how Diffie-Hellman works AFAIK.

      If Alice encrypts something with her private key, nobody should be able to decrypt that without her private key.

    156. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Even for secure site how are you supposed to store sensitive data in db without having a clue about public/private key encryption concept?

      Why the hell would you use asymmetric encryption to store anything in a database?!
      Salted one-way hashes of passwords, yes.
      Symmetrically encrypted credit cards, OK, I can see it, though it's far from a silver bullet. If someone has hacked your database layer, they probably have your decryption keys from the app layer too.
      But ASYMMETRICALLY encrypting something in a DB?!

    157. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      And DNA based production of protein via multiple RNA intermediates is a paragraph too.

      Is it something every living person should understand, or only a subset ?

      If you want a web developer, who is familiar with security, you want a web developer who knows security, not a senior developer that can wax poetic on a multitude of things that have
      a) nothing to do with the web
      b) nothin to do with securing websites.

    158. Re:It's a vast field.... by monkeyzoo · · Score: 1

      SQL injection. Cross site scripting. Unpatched system vulnerabilities. Weak passwords. Poodle attacks. Session hijacking. All these things routinely compromise websites, and none involve public/private key encryption. (Maybe poodle attacks could be construed as related a bit, but not directly.) I agree, it's shocking that a developer wouldn't know anything about it. But I wouldn't call it a litmus test for being an idiot, and I would take a web dev who knew about the above and not PGP over the inverse any day.

    159. Re:It's a vast field.... by mysidia · · Score: 1

      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.

      If you are involved in the design of web applications for pay.... the fundamentals of how DNS and public key crypto work are basic internet literacy concepts.

      I knew this stuff in elementary school, many years before I wrote a single line of CGI or PHP web application code.

      Internet facing applications have a security burden, and it is a fundamental essential skill that anyone writing an application with a security burden understand the basics and pitfalls, such as avoiding buffer overflows, implementing improper crypto, or hardcoding IP addresses instead of using DNS.

    160. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      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.

      No. You just sent an unreadable message. You SIGN with your private key, then encrypt with the recipient's public key. If you encrypt it with your private key it'll be unreadable.

    161. Re:It's a vast field.... by Slashdot+Parent · · Score: 1

      I run in pretty geeky circles and even given that, the number of time I've GPGed a file for anyone other than my own personal archives, I could probably count on 1 hand. Because let's face it. It's a pain in the ass.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    162. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      I freely admit that I know bugger all about security, but in case anyone even MORE ignorant than me is reading: a better answer is "Inverse Public Key Encryption": encrypt it with your private key (1), encrypt it with his public key (2), and then sent it. At his end, he decrypts it with his private key, then with your public key. [Insert all fashion of caveats following this about key trust, etc.]

      1 - so he knows it's from you (only your public key can decrypt it),
      2 - so that only he can read it.

    163. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      Who the hell thought that was +1?

      You can't bolt security onto an insecure product, period. You have to understand security to make something secure. Just using the right protocol does nothing at all, that is not where the holes usually are.

      So, yes, you get an F too.

    164. Re:It's a vast field.... by ColaMan · · Score: 1

      Nah, Excel encryption/passwording is shit and is for casual users only.

      I have a VBA macro that brute forces Excel passwords in a minute or two. Well, it finds an equivalent password that matches the original using the weak hashing function that Excel employs.

      --

      You are in a twisty maze of processor lines, all alike.
      There is a lot of hype here.
    165. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      You can't use Alice's public key to decrypt a message encrypted by her private key. That would make the whole scheme pointless.

      Um, yes you can. That's how you verify the message came from Alice.

    166. Re:It's a vast field.... by narcc · · Score: 1

      What business user would know what to do with a rar archive?

    167. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      http://www.drdobbs.com/programming-public-key-cryptostreams-par/184416903

    168. Re:It's a vast field.... by swillden · · Score: 1

      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.

      If a candidate who claimed to be knowledgeable of cryptography gave me this answer it would be a big red flag, unless they quickly clarified that this was only a high-level, conceptual description and not an outline of the actual sequence of operations.

      The biggest problem with this protocol, even if some of the technical defects implied by the description aren't really there but just a result of providing a very high-level description, is that it enables Bob to encrypt Alice's message with Charlie's public key and send it to him, causing Charlie to believe that Alice sent the message.

      Honestly, the best answer to this question is something along the lines of "Use PGP and tell it to sign and encrypt to Bob". There are a lot of subtle and tricky pitfalls with cryptographic protocol design and implementation, so smart engineers use existing, well-vetted tools and protocols.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    169. Re:It's a vast field.... by ultranova · · Score: 1

      I can even envision a situation where Excel encryption is better than a PKI solution like GPG. Imagine a situation where a firm is under investigation and has to turn all email over to opposing counsel. Opposing counsel is reviewing emails and encounters this encrypted spreadsheet. What happens now?

      In the case of Excel encrypted: Them: "Give me the passphrase!" You: "Uhh, that was like a year ago. I don't remember it." So now they have to choose whether it's worth brute-forcing or to just move on.

      In the case of GPG encrypted: Them: "We have the private key from discovery, so give us the passphrase!" You: "Uhhh, I don't remember the passphrase." Them: "Bullshit! You just signed an email with it 5 minutes ago, dumbass!"

      So basically, Excel encryption is better because it allows you to play fast and loose with data retention laws. Really?

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    170. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Typical recruitment ad wants a 20 year old developer who has 15 years of experience in business, knows everything about everything but the employer wants to pay only junior level salary. I just wonder, if these companies find the cheap supermen they are looking for or do they only get people who are pathological liars.

    171. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      Security is one of about 30 important areas that developers need to know. It is not even the most important one. Best way to deal with this is to work with a team where devs know different areas.

    172. Re:It's a vast field.... by vakuona · · Score: 1

      There is always follow-me printing, which, at my workplace, uses an access card to allow you to print the documents. I am sure it won't stop a very determined intruder, but it certainly should reduce mishaps like someone forgetting to collect their printouts.

    173. Re:It's a vast field.... by loufoque · · Score: 1

      A competent software engineer with that much experience should have no problem learning any new technology quickly.
      I've been successful in selling myself for jobs requiring technologies I didn't know; the client was convinced that if I could master the advanced techniques that I have, I should have no problem with other simpler ones, even if I'm inexperienced with them.

    174. Re:It's a vast field.... by xelah · · Score: 1

      For a software architect type of position you're going to need a good overview of the techniques available for solving a business and technical problem. You don't need to know what commands to use, you certainly don't need to know the maths behind RSA, but not knowing of the existence of public key cryptography is not a good sign. It's not a difficult thing to know, it can occasionally allow you to think of design solutions you'd never have otherwise thought of, and is surely totally standard in a CS degree.

      On its own maybe it's not a fatal flaw - it's never going to be hard to find a question you know the answer to but your interviewer doesn't and so it's an easy trap to overstate the importance of something like that. Probably someone else would thing the same thing about never having heard of XA distributed transactions, or Spring, or sed or somesuch. And I don't think it's a good interview technique to fish for a very specific answer; better, I think, to pose a higher level technical or business problem and interactively sketch out design decisions.

      But, still, someone making high level design decisions about software should be someone curious enough to want to know what it is once they've heard of it.

    175. Re:It's a vast field.... by xelah · · Score: 1

      Symmetrically encrypted credit cards, OK, I can see it, though it's far from a silver bullet.

      Symmetrically encrypting credit card numbers is tough to do within the rules unless you have a hardware security module. Under PCI DSS, the complete key used for decryption is not allowed to be within the control of one person, including the sysadmin. So, you can't have the complete key on one machine because then the sysadmin can get it (except HSMs, which prevent even the administrator from getting at the keys). You can, however, have two physically separately controlled machines, with no overlapping access rights, and use keys in both.

      Then, to reduce latency, load, failure risk, etc., you can have a public key on your server and use it for encrypting card numbers during payments, and use a much more expensive and complicated process for decrypting them when you need to make refunds.

      If someone has hacked your database layer, they probably have your decryption keys from the app layer too.

      That's one reason for the rule. The other is to stop someone (including a sysadmin) running off with the complete key - instead, they'd have to send the encrypted data through the online decryption process. Not only is that logged (and possibly limited), it may be something that you don't have access to if, say, you've stolen a backup or decommissioned disk.

    176. Re:It's a vast field.... by Antique+Geekmeister · · Score: 1

      The most common and effective tool for this is "zip", which is universally with built-in tools on every operating system.

      The RAR protocol requires a commercial license for archiving documents: there are plenty of free tools to unbundle with it, but the most common archival tools are commercially licensed and awkward to install and certainly not universal. RAR is most common on bittorrented bulky documents, for various reasons, mostly becuase it supports splitting documents quite well.

    177. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      > I've had people claiming 8 years of experience in Java that can't tell me what the 4 member access modifiers are

      I see you've been interviewing Indian and Pakistani job applicants? I don't know what it is about that subcontinent, but *jesus h. chritst on a pogo stick*, are those resumes fraudulent!!!!

    178. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Alice does not encrypt with her private key, Alice merely calculates a signature.

    179. Re:It's a vast field.... by Sun · · Score: 1

      When I interview, I start by asking the applicant about their general background. What projects they have worked on.

      I then try to pick something from that specific knowledge domain and ask about that. I typically ask them to describe, in detail, a project they have been involved in, or ask a question about it.

      My personal experience: most know nothing about the specific domain in which they have participated.

      Some of the answers I've received were embarresing. People volunteering knowledge in C++ STL and BOOST, working with smart pointers, who have no idea how shared_ptr works or what its drawbacks are. People saying they used multiple inheritence and virtual inheritence (I would never bring it up on my own as I know many people consider it a niche) who don't understand how virtual inheritence actually work. People who built communication platforms for VOIP who cannot answer why/whether/when UDP is better than TCP.

      So, no, programmers suck even when you ask them about their own knowledge domain. I usually end up recommending someone without experience but with the right spark in their eyes, figuring my time is better spent growing a bright newbie than fighting with bad habits by a someone with good-for-nothing "experience".

      Shachar

      Shachar

    180. Re:It's a vast field.... by lsatenstein · · Score: 1

      pkzip the result after using rotr 13 or more advanced character rotation rule.

      --
      Leslie Satenstein Montreal Quebec Canada
    181. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      http://www.drdobbs.com/programming-public-key-cryptostreams-par/184416903

      Yep. Already know what it is! Doesn't answer the question still WHY YOU WOULD USE IT. Seems like an outlier case (I have not ever yet encountered) where you would need the encrypting system to store data in a database that even it could not decrypt itself.

      The OP said: "how are you supposed to store sensitive data in db without having a clue about public/private key encryption"
      Sensitive data routinely means user data, emails, addresses, credit card numbers, order histories, passwords. These are all things the encrypting system needs to be able to read back (or in the case of hashed passwords, not read back, but reproduce a hashed representation of). Hence, asymmetric encryption is useless unless the encrypting system also possesses the private key, and if you've implemented that then you have completely removed the ostensible benefit of the encrypting system not possessing the decryption key and instead have just implemented a less efficient and more resource consuming homologue of symmetric encryption.

      So I can build 99.999% of the use cases out there to "store sensitive data in a db" without having a clue about public/private key encryption. In fact, it's worse if I only know a little about it and think I should use it everywhere. :-P

    182. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      I disagree. I started my career working in embedded systems with Ada and C. I did that for 10 years. I then moved on to a senior dev position in real time (but not embedded) systems using C++, despite having only a couple years of C++ experience. Then another senior dev position using python and node.js to process large amounts of data. Now I'm at a financial services company doing Java.

      In each case, my pay and level of responsibility has increased when I changed jobs. I've been at bad interviews, but the jobs I have taken were the result of a good interview process, where I have shown my skills as a generalist.

    183. Re:It's a vast field.... by cain · · Score: 1

      Signing and encryption are the same operation. Signing is encrypting a content hash.

    184. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      That's what he said:

      I'm not saying a developer shouldn't likely know at least something generally about public key cryptography, but the skillset of building a secure website is VERY different from that of using GPG to send a secure email to this guy doing the interview.

    185. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      In this industry, where ageism is rampant and getting worse, don't count on it. 40 is the new 65.

      Luckily, 40 is the new 25 in the medical health world. That's why my plan is to work my ass off until I'm 40, make enough to retire, and then ski all the time. Almost there. :)

    186. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Wow! PCI has come a long way since I last worked with it.
      So, I follow what you're saying... you encrypt the CC number in the front end with the public key and store the encrypted number in the backend and for processing.
      But how do you implement the decryption process that contains the private key in such a way that it isn't stored in its entirety on one machine? Because then, as you say, the sysadmin could grab the key.

    187. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      I hope no one takes your advice. I definitely wouldn't hire you for a security position.

      http://crypto.stackexchange.com/q/15997/706
      http://crypto.stackexchange.com/q/2123/706

    188. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      So here is my question OP... you are concerned with the developers not knowing about public/private key encryption but yet you don't realize or state that you understand that public/private key encryption is completely unrelated to building a secure site. As your boss it would make me question your abilities.

    189. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Actually, since the interviewer said "would decrypt", not "could decrypt", I'd think that mentioning in plaintext in the email that there was porn in the encrypted stuff would be easier....

      +1
      That's funny, and a totally good catch! How can I send an email so that you WOULD open the attachment and decrypt it? HA ha ha

    190. Re:It's a vast field.... by Zyst · · Score: 1

      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.

      For future reference recently what I made my company do for sending encrypted files is:

      1. 1.- Putting the file in a .rar file with a password that follows a simple algorithm based on the names of the employees involved (At least 2 names) and some digits, if you know the name of the other person you can get this password in a second.
      2. 2.- Uploading the .rar file through the mega service, selecting the option to split the encryption key and the link at the end of the upload process.
      3. 3.- Sending the link through email, and calling the other person through the phone giving them the specific link decryption password

      It's simple, it's easy to do so anyone including non-tech staff can easily do it and it ensures a very good level of file protection, also ensuring the data only gets to the person it's intended to get to (As opposed to using the sFTP to drop stuff for example)

      Just thought I'd mention it in case anyone was curious of what a good way to do this for general files might be.

    191. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      I was a contractor for 15 years. It is easier to get a job and if you do well at the work you were hired to do, more often than not, you will be asked to do other work. I have never had to change my rate to do work at things I wasn't very familiar with. Once you have a certain level of experience, you should be able to teach yourself new technologies in a short space of time. Especially with the wealth of examples available on the internet.

    192. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      You don't need any programming for that. You just encrypt it in WinZip and send the password to the recipient in another email or text. This isn't a programming question. At least not the way it was worded.

      Another way of doing it is in an encrypted email if the recipient has a certificate to decrypt it.

      The poster of the original question has an unrealistic expectation of encryption knowledge of the average developer. Most would only know that you have to secure your website with a certificate and use the HTTPS protocol to access the content. The mechanics of it are abstracted away. And it isn't important to know them unless you have a more specific need for security. Even then, frameworks like .NET abstract away much of the detail with the Cryptography namespace. Any competent developer can figure out how to use these tools in under a day when needed. IMO it is silly to judge a person's overall skill based on a small subset of knowledge.

    193. Re:It's a vast field.... by xelah · · Score: 1

      You can encrypt with two public keys, and for decryption send it off to your two key-holding machines in turn.

      Or you can go one step further and encrypt the card number with two one-time pads, store the encrypted card number and encrypted one time pads, and do the decryption by sending the pads off to be decrypted by the separately-controlled systems. Then the key-holding machines don't have access to any card data themselves.

      PCI DSS even requires that no one person can have a 'key component' which gives them any knowledge of the full key. So you can't just split a key in to two halves, even if you could do the decryption. I can't help thinking that whoever wrote it really wanted to write 'just by an HSM'.

    194. Re:It's a vast field.... by unrtst · · Score: 1

      Sorry ramone, and all those like you. IMO, this /. post thoroughly proved your point. The majority of posts are from people trying to argue that knowledge of fundamental concepts are not needed in order for them to do their job; they missed the point entirely.

      First, it must be re-stated that you're looking for a senior developer/architect. This isn't someone who can just get their own job done (give them a complete spec, and they tappity-type-tap and write the implementation), it's a position that must have a solid understanding of many fundamentals, and the ability to think and combine those and problem solve and make the spec that someone else may use.

      I'd argue that, when hiring for this level of position, they should know many of the things brought up throughout this /. page:
      * basic PKI principals
      * linked list implementation from scratch (pseudo code is acceptable)
      * basic understanding of sorting algorithms (ex. bubblesort)
      * how CIDR masks work. If they don't know this offhand, then ability to pick up the concept quickly once explained.
      * bits, bytes, kilobytes conversions
      * basic SQL syntax
      * basic DB concepts (ex. normalization)
      * basic understanding of binary trees
      * knowledge of some raw protocol (nothing specific, but they should probably have picked up a few of these in their years of work. Examples: http, smtp, ftp, memcached, imap, dns, etc).
      * waterfall vs agile etc
      * basic storage concepts/implementations (RAID levels, LVM, networked filesystems, distributed filesystems/locking, snapshots, copy-on-write, etc)
      etc etc etc...

      Some folks even implied that appropriate candidates may not do well in the interview when asked questions that make them think on their feet (implying they may have social or communication issues). If one can not do so, then how are they appropriate for a systems architect position?

      Missing any one of these wouldn't be a deal breaker, but if you're hiring an architect, he needs to understand the materials he's working with; and if you're hiring a *systems* architect, he'd better know what he's working with.

      That was a bit much just to say, "I agree". Good luck out there.

    195. Re: It's a vast field.... by stldeveloper · · Score: 1

      You hit the nail on the head. The field is ridiculously complex and vast. There so much to know.

    196. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Sure, that "pointy-clicky" is easy, but it's also not secure. The "encryption" features of Acrobat and Excel are rather breakable.

    197. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      The poster is missing the point. He simply needs to look for a candidate with a CISSP.

      Not many software people are security experts.

    198. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      It's cultural. Not only do they see nothing wrong with lying, cheating, and stealing, they feel that they are entitled to do so. Throw in some arrogance and lack of personal hygiene, and the fact that most are dumber than rocks (it's not just lack of book knowledge due to cheating their way through school, most have absolutely zero critical thinking or problem solving skills) it's a wonder any of them get hired anymore.

    199. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Problem is that some folk like me, are a bit too nervous and consequently awkward during interviews, which may come across as someone who may not be all that smart or capable. I have failed multiple developer interviews, simply because I froze during the way I approach writing code, which meant going back and forward undecidedly and not being able to see things clearly. Makes me wonder what people are like during coding interviews!

    200. Re:It's a vast field.... by Kazoo+the+Clown · · Score: 1

      I've been doing it for 35 years and only once was I asked to do anything with encryption. The funny thing is, what I was asked to do made no sense whatsoever, and would be completely ineffective towards their security goal, essentially demanding I use an encryption standard that was for a completely different job-- I was to essentially use a screwdriver to hammer nails. I was unable to convince them otherwise, so I decided to use the right tool to do the job, then bolted the bogus screwdriver on top so they also got what they thought they wanted. I didn't need to do that but I just couldn't see going through some useless security ritual without actually providing any security. They got what they needed only because I cared enough to spend the extra time to give it to them. The thing to realize is management is often incompetent as well, especially when they think they know something about a technical solution merely because an ignorant customer asked them, "does it do ?" I hoped they wouldn't advertise what they thought they were doing because any customer who knew the subject would recognize it as bogus voodoo.

      Good security is hard. VERY HARD. The government is often bad at it. Sony is bad at it. Banks are bad at it. In fact, I can't point to anyone who's known to be good at it except maybe Zimmerman, and I don't even know that for sure. And users don't like it and will often bypass or otherwise subvert it themselves. But it's not because engineers are incompetent. Often they're not even asked to provide security and it isn't even on their radar. And sometimes when they are asked to provide security they are saddled with bogus requirements for how it should be done. Good security affects the user interface and the users behavior, and that's an area that companies prefer to stay out of because it's unpopular, at odds with productivity, and isn't readily seen to contribute to their bottom line.

    201. Re:It's a vast field.... by Kazoo+the+Clown · · Score: 1

      Why would you use it? Because someone in management read some unrelated article about security somewhere that said it was necessary for security and if you don't use it in your implementation you're not doing it right. Or someone in sales had a customer ask if our product uses it for security so now whether or not it makes any sense you have to figure out how to make use of it because management won't take "that's complete nonsense and it's useless in that context" for an answer.

    202. Re: It's a vast field.... by Kazoo+the+Clown · · Score: 1

      So, your manager asks for it, tells you we need it. You provide him the above explanation and his eyes glaze over. He clearly either doesn't understand your explanation or doesn't care. He repeats his original statement-- I want it, we need it. You go around that way a few times and get nowhere. What do you do?

      I suppose you could look for another job.

      So when that happened to me, pretty much just like that, what I did was use a hash on the passwords (SHA-256 IIRC, it was a long time ago), then asymmetrically encrypt/decrypt the resultant hash with hardcoded keys just so they could say they secured their passwords with asymmetrical encryption. And customers are very unlikely to know the difference (or at least, ours were), so there was no real risk if the sales force blabbed about it like that as if it were a useful feature. When management gets a security buzzword stuck in their heads and they think they want it and can't or won't be convinced it's not the solution they think it is, you give it to to them if you want to keep your job regardless of whether it makes any sense or not. Some developers won't even bother to find out what the right solution is, or have the luxury to actually implement it. I gave them what they needed, then bolted what they wanted on top as window dressing. And management will never read my comments on that code, which explain exactly what happened.

    203. Re: It's a vast field.... by Anonymous Coward · · Score: 0

      Just no. The explaination of digital signatures that says you encrypt to your private key is simplistic and dangerous. It only works with RSA: other public/private key schemes don't usually have that property. And inventing your own fancy name for it means you now deserve to be hosed down with orange juice.

    204. Re:It's a vast field.... by dave420 · · Score: 1

      1/1/80 = Tuesday
      0 = Thursday.

      I had to look up 0, but I'm not sure if I knew or correctly guessed 1/1/80 as being a Tuesday. Weird.

    205. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      If you're talking about the Unix epoch, shouldn't it ve 1970?

      While I know the 0 of the Unix Epoch, I have no idea what weekday it was.

      A different beginning of time. It would have been a good question too, but this specifically referred to Intel hardware.
      Yes, it is a Tuesday.

    206. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      This.

    207. Re:It's a vast field.... by Java+Pimp · · Score: 1

      I agree. I don't doubt my ability to learn new technologies quickly. The problem is in convincing hiring managers of that. I've had trouble moving into new positions within the same company because my salary demanded I be in a leadership role but the junior guys had more technical expertise. While I know I could handle the job and learn what I needed quickly, I was ultimately turned down because of the lack of experience.

      --
      Ascalante: Your bride is over 3,000 years old.
      Kull: She told me she was 19!
    208. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      Or Alice could just sign it with her private key, so Bob can still read the (unauthenticated) message even if he hasn't Alice's public key handy. IIRC signing means encrypting a hash of the document, so it can't be altered without invalidating the signature.

    209. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      But sending a file safely is a basic skill. Every employee should know that. The question wasn't about the math or about how to program a public key system. It's not a cryptology question, it's a common knowledge question. How are you going to trust your developers' sense of safety if they've never even heard of public keys?

    210. Re:It's a vast field.... by Anonymous Coward · · Score: 0

      99% just poke around in whatever language they know (yeah, I'm talking about most senior devs and architects). Every architect I have met knew like one language/framework. Knowledge of: Encryption? No. Infrastructure? No. Application Servers? No. Build/Deployment? Next to none. Network Transport? No. Database? Barely. Most are totally clueless about what their software is doing really. Logging and Auditing? Blank Stares. The people who are really good and competent technically and who have a command of the above mentioned skills often get corralled into management.

      I am an strange beast then, I can answer that question in at second. But at the same time I understand that people do not know nothing about Diffie–Hellman key exchange, because they are USERS of the encryption, not programmers USING SSL.

      About the money: I working in this small company: I am developing in C# and Java, being the sysadmin (a couple of blades only) and if you think they pay me a premium: HA HA

  2. Hopefully the applicants had a relevent backround by gatkinso · · Score: 4, Insightful

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

    --
    I am very small, utmostly microscopic.
  3. We all are by Anonymous Coward · · Score: 0

    All depends on who you ask :)

  4. Yes... by Anonymous Coward · · Score: 2, Insightful

    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.

    1. Re:Yes... by fractoid · · Score: 2

      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.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    2. Re:Yes... by Oligonicella · · Score: 3, Funny

      This announcement brought to you by the H1 Visa Promotional Board.

    3. Re:Yes... by tibit · · Score: 4, Insightful

      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.

      --
      A successful API design takes a mixture of software design and pedagogy.
    4. Re:Yes... by Anonymous Coward · · Score: 0

      Then stop offering to pay them peanuts.

    5. Re:Yes... by Foofoobar · · Score: 1

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

      --
      This is my sig. There are many like it but this one is mine.
    6. Re:Yes... by Lunix+Nutcase · · Score: 2

      Why would you have done a whole bunch of free work where only Netflix benefits?

    7. Re:Yes... by sycodon · · Score: 1

      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.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    8. Re:Yes... by garcia · · Score: 3, Insightful

      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.

    9. Re:Yes... by Anonymous Coward · · Score: 0

      >Having been interviewing people recently, it's almost impossible to find people who are half decent.

      Mod parent up. Is there some part of West Bumfuck in the state of Nowhere that has a horde of kick-ass programmers that is unemployed? If so, clue us all in and companies will shower them with six figure jobs.

    10. Re:Yes... by Lunix+Nutcase · · Score: 1

      And quite a few of them migrated into positions in charge of hiring others.

    11. Re:Yes... by Grax · · Score: 5, Informative

      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.

    12. Re:Yes... by Anonymous Coward · · Score: 0

      Depending on what need I'm trying to fill, I hire 90% for culture fit and 10% for technical ability.

      That... is hilarious. What a massively dysfunctional approach to hiring.

    13. Re:Yes... by AK+Marc · · Score: 3, Insightful

      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.

    14. Re:Yes... by jareth-0205 · · Score: 1

      Hah! Burn...

    15. Re:Yes... by AK+Marc · · Score: 1

      How many secretaries have you hired? How many lawyers? Most people have an inflated opinion of themselves. That you don't deal with people much doesn't make this an engineer-only problem. How many drivers think they are above average? That you can't see this makes you an incompetent human, but doesn't mean that all the engineers around you are incompetent.

    16. Re:Yes... by garcia · · Score: 1

      Really? Do you know how many talented developers who are completely and utterly 'dysfunctional' themselves and cause irrevocable damage to the team and its work output? It's not something I enjoy dealing with as much as helping people continue to grow and learn.

    17. Re:Yes... by Anonymous Coward · · Score: 0

      > ...half decent. Slashdot...

      Keep in mind that half the developers here defend systemd. That shows at least half of them are not half decent. systemd swallows stderr and higher priority syslog messages. It also don't reliably report nonzero exit statuses. It prevents us from troubleshooting start-up issues. For an experienced Linux user, that's a major annoyance. For a newcomer, that makes it impossible to fix problems.

      stderr, syslog, and exit statuses are things I expect any developer to understand. Given the systemd's defenders lack of understanding, maybe that requirement is too onerous. Also, as Linus has complained many times and I have personally seen, the systemd developers ignore bugs. That cavalier attitude and disregard for users are another reason it's hard to find good candidates. Too many developers are anti-social, end user haters like the systemd guys.

    18. Re:Yes... by vovin · · Score: 2

      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 needs to be done, ever.

      So Garcia, where I can I sign-up to hang out with you and the Bob's?

      NB: Bob is a fictitious name used so as not to directly specify any particular Fred I happen to be working with at the moment.

    19. Re:Yes... by pugugly · · Score: 1

      How anything works - outside their domain.

      The problem is that being a generalist doesn't pay worth a damn.

      Pug

      --
      An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
    20. Re:Yes... by fractoid · · Score: 1

      This is where we as techies have to step up and not let the clueless take charge. This isn't something I've found a general solution for - if we focus on actually doing our jobs, then that keeps us busy while "non-technical" people sit around with nothing to do. They then have time to do all of the networking, socializing, presence-building etc. that basically lets them schmooze their way into upper management.

      I don't really have anything to fix that, other than the observation that corporate culture starts from the top. If a company is built and run by an engineer then they'll respect people who actually get the job done. If it's run by people who got there by schmoozing then they'll only respect people who schmooze.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    21. Re:Yes... by Lunix+Nutcase · · Score: 1

      This is where we as techies have to step up and not let the clueless take charge.

      Yep, especially the person who asked the question.

    22. Re:Yes... by Marginal+Coward · · Score: 1

      Your weightings of 90% culture and 10% technical seem a bit off to me, but I agree with the general concept. Having just one person on a team who is a problem can really drag everybody else down. I left my last job because of such a person, and also because of how badly management handled the conflicts we had.

      Having made some "cultural" mistakes myself over the years, I developed a motto that "It's more important to get along with others than to get your work done." It took me a long time to figure that out. Most of the time when I wasn't getting along with others it revolved around me being irritated that they were impeding my progress. Having made that mistake a few times, and having suffered some Pavlovian conditioning as a result, I realized that getting the job done was optional but getting along with others wasn't. Seems obvious now.

      That said, I've also worked with some very pleasant people who produced very little, and that's also not ideal. So, the best thing to hire for, IMHO, is someone who has the right balance of social and technical competance. Again, I wouldn't shoot for 90/10 - maybe 40/60 would be better.

    23. Re:Yes... by Marginal+Coward · · Score: 1

      I guess it's not entirely surprising that employers can't find good people for cheap.

    24. Re:Yes... by BigDaveyL · · Score: 4, Insightful

      I would agree.

      It's not just "we want the top 5%," but "we want the top 5% that will take the median salary for the job title in our particular locale"

    25. Re:Yes... by david_thornley · · Score: 1

      Free work like that can be valuable in networking and showing off, and hence in finding paid work. I'd also suspect that it was valuable to more people than Netflix.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    26. Re:Yes... by Pubstar · · Score: 1

      I'm currently employed by a large hospital network. The dark magic required to get some of the software working combined with the inability to have downtime means very few can cut it for even basic desktop support. The nightmare that happens when an ER machine goes down is something i hope i never gave to deal with again.

    27. Re:Yes... by Anonymous Coward · · Score: 0

      -does your "cultural fit" mean age 30
      -"technical ability" = IQ - good luck training for that one

    28. Re:Yes... by aaronb1138 · · Score: 1

      It's called a bell curve. If you expect excellence at any vocation, you're only going to find about 20% of the area under the curve meets expectations. Competence probably only covers 40-60% of the curve in many industries.

      Unfortunately, there isn't a good way to filter and remove the bottom 20-30% who shouldn't be working in their given industry. If we could, it would cause massive efficiency improvements worldwide, but we would probably end up with a nice chunk of the bottom 20% being unemployable due to their incompetence being a global personal property rather than isolated to just what they do today. Basically, accepting the incompetent in the workplace is a alternate form of welfare.

    29. Re:Yes... by garcia · · Score: 1

      It really depends on the individual role, the team as a whole, and the individual being hired. I shouldn't have used numbers as people are entirely too hung up on it.

    30. Re:Yes... by Anonymous Coward · · Score: 0

      -does your "cultural fit" mean age 30

      I hired people with ages ranging from 24 to 55+

      -"technical ability" = IQ - good luck training for that one

      You wouldn't fit into the culture because you're clearly a jackass :-)

    31. Re:Yes... by mrchaotica · · Score: 2

      Mod parent up. Is there some part of West Bumfuck in the state of Nowhere that has a horde of kick-ass programmers that is unemployed? If so, clue us all in and companies will shower them with six figure jobs.

      Yes, they're everywhere that isn't northern California.

      I, for one, would be perfectly happy to work for some stereotypical silicon valley tech company... but I'm not about to trade my $100k 3-bedroom house in Atlanta for a million-dollar shoebox-sized shithole to do it. You want my skills? You come to me.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    32. Re:Yes... by angel'o'sphere · · Score: 1

      On my business card my 'job description' is 'Software Generalist'.

      On the other side of the card I have my Dojo and Martial Arts expertise.

      I would say with a hourly wage between EUR 75 and EUR 100, being a generalist is quite fine.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    33. Re:Yes... by TheGratefulNet · · Score: 1

      as a bay area resident, I would not be caught dead in a southern state.

      even if the house was free.

      so, it all depends on what you want out of life. living in the deep south would be torture to someone like me.

      yes, I overpay for rent. but I get value from the area I live in and I can relate to the people in my area. I would have nothing at all in common with typical southern attitudes, no matter WHAT they pay or the low cost of living.

      --

      --
      "It is now safe to switch off your computer."
    34. Re:Yes... by Anonymous Coward · · Score: 0

      Businesses will not pay you for anything they can get for free.

    35. Re:Yes... by Grishnakh · · Score: 1

      There was a Dilbert comic about this very thing over 10 years ago. The PHB says they want to only hire the cream of the crop, and Dilbert asks him why they only want to pay average salaries.

    36. Re:Yes... by Anonymous Coward · · Score: 0

      Maybe it's where I live(not in America), but here it's common wisdom that you should see at least two different doctors if you want a correct diagnosis. That unfortunately happens even for the most basic illnesses.

    37. Re:Yes... by Anonymous Coward · · Score: 0

      ...Or better yet, 5 years experience in Technology X (That Only Came Out This Year)

    38. Re:Yes... by mrchaotica · · Score: 2

      as a bay area resident, I'm an ignorant bigot who thinks everywhere in the South is like a scene out of the movie "Deliverance."

      FTFY.

      FYI, Atlanta and other urban parts of the South (which are where the programming jobs are) are just as liberal as Silly Valley, and I'm sure rural/small town California (e.g. Redding) is just as conservative as the rural South. The only real difference that makes California "blue" and Georgia "red" is that California has a larger proportion of urban population.

      I get value from the area I live in and I can relate to the people in my area

      Yeah, I get value from my walkable, transit-friendly area and can relate to my hippie / hipster / gay / progressive / multiracial / environmentalist / whatever neighbors too.

      I would have nothing at all in common with typical southern attitudes

      What, you Californians think you have some sort of monopoly on enlightened values? You need to check your hypocrisy, mister "more-tolerant-than-thou!"

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    39. Re:Yes... by lgw · · Score: 1

      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.

      The guy who graduates bottom of his class from med school is still a doctor. Most people don't meet the bottom 15-20% of doctors, but they're out there: they're the ones who accept Medicaid.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    40. Re:Yes... by ramoneThePoolGuy · · Score: 1

      And quite a few of them migrated into positions in charge of hiring others.

      ha, now that's pretty funny - I'm technically in charge of hiring but I still write a little code, and I involve the entire development team in the interview process. General consensus from this crowd is the question was not good for interviews, and I agree to a point. Most of our questions are more general, and the point of the question was to see what their level of *understanding* of encryption was. The gist of it is that I want to see what they have worked on and how they went about solving various problem. We also have a broad range of questions to find out what the candidate is like from a personality standpoint as that can be more important than their specific technical expertise.

    41. Re:Yes... by don.g · · Score: 1

      Totally agree. At some point your product needs to be built, your systems need to be administered, etc. If your product can only be built by the top 5% of talent, your hiring pool is much smaller. If you can't hire those people, your product won't be built. There is wisdom in trying to not be too clever.

      --
      Pretend that something especially witty is here. Thanks.
    42. Re:Yes... by Anonymous Coward · · Score: 0

      I've worked places where they were looking for a culture fit.

      Honestly they sucked:

      • Looking more for people to game with, than people to write software.
      • Ever moving targets for promotions or raises; unless you were part of the right cliq, in which case you were promoted to tech-lead or manager.
      • Rock Stars coming in and making half-complete refactors.
      • Multiple paradigms in place and getting dinged in code reviews for using the wrong one.
      • Managers having developers making changes outside the process.
      • Managers themselves making changes outside the process.
      • Having suggestions for improvement blown off; then having somebody else make the same suggestion and it being a wonderful idea--multiple times.

      And those were just the problems off the top of my head.

    43. Re:Yes... by AK+Marc · · Score: 1

      There must be a bottom 20%, by definition. However, those "worst" doctors are closer to "average" than most professions.

    44. Re:Yes... by AK+Marc · · Score: 1

      Wow, where doctors are wrong more than 50% is shocking. That this is accepted and considered normal is even more shocking. In the US, you look up what you want to have on Web MD, then shop doctors until you get one that gives you the diagnosis you were fishing for.

    45. Re:Yes... by Lunix+Nutcase · · Score: 1

      Free work like that can be valuable in networking and showing off, and hence in finding paid work.

      Or not:

      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.

      Did you even bother to read the post I responded to where he's done all this free work and has gotten jack and shit from it?

      I'd also suspect that it was valuable to more people than Netflix.

      I'm sure it must have been. It is great to get someone to do a whole bunch of work for you without having to compensate them.

    46. Re:Yes... by BarbaraHudson · · Score: 1

      Give Bob (or Fred) a seemingly glowing recommendation - it's the best way to get rid of him. Examples:

      "He will be missed if he ever leaves. He's an integral part of the company, like our morning cup of coffee" (because he gets the donuts).

      "If the competition ever hires him, it will be deadly (for the competition)

      "He's basically the only guy here who, when it comes to coding against a tight deadline, can always be trusted (to f*ck it up.

      "Whatever we're paying him, he's worth every cent" (but nothing to the left side of the decimal point on his paycheck).

      "He's responsible for a lot of the new technology we have here in the last year" (like the thumb scanner timeclocks and surveillance cameras so he can't just turn on his computer and then go to the washroom to read the entire newspaper, including doing the crossword puzzle).

      "He's the go-to guy if you need to find something obscure on the net and you don't know where to look" (like kiddie porn, sex with a donkey, or his foot fetish).

      I'm sure you can think of more. And good luck with Fred.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    47. Re:Yes... by DoofusOfDeath · · Score: 1

      I would agree.

      It's not just "we want the top 5%," but "we want the top 5% that will take the median salary for the job title in our particular locale"

      Ah! Well if you're not willing to dot that, you're clearly not a team player with skin in the game! Good thing they weeded you out during the phone screen!

    48. Re:Yes... by Anonymous Coward · · Score: 0

      as a bay area resident, I would not be caught dead in a southern state.

      ...

      I would have nothing at all in common with typical southern attitudes

      This close minded attitude and glaring ignorance puts you in the same mentality as the wankers in places like Warner Robbins; because they tend feel exactly the same way about Bay Area hipsters, (and Atlanta for that matter).

    49. Re:Yes... by wiredlogic · · Score: 1

      This irritates me to no end. The core of the problem is that screening is delegated to non-technical HR staff or recruiters. I just explained what RS-232 and 422 was to one of them today. When making their cuts they fall back on the one thing they can understand which is money.

      I really wish there was a revolutionary ATS out there that was geared toward giving coworkers input into the initial screening process to guide HR and which didn't require mind-numbing, useless data entry from applicants.

      --
      I am becoming gerund, destroyer of verbs.
    50. Re:Yes... by irrational_design · · Score: 1

      I'm not that familiar with California, but wouldn't northern california be north of sacramento? At least looking at a map of cali I assume southern cali is the LA metro area down to Mexico, central if from north of the LA metro area to sacramento, and north is from sacramento to oregon.

    51. Re:Yes... by BigDaveyL · · Score: 1

      Because everyone punts to the next guy.... Managers (often times clueless) wait too long to hire much needed people until everyone is on the dreaded death march. They don't want to have to deal with looking for people so they delegate to HR. HR delegate to the computer in the form of ATS systems.

      I beg to differ that there's an actual talent shortage. It seems to me if HR/management got creative on actually getting out and meeting people, things would quickly be solved.

    52. Re:Yes... by irrational_design · · Score: 1

      You do know that south florida is a southern state, don't you? If someone offered you a free house on south beach you seriously wouldn't take it?

    53. Re:Yes... by GaAs+oldAce · · Score: 1

      I would agree.

      It's not just "we want the top 5%," but "we want the top 5% that will take the median salary for the job title in our particular locale"

      That brings up an important point, the whole idea of the "Dunning Kruger effect" that individuals with a low skill level not only are unaware that they have a low skill level compared to the average of individuals possessing that skill set, but lack the ability to distinguish the skill levels of that skill set in others as well.

      http://www.zdnet.com/article/q...

      http://www.ncbi.nlm.nih.gov/pu...

      This is why in a company wide survey asking workers to rate their skill level relative to the rest of the company, something on the order of 35 to 42% of the company judged themselves to be in the top 5%, which, when when taken mathematically, is patently absurd.

      My view on the matter, having a background in music before taking up computer science as a major, is that this reflects a common trapping of ego in terms of the amount of effort one puts forth in practicing their art. I had a college music instructor that hammered into our heads that "A good musician doesn't just practice a piece until he/she gets it right, they practice that piece until they can't get it wrong!" In the case of music it is rather easy for a non skilled "music listener" to tell a good player from a not so good player, to quote the lines from one of my favorite John Wayne movies: El Dorado:

      Robert Mitchum played J,P., a drunken Sheriff who in one scene, walks into a saloon with newly deputized John Wayne and a gunman is hiding behind the piano with Joe, the piano player nervously playing hoping the whole situation blows over without him getting killed in the crossfire: (Reminds me so much of being the tech guy in many companies I might add.)

      J.P.: Joe, you're playing a lot of sour notes on that piano.
      Joe: I know I am.
      J.P.: You don't look very happy.
      Joe: I'm certainly not.
      J.P.: Wouldn't you like to move away from that piano, Joe?
      Joe: You're darn right I would.
      J.P.: Well, then, move!

      In the case of computer programming it is easy to fool one's self into thinking they have mastered something when they don't write code every day and constantly spend their time building the mind-set to solve problems with a programming language to where it is second nature to them. Someone mentioned the FizzBuzz game, Just for giggles , I tried it and was able to write a java object to do it in 2 minutes while sitting on the toilet and made it compile on the first try. If you have to spend a night figuring that out and getting it to compile and work right.. you have a bit more practice work to do before you are ready to play a perfect "Old Susanna" on the piano while a gunman is hiding behind the piano waiting to ambush John Wayne and Robert Mitchum, whilst not making any mistakes as it were..

    54. Re:Yes... by GaAs+oldAce · · Score: 1

      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.

      I think there is more of an Occams razor approach here, HR or the hiring managers may not be so good at accurately assessing the skill level of applicants, if they themselves do not possess a proficient skill level in the area for which they are interviewing, per the Dunning Kruger effect. It is interesting and a bit sobering to read about. Have a look...

      http://en.wikipedia.org/wiki/D...–Kruger_effect

      This one can be insidious because it can cause managers not possessing proficiency to under estimate the skills of workers whilst causing non-proficient employees to overestimate their skill level.

      It can be hard for some to accept, but it is certainly true that self-deception is most insidious, because the very act of the deception covers its own tracks. Ask yourself: "how many psychotherapists does it take to change a lightbulb?" The answer is one, with the caveat that the lightbulb has to be willing to change!

      Fortunately the situation improves when both groups educate themselves or adopt an objective set of metrics that can measure everyone according to the same sets of criteria.Of course the common view of who has the burden of proof being the person making the claim of having the skill set or the view of the assessments being skewed requires careful handling in environments where constructive criticism is viewed as playing politics, but in that case as well, all things being equal they would have to prove that , but rarely are taken to task, and the corporate world is not a court room nor a academic environment where those rules are more regularly followed. Perhaps that would be a good place to start making improvements to this issue? Anyone agree?

    55. Re:Yes... by Foofoobar · · Score: 1

      It's free as in 'beer'. The API pattern is broken as it creates an architectural cross cutting concern when scaling out. I showed this at SpringOne and coded a solution for it as well improving on existing api patterns. To date, I have all code and have coded all solutions and while people could copy and rebuild, it is going to take the awhile without me as I actually have more of a head start than they know; the code has been partially coded in spring-boot as well and improved upon in a variety of ways. This has also been shown to Apple, Paypal, Amazon, Mulesoft with equal amazement... except Amazon. They somehow were stupified like deer in headlights. But I'm not surprised as each time I talk to them, they set me up with an idiot from some other dept.

      --
      This is my sig. There are many like it but this one is mine.
    56. Re:Yes... by Foofoobar · · Score: 1

      Oh and if you are curious what the material was, you can see some of it here and here

      --
      This is my sig. There are many like it but this one is mine.
    57. Re:Yes... by Anonymous Coward · · Score: 0

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

      Become a consultant and market yourself or join an existing consultancy firm. Then, your age is a plus. Start a blog but don't give all your knowledge away anymore for free. And/or: set up high-priced training courses. Write a book on the subject for O'Reilly or a leading tech publisher.

    58. Re:Yes... by Anonymous Coward · · Score: 0

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

      I wouldn't be so sure about that with medicine. Medical training selects for good memory skills, hard workers and the obsessively motivated who can hack the awful lifestyle (all three traits are needed). I hated the last of these three - no life - essentially, you have no life at all while going through an 8 year training tunnel (12 is you want to specialize) which is quite repetitious, with humongous long hours, and mostly cut off from normal life. The fact that there are malpractice suits and that doctors do get struck off (kicked out the profession) proves that this masochism does not guarantee proficiency as a medical practitioner.

    59. Re:Yes... by Anonymous Coward · · Score: 0

      and that is the real issue... employers are cheap motherfuckers... while potential employees that are not facing a foreclosure are greedy little bastards.... so the employer rolls the h1-b dice instead. employer 1, applicant 0.

    60. Re:Yes... by Anonymous Coward · · Score: 0

      fuck off you racist piece of shit

    61. Re:Yes... by AK+Marc · · Score: 1

      The fact that there are malpractice suits proves that those who survive the program are still human.

      The AMA requires the schedule be inhuman because of the same reason that frat houses do hazing. It happened to me, and I tuned out fine, so there must be nothing wrong with it. It also justifies beating your children. I'm not speaking about the medical profession, or the levels of perfection in it, but the count of truly incompetent. I know plenty of brilliant people in IT. I've yet to meet a person who has never made a mistake.

    62. Re:Yes... by david_thornley · · Score: 1

      Sure I did. When you're having trouble getting work, giving away free samples might help. It doesn't always work, but it's a reasonable thing to try. At some point, you do want to draw the line and tell them that if they want more work they'll have to provide money.

      Besides, what's the loss? If the OP doesn't have a job, OP has time available to make OP more attractive to potential employers. OP may as well give some results away for free, since OP's not getting paid for it anyway.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    63. Re:Yes... by Anonymous Coward · · Score: 0

      horse coookies! part of our culture is the energy, creativity and integrity required to make stable, clean code. yes, nice is a euphamism for dipshit, but nice is only one factor in deciding whether you're a good fit. if you can't display critical thinking skills, I suspect you'll drag our team down. two of my best java devs were hired with little to no java experience, and i've never regretted my decision

    64. Re:Yes... by tibit · · Score: 1

      I don't rally know what point you've tried to make. I did not address at all whether the problem is endemic to engineers or not. I'm not saying that all engineers around me are incompetent, only that a lot - way too many - are not. The people I work with are always better at me at many things - that's a precondition to their hiring :)

      --
      A successful API design takes a mixture of software design and pedagogy.
    65. Re:Yes... by AK+Marc · · Score: 1

      I'm not saying that all engineers around me are incompetent, only that a lot - way too many - are not.

      Ah, I took

      There's a lot of engineers who have vastly overinflated opinions of themselves.

      to indicate that you thought they were certainly less competent than they themselves thought.

    66. Re:Yes... by Lunix+Nutcase · · Score: 1

      Sure I did. When you're having trouble getting work, giving away free samples might help. It doesn't always work, but it's a reasonable thing to try. At some point, you do want to draw the line and tell them that if they want more work they'll have to provide money.

      It's never reasonable to work for a corporation for free. Only a sucker would think that.

      Besides, what's the loss? If the OP doesn't have a job, OP has time available to make OP more attractive to potential employers. OP may as well give some results away for free, since OP's not getting paid for it anyway.

      The loss? The pay that he would have received by being compensated for the work he did for the company.

  5. Your company is probably shit by Anonymous Coward · · Score: 2, Interesting

    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?

    1. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      Agreed. People need to have REASONABLE expectations.

    2. Re:Your company is probably shit by droidjd · · 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.

    3. Re:Your company is probably shit by DickBreath · · Score: 2, Insightful

      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.

      --

      I'll see your senator, and I'll raise you two judges.
    4. Re:Your company is probably shit by Lunix+Nutcase · · Score: 4, Insightful

      that really should be common knowledge in software engineering.

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

    5. Re:Your company is probably shit by Lunix+Nutcase · · Score: 4, Insightful

      I'm pretty sure knowing about algorithms, data structures, and being able to quickly pick up new languages/frameworks/etc. is far more relevant to the quality of a software developer than knowing some single specialty of software.

    6. Re:Your company is probably shit by chuckugly · · Score: 1

      Knowing "I would use your public key to encrypt prior to sending it to you" isn't being an expert. Digging into the nuts and bolts of how you got the public key, how to avoid a MITM and so on are getting closer to 'expert'. But that's not really what he asked.

    7. Re:Your company is probably shit by chrylis · · Score: 1

      How many deployment avenues don't use cryptographic signatures? Usually you're either producing downloadable code, in which case the packages or tarballs are generally signed, or deploying to an HTTP or similar server, in which case you should at least understand what the purpose of TLS is.

    8. Re: Your company is probably shit by Anonymous Coward · · Score: 0

      I'm curious - what fields would those be exactly?

    9. Re:Your company is probably shit by Lunix+Nutcase · · Score: 2

      How many deployment avenues don't use cryptographic signatures?

      Plenty of them.

      Usually you're either producing downloadable code, in which case the packages or tarballs are generally signed, or deploying to an HTTP or similar server, in which case you should at least understand what the purpose of TLS is.

      Plenty of people make installers that aren't signed and there are tons of sites that don't use TLS.

    10. Re: Your company is probably shit by Lunix+Nutcase · · Score: 2

      Front-end web development, database programming, audio/video/DSP, compiler/dev tools, computer graphics, game programming are just a few things you can do without ever needing to use cryptography or needing to know anything about it to do your job.

    11. Re:Your company is probably shit by pnutjam · · Score: 1

      Dickbreath has a point.

    12. Re:Your company is probably shit by Marginal+Coward · · Score: 1

      In my own case, I had only a couple of classes on programming in college, which was many years ago. Nearly all of what I know about software development was acquired through self-study and experience. I happen to know a little bit about cryptography due to side projects, but I've never once come across it as part of my job - except in the casual sense of encryption features of common thing like zip files. So why would any employer expect me to know it unless it was on my resume or a qualification for the job I'm applying for?

    13. Re:Your company is probably shit by JohnFen · · Score: 1

      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?

      Then you should be asking those questions, not a really vague one like "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?"

    14. Re:Your company is probably shit by david_thornley · · Score: 1

      You typically sign a tarball by running it through a decent checksum program, and putting either the checksum or a "get-the-checksum" button next to the download button. That doesn't involve a key pair. Deploying to a server might require crypto, or it might not (if there's a good internal connection). You don't need to know even if you're using https; I routinely use lots of technologies I don't understand much of.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    15. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      Only in academia. In the real world that knowledge of a single specialty of software is your ticket to a nice position if you can leverage it properly.

    16. Re:Your company is probably shit by phantomfive · · Score: 1

      More importantly, if they do need to understand the basics of public key cryptography, they can be taught in under an hour. These are not advanced concepts.

      --
      "First they came for the slanderers and i said nothing."
    17. Re:Your company is probably shit by mrchaotica · · Score: 1

      How many deployment avenues don't use cryptographic signatures? Usually you're either producing downloadable code, in which case the packages or tarballs are generally signed, or deploying to an HTTP or similar server, in which case you should at least understand what the purpose of TLS is.

      Okay, so you've explained why the couple of guys who are responsible for deployment need to understand cryptography. Why should the other several dozen programmers in the office, who are neck-deep in business logic (or whatever little corner of the system they're responsible for is) 99% of the time, have to care about it?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    18. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      In 2015? Cryptography doesn't matter if the only code you write is for machines at the Computer History Museum. Otherwise, if you don't have a basic grasp of the fundamentals, you shouldn't be writing any code whatsoever.

      Applied Cryptography is still a great book to have. Buy it and read it when you have time. Of course, by no means think that it provides you with the skills to implement even the simplest of real-world cryptographic systems. But it's an amazing introduction to and survey of different cryptographic techniques, beyond the basic public-private key algorithms, ciphers, and hashes.

      You need to be able to identify when and where you may need to apply cryptographic techniques. The _how_ is a completely different question, and many people will never need to be able to answer that question. They can always seek out a specialist for that.

      But you need to know what you don't know!!!!

    19. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      Between SSH and TSL, what software *isn't* at least indirectly making use of cryptography?

    20. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      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.

      It isn't. Very few developers would encounter this in practice.

      I happen to have a job that requires me to understand low level details of Windows file systems: Junctions, reparse points, etc. I am not so arrogant as to assume that anyone who doesn't know about reparse points is an incompetent developer. That would be stupid.

    21. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      Software should be released. And the only way we know how to release software safely is by signing builds. You have this in the appstore, you have this in OSes, you have this in linux distribution with their blob md5/sha1/pgp/whatever, you have this in git's chained hashes and signed commits, etc, etc.

      Cryptography indeed doesn't apply to many fields of software. It however applies to the most important one: channel distribution. It must be warm and cozy in your bubble split from the real world. Maybe in a future article you will learn about users too. Hint: they exist, and they tend to only care when you fuck up things like cryptography.

    22. Re:Your company is probably shit by Altus · · Score: 1

      I develop for iOS. We use ssl for communication and the binary is cryptographically signed. And I don't actually need to understand how that works in detail to do my job. I understand it a bit because 20 years ago I took a class but if you wanted me to implement a system that does that I would be hard pressed without doing a ton of research.

      The problem can easily be the way the question is asked. If you are looking for an answer like "pop" then maybe ask what tool you would use to send a file securely instead of asking a question that sounds like it is from a crypto course final. Interviews are stressful and people seize up. It happens. The number of engineers who are competent and also so good at dealing with people that they don't get flustered in an interview is quite small. Don't set them up for failure and then complain when most do.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    23. Re:Your company is probably shit by Altus · · Score: 1

      If I had a dime for every time I have heard that.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    24. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      If I am asked about anything googleable, I expect to be able to google it in the interview.

    25. Re: Your company is probably shit by rastos1 · · Score: 1

      A web developer should know what SSL certificate is, what CA is, what happens when the cert expires.
      A database developer should know to not store plaintext passwords in the database and use hash instead. Salted hash.
      The applications on Windows nowadays use assembly manifests that contain publicKeyToken - SHA1 hash of public key used for signing the assembly. I would expect a competent windows developer to know that.
      When developing a game you want to prevent rogue modifications of game client that would give the player an advantage (there is probably a term for that).
      If you use ssh to access the CVS you should know about public-private key cryptography. If you use git, you should know what a hash is. If you deploy to a staging server you hopefully do that with encrypted protocol.

      Yes you can do without that. You can build walls around your sandbox and delegate all those pesky troubles to someone else. IMHO in IT it requires conscious effort to not know some basics of cryptography.

    26. Re:Your company is probably shit by Anonymous Coward · · Score: 0

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

      Yeah, there are literally tens of applications that aren't in any way network-connected or dependent.

    27. Re: Your company is probably shit by Lunix+Nutcase · · Score: 1

      A web developer should know what SSL certificate is, what CA is, what happens when the cert expires.
      A database developer should know to not store plaintext passwords in the database and use hash instead. Salted hash.

      But neither need to and plenty don't.

      The applications on Windows nowadays use assembly manifests that contain publicKeyToken - SHA1 hash of public key used for signing the assembly. I would expect a competent windows developer to know that.

      But it's not a requirement, thus most don't use it.

      When developing a game you want to prevent rogue modifications of game client that would give the player an advantage (there is probably a term for that).

      Only applicable for multiplayer games. And the technology that most companies use for that is third-party middleware. The game developers themselves don't need to know any of how it works just how to integrate it.

      If you use ssh to access the CVS you should know about public-private key cryptography. If you use git, you should know what a hash is. If you deploy to a staging server you hopefully do that with encrypted protocol.

      But don't need to.

      Yes you can do without that.

      Well, yes, that was what I already said.

      IMHO in IT it requires conscious effort to not know some basics of cryptography.

      Nope. Most jobs don't require knowing it.

    28. Re:Your company is probably shit by Lunix+Nutcase · · Score: 1

      Maybe, but the jobs are far less abundant than the great paying Java backend dev jobs.

    29. Re:Your company is probably shit by Yunzil · · Score: 1

      I do expect every developer to have a basic understanding of cryptography

      Why?

    30. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      That's like saying how to use a hammer doesn't apply to many fields of construction. I mean after all, a brick layer or steamroller operator doesn't use them at all in their specialty.

      Cryptography is a tool. As a programmer, you may be a designer, an engineer, a technician, an architect. But you are also a tradesman with tradecraft, tools, and vision and expertise.

      You should be able to....
      1) Make resumable assumptions about the problem that an informed, competent individual would.
      2) Be able to clarify and check those assumptions
      3) Be able to ask questions extrapolating on them if appropriate
      4) Propose a solution based on the above.

      And yes, this should involve your being capable of using the full set of tools available to someone implementing this solution -- be it file based encryption, zipfiles with a password, pgp, scp, or even tokens or one time pads.

      And if you don't know how to use pgp or scp -- you may be a wonderful windows programmer, but you may not fit in or be able to use the tools people around you use. It's all about the role you're hiring them for and the hard and soft skills you advertised.

      I once asked an intern prospect that listed linux, redhat, and unix on their resume how they would read an apache log file to see if someone had connected at a certain time... The applicant admitted he didn't know where the file was, made sure he was talking about linux.... and then told me he would check google up to get the location and format. I drew an example of the text on the board and asked ... Then what?

      "Well, I would use the computer icon -- I think it's called putty... to log in and find the folder with the `cd` command. I'd check to make sure the file was there with `ls`"

      What would you do then?

      "I would download it into win scp and read the file in notepad++, if the IP address is there...find will..."

      The guy was capable of solving problems and learning -- but his type of solutions indicated that he had /no/ practical operational knowledge or experience with the listed systems. He didn't understand the philosophy of the tool he claimed proficiency with.

      An experienced developer should understand a bit about the philosophy of data protection at multiple levels. If they don't -- maybe they aren't really experienced. That you are wildly experienced in your niche field does not mean I'm willing to call you experienced if you can't solve even the basics a generalist could.

      Cryptography is not a single software specialty -- it's a concept. Just like operating systems, file systems, networking, algorithms, languages... You should know a bit about it.

    31. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      You're considering that cryptography? I consider than an introduction topic in office computing where I work. An inability to use public key encryption indicates a serious lack of awareness in our field.

    32. Re:Your company is probably shit by GaAs+oldAce · · Score: 1

      Agreed. People need to have REASONABLE expectations.

      While that is true and even a rational viewpoint that most of us on the computer programing and employee side of the employer /employee equation, the basic premise is not all that practical.

      The problem here on our side is the expectation of that problem being solved by reasoning, talking, arguing, debating and making correct logical points in an attempt to fix the problem by essentially changing someone else. In my experience, anytime your default approach is to reach out expecting other people to change, you are essentially banging your head against the wall, rather than changing your approach to providing value added to the company without working harder but working smarter. You are right that reasonable expectations would make everything run smoothly but that is out of our control, all we can do is give the employer an unreasonably high level of quality and do it in such a way that we don't overwork ourselves doing it. I mean if they expect to pay you $20.00 /hour to do this, 40 hours a week when the going rate is 3-4 times that, spend 1/4 of your time working. Find a way to streamline the process so you spend 10 hours actually working and filing your TPS reports and find a way to productively use the other 30 hours in the week doing something that profits you, such as looking through the job sites for a better job, studying and sharpening your skills or working on your interviewing skills and re-writing your resume.

    33. Re:Your company is probably shit by thegarbz · · Score: 1

      The purpose is something to do with encryption. I'm not sure how it works or why it works. It's a general knowledge type problem which can be resolved with a 2 second google.

      I'm not a developer. I'm not an expert on encryption, heck I barely know the basics. Yet it still took me only about an hour to setup Apache in a way that it scored an A+ on SSLlab's security tests.

      So tell me again why you need to be an encryption expert to sign some package you developed? I even dabbled in a bit of C# development recently. Botched together some simple program to interface with a microcontroller (I'm an EE). The end result was a cryptographically signed package. I'm not sure what I did to make that happen but I simply followed a step by step guide on creating a distributable on MSDN's site.

      You don't need to know what Alice and Bob actually do in order to use encryption.

    34. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      For an entry-level SDP, having the ability to write in a specific language is probably far more important than the esoterics they teach in upper education. More important than those, though (and a point you touched on) is being able to pick stuff up quickly. This is the kind of person you throw a standard fizz-buzz question at.

      Those esoterics, though, become a differentiating factor later on in the developer's career. Here, you might probe somebody on some of their favorite development patterns and how they compare with each other, or ask them to model an application based on some contrived specifications. Languages and frameworks are far less important at this point, as to a skilled developer even a dull hammer could become a deft tool.

    35. Re: Your company is probably shit by im_thatoneguy · · Score: 1

      Also at least with .NET it's pretty easy to use cryptography without really understanding how it works. It's a property in the socketconnection. Just tell it to use socket protection level X and .NET will do all of the negotiation for you.

      I have far more faith that the .NET team is up-to-date and employing some of the best cryptography experts in the field than to have someone working on an application, network or server to try and implement TLS themselves. As Heartbleed demonstrated, even with the entire security world looking at your code it's still pretty easy to screw up encryption. Trying to roll your own encryption is just a false sense of security since you've probably done it wrong.

    36. Re: Your company is probably shit by geminidomino · · Score: 1

      And even in the spots you DO want it, odds are they used a ready-made library to hide the ugly bits. I'm no crypto expert, but I know enough to know that rolling your own would probably be a disqualification right there.

    37. Re:Your company is probably shit by Anonymous Coward · · Score: 0

      Lol... it should be common knowledge because: a) it's stupidly simple to understand the concept, and b) who *hasn't* come across it as a purely random part of working with computers. I'd expect many people to be able to regale me with the tale of PGP being printed in a book to overcome US export restrictions. Again, not because they're security experts, but because it's just a cool story from the tech world that loads of people have heard about.

  6. This is stupid by Lunix+Nutcase · · Score: 4, Insightful

    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?

    1. Re:This is stupid by michaelggreer · · Score: 5, Insightful

      Looks like all the comments are trending this way, and I agree. The interviewer seems to be looking to "defeat" his interviewees, which is a classic engineer social mistake. This guy likely shouldn't be a hiring manager.

    2. Re:This is stupid by geoscodin · · Score: 1

      I have 18+ years of Natural/Adabas experience (a language which causes many IT pros to stare blankly at me), mostly as a consultant. Many of the client sites on which I worked wanted things done through specific channels by their own FTEs. Since there can be many ways of doing things, I found myself blocked from learning certain ways of doing things and sticking with what I know. But according to my references and reviews, I dare say I'm pretty darn good at my job. I also know enough to read a job posting for requirements and know whether or not I qualify for that position. On the flip side, when times were tough I have applied for jobs for which my specific qualifications were rather iffy. But I was up front with the interviewer about what I do and do not know, as well as my willingness and ability to learn new skills. Sometimes that is enough. I was once successfully used as a Lotus Domino web developer almost for two years despite no matching experience, other than an eagerness to learn, and an interviewer who could see that potential in me.

    3. Re:This is stupid by Anonymous Coward · · Score: 1

      One of the most essential skills is recognizing when you are out of your depth, if you fail to notice it you will sink and likely take a hefty part of your employers budget with you. I would say its generally a good idea to own up if you don't have the foggiest about some area. No shame in not knowing absolutely everything about anything. Many problems don't take kindly to fumbling around, if you don't know, ask an actual expert or even hire the expert to do that part for you. Nobody needs another yes man who claims to know everything.

    4. Re:This is stupid by Anonymous Coward · · Score: 0

      Was the job posting include that it was a security related position? If not, then the many of your candidates aren't going to be people that know those topics. The ones that should make you question the quality of developers are the ones that say they have X years of experience and don't know how to write a for loop.

    5. Re:This is stupid by Anonymous Coward · · Score: 0

      Even if they don't know the math, they should be able to understand the concept behind a key that can encrypt data that only another key can decrypt, and vise versa. One key is kept private the other publicly published. This allows one to sign things with the private key, or encrypt information via someone's public key and know only the recipient can decrypt it. There, I've explained the basics of public/private key encryption. If you don't know this, then you do not care to know it, and I sure as fuck wouldn't trust you around my login page code.

      As for not knowing how to send someone a secured document? That's inexcusable. What dev doesn't know about PGP? It was at the forefront of government restriction of exporting encryption. A major event in computer history. Such ignorance and apathy is deplorable, and exactly why the 3 letter agencies are getting away with their shitty polices.

      This shit isn't obscure. Hell, we have a whole section dedicated to your rights online here.

    6. Re:This is stupid by Anonymous Coward · · Score: 0

      If you *ever* used SSH, you should have a concept of how public key encryption thing mostly works---at least if you're a good tech person.

      (sorry, but if you don't know something like that, and aren't curious to find out, then you're probably not very good---as the poster says).

    7. Re:This is stupid by Anonymous Coward · · Score: 0

      True; there are over 2000 programming / pseudo languages out there today. The cryptography thing seems akin to asking a programmer if he/she knows Pizza. Yes there is a language called Pizza.

    8. Re:This is stupid by Anonymous Coward · · Score: 0

      On the one hand, I kind of agree, but on the other hand if the problem is to transmit a file securely your first thought really shouldn't be what kind of file type it is. I might never have asked that question, but given such an answer answer I wouldn't hire the guy. I cannot know what the exact problem is, I don't know him after all, be is either missing some very important concepts or the ability to connect the dots.

    9. Re:This is stupid by Lunix+Nutcase · · Score: 1

      (sorry, but if you don't know something like that, and aren't curious to find out, then you're probably not very good---as the poster says).

      Or your interest lies in other areas.

    10. Re:This is stupid by Lunix+Nutcase · · Score: 1

      This shit isn't obscure. Hell, we have a whole section dedicated to your rights online here.

      I bet I can quiz you on all manner of topics that aren't obscure that you'd probably fail to answer. Does that mean I can point out that you're a crappy developer?

    11. Re:This is stupid by slazzy · · Score: 1

      It's possible to find someone who might know a little bit about everything, but they likely aren't the best developer.

      --
      Website Just Down For Me? Find out
    12. Re:This is stupid by GaAs+oldAce · · Score: 1

      One of the most essential skills is recognizing when you are out of your depth, if you fail to notice it you will sink and likely take a hefty part of your employers budget with you. I would say its generally a good idea to own up if you don't have the foggiest about some area. No shame in not knowing absolutely everything about anything. Many problems don't take kindly to fumbling around, if you don't know, ask an actual expert or even hire the expert to do that part for you. Nobody needs another yes man who claims to know everything.

      there is science to support this, Google "Dunning Kruger effect".

    13. Re:This is stupid by strikethree · · Score: 1

      This guy likely shouldn't be a hiring manager.

      Grrrrrrr. This kind of response pisses me off. Are you assuming that a few kind words could not educate this person? Not everyone is perfect at what they do or need to do; however, many/most are willing to learn from their mistakes. Should people really lose their job or should they be educated?

      I would argue that they should only be fired if they prove they are incapable of doing the job even after being educated... but that is just me.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    14. Re:This is stupid by Anonymous Coward · · Score: 0

      They are failing on a basic question!!

    15. Re:This is stupid by rdnetto · · Score: 1

      On the one hand, I kind of agree, but on the other hand if the problem is to transmit a file securely your first thought really shouldn't be what kind of file type it is.

      I think the difference is more fundamental - it's to do with how you perceive the system. Someone who sees files as being closely connected to the programs that work with them is more likely to consider built-in encryption features first, while someone who sees files as just being a bunch of bytes would consider a generic approach first. IMO, someone with a Unix background is more likely to fall into the latter category.

      --
      Most human behaviour can be explained in terms of identity.
  7. It's like the medical field by JohnFen · · Score: 4, Insightful

    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.

    1. Re:It's like the medical field by ripvlan · · Score: 1

      I see where you're going with that thought. A pulmonary doctor probably wouldn't make a good heart surgeon. But should know what the heart is and some of the basics around it. Expert? no. That it exists? probably. What about the nervous system? or cancers across the whole body? Brain?

      It comes down to what we consider the basics. I self studied cryptography enough to know that I don't know enough - those who hack think differently than I do. In this day and age would I expect developers of web based products to understand that security is important? yes. Know how to do it properly? no.

      If security was extra important to me - I'd hire a few experts with varying roles and have them define the standards that other developers need to follow.

      When I started (20+ years ago) I didn't know what a database was, or how to attach to it. Heck - HTML didn't exist yet. Now I'll bet I could give the best of them a run for the money. Cryptography? I know it exists - and would hire an expert. Could I learn it? Absolutely.

      How much you payin' and when do I start?

  8. Not Developers by Anonymous Coward · · Score: 0

    This isn't just about developers. The vast majority of people in any field are incompetent about key concepts of their profession.

    1. Re:Not Developers by DickBreath · · Score: 1

      I beg to differ! Plenty of developers are exceedingly competent at finding code on the intarwebs and pasting it in to the project.

      --

      I'll see your senator, and I'll raise you two judges.
    2. Re:Not Developers by SnapShot · · Score: 1

      That's a tough call. A code copied off the web that works is often a better solution that one engineer's half-baked, bug riddled reinvention of the wheel. A better criteria: you copied it off the web and it works, do you have any idea why it works?

      --
      Waltz, nymph, for quick jigs vex Bud.
  9. Did they ask if they could look it up? by sandytaru · · Score: 5, Insightful

    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.

    --
    Occasionally living proof of the Ballmer peak.
    1. Re:Did they ask if they could look it up? by ramoneThePoolGuy · · 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.

    2. Re:Did they ask if they could look it up? by DickBreath · · Score: 1

      Life Long Learners is also a plus.

      Whew! Now that I've got a diploma, or certificate or whatever, I don't ever have to learn anything ever again!

      I would place much greater value on a developer who prefers to constantly learn.

      --

      I'll see your senator, and I'll raise you two judges.
    3. Re:Did they ask if they could look it up? by jeffmeden · · Score: 1

      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.

      That all depends on the kind of leadership required of the role. If you are going to be an architect and guiding implementations of public key encryption platforms, you will need a deeper understanding than what a google search will turn up because making something out of shitty advice on the internet will probably turn out pretty shitty (and you won't know the look of shitty advice when you see it). If you just need to be familiar with the concept while you work on something else, then sure "LMGTFY" will pass.

    4. Re:Did they ask if they could look it up? by Lunix+Nutcase · · Score: 1

      Sure, but the person asking this question never even mentioned if PKI even had anything to do with the position being hired for. All we know is that he pop quizzed them on it and they didn't happen to answer the question as he wanted. If this is for a senior development job for developing encryption software than that is one thing, but if this is just random pop quiz questions than it's as silly as me asking someone questions about ARM Neon for a position writing .NET services.

    5. Re:Did they ask if they could look it up? by XxtraLarGe · · Score: 1

      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.

      That's good advice. In my interview at my current job, I told my boss during my interview "I don't know how to do everything, but I can figure out anything." Thus far I haven't had anything thrown at me that I can't handle, but there were a few instances where I had to do some research to be able to complete a task.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    6. Re:Did they ask if they could look it up? by chuckugly · · Score: 1

      If you would be happy with 'use your public key to send it to you' then it's a perfectly reasonable interview question IMO. And a lot of developers suck in much the way a lot of plumbers suck. That seems to be the way things go. On the other hand a lot of employers seem to be allergic to paying a high rate to a technical person; they often want to make them into managers before paying higher pay grades. Some really excellent technical people don't want to be and wouldn't make good managers.

    7. Re:Did they ask if they could look it up? by Anonymous Coward · · Score: 0

      Once on an interview I was asked how to use a specific command in Linux, and I answered, "I don't know - I'd start by reading the man page."

      The interviewer loved the response. I guess he'd had a bunch of other candidates try to BS their way through the question.

    8. Re:Did they ask if they could look it up? by JimFive · · Score: 1

      If you would be happy with 'use your public key to send it to you' then it's a perfectly reasonable interview question IMO.

      I disagree. If that's an acceptable answer then so is "Click the send encrypted email button in the email client." You do have server integrated encryption don't you? Why is the developer/user even concerned about this? If there's a business need for encrypted email then it should be handled by the infrastructure team and (ideally) not rely on the user to know or care about it.

      If you're interviewing for a developer and you want to check into generic domain knowledge ask about Source Code Management and dealing with merge conflicts. And, don't use abbreviations. Just because you know what SCM means doesn't mean that the interviewee is going to pull up the correct reference under stress (and yes, interviewing is stressful).

      --
      JimFive

      --
      Please stop using the word theory when you mean hypothesis.
    9. Re:Did they ask if they could look it up? by chuckugly · · Score: 1

      This is supposed to be a senior person, they should understand how PKI works (in broad strokes) and if they can't work out "Source Code Management" when asked about SCM merge conflict resolution then I would also hold that against them. It's not a fatal flaw but these are fundamental concepts, just as understanding algorithm complexity and data structures are and I would expect them to understand the fundamentals.

      I guess you can have the ones that don't know those things?

      I would expect some confusion from an associate level hire but a senior? Nah.

    10. Re:Did they ask if they could look it up? by JimFive · · Score: 1

      Because when you say SCM I'm supposed to know you're not talking about Security Configuration Management, Supply Chain Management or Standard Compliance Management, or Signal Conditioning Modulation, etc.
      --
      JimFive

      --
      Please stop using the word theory when you mean hypothesis.
    11. Re:Did they ask if they could look it up? by lgw · · Score: 1

      Heh, I wouldn't choose PKI for anything important nowadays. None of the methods are provably hard, and we just have to take the NSA's word that any particular method is. If someone asked me "how PKI works", sure, I could talk about that, but that wasn't the question!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    12. Re:Did they ask if they could look it up? by blue9steel · · Score: 1

      I usually tell them "If I knew everything you couldn't afford me."

    13. Re:Did they ask if they could look it up? by chuckugly · · Score: 1

      Google "SCM merge conflict resolution" and see what pops out.

    14. Re:Did they ask if they could look it up? by Anonymous Coward · · Score: 0

      I agree. In fact, I just recently interviewed a BS grad and asked how he would find the answer to an unknown problem and he was stumbling over himself. No concept of how to find the answer. I interviewed a lowly highschool grad the next day, and asked him the same question...immediately he said, "I would Google it." Guess who got the job...

    15. Re:Did they ask if they could look it up? by jeffmeden · · Score: 1

      Sure, but the person asking this question never even mentioned if PKI even had anything to do with the position being hired for. All we know is that he pop quizzed them on it and they didn't happen to answer the question as he wanted. If this is for a senior development job for developing encryption software than that is one thing, but if this is just random pop quiz questions than it's as silly as me asking someone questions about ARM Neon for a position writing .NET services.

      If you are right then the title should really be "Ask Slashdot: What Portion of Hiring Managers Are Bad At What They Do?"

  10. Physical encryption. by fahrbot-bot · · Score: 5, Funny

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

    --
    It must have been something you assimilated. . . .
    1. Re:Physical encryption. by The+Joe+Kewl · · Score: 1, Offtopic

      Why isn't this [5, Funny] yet?

      Wish I had some mod points...

    2. Re:Physical encryption. by Anonymous Coward · · Score: 0

      Why not just delete the file, send him the deleted file, and let him undelete it?

    3. Re:Physical encryption. by AnontheDestroyer · · Score: 2

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

      Too much functional fixedness. Pass.

      -

    4. Re:Physical encryption. by Anonymous Coward · · Score: 0

      Ohhh, your off topic post is about moderation is going to kill your karma and cause you to wait even longer for mod points. Nevermind the mod points others will have to use to bring your post down to -1.

    5. Re:Physical encryption. by Ronin+Developer · · Score: 1

      Ah...so you padded the files and salted the encryption algorithm. Very good!

      Now, all you need is a gaggle of quantum monkeys to decrypt it.

    6. Re:Physical encryption. by Peter+Simpson · · Score: 1

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

      Yes, but you are wasting paper

      ZIP it first -- use the encryption option for extra security. THEN print the resulting hex dump and shred it.

      Deliver the key with a phone call.

    7. Re:Physical encryption. by fahrbot-bot · · Score: 4, Funny

      Ah...so you padded the files and salted the encryption algorithm. Very good!

      Now, all you need is a gaggle of quantum monkeys to decrypt it.

      When took LISP way back in college, the instructor asked a student what he wanted out of the class. The kid said, "an A". The instructor said, "no problem" and wrote "A" on the blackboard. Then he asked the kid his name and wrote it on the blackboard - "Steve's A". The instructor said, "I imagine you'll want to take that home with you," erased the writing and smacked the eraser down on the kid's notebook. The instructor then remarked, "notice how your grade has been encrypted and stored as a nice little bit pattern for you."

      Ah, college...

      --
      It must have been something you assimilated. . . .
    8. Re:Physical encryption. by Anonymous Coward · · Score: 0

      ewwww

  11. Common Problem by BradMajors · · Score: 4, Insightful

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

    1. Re:Common Problem by Lunix+Nutcase · · Score: 1

      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.

    2. Re:Common Problem by chrylis · · Score: 1

      Knowing the ins and outs isn't necessary. Knowing generally what it's used for is, just as much as any developer should know "don't store plaintext passwords". I'm not offhand familiar with how to securely generate a salt, and I use a library that does that, but I certainly know that there's a Wrong Way to handle passwords.

    3. Re:Common Problem by Lunix+Nutcase · · Score: 1

      Knowing the ins and outs isn't necessary.

      Knowing it at all isn't relevant for many people who are currently writing software. The person who submitted this question is just some guy who has just arbitrarily decided that encryption is an important thing that everyone should know. And I doubt he really knows more than the basics himself. He just thinks he smarter than others because he could stump a couple of a people with some silly pop quiz.

    4. Re:Common Problem by Anonymous Coward · · Score: 0

      We're also missing some critical information... like how much they're willing to pay for this position.
      Seeking someone with 20 years of experience willing to work for $70K will also bring you a particular skill set to the table.

    5. Re:Common Problem by BlackPignouf · · Score: 1

      You want to be an airplane pilot?
      Well, show me how you can kickflip on this skateboard!

    6. Re:Common Problem by ramoneThePoolGuy · · Score: 1

      I disagree that knowing the basics of how encryption works isn't important for software developers. This question was not a deal-breaker for a new hire, and I certainly am not looking to stump candidates. In fact, I'd love for every candidate to get every question correct. And I don't think I'm smarter than others - I actually want to hire people that are much, much smarter than I am! Perhaps a better question might be "Can you explain what encryption is and how it works on a conceptual level?" Would that be "fair"?

    7. Re:Common Problem by datavirtue · · Score: 1

      They should know how to do that...come on.

      --
      I object to power without constructive purpose. --Spock
    8. Re:Common Problem by Anonymous Coward · · Score: 0

      Hiring a developer who doesn't know how to send sensitive information in secure way is as dumb as hiring somebody who doesn't know how to use email. Sure he can google up about email. Or use fax, or just phone every time. But do you realistically expect such person to be a good programmer whatever field you take?

  12. What defines 'general knowledge'? How does knowled by LOGINS+SUC · · Score: 1

    We all should know basic maths, but should developers be expected to know PKI? 10 or even 5 years ago, no. But today, Google and the like are pushing for the entire Interwebs to be secured; primarily with PKI and X.509 types certificates. Pay a bit more, expect a but more. As demand grows, the 'general knowledge' will too.

  13. But where/when does one explicitly learn security? by RevWaldo · · Score: 1

    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.

    .

  14. About half are below average.... by QuietLagoon · · Score: 5, Funny

    And about half are above average.

    1. Re:About half are below average.... by gatkinso · · Score: 1

      I see what you did there.

      --
      I am very small, utmostly microscopic.
    2. Re:About half are below average.... by Tower · · Score: 2, Funny

      This, of course, depends significantly on whether by "average" you mean the mode, median, or mean, which in a non-bellcurve distribution such as a programmers or software engineers can be very different.

      --
      "It's tough to be bilingual when you get hit in the head."
    3. Re:About half are below average.... by Anonymous Coward · · Score: 0

      And about half are above median.

      Only 10 is above average in 0,0,0,0,0,0,0,10.

    4. Re:About half are below average.... by Anonymous Coward · · Score: 0

      Why people keep repeating this stupid statement I have no idea, as it only applies to populations that have a normal distribution.

      Consider this: you are interviewing ten people. Suppose that you can measure their aptitude for the job they are interviewing for on a scale of 0 - 100, with 0 being the worst and 100 being a perfect fit. Here are the aptitude scores for each of the ten people: 3, 3, 3, 4, 5, 6, 6, 6, 7, 100.

      Tell me again about how many of those people are above average and how many are below average? I'll give you a hint: it surely isn't "about half".

    5. Re:About half are below average.... by Anonymous Coward · · Score: 0

      Actually 90% of everything is shit, but it depends on your perspective.

    6. Re:About half are below average.... by QuietLagoon · · Score: 1

      Why people keep repeating this stupid statement I have no idea, as it only applies to populations that have a normal distribution.

      Pat, someone here needs to buy a humor clue..... :)

    7. Re:About half are below average.... by Anonymous Coward · · Score: 0

      Why people keep repeating this stupid statement I have no idea

      To annoy you. Yes, you specifically. Because you're a jerk, Anonymous Coward. A complete kneebiter.

    8. Re:About half are below average.... by QuietLagoon · · Score: 1

      ...Tell me again about how many of those people are above average and how many are below average? I'll give you a hint: it surely isn't "about half"....

      sample size too small.

    9. Re:About half are below average.... by Anonymous Coward · · Score: 0

      People bring this up a lot, but I think it's a myth. Did anyone ever use average to mean "mode"? I really truly doubt it.

    10. Re:About half are below average.... by Anonymous Coward · · Score: 0

      common misconception, consider e.g. ten 1/10 and one 10/10

    11. Re:About half are below average.... by Marginal+Coward · · Score: 1

      Clearly, you don't live in Lake Woebegon. All the children above average there.

    12. Re:About half are below average.... by Anonymous Coward · · Score: 0

      That is not how bell curves work!

      Most people are equally average and it takes great skill to be significantly above or below average.

    13. Re:About half are below average.... by pastafazou · · Score: 1

      Well asshat, first you need to eliminate the outliers from your dataset. Top and bottom 10% get thrown out, leaving you with 4, 5, 6, 6, 6, 7. Your average is 5.66. So yes, about half are below and half are above. Thanks for playing, now run along troll.

    14. Re:About half are below average.... by Anonymous Coward · · Score: 0

      I'd mod this up if I could.

      Forced ranking, bell curves are a reality as much bruising of egos that it causes. The metrics used to determine that ranking are the parts that are sometimes ignored. I know my strengths, I also know my weaknesses. If my weaknesses push me down on the curve, that's both a perception and a reality.

      Independently of how good a talent pool is, the laggards will always be on the bad side of the curve.. You just need to make sure you measure well, and don't optimize in a TQM way. Target your performance & capability, don't always raise it.

    15. Re:About half are below average.... by Anonymous Coward · · Score: 0

      Someone needs to learn the difference between average and mean....

    16. Re:About half are below average.... by Pejorian · · Score: 1

      Where did you see that programmer competence is a non-bellcurve distribution? I would really, sincerely appreciate a citation of that!

      --
      - Murphy's Corollary: - It is impossible to make things foolproof because fools are so ingenious.
    17. Re:About half are below average.... by Actually,+I+do+RTFA · · Score: 1

      Did anyone ever use average to mean "mode"? I really truly doubt it.

      I think that's probably one of the more common uses of average in a non-technical use. The "average" person, meaning typical, is the most likely person you will meet.

      The average family has 2.4 kids is one of those funny statements that sounds wrong, mostly because people are not expecting the mean, but instead the typical value.

      --
      Your ad here. Ask me how!
    18. Re:About half are below average.... by Anonymous Coward · · Score: 0

      True, but he covered himself with 'about'... a very useful weasel word.

    19. Re:About half are below average.... by Anonymous Coward · · Score: 0

      Slashdot performance art.

    20. Re:About half are below average.... by QuietLagoon · · Score: 1

      So, it's that obvious? :)

    21. Re:About half are below average.... by QuietLagoon · · Score: 1
      Keep in mind that when speaking of bell curves, the sample size needs to be appropriate to the conclusions you are attempting to draw from the data.

      .

      In other words, if you are trying to draw a bell curve based upon the 10 people you've interviewed, {bluntly speaking} you should not be in a position to interview people.

    22. Re:About half are below average.... by Anonymous Coward · · Score: 0

      New A.C. to this conversation.

      Yes, throwing out the outlier may be a good idea.

      Just going on 3, 3, 3, 4, 5, 6, 6, 6, 7, 100
      Average: 14.3
      Median: 5.5
      Mode: 3 and 6

      I don't think the bottom needs to be thrown out. There only seems to be one outlier. Am I incorrect about this?

    23. Re:About half are below average.... by Anonymous Coward · · Score: 0

      That's a brazen assumption. Hopefully interviewers don't ask too many questions about basic statistics...

    24. Re:About half are below average.... by MadKeithV · · Score: 1

      This, of course, depends significantly on whether by "average" you mean the mode, median, or mean, which in a non-bellcurve distribution such as a programmers or software engineers can be very different.

      It's assuming spherical software engineers in a frictionless vacuum, durr.

    25. Re:About half are below average.... by Anonymous Coward · · Score: 0

      Then again maybe not ...

      While I am with you bringing down average to median, Donald Knuth et al. are pulling up hard.

  15. 50%--Next Question by Anonymous Coward · · Score: 0

    By definition, 50% will be below average. That's a good enough definition of "bad" for me.

    1. Re:50%--Next Question by dykmoby · · Score: 1

      Average != Median
      In my area of work, you would not get hired as a developer. If you were not able to answer the OPs question regarding encryption, I would give you a pass and look at other parts of the interview.

      --
      Fear, Uncertainty and Doubt = [citation required]
  16. Re: What defines 'general knowledge'? How does kno by LOGINS+SUC · · Score: 1

    Wow... Posted from mobile. Thumbs are poor typing instruments.

  17. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    The only reason I know about it is because my teacher Dr. Klarner wanted to talk about it that day instead of numerical analysis.

  18. Seems as if you want broad experience by garcia · · Score: 1

    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 do so while bringing you the specific knowledge you need straight out of their heads.

    Honestly, if you interviewed me and I didn't know the answer to some mostly irrelevant question and told me that's why I didn't get the job, I would thank you for not hiring me to work with someone who doesn't know enough about being a hiring manager to do his job effectively.

    1. Re:Seems as if you want broad experience by Anonymous Coward · · Score: 0

      I think part of the problem is not that they didn't understand public-key cryptography, or had "cast aside" such knowledge, but that they had never even heard of the concept. It would be hard for them to look it up if they don't even know what it's called.

  19. The golden rule by Anonymous Coward · · Score: 0

    90% of everything is shit.

    1. Re:The golden rule by Anonymous Coward · · Score: 0

      That's actually Sturgeon's Law, although he originally characterized it as Sturgeon's Revelation.

  20. Re:Hopefully the applicants had a relevent backrou by Austerity+Empowers · · Score: 5, Insightful

    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.

  21. I would say 100% by Anonymous Coward · · Score: 0

    of American workers are bad at what they do, which is why you should hire people with visas. Also, outsource as much as possible to India or China.

    Also, be sure to hire enough African-Americans (not Africans) so that you can meet your quotas.

    1. Re:I would say 100% by Anonymous Coward · · Score: 0

      And then after meeting those quotas for a few years, you should have enough of a track record to get hired by another company for twice the salary!

  22. Relevant Expertise by Anonymous Coward · · Score: 0

    If your company writes software that implements public/private key encryption, then you probably need to find developers who understand the mechanics. On the other hand, if your company merely uses public/private key encryption, why would you need a developer to know how it works? There are many kinds of frameworks and subsystems in use these days. No one can know how they all work, and very few need to. You need to focus on the parts of the development ecosystem relevant to your development process.

    1. Re:Relevant Expertise by DickBreath · · Score: 1

      It depends on what you mean by 'know how it works'. If they are using it in the project, then I expect them to 'know how it works'. I don't expect them to be able to write their own from scratch. Just a basic understanding. Not an explanation that you sprinkle magic encryption sauce on the data.

      Generate a pair of keys. Make one public. Ask the guy at the other end to do the same. Now we can read each other's public keys (and so can anyone else). I encrypt the PDF with your public key and then with my private key. The guy at the other end can verify that it came from me, and he is the only one who can decrypt it. I don't need to know all the detailed math. I don't have to write my own BigInteger code. Just a basic understanding.

      Why is this more to ask than that someone knows the language that a shop uses. Knows how to use the framework we use. Etc?

      --

      I'll see your senator, and I'll raise you two judges.
    2. Re:Relevant Expertise by DickBreath · · Score: 1

      Just to add: if you did what I described, you would quickly discover that the actual secret you should send using PKI is the key to some other more efficient symmetric algorithm.

      --

      I'll see your senator, and I'll raise you two judges.
    3. Re:Relevant Expertise by Lunix+Nutcase · · Score: 1

      Why is this more to ask than that someone knows the language that a shop uses. Knows how to use the framework we use. Etc?

      Sure, if being able to generate public/private keys and knowing about PKI was relevant to the position it would be a useful question. We don't know that these questions DID have any relevance to the job qualifications.

    4. Re:Relevant Expertise by jones_supa · · Score: 1

      The general mechanics are easy to explain: the server gives a public key, the client encrypts the message with this given key, and then the resulting message can be decrypted only by using the private key which is kept secret by the server.

      I think the guy hiring would already be much happier with that answer, rather than the candidate mumbling something about Excel and PDF documents.

    5. Re:Relevant Expertise by JimFive · · Score: 1

      I disagree. If that's an acceptable answer then so is "Click the send encrypted email button in the email client." You do have server integrated encryption don't you? Why is the developer/user even concerned about this? If there's a business need for encrypted email then it should be handled by the infrastructure team and (ideally) not rely on the user to know or care about it.

      If you're interviewing for a developer and you want to check into generic domain knowledge ask about Source Code Management and dealing with merge conflicts. And, don't use abbreviations. Just because you know what SCM means doesn't mean that the interviewee is going to pull up the correct reference under stress (and yes, interviewing is stressful).
      --
      JimFive

      --
      Please stop using the word theory when you mean hypothesis.
  23. Yes... by Anonymous Coward · · Score: 4, Interesting

    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.

  24. Relevant questions.. by muhula · · Score: 4, Insightful

    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

  25. Knowledge by jtollefson · · Score: 1

    I would like to echo what the above poster said. The field of security is soooo large, to find someone that knows everything off the top of their head is asking quite alot. Granted there are those out there that can give you the exact rundown of how everything from PKI to Cryptokey works...

    But, they're rare and you're going to have to search for a long time to find them and then once you do you'll probably need to pay a premium for them. On top of that you'll need to make sure you give them enough of a challenge every day so they can maintain that level of knowledge. As we all know, if you don't use it, you forget it. I happen to work in the field you're describing and I know I've forgotten enough to fill the Grand Canyon a couple times over.

    That being said, encrypting an email is pretty general information, any architect in IS should probably know that.

  26. Matter of perspective by Anonymous Coward · · Score: 0

    I think employers have unreasonably high standards. Software development isn't about knowing it all, it's about knowing how to figure it out. Don't ask me some obscure logical question...let me take an hour, and use Google, examples, existing code to figure out what's going on.

    1. Re:Matter of perspective by Lunix+Nutcase · · Score: 1

      Plus no one does software development purely off of what they have memorized. Everyone has reference manuals, web sites, stackoverflow, etc. easily accesible while working. Now, if you don't even know the basics that is one thing, but there is no way any software developer knows everything about everything.

    2. Re:Matter of perspective by Anonymous Coward · · Score: 0

      Plus no one does software development purely off of what they have memorized. Everyone has reference manuals, web sites, stackoverflow, etc. easily accesible while working. Now, if you don't even know the basics that is one thing, but there is no way any software developer knows everything about everything.

      I'm Certified Project Manager. I know everything about everything!

  27. First! by Anonymous Coward · · Score: 0

    first

  28. Re:But where/when does one explicitly learn securi by Lunix+Nutcase · · Score: 5, Funny

    You learn it on your own time at your own expense. Duh. You aren't one of those "freeloaders" that expect their employer to invest any of their time or money in the growth and career development of their employees do you?

  29. ok, so there are alot of bozos out there by Anonymous Coward · · Score: 0

    shouldn't you be asking why your recruitment pipieline is so broken they are sending you
    people on an entirely different level than what you are looking for?

  30. Going along with the trend of the discussion by kdub007 · · Score: 2

    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 I still don't know shite about it. In my interview, I was asked a very interesting question by my potential boss...I thought it was a good one, and applies across technological and for that matter, any fields. He asked, "How's your Google-Fu?" At first I didn't know what he meant, so I asked, and he explained that he was asking about my Google usage abilities. I responded that I basically look everything up (generally using Google.) I asked, "Why should I figure it out and make mistakes along the way when no doubt someone else has figured it out already?" He hired me the next day, and gave me a large raise just this week. The questions I would be asking are not about what potential employees already know about a specific subject, but more about how quickly they can learn. There are of course exceptions to every rule...I would not hire a Neural Surgeon unless they had extensive training in the field :)

    --
    The correct answer is 42.
  31. Did they ask if they could look it up? by Anonymous Coward · · Score: 0

    This is true.

    Best answer: exact technical explanation you're looking for.
    OK answer: I don't know, but I know where to find out.
    Bad answer: Something he pulled out of his ass. Do not ever hire someone who does this.

  32. It's a vast field.... by Anonymous Coward · · Score: 4, Interesting

    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.

  33. About 1 in 20 ? by Laxator2 · · Score: 2

    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.

    1. Re:About 1 in 20 ? by sycodon · · Score: 1

      Correct me if I'm wrong, but if I'm paying a developer loads of money, I don't want them re-inventing a fucking sort algorithm. Use the provided utilities and be done with it. How it works is irrelevant.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    2. Re:About 1 in 20 ? by ameline · · Score: 1

      Interesting -- why are you "rebuilding" the team? The events leading to that may (or may not -- what do I know?) have something to do with the quality of your candidates.

      As an aside, I worked on a C++ compiler (20 years ago at IBM), but it was the code generator & optimizer. There are plenty of moving parts in a C++ compiler that are pretty far away from C++ features like templates and stl (exceptions and lambdas on the other hand do poke their way pretty deep). You have to go and learn them -- working on a compiler back-end written largely in C (or the C like subset of C++) will not teach them to you. But I can still to this day read a hex dump and disassemble x86 instructions in my head. (not as quickly or fluently for less commonly used encodings as I used to, I'll admit)

      But I'm close to the 50 year old mark -- I'm pretty grateful to have an interesting and rewarding job -- I'm quite happy that I'm not looking for work these days.

      (Although Apple pings me a couple of times a year :-)

      --
      Ian Ameline
    3. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      Why the fuzz does only one individual have the liscence to a library? Why is the library not liscenced to the organization?

    4. Re:About 1 in 20 ? by merick · · Score: 1

      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.

      So he doesn't know about compilers and the C++ language because he didn't know about computational complexity or at least Big O notation? You should have asked about language features and syntax, inheritance or something if you wanted to determine if he really wrote a C++ compiler.

      It's similar to you saying you built a piano and I ask you to play some Chopin or Bach for me. But you never claimed to know how play it, you just built in. If I wanted to know about your ability to build pianos I should ask questions about the construction and internal workings of it.

      His skills may not be what you're looking for, and that's fine, but to consider him incompetent seems too far a stretch.

    5. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      He wasn't asked to sort anything. The array is already sorted. He wasn't even asked to search something. The question was about the time complexity of a commonly used algorithm, something you should know even if you have never implemented that algorithm (and never will), because it's an important aspect which affects your choice of data structures and algorithms, and choosing those well is your job as a developer. Log2(N), btw.

    6. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      How it works is very relevant if you care about performance.

      You should care about performance.

    7. Re:About 1 in 20 ? by mrchaotica · · Score: 1

      It's similar to you saying you built a piano and I ask you to play some Chopin or Bach for me. But you never claimed to know how play it, you just built in. If I wanted to know about your ability to build pianos I should ask questions about the construction and internal workings of it.

      How do you know if the piano you built works (or indeed, that it is even a piano at all) without playing it?

      I'm not saying playing some Chopin or Bach is necessary, but you should at least be able to manage something like "Chopsticks" or "Twinkle, Twinkle Little Star."

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    8. Re:About 1 in 20 ? by lgw · · Score: 1

      How it works is very relevant if you care about performance.

      You should care about performance.

      I'd say there are few areas where in-memory performance still matters, but writing a compiler is the most important!

      Or to out it a different way, if a guy claims to have written an efficient sort (part of the C++ STL), now do you care whether he knows how to write one?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      Correct me if I'm wrong, but if I'm paying a developer loads of money, I don't want them re-inventing a fucking sort algorithm. Use the provided utilities and be done with it. How it works is irrelevant.

      Did you read the post you are replying to? The question involved looking up an element in a collection that is already sorted. How can a developer choose to use a utility if they have no idea how the utilities work? Is there a utility that forces your collection to be in-order when that would make lookups fast? Idiot.

    10. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      there are several algorithms to find a piece a piece of data. knowing which to use, under which circumstances (in this case a sorted list) is an important part of writing good code. It follows that having a rough idea of the number of operations required is quite important too.
      The provided utilities (e.g. container classes) will store, and search their data in different ways, so knowing which to use can make a big difference to the efficiency of the code.
      So while you may not want your highly paid developer to re-implement a "fucking sort algorithm", you should expect them to have a fucking clue about how to use the fucking things without turning the code into a clusterfuck of n^2 searches

    11. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      Here we go again !

      Sorting and big O notation. Seriously, is it the most profound mathematical concept CS grads are exposed to these days? It seems that a lot of people have a real fetish for the stuff, by the way I have a background in Physics (QM).

    12. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      >Correct me if I'm wrong, but if I'm paying a developer loads of money, I don't want them re-inventing a fucking sort algorithm. Use the provided utilities and be done with it. How it works is irrelevant.

      Ah, "How it works is irrelevant.", the mantra of the cargo-cult programmer. They don't understand how their libraries, compiler, OS, or computer work and just happily treat it as a black box. Not only do they not understand the limitations and performance characteristics of these things, they aren't even aware that the limitations, etc. exist, blithely coding away on thin ice. What they code up sort of works (in a manner of speaking) and can be enough run a business (with a lot of TLC) but do you want your companies future riding on it?

    13. Re:About 1 in 20 ? by Anonymous Coward · · Score: 0

      in this case a sorted list

      No, not a sorted list, a sorted array. I'm beginning to see what the article is about. Apparently quite a lot of developers can't even read.

  34. Market sucks by Anonymous Coward · · Score: 0

    I'm guessing most of the real good people are employed already, and will not bother to interview unless the pay is great. I do agree not all developers will know PKI, but and good dev will be able to look it up.

    I'm kind of tired of everyone trying to only hire only the best developers. Most dev work is not that complicated, It's getting all the requirements and communication that slows everything down...

  35. Re:Hopefully the applicants had a relevent backrou by DickBreath · · Score: 2

    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 cryptography. Asking whether the document is PDF or Excel demonstrates a lack of understanding. The document type is irrelevant. It is a file of bytes. You want to send those bytes securely. (And you may want the receiver to be able to verify that it actually came from you.)

    --

    I'll see your senator, and I'll raise you two judges.
  36. way too many by Anonymous Coward · · Score: 0

    Its a ridiculously high percentage if the people I've worked with over the last two years are any indication.

    1. Re: way too many by Anonymous Coward · · Score: 0

      And what I've noticed about said people is that they are _very_ defensive about letting anybody remotely skilled into their organizations. If they are spooked even a little they will put far more effort into sabotaging the new person than they ever did doing their jobs well enough to obviate any real or imagined threat.

  37. You get what you pay for, "Ramone" by Anonymous Coward · · Score: 0

    Change your ad to read, Senior Developer/Architect wanted, $250K+, must be expert in [list skills wanted].

    Do this and I guarantee the quality of your applicants will increase substantially.

    1. Re:You get what you pay for, "Ramone" by Grishnakh · · Score: 1

      I'm not going to write "THIS!!!" because I really hate this neologism, however that's exactly the sentiment I have: This is exactly correct.

      Very, very few job listings these days show salary expectations, so it's easy to apply for some nice-sounding position only to find it pays peanuts. So it's easy to not bother unless it looks really interesting.

      If companies started advertising what they were really willing to pay for a position, they'd likely have more people looking at these positions (since they can compare with their present paltry salaries and jump). As it is, they seem to think we should just be happy to have a job, any job, and that they're all the same.

    2. Re:You get what you pay for, "Ramone" by lgw · · Score: 1

      Jobs don't pay fixed amounts - the pay varies based on the candidate. Companies, OTOH, have discoverable reputations as to where they pay relative to the industry - though you have to be careful, as that can vary by pay grade. And for sure the first conversation I have with any recruiter includes telling them m current comp, so that we don't waste each others' time.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  38. What is their education? by dostert · · Score: 1

    I'm teaching a 200-level required course required for all CS and Mathematics majors right now... and they have to use mods to decrypt a 20ish character string a la RSA. Perhaps you're combing through a group without a fairly good formal education. Most any decent CS program will have taught their students the basics of public-private key encryption.

    1. Re:What is their education? by idontgno · · Score: 1

      Or you may be overestimating how much your students will retain and recall in 2-3 years. :)

      BTW: "they have to used mods to decrypt"? What is "mods" in this context? Perl modules? Modulus maths? Bored London teenagers dropping amphetamines and racing scooters from cafe to cafe?

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    2. Re:What is their education? by Anonymous Coward · · Score: 0

      Or you may be overestimating how much they'll remember next TERM.

      We just finished interviewing students for summer internships. All had second year calc, discrete math, fourier tools, and intro to proofs, most had some third year maths and stats.

      Exactly one student remembered the modulo operator correctly. One other student was able to matrix multiplications (and with some prodding, could construct stretch and flip matrices).

      NO student remembered their Sept-Dec math courses well enough to discuss the ideas meaningfully.

      You overestimate your students. They're cramming and cheating. Find one who wasn't a star pupil and ask him or her a related question in the hallway this month. They won't be able to answer without guidance (words or affirm/negate body language).

    3. Re:What is their education? by TheGratefulNet · · Score: 1

      thanks for the WHO reference.

      "we are mods, we are mods, we are - we are - we are mods!"

      --

      --
      "It is now safe to switch off your computer."
    4. Re:What is their education? by dostert · · Score: 1

      Modulus... but suggesting they use "Bored London teenagers dropping amphetamines and racing scooters from cafe to cafe" in their studies gives me a great idea for an applied project!

  39. Develops are specialized in different things by Anonymous Coward · · Score: 0

    Developers are specialized in different things same as scientists do not all now physics or biology. From what I am reading, it seems that you are trying to hire a developer that has a wide range of knowledge, high skillset, and security awarness. Well.. Try to hire a geologist physicist and micro-biologist that are all one person. Generalist developers that keep up with trends, software projects, and various CS topics exist, but I suspect there is less than 10% of them.

  40. Humans are bad at software by fractoid · · Score: 4, Interesting

    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.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    1. Re:Humans are bad at software by Anonymous Coward · · Score: 0

      How do you categorize yourself?

    2. Re:Humans are bad at software by Anonymous Coward · · Score: 0

      @fractoid,

      I am just curious, at my company, i notice that the best (excellent in your standard) 3 developers are bi-lingual and non-cs-major,
      I want to know if there is a correlation there.

      Please share some traits of the 3 best developers, thank you

    3. Re:Humans are bad at software by Anonymous Coward · · Score: 0

      1000x this.

      And it's easy enough for excellent developers to suck, too. There are people that you want doing good steady work, and there are people that you want to do the crazy leaps that no one else could do. Generally, confusing the two does not end well -- the solid developers can't make those leaps in a reasonable amount of time, and those crazy people will run in circles and screw themselves over getting bored on regular projects.

  41. Title Encapsulates Bad Premise by idontgno · · Score: 4, Insightful

    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.

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
    1. Re:Title Encapsulates Bad Premise by Anonymous Coward · · Score: 0

      The OP hasn't even indicated if this is relevant to the job itself.

      Personally I hate being hit with a sandbag like this (an irrelevant requirement) in the middle of a job interview. Yes, it makes you "think on your feet". But job interviews are stressful enough already.

    2. Re:Title Encapsulates Bad Premise by Anonymous Coward · · Score: 0

      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.

      Asking a senior developer with decades of experience to explain the basic logic behind public key infrastructure (a fairly elementary security principle), is not detailed, nor intricate, nor close to the analogy you are making, good sir.

      Application insecurity is a colossal, expensive, and difficult-to-solve problem... primarily cultural, as evidenced by the volumes of "I do things this way because that's how I've always done them - how can I be expected to learn something new?"- resistance in the comments here. Typical problem with senior developers, I imagine.

  42. Developer, not email security expert by JoeCommodore · · Score: 1

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

    --
    "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
  43. It's partially a symptom of management by NerdStarDJ · · Score: 2

    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!

  44. Me, I'm bad at what I do. by Anonymous Coward · · Score: 0

    I'm a Senior Engineer and mediocre developer. But I'm great at knowing my limitations, and I'm good at knowing when other people are exaggerating their abilities. So, I leave enough time, limit feature-creep, and make reasonable decisions. I stay out of the way of people who know what they are doing. It all works out.

    --AC

  45. They're not doing as much as you think by Kjella · · Score: 1

    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 hired for, if you can be a great Oracle DBA that's better than 95%+ of the other applicants. If you know anything outside that scope it's just bonus. There are a few multi-talents around that know next to everything, but they're rare and usually doing something important or what nobody else can. Just be aware of where their knowledge end and use them well at what they're good at and have someone else review their code for what they're not.

    --
    Live today, because you never know what tomorrow brings
  46. Basic maths by uohcicds · · Score: 1

    Let's define "bad" as below average at the job. One might then reasonably assume that the distribution of programming skill might approximate a normal distribution. So pretty much half. Just think what the average dev is like, then consider that half of them are even worse than that :)

    --
    It's not you: I'm just this horrifically socially awkward with everybody.
    1. Re:Basic maths by david_thornley · · Score: 1

      Programming skill* might approximate a normal distribution, but probably over the whole population. At one end would be people who can't program at all, at the other would be the really good ones (and I'd expect a fairly big skew). This means that the developer population is among the people on the right tail, which suggests that the average would be fairly close to the lower end. The skew would raise the mean ability of developers so I'd expect the majority to be worse than the mean ability, and of course something like half would be below the median (very close if we're dealing with a continuous distribution, and perhaps noticeably less than half if we've got a discrete one).

      *I'm assuming here that programming skill is a meaningful measure that can be expressed by one number. This is probably true only for developers in a frictionless vacuum, who after a few minutes can be safely assigned a zero.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  47. Re:But where/when does one explicitly learn securi by sycodon · · Score: 1

    You should put in the sarcasm tag because many here will believe you are serious and agree with you.

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
  48. Right Applicants? by Anonymous Coward · · Score: 0

    TFA didn't specify if it was a position that specialized in security or not. If you're advertising specifically for a position that specializes in it, then being disappointed with people not answering that question is fine. If you're advertising for something else, then springing questions like that on them for fun, that pretty just makes you a know-it-all douche, and I'd rather wash dishes tan work for you.

  49. College requirements are why.... by Anonymous Coward · · Score: 4, Interesting

    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.

    1. Re:College requirements are why.... by Anonymous Coward · · Score: 1

      I was smart enough to see that College was a huge waste of time. ... I have 8 years of professional senior-architect level experience

      People like you guarantee people like me employment through retirement. I have to wonder how many wheels you've re-implemented (poorly) based on your lack of background knowledge in software development.

      You may be exceptional, but every person I've interviewed without a college degree tends to lack the necessary critical thinking skills and ability to see abstractions and patterns to become an excellent software engineer.

    2. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      It's exactly the thought that I must be worse or something due to how I was taught; that is wrong.

      Your kind is slowly dying out.

    3. Re:College requirements are why.... by Marginal+Coward · · Score: 1

      You may be the exception, but most of us who graduated from college make use of at least part of what we learned there every day on the job. In my own case, I learned a lot of math and theory in college that's essential to what I do, even though most of my daily work revolves around skills I've learned since I graduated from college.

      So, although college isn't for everybody, it's done some of us quite a lot of good. I think employers recognize that a formal education and a degree do add value, and although they might miss the occasional prodigy by requiring credentials rather than experience only, that's a price they're willing to pay.

    4. Re:College requirements are why.... by david_thornley · · Score: 3, Insightful

      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.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:College requirements are why.... by radl33t · · Score: 1

      you should have spent some of your non-collegiate experience learning basic statistics.

    6. Re:College requirements are why.... by AnarchyLime · · Score: 1

      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.

      This is how people should be hired. Formally educated or self-taught is irrelevant. What matters is if you believe I can accomplish the work you need done within the time you expect. As a hiring manager, you either trust I can accomplish the job or you don't. My past experience can only really contribute to establishing (or harming) the trust in the potential business relationship. Ability to solve complex problems with clean engineering principles/practices is what should be sought out, not x number of years in a particular language or technology. After that you're negotiating a price that's hopefully within your budget to make a profit on my contributions.

    7. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      ^^^ This 1000x. You will go a lot farther by hiring people who are passionate about what they do, and want to learn more because they are passionate about what they do.

    8. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      So. Much. Humblebrag.

    9. Re:College requirements are why.... by radish · · Score: 3, Insightful

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

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    10. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      Sounds like your opinion is based on the idea that the point of college is only to train you for a job...but you trained yourself better than any college could, right? Well I guess it's awesome to be a computer genius. I wonder how balanced the rest of your character and personality is?

      Here's some of what you missed in college: 1. parties. 2. girls. 3. drugs. 4. music. 5. other cultures. 6. other languages. 7. other races. 8. camping. 9. hiking. 10. singing. 11. theater 12. differing opinions 13. alternate passions. 14. alternate lifestyles. 15. poetry. 16. writing. 17. sports. 18. cooking. 19. a liberal arts education that teaches you about things besides computers.... like world philosophy, world religion, economics, science, arts, humanities, etc. 20. A social network that connects you with professors, researchers, students, businesses, internships, startups, entrepreneurs, and inventors.

      My point is NOT that you can only learn/experience these things in college. I'm sure you've studied some of them on your own, and from your attitude, I'll assume you decided you're an expert on them.

      My point is that many people get more out of college than a degree that prepares them for a job.

      My college years are some of my favorite memories, with some the most interesting people I've known. I can't put a price on that kind of happiness. It also made me a balanced personal socially, so that I DON'T spend my entire life with my head buried in a spreadsheet for some venture capitalist because I've convinced myself that the only measure of success is the size of my bank account.

      But money makes you happy, right? So you're happy....RIGHT??

    11. Re:College requirements are why.... by wiredlogic · · Score: 1

      Don't fret. I have a masters degree in my field and can barely get any callbacks. The entire technical hiring process is now run by know-nothings running resumes through dumb scoring algorithms and throwing out 90% of the "chaff".

      --
      I am becoming gerund, destroyer of verbs.
    12. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      Wow, condescend much?

      Two words for you: Audrey Tang.

      I guess you also think the college dropouts Jobs, Woz and Gates are not as stellar as you.

      At the end of the day only the results matter.

    13. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      Yeah "They think I'm an MBA because I act geeky" does not compute with me on any level.
      "Wow, your vast techinical expertise is leading me to believe you must be an MBA!" said no one...ever.

    14. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      I would dare say that someone who would say something like "I was smart enough to see that College was a huge waste of time" with confidence probably is severely lacking in critical thinking skills and greatly suffering from overconfidence and lack of understanding of their own limitations.

      People who think that way never put themselves to the test, trying to succeed in school studying topics they may not enjoy with people smarter than they are, never ate humble pie and instead think they know it all.

      I wouldn't want to hire such a person.

    15. Re:College requirements are why.... by strikethree · · Score: 1

      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.

      I am not the parent poster but your response caused me to immediately think: Go ahead. Keep filtering on arbitrary stuff... and keep whining about the lack of applicants who can do what their CV says.

      I am one of those "real" people. If it says it on my CV, then I can do it. If it says I am an expert at it, then I really am an expert at it. You will never see my CV. Why? Because of the arbitrary filters you put up, it "forces" everyone else to lie just so their CV can be seen... but I will not lie.

      But yeah, keep on filtering on arbitrary crap.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    16. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      Google have said they like to hire mathematics majors for software roles, claiming they have better problem solving skills than CS majors. Then again, there's a lot of maths in search technology.

      I'm a maths science major and work in the software industry, but not as a developer.

    17. Re:College requirements are why.... by greg1104 · · Score: 1

      Audrey Tang? Really? Your lead example is someone known primarily for their epic failed project?

    18. Re:College requirements are why.... by Anonymous Coward · · Score: 0

      I wouldn't hire you because I believe in the No Asshole Rule. As one of the other posters mentioned, it is a team dynamic issue that is critical to a functional workplace. You clearly believe that you are special and expect special treatment. I've worked with lots of people like you and they cause more problems than they solve. I would recommend that you work on honing your emotional intelligence skills because they are every bit as important as technical aptitude.

      Also, while I agree that credentials should not be the only thing considered when hiring, I do believe they account for something. For one, they show that the person has the ability to stick to a task and complete it. Secondly, they indicate that the person doesn't take shortcuts. It is a huge problem. We have one person on my team who doesn't believe in this or doesn't believe in that and has come right out and said that if we want it done, we can have one of the other team members do the work that he doesn't care for. This attitude does not work at all. There is no place in business for people who believe they are too good for the mundane portions of the work (like writing unit tests and documentation).

      I also agree that your attitude suggest a Dunning-Krueger effect condition. I have worked with self-taught people in the past and while they could get things done, they tended to be cowboys and wrote things in a manner that were not best practice nor were they maintainable/reliable. They also lacked self-discipline.

      I don't know you so from a single post it is difficult to gauge what you are like. However, you do come off as an arrogant ass who believes he is smarter than everyone else and is entitled to benefits that he hasn't earned.

    19. Re:College requirements are why.... by david_thornley · · Score: 1

      If a hiring manager could filter on "really can do what the CV/resume says", that would be great. Unfortunately, they can't. They have to set up filters, because they really have no alternative. Most of the resumes they will see are from people who aren't very good, and are looking for pretty much any sort of job, and there's plenty of them around. The filters need to be set to get the best chances for the remainders.

      I'm going to suggest that, all other things being equal, a person with a college degree is a better bet than a person with a high school diploma, who in turn is a better bet than a high school dropout. With the college degree, you have good evidence that the person is reasonably smart and/or dedicated, and has what it takes to apply himself or herself to something for years. A high school dropout would likely be somebody who isn't very smart or can't apply himself or herself or has other issues. That's not true of all of them, but looking through a large pool of dropouts looking for the exception is not going to turn up many good applicants. Education isn't arbitrary crap.

      The hiring manager is not looking for the best possible candidate, regardless of cost. Therefore, the manager will not be looking in unpromising places, not for long anyway. The manager is looking for a good candidate, without spending too horribly much time looking. So, if you and I apply for a job, and we're both good candidates, I'm likely to get the interview before somebody who doesn't have the degree, and you may never get a chance. I don't know if this bothers you (you may run your own business or have enough people who know you're good), but it isn't going to bother the hiring manager.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    20. Re:College requirements are why.... by strikethree · · Score: 1

      If a hiring manager could filter on "really can do what the CV/resume says", that would be great. Unfortunately, they can't.

      I understand this, you understand this, it is orthogonal to what I am saying however. I was illustrating how "increasing requirements" merely result in increasing lies. Ask for what the job entails and filter on that. It will not help with the liars but it gets rid of the absurd, such as 10 years of experience with server 2012 when it is only the year 2015.

      I'm going to suggest that, all other things being equal, a person with a college degree is a better bet than a person with a high school diploma, who in turn is a better bet than a high school dropout.

      For apprentice level jobs, I wholeheartedly agree. If you want to play the odds then that is the way to go; however, for non-entry level jobs, I would say it is counter-productive, if not outright incorrect. A person who has 5 years experience actually doing something, and doing it well, is a FAR greater bet than someone who has 20 some certifications and a masters degree, but who never stays in any one one job for more than two years. I say this from experience.

      I would go even farther (further? I need education) than that and say that the high school dropout who has 10+ years experience and great references is more valuable than a PhD in respect to getting the job done. Clearly there are things the PhD person can do that the high school dropout can not, but are those things relevant to the business? I would argue that those things will drive up the price of PhD in relation to the high school dropout.

      The hiring manager is not looking for the best possible candidate, regardless of cost.

      Change your filters and you have a better chance of finding the right candidate.

      So, if you and I apply for a job, and we're both good candidates, I'm likely to get the interview before somebody who doesn't have the degree, and you may never get a chance.

      I have been responsible for the hiring decision for numerous people. I have been burned many times by using degrees and certs as filtering tools. If there is nothing else there then yes, but otherwise, it is all about the experience and the employment history. Your experiences and employment history is what will get you the interview when I am reviewing CVs and resumes.

      I don't know if this bothers you (you may run your own business or have enough people who know you're good), but it isn't going to bother the hiring manager.

      I am not currently running my own business and I have suffered greatly at the hands of ignorant hiring managers, but then, I would argue that we were both better off never meeting. Willfully ignorant people piss me off. I have been making a six figure salary for over a decade. I have made enough money for them to stop taking social security taxes out after only 6 months because the maximum for the year had already been paid. Most people are not even aware there was a maximum that could be paid in a year.

      My thesis is that filtering by education is counter-productive unless there are no other discriminators to use. Even then, we are talking about making it to the interview stage only, not as a hiring decision. If you can not find interesting people to interview, I would say your hiring practices need to be re-examined.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  50. Re:Hopefully the applicants had a relevent backrou by fractoid · · Score: 1

    Really? You should at least know the basics of public key encryption if you want to work in computers. It's as much a cornerstone of modern information tech as the OSI stack or the filesystem.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  51. Hey ramone, the pool guy! by Anonymous Coward · · Score: 0

    You should jump into the pool for making such a ridiculous conclusion!

  52. Email encryption is Dead by Anonymous Coward · · Score: 0

    Email is a best effort UDP "like" service that older people tend to think "is now reliable, and can be made secure". I call BS in such thinking.. its lazy. Email was never designed that way and is fundamentally insecure.. even with PKI.. your keys can be Stolen! File transfers are only reliable and secure handled by a third party.. not peers.. this question is dumb. Asking for more information is the Correct answer.

  53. Bad at job or bad at interviewing? by Anonymous Coward · · Score: 0

    Remember, you are dealing with a bunch of nerds and many of them are going to lack the social skills that work in an interview, but put them in a good office environment with the right tools and they will do well. I hope you can discern the difference in interviews, but it may not be easy.

  54. Should be called "Whine at Slashdot" by 0xdeadbeef · · Score: 1

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

    That's a reasonable question. Without knowing the level of security required, the encryption facilities that are standard for these file types could be sufficient. The applicant wanted requirements, which is a smart thing to ask.

    And why the fuck should everyone know the details of PKI? You didn't say it was a security position. Hell, a little knowledge of encryption can be worse than no knowledge, because then they might try to roll their own.

    Something tells me the submitter is inflating his/her own expertise.

    1. Re:Should be called "Whine at Slashdot" by Anonymous Coward · · Score: 0

      And why the fuck should everyone know the details of PKI?

      I'm sure he would have been happy with something as simple as: "Take two prime numbers, make one the private key and the other a public key. Then you use a magic math algorithm that returns the original data when run once with each key in either order. Encrypt something with the recipient's public key, or sign something with your private key."

      After looking it up, I had the details wrong about how you get the keys, but that answer should have been enough to demonstrate presence of clue, though not of being a crypto guru. (If submitter actually wanted a crypto guru, then he failed to mention that in the submission, and likely in the job posting as well.)

    2. Re:Should be called "Whine at Slashdot" by Idimmu+Xul · · Score: 1

      if you don't know the basics of public/private key cryptography, you'll get ass hat developers passing their private SSH keys around instead of their public ones, wasting a lot of people's time who will have to run about doing damage control.

      If, as a developer, you think your job starts and ends in an IDE, you're going to be a shit developer if you are unable to navigate the systems and infrastructure you are developing for.

      --
      The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
  55. Re:But where/when does one explicitly learn securi by Lunix+Nutcase · · Score: 1

    Nah, it's much more fun to catch those people and then mock them for being morons.

  56. Jack of all trades by omibus · · Score: 1

    Problem is there is too much to know for any one person to learn it all. I've never been asked to encrypt a file in my life (programmer for 15 years), because no single company that I have worked for has cared that much about securing files being sent out. (the ones that did, just sent password protected zip files). Typically the things that need to be secure are behind firewalls, or the encryption is handled for you by other systems you are using.

    Now, how do you find a good developer? Those are hard to define intangibles.

    Being a quick study is one. I don't know how to do that today, but give me a day and I'll tell you all about it. I have enough of the background to learn the detail quickly and retain them. So, if the developer in question doesn't know the particular information you consider critical, ask them where they will go to figure it out.

    Now, I have litmus tests as well, typically they involve a developer's knowledge of the languages (e.g. C#, Java, SQL, JavaScript, etc), because no developer is going to be writing encryption code all the time, where they are going to be writing in languages all the time.

    Writing good code. That is really hard, but basically they can write code that they can easily understand and modify over time with minimal errors. That is the heart of the craft.

    --
    Bad User. No biscuit!
    1. Re:Jack of all trades by Anonymous Coward · · Score: 0

      Problem is there is too much to know for any one person to learn it all. I've never been asked to encrypt a file in my life (programmer for 15 years), because no single company that I have worked for has cared that much about securing files being sent out. (the ones that did, just sent password protected zip files).

      That makes a lot of sense if you start to think about who you are protecting yourself from.
      The two groups you are protecting your data form is script kiddies and competitors. Neither group have access to expert cryptographers. (Unless you work in the field, but then it is a non-issue since you have the experts do deal with the problem anyway.)
      This means that xoring the data with your dogs name will be sufficient protection to keep them off your data.
      What it doesn't protect you from is the government, but they aren't going to care about your encryption. They'll just walk right in and take whatever computers they suspect have the data they want to look at, but that isn't going to happen unless you are doing tax fraud.

  57. Pop Quiz vs Real Interviewing by ohnocitizen · · Score: 1

    If you are only looking at developers who have worked with encryption, ask them to describe recent relevant projects. If you are getting in developers who don't have encryption on their resume, and expect them to answer what is essentially a pop quiz on a specialization - prepare for more disappointment. Also prepare to miss out on potentially brilliant problem solvers who won't be able to answer questions like that off the cuff, but who could probably *implement* a custom encryption solution for you if directed. If they DO have encryption on their resume, see how they talk about it. Perhaps using encryption in the day to day doesn't NEED to involve thinking about how it works, and so most developers don't waste time on it.

    1. Re:Pop Quiz vs Real Interviewing by Lunix+Nutcase · · Score: 1

      Yeah, these pop quiz type interviewers are just as bad as the brain teaser people. Both don't realize that their questions don't actually bring in good people. It's the very reason these types of questions have been phased out or are in the process of being phased out by companies like Microsoft, Google, etc. The only thing the questions ended up hiring is people who trained themselves for the interview.

  58. Developers are like Doctors. by Anonymous Coward · · Score: 0

    Just remember that 50% of Doctors graduated at the bottom half of their class.

  59. Avoid Q&A style interviews by HappyDrgn · · Score: 3, Informative

    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.

  60. PDF encryption by oneiros27 · · Score: 4, Informative

    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.

    --
    Build it, and they will come^Hplain.
    1. Re:PDF encryption by MooseTick · · Score: 2

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

    2. Re:PDF encryption by Deflatamouse · · Score: 1

      Exactly. Engineering is not about finding the biggest hammer and applying it on everything. Even though that will work, but there are other restrictions you must satisfy. Asking what type of file is relevant because those types may already offer its own way to do what you asked.

      If all I need is to send an excel file that I want to keep from prying eyes, then putting a password on it would be good enough. I don't want to tell the end user to install PGP or GPG, generate their own key pair, then sending the public key to the recipient, and 10 other steps to get everything set up.

      A quick and easy solution is generally better than a general, optimized, but slow to implement solution. Of course there are exceptions to this. If you're building a file sharing service, then using a PKI would be a better solution than depending on Acrobat or Excel's mechanism. But you didn't specify that in your question.

      Everyone has their Achille's heel, but that doesn't mean they're bad developers.

    3. Re:PDF encryption by Anonymous Coward · · Score: 0

      PDF or Excell or most file format level encryptions are notoriously broken and insecure. The question states very clear: "very sensitive information". Obviously the person asking about PDF or whatever format can't be trusted to have access to really sensitive information.

  61. Low Salary = Bad Candidates? by Anonymous Coward · · Score: 0

    You're probably posting a low salary for your candidate pool, so you're dredging up all the candidates that are desperate enough to take it.

  62. Re:Hopefully the applicants had a relevent backrou by fractoid · · Score: 1

    He didn't even say anything about "build an app which sends a file using PKI". He just said "how would I send a file?" All the applicant had to do was answer "well I'd give you my public key and then use PGP to encrypt the email." Is the general concepts of public key infrastructure not basic required reading these days? It's no more unreasonable than asking "I want to send a stream of bytes to another computer on the internet, how would I do that?" and expecting an answer describing TCP sockets.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  63. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Really? I knew about PGP 20 years ago.

  64. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    I

    I've been working since the days of the Apple II. It seems pretty basic to understand the basics of cryptography. Asking whether the document is PDF or Excel demonstrates a lack of understanding. The document type is irrelevant. It is a file of bytes. You want to send those bytes securely. (And you may want the receiver to be able to verify that it actually came from you.)

    Really? What if the document type includes provisions for strong encryption? If that's the case, then it could just be a matter of enabling the relevant bit for the document creation tool and then entering a password. It looks like the PDF standard includes provision for AES 256 bit encryption among other things so just telling acrobat or other app that you want an encrypted PDF document and then calling the other person and giving them the password might be appropriate.

  65. Are the job description and your actual requiremen by aussersterne · · Score: 1

    That is to say, did you call for applications from *deeply* experienced people that know esoteric systems X, Y, and Z and that have previously worked with New Hot Language Q and Languages Of The Week I and J?

    Or did you ask for unusual gurus that understand and have a *broad* range of experience with a wide variety of fundamental computing concepts and theory and can apply them correctly while rapidly getting up to speed on new environments and/or languages?

    Because you're complaining about not getting the second group, while most of the job listings posted in industry are the first group.

    There is often little overlap between the two, and HR departments and managers seem to default to looking for the first even when they actually need the second.

    At a more prosaic level, if you specifically need someone that is going to understand general purpose encryption tools, you can also put that in the description.

    A lot of the frustration with "not being able to get talent" in tech comes down to not asking for (or being willing to hire based on) what is actually needed. Instead, everyone is in CYA mode and making job listings and hires that are buzzword-rich and, thus, easily quantifiable ("he hit the right series of checkboxes, it's not my fault that he sucks, I did my part...")

    --
    STOP . AMERICA . NOW
  66. Re:Hopefully the applicants had a relevent backrou by swan5566 · · Score: 1

    This is actually also prevalent in academia. You get profs. who write Ph.D. qualifying exam questions that narrowly focuses on whatever sub-area they specialize in and just expect that everyone should be fluent in it, but in fact most of the other profs in the department couldn't answer them correctly.

    --
    In debates about Christianity, there are two groups: those looking for answers, and those looking to just ask questions.
  67. Demand computer science then train by Anonymous Coward · · Score: 0

    Demand a CS degree then train to fill any holes in practical knowledge needed for the job. If you want "just a programmer" don't be surprised if they don't under stand algorithms or even computers.

    1. Re:Demand computer science then train by Lunix+Nutcase · · Score: 1

      Demand computer science then train

      Train people? What sort of communist nonsense is that? Train yourself on your own time at your own cost you freeloader!

    2. Re:Demand computer science then train by Anonymous Coward · · Score: 0

      Umm, no.

      I've seen plenty of CS degree holders who were awful developers.

      I don't need a developer who knows how to write a quicksort.

      I need a developer who knows to use String.class instead of Class.forName("java.lang.String")

      I've met way too many arrogant CS grads, especially ones with MS CS, who thought going from one language to another was "just syntax". In reality it's far from that.

      Hell there's even a huge difference between a Java developer and a Java EE developer; and no I'm not referring to that festering pustule known as EJB.

  68. Re:Hopefully the applicants had a relevent backrou by gbjbaanb · · Score: 2

    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. Like my mate who was brought into a ASP.NET shop, he learned their tech stack, then one day noticed the trunk had changed a lot, so went to ask the architects who said "oh yes, we decided to move forward with our DB tech, so we're using a repository pattern now". So he goes and learns all about that, does some work on a branch, then goes to merge and... its all changed again. So goes to see the architects who say "ooh no, we decided repository pattern wasn't good enough so we've changed to using entity framework". Now that shop was just stupid, but to a lesser extent this is what is happening all over the industry.

    For example, this guy is getting burnt by it.

    Whilst I agree that change is necessary to keep things progressing, we're almost in a throwaway culture in ITT where everything we ever did is not good enough and has to be replaced. While there are forces pushing against this (for example, all the people who want to do the big rewrite now know its a bad idea) we still have change via refactoring and flavour-of-the-month tech patterns and frameworks pushed at us.

    Only when the industry gets the idea that stable is a good thing and making products is what we should be focussed on doing (ie not changing tech all the time) will this industry be as good career as the other engineering professions.

  69. Re:Excel file by DickBreath · · Score: 3, Informative

    Your question demonstrates that you don't understand the problem. How do I securely send you a file? If I use Excel's encryption, then we have a new problem: how do I send you the password to open it?

    Furthermore, it is a legitimate question to consider whether you should trust Excel's security. (And I'm not picking on Microsoft. At least not this time.) You don't have access to Excel's source code. You can't know it is secure. You could sleep a lot better if you simply assume the Excel is just like any file, and like any other file, you encrypt it and sign it with PKI so that the person on the other end can decrypt it and verify it is from you. (Actually encrypt and sign a small key to a more efficient symmetric algorithm.)

    --

    I'll see your senator, and I'll raise you two judges.
  70. I'd say ALL developers are bad at what they do (*) by Vic+Metcalfe · · Score: 2

    I'm employed as a senior developer. I've been working in the field for about 25 years. The problem is that the job of software developer is that of an inventor with a massive assortment of parts to build from and methods to build with. Add to that the fact that clients don't really understand the problem they're asking the developer to solve and that the problem is usually outside of the developer's core knowledge areas. Ask a dozen experienced developers how they would solve a problem and you're likely to get a dozen different answers, and if you tried to implement each of them you'd find reasons that they're all bad in one way or another.

    Instead of looking for a dev who isn't bad at what they do, look for one who is passionate about building software and not *very* bad at building it.

    (*) Except maybe Donald Knuth. That dude knows his shit. But even he choses some bazaar tools to solve problems making it difficult to work with other devs.

  71. Re:Hopefully the applicants had a relevent backrou by AK+Marc · · Score: 1

    Yeah, like the guy who asked me in an interview "What is the purpose of phase 1 IKE?" The only acceptable answer was "to protect against MITM attacks". It wasn't that I didn't know how encryption works but that I didn't read the same Cisco book (likely one 10+ years old), to get the same textbook answer.

    Just because you understand how to use PKI doesn't mean you should always use PKI. Why not SCP? Why not file-encryption? Why was the question so specific and targeted for a single answer that most people wouldn't get to, regardless of competence, rather than an open ended one? "When would you use SCP vs PKI vs file level encryption?"

  72. Asking the wrong questions, using the wrong metric by merick · · Score: 5, Informative

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

    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.

  73. I'll let you in on a secret... by endus · · Score: 5, Insightful

    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.

    1. Re:I'll let you in on a secret... by Anonymous Coward · · Score: 1

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

      Why is a talent like yours wasted in Security (with a capital S!). You should just architect and code the solution yourself.

      There's a reason you're able to specialize in Security, because the developer doesn't. Instead of locking me out of a development server, why not publish guidelines for the company?

    2. Re:I'll let you in on a secret... by tw2k · · Score: 1

      Almost everybody is extremely bad at their jobs. Especially in IT, but in general too.

      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.

      If you have a computer thats part of a domain and has group policy then it seems pretty unlikely that it was actually a *DOS* command.

    3. Re:I'll let you in on a secret... by Anonymous Coward · · Score: 0

      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.

      Ahhh to be young and foolish again.

      1. You probably don't have a clue or concept of what people you work with do or don't do well. You'd have to work closely with them or step into their role and work within the constraints they work under to have an appreciation. If you're ever permitted to step into your boss' role in a relief capacity I recommend it. You'll develop a new respect.

      2. Everything is a tradeoff and your one time investment would probably improve things very little, or worse be a complete failure. The disruption to business wouldn't be justifiable in either case.

      Yes there are people that suck at their job and shouldn't be there, but it's not 85% unless you're working in a real hole of a job. 10% bad can bring a company down. Heck 5% if it's decision makers.

    4. Re:I'll let you in on a secret... by Anonymous Coward · · Score: 0

      unless you are a unix geek, developers don't use os commands. While I agree that some knowledge would be expected, to disparage such a large group based on the ignorance of an individual reveals more about you than the people you criticise.

    5. Re:I'll let you in on a secret... by endus · · Score: 1

      Touche! :)

  74. Re:Hopefully the applicants had a relevent backrou by DickBreath · · Score: 1

    That is my point. A basic understanding should be expected. Now a detailed expertise. I agree completely with what you are saying, and I say similar things elsewhere here.

    --

    I'll see your senator, and I'll raise you two judges.
  75. Re:Hopefully the applicants had a relevent backrou by DickBreath · · Score: 1

    If you trust the document's own encryption mechanism, then you are still left with a problem. How do you communicate the password? PKI is a good answer.

    --

    I'll see your senator, and I'll raise you two judges.
  76. Maybe you should ask programmers instead by Anonymous Coward · · Score: 0

    Engineers just aren't what you're looking for.

  77. Delete Article Please by Ravaldy · · Score: 1

    Why the nonsense. WHY?

  78. Compentancy of management by Anonymous Coward · · Score: 0

    Sounds like you are looking for an encryption expert. What don't you start by describing the position accurately? Applicants can't read your mind. Had I applied, I'd be disappointed with the competency of management.

  79. Dunning Kreuger effect by tempest69 · · Score: 4, Insightful

    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.

    1. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      >how to make a lamp webpage,
      >how to merge tables from multiple databases,

      I was with you up until these two. It's not a universal skill; been doing mobile/embedded systems most of my career and have never had occasion to do either.

    2. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      All the jobs I've ever had have been listed as junior positions. Senior positions generally have an absurdly long and specific list of skills requirements in a combination that very few people would have been exposed to.

      Applicants who pride themselves on their competence won't apply for a job if they don't have all the required skills. As a result the only people who do apply to such jobs are people with a lot of confidence and no ability.

      The fact that you said you want someone with "good breadth of experience" leads me to believe that it was your own fault you didn't get any good applications. You probably put up a job listing with far to many skill requirements and most people took a look at your listing and closed it near instantly. The only people you got are people who don't take any pride in their ability and who will apply for anything without caring whether they can do the job.

    3. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 4, Insightful

      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.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:Dunning Kreuger effect by blueg3 · · Score: 1

      'How file systems work' would span one book, minimum.

      How file systems work at a high level takes about five minutes and a small whiteboard.

      At a slightly more detailed level, a chapter out of any standard undergrad-level operating systems textbook.

      The details of how one particular filesystem works, at a level such that you could reimplement it, takes about one book.

    5. Re:Dunning Kreuger effect by david_thornley · · Score: 1

      I can do most of that (although there are developers who work in something pretty much like notepad, so don't rule them out).

      I can't make a LAMP webpage, and I'm not at all sure many of the web hotshots here could also (they use Windows/IIS/SqlServer/ASP.NET), although I'm sure they could learn fast, and so could I. My web experience stopped with HTML 3.2, and I've never needed more, and there's far more useful stuff I could learn for the heck of it than I can learn in my remaining lifespan. So, would you hire somebody who can set up an ugly and awkward LAMP page, or somebody who doesn't know LAMP but can do a very good page on the Microsoft stack?

      How to merge tables from multiple databases? This isn't a standard thing, and can vary between DBMSes. I've never had to do it myself, and I have only vague recollections on how to do it with Oracle. If that's not your preferred database, I've got nothing.

      Statistical tests on data? I can do some. Aside from the basics, this can get difficult fast, and it's real easy to come up with false conclusions and not know they're false. It's even easier if you think you know what you're doing.

      Set up proper controls for experiments? That's another thing that can get difficult fast. Are we going to talk about Latin squares here? Do we need double blind? I know something about controls, but "proper" controls for an unspecified experiment?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    6. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 1

      Then perhaps I know to much about file systems.

      A five minutes overview describes 'what a file system is' not 'how it works'.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      How a file system works,

      Beyond "copy", "move", and "delete", this is likely not of any practical use outside of a specialized area.

      how a network works,

      We're gonna go with "very well, TYVM". Maybe a bit of detail about opening a socket and performing read/write operations against it, but beyond that, there's not much use here either.

      how memory works,

      Agreed. This is actually useful.

      how a repository works,

      Not so much how it works, but "can you just use it, not complain that it's a hindrance to your work, not fuck up, and not be completely incompetent?"

      how a software build works,

      If you don't know this, you're not a developer. There may be additional packaging or deployment operations that are unfamiliar, though, so don't get too picky about that.

      how to use editor functions far beyond what can be done by microsoft notepad,

      Heavily editor-preference-dependent. Would not recommend.

      how to use a regex,

      Don't forget how not to use a regex.

      how to make a presentation from data,

      A useful business skill, but not so useful for a low-on-the-totem-pole programmer.

      how to make a lamp webpage,

      I hear those are $1 in a shared hosting environment these days. Save yourself the trouble and money. You can buy a lot of them for the cost of a developer.

      how to merge tables from multiple databases,

      Probably a bad idea. Data integrity is going to be easier to protect if you leave them be and query them in-place.

      how to do statistical tests on data,

      So, a database developer then. Most developers know fuck-all about databases. Beware.

      how to set up proper controls for experiments,

      So, a scientist then. Most developers know fuck-all about real, actual science. Beware.

      how to write

      And then to top it all off, you want free documentation while still meeting development deadlines.

      The reason you didn't find a "senior" developer to fill that position is because you want them to do junior-level grunt work, have advanced expertise in no less than 5 separate fields of work, and also be a client and/or management liaison. I could do those 5 jobs, but I'd want 5 salaries for it. There's a certain point where you need to break it up and pay 3-5 people to do those tasks. And apparently, reality beat that lesson through your skull eventually, so there's hope for you yet.

    8. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      LAMP? Really?

    9. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      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.

      Why does this surprise you? You just gave a list of pretty shallow topics in a pretty broad range. This is exactly the type of stuff that I would expect a junior applicant to know. Senior applicants with decades of experience would likely have explored a few specialty areas where they could go very deep on a subset of these, but would have had no recent need for the breadth.

    10. Re:Dunning Kreuger effect by JimFive · · Score: 1

      One of the problems with questions like this, especially out of the blue (that is not as a contextual followup) is that there are many answers depending on the context inside the questioners head. For example: "How does memory work?" Well, do you mean at the physical level? Or from a memory addressing model level, from a C style pointer level, heap vs stack, or just the idea of binary digits?

      Likewise with the OP question of "How does public key encryption work?" either the question reduces to the absurdly easy "How do you encrypt a file with PGP?" or it requires a bunch of math that I really don't know. Since I can't believe that someone would ask the first question in an interview for Senior Developer then the answer left is "With a bunch of math I don't know."
      --
      JimFive

      --
      Please stop using the word theory when you mean hypothesis.
    11. Re:Dunning Kreuger effect by blueg3 · · Score: 1

      No, you can explain how it works in five minutes, given some background in data structures. (You cannot cover the details of how a particular filesystem, particularly a fancy one, works.)

      It's a database that manages the allocation of fixed-size blocks on disk to files and stores metadata about those files. It generally has a header at a fixed position on disk that identifies the filesystem, stores filesystem-wide metadata, and contains a pointer (rather, offset and length) to the index of files. The index of files is a data structure (varies per filesystem; example: B-Tree) that stores a record per file on the filesystem. The record contains metadata for the file. Metadata varies per file system, but the key metadata stored is the collection of blocks on disk (and their order) owned by (allocated to) that file. Generally, every file gets a unique identifier and directories are implemented as lists of the unique IDs of files contained in the directory (plus, potentially, other metadata), though some filesystems implement directories differently.

      Knowing too much about filesystem should not prevent you from being able to describe how they work at a high level. If it does, the problem is not knowing too much, but focusing too often on details in a context where the details are not warranted.

    12. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 1

      Well, with the explanaition you just gave you had scored one out of ten possible points for showing that you had the spirit to 'think about a filesystem'.

      Basically everything you wrote is close to very wrong. Mixing in things like 'block' does not fix it.

      The biggest mistake was to start the description with 'It's a database ...'

      Bottom line you only described what a filesystem IS (wrongly IMHO) and not HOW IT WORKS.

      That was my prime critics to the original poster, the question is simply wrong worded. It should have been 'describe a filesystem' and not 'how does a filesystem work'.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    13. Re:Dunning Kreuger effect by lgw · · Score: 1

      You don't know how file systems work, though you were able to summarize about half the concerns, in a way that ignores both the OS-specific driver stuff and all the messy details. That's the thing about storage - the job is 95% about the messy details.

      I find too few candidates can even describe to me why doing file access in 2 threads helps. I've just stopped asking, as long as they get that it does help, that's what important these days (now that I don't work in storage!).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    14. Re:Dunning Kreuger effect by lgw · · Score: 1

      The biggest mistake was to start the description with 'It's a database ...'

      Remember when Microsoft made that mistake with their "revolutionary new filesystem" that never actually made it to release? There are actually some storage systems that work that way, but they really suck to work with (and tend to only support some tiny number of files, usually less than a million).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    15. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      If someone can't give a basic outline of how a filesystem works I'd question what business they have being a developer. "The computer puts the files on the disk" is not acceptable. Any mention of inodes, file allocation tables, storage of meta information, hard links, whatever... I wouldn't want them to sit down and design a filesystem on the spot, but that sort of stuff should be OK. Just some basic awareness.

    16. Re:Dunning Kreuger effect by blueg3 · · Score: 1

      I'll bite -- what feature or lack thereof makes a filesystem not a database?

      Bear in mind that "database" is a quite general term and that I didn't say it was any particular type of database (e.g., transactional, relational, key-value, etc.).

      "Describe a filesystem" is different from "how does a filesystem work".

      Everything after the first sentence (which is an introduction) is, in fact, how it works.

    17. Re:Dunning Kreuger effect by blueg3 · · Score: 1

      You don't know how file systems work,

      Says you, sans evidence.

      ignores both the OS-specific driver stuff and all the messy details. That's the thing about storage - the job is 95% about the messy details.

      You must've missed "high level summary". They explicitly ignore the details in order to discuss the overall architecture. Which is important. You can't reasonably start with the details and expect to understand it -- though lots of people do, and end up understanding the details without understanding the overall structure (resulting in saying ridiculous things like "filesystems are not databases").

      Filesystems are not OS-specific and they don't need drivers. They're bits on disk (or any other storage mechanism). Or blocks on disk, if you prefer.

      I find too few candidates can even describe to me why doing file access in 2 threads helps.

      Maybe so, but that doesn't have a damn thing to do with how a filesystem works.

    18. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      > 'How file systems work' would span one book, minimum.

      A journal on the disk stores information about names and info about files, and the physical address where they are stored on the disk.

      There, I summarized how a filesystem works in a manner that demonstrates that I have a basic understanding of the topic like parent asked, and it didn't take me a book.

      Being able to communicate effectively and demonstrate ones knowledge would go a long way in answering the parent's questions - instead of assuming you'd fail because it's ambiguous what kind of repository they're talking about, you could ask "do you mean a source code repository or an artifact repository?". If they ask if you know how to use a regex, you'd say "yep, in , and I'm comfortable with the basic structure enough that I can Google the specific dialects as necessary."

      Imagine you're sitting in an interview - you're trying to demonstrate that you know how to solve problems primarily, and being overly nitpicky about the questions or getting grumpy about how they're asked is a good way to show you're not their candidate.

    19. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 1

      Yes, I know that there are "database based" filesystems :D

      I guess a million files was enough when 640k was enough.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    20. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 1

      Everything after the first sentence (which is an introduction) is, in fact, how it works.
      No it is not. Working is a process, an "how to", you describe more or less only data(structures).

      Example: how does a care move?
      Answer: it has wheels and an engine.
      Conclusion: that does not describe how it works, but how it is constructed or what it is.
      Correct Answer: In an engine fuel is burned, the expanding gases drive a mechanism that is connected to the wheels, hence the car can drive.

      Regarding filesystems the question "how does it work" makes not much sense. "What is a filesystem", "What is the purpose of a file system", "How is a file system integrated into a kernel", "How does a file system look on disk" ... there are plenty of interesting questions. However the simple "how does it work" would leave me baffled in an interview. And I would ask: "what do you mean with that?"

      Regarding your database versus filesystem: a database has a way to address individual "items" that exist on a far lower level than a "file" with the ability to read and update or delete them. The simple approach to implement a database is to use files. Big iron databases usually access block devices directly. Otoh there are databases that are used as filesystem replacements.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    21. Re:Dunning Kreuger effect by Anonymous Coward · · Score: 0

      Ahh, you missed the attempt to wedge Berkeley DB into the ext2 filesystem. The theory was to provide tracking of every change to the filesystem, including what program and command line arguments were involved in making the change, for debugging and tracking reasons.

      This sort of fundamentally insane approach, using a fundamentally broken, unscalable, and unrepairable database to try and manage something that actually matters, is one of the many reasons Oracle bought up Sleepycat software: to strangle Berkeley DB in its fluffy catbed and put it out of our misery.

    22. Re:Dunning Kreuger effect by lgw · · Score: 1

      No, the file servers with such small limits are modern, and very high end in some cases, like WORM storage (10x the usual 10x markup for big-big storage: eye-watering prices). Just abusing victims of archiving regulations mercilessly, but for some reason some people prefer them to tape. Gigantic pain in the ass to actually use, that's for sure.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    23. Re:Dunning Kreuger effect by lgw · · Score: 1

      Says you, sans evidence.

      I have only your post to go on. Which is why I ask something more specific in an interview. When you ask a very general question, you get people who interpret it differently than you intended and don't answer the question you had in mind.

      Filesystems are not OS-specific and they don't need drivers. They're bits on disk (or any other storage mechanism). Or blocks on disk, if you prefer.

      Sure that's half of what a file system is. But you seem to be missing the fundamental point that a file system is an interface or contract: store stuff like this, read it back like that, with a ton of details for all the corner cases. File systems very often just sit on top of other file systems, and "disk" is itself just an interface or contract, often many layers of abstraction away from physical media.

      Hell, my first coding project in my first dev job was to rip out the last vestiges of code that actually knew where on physical disk stuff was stored, code that was written in the late 60s or early 70s, and become dead code in the late 80s.

      I didn't see the work "lock" in your summary, nor any mention of crash consistency, which are important topics to at least handwave in any summary (really, where file system developers tend to spend most of their time).

      I find too few candidates can even describe to me why doing file access in 2 threads helps.

      Maybe so, but that doesn't have a damn thing to do with how a filesystem works.

      Oh? Well, sure, if you ignore all the actual details, then there's no reason to believe that using multiple threads to read data from the same file system would be any faster. But in practice it is. To explain why, you have to be able to explain the details of at least one of the many layers between the file system interface and physical media: you know, the bit about how file systems work (or perhaps how raid controllers or disk controllers or bus controllers work, though very few candidates know those details without knowing enough about file systems too).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    24. Re:Dunning Kreuger effect by blueg3 · · Score: 1

      a database has a way to address individual "items" that exist on a far lower level than a "file" with the ability to read and update or delete them

      So the items in a database are in theory smaller and there are more of them. That's a practical and minor difference, not a fundamental difference. After all, plenty of filesystems have far more items than most databases. Lots of files are much smaller than many database elements.

      Note that you can implement a filesystem using a database and vice versa.

      I appreciate your distinction between "how it works" and "what components it consists of", but I think that unless you're being excessively pedantic, there is not a significant difference when it comes to software and especially when it comes to things like filesystems that are collections of data structures. Organized data structures generally imply exactly how they're used with little additional explanation.

    25. Re:Dunning Kreuger effect by greg1104 · · Score: 1

      Databases are an abstraction level on top of filesystems. You effectively said that you build a filesystem by using a filesystem.

    26. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 1

      I suggest a read: Nicolaus Wirth, Algorithms and data structures.
      There after you won't want to mix them up all the time, I hope.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    27. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 1

      Well, in theory the read access time of a WORM is much higher than that of tape.
      However how that compares if you have to dig out the disk firts and put it into a player, I don't know.

      Most bigger isntitutions (that only want back ups, and not archives that last for decades) simly use the: 'have enough raids' or NAS approach.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    28. Re:Dunning Kreuger effect by blueg3 · · Score: 1

      I suggest taking to heart the words of Fred Brooks -- or of numerous other computer scientists who have said similarly:
      "Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious."

      Good data structures, particularly for a data-structure-oriented system (like a filesystem), imply the algorithms to be used with no further comment.

      I can, for example, tell you the structure of the Volume Header and of the Catalog B-Tree file in HFS+ and you could use only that information to implement reading data from HFS+ (for files with fewer than 8 fragments). Little more is required for writing (and little more is required for fragmented files). Data structures is all Tech Note 1150 gives you, really, and it's enough to implement HFS+.

    29. Re:Dunning Kreuger effect by blueg3 · · Score: 1

      They certainly are not. Some database implementations require a filesystem, but plenty do not -- they work with raw block devices.

      Further, you can build a filesystem using a different filesystem. Take, for example, glusterfs, unionfs, EncFS, or Samba's "NTFS features on top of a non-NTFS filesystem" implementation.

    30. Re:Dunning Kreuger effect by angel'o'sphere · · Score: 1

      Good data structures, particularly for a data-structure-oriented system (like a filesystem), imply the algorithms to be used with no further comment.

      No they don't. I heard that argument often enough, nevertheless it is wrong.
      Especially in modern times we don't have simply algorithms but business processes, implemented by algorithms.

      Example:

      typedef struct {
            string[] keywords;
            Ulr url;
            float ranking;
      } tPageRanking;

      Care to explain by what algorithm the keywords are extracted from the URL and how the ranking of the page is calculated?

      This proof is btw called: "proof by counterexample".

      Little more is required for writing (and little more is required for fragmented files). Data structures is all Tech Note 1150 gives you, really, and it's enough to implement HFS+.
      But then again you have not addressed "how it works" but only "how it looks like" :D

      Obviously there are plenty of ways to implement a filesystem (especially the writing) so that an other implementation can read it. Nevertheless different implementations may have huge impact on performance or utilization of disk space.

      Hence my nitpicking.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  80. Stop being an obnoxious tech snob by kid_wonder · · Score: 2

    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?

    --

    "Oh, you hate your job? There's a support group for that, it's called everyone, they meet at the bar."
    1. Re:Stop being an obnoxious tech snob by Anonymous Coward · · Score: 0

      I ask very basic questions on interviews. Not looking for a specific answer, but looking at how the interviewee responds to the question. From a direct response to expanding on alternatives -- most thoughtful responses are good redponses. If I gave you one of those basic questions and got the impression you were just too good for the question at hand you would be scratched off the list faster than you can blink. Finding talent isn't the problem, you really aren't that much more wonderful than the person next to you. Finding talent without an attitude that keeps them from being a team player is the real challenge.

    2. Re:Stop being an obnoxious tech snob by Anonymous Coward · · Score: 0

      In my case, I want to find out if the developer has enough humility to say 'I don't know'. This is a core skill, in my opinion.

    3. Re:Stop being an obnoxious tech snob by Anonymous Coward · · Score: 0

      I bring a list of 10 very difficult technical questions to interviews now. When they start this bullshit and I decide fuck this place, I pull out my questions and say I'd like to make sure you're qualified to interview me, so answer a few of my questions. I usually get through the first 1-2 before we end it.

      I hate this fucking field. I should have stayed in finance/accounting.

    4. Re:Stop being an obnoxious tech snob by Anonymous Coward · · Score: 0

      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?

      here here.

  81. Re:Hopefully the applicants had a relevent backrou by fractoid · · Score: 1

    In that case yep, I'm totally with you. No matter their specialization, a software developer should be familiar with basic concepts in encryption, networking, algorithms, hardware architecture etc. Nothing in-depth maybe, but they should have some idea what's going on. It's like the way a doctor might specialize in oncology but should still be able to identify a ventricle or an Achilles tendon.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  82. It is not about knwoledge but about research by aepervius · · Score: 1

    If you are asking for specific knowledge you will have to go thru vast amount of developer, and when you find those, they will lack other knowledge. But what differentiate a good developer to a bad is : what question to ask to get the requirement, and how to proceed to research for lack of information. So not knowing about a specific encryption is not bad, if the developer ask the correct requirement question and demonstrate a willingness to search for correct source depending on such requirement. the specific question does not matter, it could as well be about a robotic software to remove feather from dead chicken in an assembly line. In your specific case i would ask why you chose this specific encryption, if you have a specific vendor or open source in mind, what would be the timing requirement (can it run slow) what would be the memory footprint requirement , how often it is used, what would be the liability for vulnerabilities, how are the key managed, are there legal requirement on the key management etc...etc...

    --
    C. Sagan : A demon haunted world:
    http://www.amazon.com/gp/product/0345409469/
    visit randi.org
  83. Re: Hopefully the applicants had a relevent backro by Anonymous Coward · · Score: 0

    Okay kid, I'll see your Apple II and raise you an Altair. Now get off my lawn!

  84. Re:But where/when does one explicitly learn securi by endus · · Score: 1

    Your company should provide secure coding practices training. It's something that is becoming more and more common, but hasn't quite hit full adoption yet. It's being driven by regs and customers. Pretty soon it's unlikely you'll be coding anything before you take the training. It's the way the industry is moving.

    However, there is another piece here. I am about to give you the keys to becoming a superstar developer. No BS, this is going to sound obvious but if you follow these steps you'll become the go to guy in no time and your career will advance...

    1.) Make sure there is a business requirements document *before the project begins*
    2.) Circulate that document to stakeholders, *including the information security group*

    That's it. That's the whole secret. It's the key to every development and infrastructure project. It will seem like security is a pain in the ass and is raising the cost of the project but in the medium to long term they are *greatly* reducing the cost. You will also be loved by the infosec group, which means that you will be loved by the customers and the business as well. They just won't know it until you go to actually sell the product but once you do...you will be the savior.

    I'm not kidding about this. Do this and you will be successful.

  85. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    SCP uses PKI, so... That's why you don't substitute PKI for SCP.

  86. Were they INDIANS? LOL by Anonymous Coward · · Score: 0

    Well?

  87. What Portion of Companies Are Bad At What They Do? by dougg76 · · Score: 5, Insightful
    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)

    --
    I laugh at inappropriate times.
  88. Re:Hopefully the applicants had a relevent backrou by Megane · · Score: 1

    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.

    That's great, until you ask a question about second-year college stuff. Like "show me how to reverse a linked list", which is basic Data Structures class material, not the hard stuff. And then suddenly they get the deer-in-the-headlights look. Back around '04 or so, the group I was in interviewed some people, with the same interview style that I got hired with. All the Java-addled recent CS grads were useless. Only the EE grads actually knew how to program.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  89. You are all missing the real point of the post by jmcwork · · Score: 1

    The OP was looking for people to describe the process in detail and the best answer would get the job offer. Welcome to Slashdot: The interview board.

  90. Well, you see by Anonymous Coward · · Score: 0

    The value of a good developer isn't what they know and can regurgitate, but what they can learn and how fast they can do it.
    I didn't know 90% of the tech used in my current job, and in two months time I knew it all, inside and out.

  91. I would use Google to find the best method. by Anonymous Coward · · Score: 0

    Jesus Christ, no one needs to remember the best way to do everything. Give them a task, a computer with internet access, and an allotted time. Hire the person that can solve the problem by not reinventing the wheel, not the one that remembers every detail on everything.

  92. What, as in how it works? by Fencepost · · Score: 1

    Just because someone can't describe a fairly technical topic doesn't mean they're bad at what they do, it means that cryptography, data security or possibly data transmission work isn't what they do. Perhaps you need to revisit your recruiting materials to see if you're attracting the wrong people.

    I like to consider myself more informed than a lot of folks out there (I have an unread copy of the second edition of Applied Cryptography! in a box in the garage! or maybe it's the first edition, still unread either way) and I'd be hard pressed to go beyond "I'm pretty sure it relates to the difficulties of factoring large primes or the products of multiplying large primes."

    And the first question I'd ask for transmitting encrypted materials is quite frankly "who are the users at each end?" because for a surprising amount of things I'd probably say "install 7-zip and do a single-page detailed step-by-step set of instructions. Possibly laminated."

    --
    fencepost
    just a little off
  93. ^THIS to the Nth by Anonymous Coward · · Score: 0

    If I do not know something, it is because it isn't needed for my job.

    After 15 years of experience, I went to an interview where the the person hiring asked me to describe the layers of a network stack.

    I haven't had to know that since school and all I could remember was maybe 3 layers.

    But what REALLY annoyed me was that this was for a C#.NET job where we use the .NET networking methods. And this organization did not roll their own, so I was baffled as to why I needed to know that information.

    I think some interviewers have a chip on their shoulder about what a "good" developer should know.

    And I think all this "I cannot find qualified people" is because people looking have unreasonable demands.

  94. Good developers are hard to find. by 140Mandak262Jamuna · · Score: 1
    [Warning truthfully arrogant posting]:

    There are thousands of senior software developers who would know these concepts even when it is outside their main expertise. But majority of them are wells settled in good secure positions and are not in the market. Take me, for example. (no, you can't really take me, I am not applying). I work in computational geometry but I have done public/private key encryption and have written scripts to watermark the executable in a post-build operation with a public key. I have been a general purpose troubleshooter who can pitch in fixing stuff like re-architecting a matrix solver to reduce disk usage or fingerprinting executables and dynamic libraries with build configurations to detect incorrect packaging of installations. Yeah, I know such varied stuff, but I am happy with my pay, benefits, location, work atmosphere and colleagues and am not even looking for a job. You need to move heaven and earth find people like me.

    Traditional posting a job opening and grepping and awking through the resumes will do you no good.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Good developers are hard to find. by goose-incarnated · · Score: 1

      [Warning truthfully arrogant posting]:

      There are thousands of senior software developers who would know these concepts even when it is outside their main expertise. But majority of them are wells settled in good secure positions and are not in the market. Take me, for example. (no, you can't really take me, I am not applying). I work in computational geometry but I have done public/private key encryption and have written scripts to watermark the executable in a post-build operation with a public key. I have been a general purpose troubleshooter who can pitch in fixing stuff like re-architecting a matrix solver to reduce disk usage or fingerprinting executables and dynamic libraries with build configurations to detect incorrect packaging of installations. Yeah, I know such varied stuff, but I am happy with my pay, benefits, location, work atmosphere and colleagues and am not even looking for a job. You need to move heaven and earth find people like me.

      Traditional posting a job opening and grepping and awking through the resumes will do you no good.

      I hear you ... just a few days ago I posted a reply to a /. poster about my job, my working hours, my time to myself and that I have all of the good things without having to slave away for extra hours nor work with dimwit management or a rapacious company. As an aside, in my first week at a new job in 2007 I patched a bugfix I had written for a bug I had found into a binary file (long story). After that there were no questions about my technical ability (maybe a few about my judgement call :-))

      --
      I'm a minority race. Save your vitriol for white people.
  95. What the hell was wrong with the answer? by Slashdot+Parent · · Score: 2

    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.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    1. Re:What the hell was wrong with the answer? by Anonymous Coward · · Score: 0

      it demonstrates incompetence. of all the possible direct answers, and all the possible requests for more information, that is the dumbest response imaginable.

      The haphazard built in encrypt functions of various document formats are miles away from any reason to employ an engineer.

      Hell, its a bad answer for a secretary to give, honestly.

  96. 90% of all "rockstar" developers are terrible by Anonymous Coward · · Score: 0

    Just like rockstars/pop-tart-divas, they come in, talk it up, sell some level of management on 'we must do project X in ', throw some crap class-ware together, ignore correctness, and then leave it to the rest of the people to clean it up to make it usable.

    1. Re:90% of all "rockstar" developers are terrible by Anonymous Coward · · Score: 0

      Damn, you said almost the same thing I did, but you're slightly more optimistic, I was thinking closer to 99%.

      Then again I threw in the rock stars who overengineer crap to make it unmaintainable.

  97. Checking for fundamentals is the way to go by ErichTheRed · · Score: 1

    One of the problems that I have in IT is that many companies expect that new candidates have experience with all the equipment they would be expected to handle. For example, if you're a systems integration person who works in an HP shop with IBM storage and Juniper networking, it's hard to jump to a Dell/NetApp/Cisco environment. Not technically hard, mind you -- every vendor has their quirks but the same stuff gets done on everything. The hard part is convincing the interviewer that you have enough generalist skills to pick up what's needed. I regularly work with different vendors' equipment, support procedures, ways of handling patching and firmware management, storage configuration and so on. Do I go to training classes and spend months learning? No, I use my knowledge of what needs to be done at a high level and research how that particular vendor implements it, picking up what I need as I go.

    That said, there are some basics I agree with the submitter on:
    - A person with 20 years' dev experience should have at least encountered PKI at some point!!
    - A person who just graduated from CS should be able to code a simple example without too much trouble...nothing fancy, just basic code literacy stuff.
    - A person with experience managing HP equipment should at least be able to articulate what may or may not be different managing IBM/Dell/whatever equipment.

    I think two things need to happen.
    1. Companies need to stop hunting for the exact right person and hire someone with the expectation that they'll learn on the job. You may not be 100% ready to "hit the ground running" (I hate that phrase) but if you have the skills and desire to learn you'll figure stuff out. The company I do work for has some very proprietary stuff that no one outside of the industry knows before coming on board. It's expected that new hires take a while to become fully productive.
    2. The crop of employees does need some improvement. This is way easier said than done - smart people are scared of taking a job in IT or development because of the threat of outsourcing or automation. I personally think we're still working through some of the people who got into IT in the first dotcom boom, and now we have a second phone/social/mobile/big data bubble pumping more people into the field. In this sense, I feel for employers because their hires need to have the potential to pick up the skills they need if #1 is to be achieved.

    1. Re:Checking for fundamentals is the way to go by Dynedain · · Score: 1

      One of the problems that I have in IT is that many companies expect that new candidates have experience with all the equipment they would be expected to handle.

      I just interviewed several people to fill a position. I don't expect that they have experience in everything they will be touching, but I did ask each candidate about everything in our stack so I could guage how quickly the ramp-up time would be. For example, if you are an expert in 4/6 things in our stack, and haven't touched the last 2 items but have done work with comparable technologies, I can probably get you up to speed faster than if you have middling to mediocre experience in all 6.

      In fact, that's exactly what I did. I took the candidate who was strongest in certain areas, with no experience in another, over the person who had less expertise, but better coverage across the list of technologies. I will restructure the team and task assignment to take advantage of the hire's strengths, and find training where lacking.

      It's a lot easier to train an expert on 1 thing, then to try to improve an intermediate's skills in 5 things.

      --
      I'm out of my mind right now, but feel free to leave a message.....
  98. Web Developer/Public-Private Key? by Jason+Levine · · Score: 4, Informative

    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.

    --
    My sci-fi novel, Ghost Thief, is now available from Amazon.com.
    1. Re:Web Developer/Public-Private Key? by penguinoid · · Score: 1

      Let me speak as a web developer who's been at this for over twenty years. [...] 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.)

      Am I the only one who would be afraid of someone who doesn't understand the basics of how one of the more important parts of their job works, but merely knows how to set it up? At the very least that demonstrates a phenomenal lack of curiosity, at worst it might mean you only think you know how to set it up.

      --
      Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
    2. Re:Web Developer/Public-Private Key? by greg1104 · · Score: 1

      Web development now is all about plugging components together as quickly as possible to ship code. Anyone who pauses to try and actually learn how things work is at a disadvantage. While you're doing that, your competitors have already shipped something that worked well enough for people to use it.

      Also, there's little sense really digging into things like libraries when they change so quickly. I'm doing this project right now that's all Go based. People who did a deep dive into learning how their previous tools are again regretting that.

    3. Re:Web Developer/Public-Private Key? by penguinoid · · Score: 1

      Of course learning instead of working can slow you down. But that doesn't prove that the knowledge is useless.

      --
      Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
    4. Re:Web Developer/Public-Private Key? by Jason+Levine · · Score: 1

      Quite honestly, knowing the details of how SSL works isn't a major portion of my job. My job involves (to vastly simplify it) using server side scripting to pull data from databases and arrange that data using HTML, JavaScript, and CSS into an easy to view format. I know HTML, JavaScript, and CSS inside and out but couldn't tell you the code behind how the browser translates "font-weight: bold" into bolded text or how the text in the TITLE tag gets put into the browser's title area.

      Similarly, I can generate a CSR from the webserver, use it to obtain a certificate file, and apply that file (a well as properly configure the server) to make sure that the website is SSL secured. I can even set up my server side scripts to enforce SSL (redirect all HTTP traffic to HTTPS). However, if you asked me to tell you the technical details behind SSL, I couldn't.

      Quite frankly, knowing the technical details behind SSL isn't a part of my job and there are a lot of other things I need to learn which are more applicable. As a web developer, I always need to keep learning. The problem is that there is too much in the computer industry for any one developer to ever know it all. So I prioritize and learn topics that will come into play in my development, not details that - while it would be nice to know - won't help me become a better developer.

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
  99. The questions are subjective by Anonymous Coward · · Score: 0

    This is why I hate technical interviews where they want me to design something in 10 seconds. If I give them a different answer than they expect, I'm automatically wrong. The good thing is that I don't want to work with developers or companies that think this way. In one interview I was ask to design a web application to sell items. I did. Then I was asked to design the return of the item. I put a negative sign in front of the price. Commerce, after all, is ins and out being equal. Well, my interviewer couldn't understand how that would work. He was basically projecting his solution onto me, when it didn't fit, I was wrong.

    Part of being a good developer is being able to ignore the specifics at the right time and be able to speak in generalizations. Sometime people work so long at a job or with a technology that they lose site of what is objective and what is subjective.

  100. Let me guess... by Anonymous Coward · · Score: 0

    You had HR filter out anyone who didn't recently graduate university with a CS degree, or at least (insert ridiculous number here) years of experience, preferably at one company?

    Try interviewing more candidates and loosen your grip on what's necessary to do the job. You might just find the stellar candidates didn't get a university degree, nor do they necessarily have 20 years of experience.

  101. Just filter out Windows' programmers by Anonymous Coward · · Score: 0

    >The person started off by asking me if it was an excel file, a PDF
    Just filter out Windows' programmers who do not think how to solve a problem, but which icon in some well-known GUI program does it. Windows leaves people brainless.

  102. I'd say at least 75% by Anonymous Coward · · Score: 0

    Maybe I'm working at the wrong companies but I am SHOCKED at how bad some developers are. I'm working at a 2 year old funded startup and just by playing with the URL (as an end-user) I can view other people's accounts (private information). I'm sorry but that is entry level shit.

  103. not every problem can be solved with a hammer by Anonymous Coward · · Score: 0

    Maybe you shouldn't be hiring if you dont understand the basics yourself. Asking a web developer how to encrypt and send you file that you can then decrypt ,and then stating that your concerned about them creating secure websites. Your comparing apples to oranges. A web deveolper isn't going to typically be worried about file encryption just the encryption between the application and the server. The database admins are the ones who are usually in charge of securing the files. Then the bridge between the two is the systems analyst and the guidelines they produce. To many compaines are trying to skip that analysts step and go straight from idea to deveolpment with no roadmap.

  104. most developers know very little about security by cjonslashdot · · Score: 1

    LOL. Well you have discovered that most developers know very little about application security. And here we are, wondering why things are so insecure - and heading head-long into the "Internet Of Things". What a train wreck that will be unless things change. Read my article about this: http://www.transition2agile.co...

  105. 100% by jemmyw · · Score: 1

    We're all crap at it, with varying degrees of crapness in our specialized areas. I'm a terrible developer, the only upside to that is so are all my peers. I was just thinking today, I've got all these ideas on getting our internal test and deploy systems into a top notch state, but it took me all day to fix one problem with the search, I'll never get around to the other stuff, and when I do it'll be rubbish, hit a multitude of problems, take longer, be slower than expected, and then I'll have to maintain it.

    I envy junior developers. They're twice as crap, but ignorant of that fact.

  106. This discussion is pretty funny by JMZero · · Score: 1

    The OP suggests a weirdly specific Shibboleth, and half the comments are people saying he picked the wrong one - like "public key encryption isn't the right thing to test - you should be testing knowledge of computer architecture or regexes, or how to set up a web page with a specific stack" or whatever.

    For developers, we usually test whether they're good at programming. We let them choose whatever language they want (because in the end they're all mostly the same, and a good programmer will be able to use any of them) and have them work through some simple but realistic programming exercises (eg. from this data structure, figure out whether person X manages person Y). Most fail in a way that demonstrates they won't be able to do the job, or will take too long to get going at it. It also usually identifies people who have weird religious attachments to certain tools, languages or methodologies (Many times I've heard crap like "Oh, I can't type this simple answer into a regular text editor, I need XYYXYXZZYX with autocomplete on" or whatever).

    Anyway, back to the OP, yes I would expect that most developers should have some idea how they would encrypt a file, even if they haven't used the tools themselves personally (this isn't a core job in most development jobs I know of). But I wouldn't think they're dumb or unqualified if they don't. Why use a weak correlation like "a good developer probably knows how to encrypt stuff" when you could just test whether they can do development stuff directly?

    And we do the same stuff for other jobs. When we were interviewing a graphic designer to work integrated with the programmers, we had them do some graphic design in the interview, fixing up pages we had purposefully borked in a real project. Again, most disqualified themselves pretty quickly when faced with realistic job tasks.

    --
    Let's not stir that bag of worms...
  107. sew what you reap by Anonymous Coward · · Score: 0

    I think the excessive use of H 1 B is to blame. Poor wages and working conditions tend to push the more talented and skilled engineers out of the industry early in their careers, leading to a shortage of qualified senior engineers.

  108. You can't necessarily tell someone is incompetent. by hey! · · Score: 2

    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.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  109. You are! by Anonymous Coward · · Score: 0

    Some of the best developers I have worked with were unable to install av OS or even plugin a keyboard. They did however know how to code... But then again, they were real developers, not webpage kiddies. Why do people insist on calling something as easy as building websites development?

    1. Re:You are! by Anonymous Coward · · Score: 0

      > Why do people insist on calling something as easy as building websites development?

      You've never built a non-trivial database-backed web application, have you?

  110. Re:Hopefully the applicants had a relevent backrou by Daniel+Boisvert · · Score: 1

    Asking whether the document is PDF or Excel demonstrates a lack of understanding. The document type is irrelevant. It is a file of bytes. You want to send those bytes securely. (And you may want the receiver to be able to verify that it actually came from you.)

    It demonstrates either a lack of understanding or more than a passing familiarity with the applications. MS Office has used AES for the built-in encryption since Office 2007. That would seem like a reasonable choice for sending a file to a contact, provided you choose a strong password and communicate it out-of-band.

  111. Just look at the typical supporter by Anonymous Coward · · Score: 0

    Just look at the typical supporter of systemd. All they do is make personal attacks and act like children. Example from today:

    http://slashdot.org/~Eunuchswear

    Look at those systemd fanboi posts! Most of the replies are to someone that has the legitimate complaint about systemd's policy to drop stderr. Obviously, any old UNIX user knows why that is a problem. Instead of being willing to learn, systemd supporters like him lash-out at people that are trying to help.

  112. how many aren't Jeff Dean? by Anonymous Coward · · Score: 0

    seems like a pretty straight forward question...

  113. Re:What defines 'general knowledge'? How does know by jeff4747 · · Score: 1

    And my use of those "PKI and X.509 type certificates" is to call a library to deal with them, blithely ignorant as to what those libraries are doing with the keys. Just like I don't write my own code to implement HTTP, and then TCP, and then IP and then ethernet.

    The other enormous stupidity in this question is PKI is only one solution, and may not be the best one. Encrypted zip may work just fine, with a password transmitted via another pathway. Or if the document is in a format that supports encryption, hence the question about PDF. Or scp/VPN/etc to a secured share. Or print it out and put a stamp on it.

  114. Exactly by Marginal+Coward · · Score: 1

    Exactly. For example, most embedded microcontroller software doesn't use cryptography at all. Hopefully, all such interview questions would be tailored to the job being filled and to the applicant's resume.

    One thing I can think of that seems to me like it should be common knowledge among software developers are CRCs. Even so, there are probably many qualified software developers who have no knowledge of those - and don't really need to.

    1. Re:Exactly by P3r1$c0p3 · · Score: 1

      "So Ted looks like you are quite the Ruby dev. Tell me, What is the caloric requirement for a 3000 member bee hive expressed in acres of orange trees in spring time in the southern hemisphere?"

    2. Re:Exactly by GaAs+oldAce · · Score: 1

      "So Ted looks like you are quite the Ruby dev. Tell me, What is the caloric requirement for a 3000 member bee hive expressed in acres of orange trees in spring time in the southern hemisphere?"

      African or South American Variety?

    3. Re:Exactly by P3r1$c0p3 · · Score: 1

      Africanized but habitating in Argentina. All email to the queen must be encrypted.

  115. Re:Hopefully the applicants had a relevent backrou by david_thornley · · Score: 1

    It gets worse than that. I knew a guy who washed out of the Ph.D. program because, the second time he tried his written prelims, the question he tried to answer was mistaken and there was no answer.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  116. Re:Hopefully the applicants had a relevent backrou by Austerity+Empowers · · Score: 1

    I would argue that EE's, and more specifically CompEs are the only ones whose job might depend on manually implementing a linked list. We do it all the time, linked list traversals are key to many network card hardware implementations... Programmers and IT will use high level languages that basically do all that for them, they really just need to understand the tradeoffs between linked lists, growable arrays, hashes, etc.

    But anyone should be able to understand what a linked list is, and roughly how to manipulate it. On an interview I wouldn't expect gorgeous implementations, but they should be able to work out the logic in 30 minutes. That falls in to "general knowledge".

  117. Some Thoughts On Your Problem by LifesABeach · · Score: 1

    1. Review Machiavelli's research on using Mercenaries.
    2. Why are you uncomfortable about asking someone to go find out?
    3. Have you tried finding out by using the Google search engine?
    4. If you think people should know this, then way don't you?

  118. Re:Excel file by pugugly · · Score: 1

    Since Excel and other programs natively provide security, why not use that?

    Because native security ain't?

    --
    An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
  119. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    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.

    The funny thing is I've seen this with only specific parts of the STEM world, more particularly on the technology and engineering side.

    On the science side, things can be so specialized and detailed, no one expects anyone else to have much background. People are hired with the expectation it could take 3-6 months to get up to speed, and a year before a chance of papers start coming out. Usually once you make the jump from grad school to another job, which has a high chance of being somewhat different, future potential employers will notice you have an ability to learn quickly and work in a science environment.

    On the other side, engineering tends to be a mixed bag. I've seen interviews that grilled to very gritty details about various aspects of something, which is not surprising when some work has a lot of subtleties that take experience to learn. It can even be mixed within the same person, as I've seen some that have biases that will grill potential hires with engineering background, but not so much with someone that has a science background expecting them to be more likely to learn. Which seems silly to say the least, because there is a lot of overlap in technical skills and work used by people with "engineer" and "scientist" titles, and usually both have to adapt to rapidly changing technology.

  120. How are you sourcing candidates by MerlynEmrys67 · · Score: 1
    Please don't tell me you placed a monster ad, or even worse Craigslist. Are you working with a GOOD recruiting firm? Are you big enough to have an internal sourcing team to bring you candidates?

    So many people think this is easy and won't pay for the expertise to hire "the best" (Everyone wants the best, everyone also wants to pay industry average wages... Moneyball doesn't work in Tech). A good recruiter will be able to talk to you to find what you are looking for, find you a couple candidates - listen to you on why you didn't like them and change what they are sending to you, repeat until you find what you are looking for

    Honestly it sounds like you have a specific set of filters you are looking for that you haven't applied (cryptographic systems, security maybe) and are bringing in generic candidates that weren't screened for these skills. I can trivially answer your questions - but then I have been in that area for 20 years, don't ask me how to write a database query or setup a JSON parser.

    --
    I have mod points and I am not afraid to use them
  121. Re:Hopefully the applicants had a relevent backrou by linear+a · · Score: 1

    It's a common pattern and I have to watch out for it myself. Take something I know a lot about (e.g., thermodynamics). When I'm working with other people I instinctively feel that everybody in the world including uncontacted tribes in the Amazon should know at least 10% of what I know about the topic. Once somebody doesn't even show that crude level of knowledge then I figure they are either uselessly ignorant or intentionally obstructive. In reality, the average person will know virtually zero on the topic by my gut feel is that they should know more.

  122. Breadth vs Depth. by MondoGordo · · Score: 1
    In my experience .... people in STEM fields possess either depth of knowledge(specialists) OR breadth of knowledge(generalists). Very few possess a broad depth of knowledge(multiDocs!). There is just too much to know. Even when dealing with a generalist, the depth of knowledge possessed will rarely be uniform across the breadth, there will be deeper and shallower pockets.

    Expecting a software developer(a specialist) to necessarily possess knowledge of encryption technologies is naive. For example a Java developer specializing in UI's is never going to have the need to delve into the world of file encryption. A network specialist is never going to need to know the difference between an Array and a List.

    Decide what the position requires, advertise the job referencing the requirements, and focus on the job requirements when you are interviewing the candidates. Everything else is extraneous, a distraction, and a waste of everybody's time. .

  123. my experience: by buddyglass · · Score: 1

    I've worked as a developer for the past 15 years. In that time, I'd break down the quality level as follows (roughly):

    10%: Absolutely terrible; should be fired even if they were willing to work for free
    40%: Not absolutely terrible, but also not someone I'd hire if I were building my own team (even if they came cheap)
    40%: Someone who does decent work but isn't going to blow you away; I'd consider hiring someone in this group, but wouldn't pay a premium to bring them on board
    10%: Exceptional. Not only would I hire someone in in this group, I'd be willing to pay "above market" to get them

    The numbers are, obviously, rough (no to mention subject to personal bias and totally anecdotal).

    One problem: plenty of people in the first two groups interview like they're in the third group. Also, some of the people in the 4th group interview like they're in the 3rd group. I submit that some of the most successful teams are successful not because they have great ideas (although that never hurts), but because they have an interview process that's able to sort people into the right "bin" more accurately than their competition can.

  124. Re:Hopefully the applicants had a relevent backrou by chihowa · · Score: 1

    This is true, but at least in academia you know who's writing the exam questions. The question these sorts of exams seem to be asking is, "Can you read the papers I've published in this particular area and make sense of my results," or, "Assuming you've read my papers, how would I tackle this problem."

    That's not to say that they're questions worth asking or not totally self-aggrandizing, but at least they're predictable. Honestly, the professors may actually think that they're good questions. Academia rarely (and only incidentally) selects for people who are good at teaching.

    --
    If you want a vision of the future, imagine a youtube comments section scrolling - forever.
  125. Re:Hopefully the applicants had a relevent backrou by david_thornley · · Score: 1

    In a case like this, I like out-of-band methods. If I send an encrypted file over http (an unencrypted file over https would also work, provided I was sure I was getting the right certificate), and telephone in the password, only somebody who can intercept both can read it, and I don't normally worry about hiding things from the NSA.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  126. Re:Hopefully the applicants had a relevent backrou by JohnFen · · Score: 1

    He didn't even say anything about "build an app which sends a file using PKI". He just said "how would I send a file?"

    Right, which is an absolutely terrible question because it's too vague. Vague questions are always red flags in an interview -- there are too many possible ways of answering to be able to determine which is the "right" answer, and applicants will tend to start looking for where the trick is, since it sounds like a trick question.

    The better approach is to be specific in the questions. Plus, asking specific questions will make the interview process for accurate.

    It's no more unreasonable than asking "I want to send a stream of bytes to another computer on the internet, how would I do that?" and expecting an answer describing TCP sockets.

    Correct, but that is also a terrible question to ask for the same reason. There are multiple ways of correctly answering it, but with no clear hint as to which is the answer the interviewer wants.

  127. How can I mod the OP as Troll by pastafazou · · Score: 1

    This whole post is a troll. WTF is he expecting from his potential candidates? I'm a sharepoint developer, but I have no idea how I would answer his question. It's stupid. Put a fucking folder on your company file share (or a library on your Sharepoint site), where only you and I have permissions, so I can upload and you can access. Who encrypts files to send internally? If I were applying for a job and I got asked this question, I'd ask who the head moron was that decided internal communications needed to be encrypted as opposed to password protected.

  128. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    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. Like my mate who was brought into a ASP.NET shop, he learned their tech stack, then one day noticed the trunk had changed a lot, so went to ask the architects who said "oh yes, we decided to move forward with our DB tech, so we're using a repository pattern now". So he goes and learns all about that, does some work on a branch, then goes to merge and... its all changed again. So goes to see the architects who say "ooh no, we decided repository pattern wasn't good enough so we've changed to using entity framework". Now that shop was just stupid, but to a lesser extent this is what is happening all over the industry.

    For example, this guy is getting burnt by it.

    Whilst I agree that change is necessary to keep things progressing, we're almost in a throwaway culture in ITT where everything we ever did is not good enough and has to be replaced. While there are forces pushing against this (for example, all the people who want to do the big rewrite now know its a bad idea) we still have change via refactoring and flavour-of-the-month tech patterns and frameworks pushed at us.

    Only when the industry gets the idea that stable is a good thing and making products is what we should be focussed on doing (ie not changing tech all the time) will this industry be as good career as the other engineering professions.

    That's one of the big reasons that I left and went into "real" engineering: the techies may think that the systems that refineries and chemical plants run on are quaint and behind the times but it has been refreshing working on established systems and tech that has been refined over long periods and doesn't change when the "new hotness" comes out several times a year.

  129. Re:Hopefully the applicants had a relevent backrou by david_thornley · · Score: 1

    I interviewed at one place for a job that would involve doing some serious SQL. They asked me to write a simple SQL statement. I just wrote down the SELECT..FROM..WHERE statement on the whiteboard, and waited for them to ask for something a teeny bit difficult. They didn't, and were apparently satisfied by what I'd done.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  130. If your candidates are prefiltered by HR by Anonymous Coward · · Score: 0

    It's a normal issue if your candidates are "pre-filtered" by HR. What most companies do is they have HR do a research on salaries. And they typically come with somethig like "Software Developer" average $80K, maximum $120K, "Senior Developer" average $100K, maximum $150K and so on. Then they start thinking to not pay the maximum "to save costs". The line of thought is - if someone is working well for $80K average, we don't need to pay $150K. We'll get someone who will learn. Yet we want the room for some of the best people and we'll keep maximum at just 10-20K below maximum. Or maybe even at the maximum. Hence their salary range is set. What's missing in the picture is that those who are super good and super productive perform at 10x those who are rated. They do not want to stay at $150K and are trying to figure out how to make more. As such, they cofound or work in startups, go into consulting or do whatever it takes to get roughly double that amount. They know that they produce 5-10x of many others who make close to the top of that salary range. So they don't see a valid reason why they should not be compensated at least 2x of that. Some companies, mostly in financial and investment sectors realized this, and they easily adjust top salaries and bonuses to compensate for that. As such, they usually get some of these top people. Yet, those companies that try to stay with keywords "competitive salary" will never have that chance. They are simply not paying enough to be able to keep such people. More than that, the way their HR and management works is that they don't look for signs to increase salaries. Instead they simply try to avoid such conversations. This results in even perfect candidates trying to learn as much as they can, ramp up really quickly, become extremely valuable and leaving shortly after just because another company finally decided to pay $10-20K more. Meanwhile, the current company is at a loss of slower productivity due to hiring someone new. This pretty much happens everywhere.

  131. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    yeah, why would anyone take a while to recall material they haven't needed in 10+ years and think through it a bit? why is it superior to regurgitate an answer because you last thought through it in the last few months? how many linked lists have you reversed today?

  132. $$$ & sense by Anonymous Coward · · Score: 0

    What was the comp package? If you pay half of what the going rate was then don't be surprised that you get what you pay for.
    There is a reason that tools are easier to use then build.
    Since companies have stopped funding Basic Research, why would you think people would continue?
    Why would you expect people to be knowledgeable on things unrelated to their job?
    What's next, a quiz on the physics behind chips?

    Seriously, how was the ad written? Was it a laundry list of technology and years or was it asking for problem solvers?
      You need to flip the script. Rather then ask them about random spit, Ask about their best story.
    Of course this does require you to learn something about what they've done.
    But since this, presumably relates to what you are doing, it might actually be useful.

    BTW, simple PKI is a joke for security, it's a MITM attack waiting to happen.
    There is no reason to believe the channel between Alice & Bob is secure!
    In fact if you look-up MITM PKI is the example given!

    A little bit of knowledge is a dangerous thing.

  133. Re:What Portion of Companies Are Bad At What They by ub3r+n3u7r4l1st · · Score: 1

    In the tech field, age discrimination trumps experience. This is either due to employer preference or health care cost (the latter can be easily bypassed with a loophole)

  134. Where are you located? by Anonymous Coward · · Score: 0

    I'm always interested in opportunities: Regarding encryption, I picked-up Bruce Schneier's Applied Crytography first edition (the blue book) back in early 1995 and practically inhaled it again and again.

    I don't at all consider myself an expert in info sec. but damn it was such a interesting book...

  135. Interview is about taking an inventory by Anonymous Coward · · Score: 0

    If one line of questioning does not work, try something else.
    For each direction, push the balloon until you reach the limit.
    Ask the person if there is a direction he/she would like head in.
    Often the interviewer learns something as a bonus.

    After you are done, look at the whole result and decide what you have.

    Your process stopped before you did even the encryption direction justice.
    The guy might have been thinking aobut something you never considered about protecting certain file formats.

  136. All of them by Anonymous Coward · · Score: 0

    In my experience, all developers are bad.

    Their designs have problems,
    their use cases are full of stupidity,
    their comments are full of spelling errs,
    their code is confused,
    their documentation is about something else.

    However, that is on an absolute scale.

    On a relative scale, the team they are in usually determines how bad they effectively are.
    In other words, since you know so much in this area, you balance their ignorance,
    so hiring them would create a more complementary, better team.

  137. Re:Excel file by Mariner28 · · Score: 1

    I think the file type actually does matter. Since Excel and other programs natively provide security, why not use that? I get that if you want a security person you need to ask specific questions, but perhaps you need to be more specific when looking for applicants. A killer JQuery person or data translation expert probably won't know PKI very well.

    No - it has nothing to do with what the original poster asked:

    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.

    This is for a senior developer / software architect role. If I were in Ramone's position, I'd feel the same way. I learned the basics of PKI while an EE undergrad back in the early '80s - concentrating in telecommunications. It was in a required course. And I didn't really use that knowledge as a professional until the late '90s and I continue to use it to this day, even though I'm not a security professional (though I do design secure networks). Now, that being said, a developer today, to be a software architect, should at least be able to explain the basics of PKI at a cocktail-conversation level. They don't have to know what goes into the various SHA and RSA algorithms (I certainly don't know off the top of my head), but they should be able to talk about encrypting with someone's public key and the only way to decrypt is with that person's corresponding private key. Security 101 is probably part of every single CS curriculum, if not every IT-related one.

    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

    Now this response from the candidate I can understand. Remember this isn't the first interviewee who couldn't explain PKI. In this case, they may have been thinking "Excel and the PDF standard both support encryption - so I'd just answer that you password protect the file. If it's a plain-text file, you could use the password protection feature of any .zip archive utility, or better yet use PGP/GPG encryption if you know the recipient's public key". It may well be that Ramone was expecting something different when the candidate asked this, and on seeing the surprise on Ramone's face, lost his train of thought and got confused.

    After all, the interview was apparently for a high level position writing code for Ramone's pool cleaning business. ;-)

    --
    "A little misunderstanding? Galileo and the Pope had a little misunderstanding."
  138. Re:What Portion of Companies Are Bad At What They by ub3r+n3u7r4l1st · · Score: 1

    "
      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.
    "
    Have you wonder why the IT field ( tech field in general ) rejects MBAs? Especially MBA with tech experience? Because the MBAs will bring sanity and order into the house, things that those kiddie startup CEOs hate.

  139. Re:Hopefully the applicants had a relevent backrou by fractoid · · Score: 1

    Vague questions are always red flags in an interview -- there are too many possible ways of answering to be able to determine which is the "right" answer, and applicants will tend to start looking for where the trick is, since it sounds like a trick question.

    Not the right applicants. For most positions (except the ones where you're a very small cog in a very large wheel) you have to be able to deal with people too.There was one question in a recent interview that my wife conducted, to which the applicant replied "I can't answer that without knowing more about the requirements." Which was exactly the right answer. He got the job.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  140. Re:But where/when does one explicitly learn securi by Shatrat · · Score: 1

    I grok the snark, but in my experience people who take their own initiative on learning and personal development gain 10x more than people who get sent to some boot camp or seminar on their employers dime. If you are learning something useful it all comes back to you in a future paycheck anyway. "I haven't been trained on this" is generally an excuse I hear from people who wouldn't know their ass from a hole in the ground even if they did attend a 3 day ass-recognition boot camp.

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
  141. Rather Specific.... by Anonymous Coward · · Score: 0

    As other people have said, you are asking questions that involve a very specific skill set. What you've described, I could use Google and figure out in 30 minutes (having done that the first time) - I certainly can't tell you that in an interview. With Public/Private key work, I find that I use the information ONCE to build the routine/library and never look at it again except for simple maintenance.

    Things I would expect a software engineer to know during an interview:
    1. Design Patterns
    2. Data Structures
    3. How to build an algorithm to do something.
    4. MAYBE SQL depending on the position for which I was hiring (mainly because it is ubiquitous in my field)

    If I needed something more specific than that, I'd put it in the job reqs for what I was hiring. Otherwise, I'd assume that if the applicant is smart, she can LEARN the tech. After all, in Software Engineering, you have to be able to assimilate new technology CONSTANTLY.

    NOW, all that being said

    I am worried at how many applicants have difficulty writing a "FizzBuzz" routine during an interview.http://ask.slashdot.org/story/15/02/13/1612226/ask-slashdot-what-portion-of-developers-are-bad-at-what-they-do?utm_source=rss1.0mainlinkanon&utm_medium=feed#

  142. Security expert != good dev by jbarone · · Score: 1

    The two aren't even the same skillset. I've known plenty of security experts who could rattle off the math behind a prng or the algorithm for a secure cryptographic hashing function or how to correctly use java.security, but who couldn't write shippable code to save their life. I've also known plenty of developers who could build a great mobile game in a few hours or an efficient and realistic crowd simulator or a massively scalable data layer, but don't know the first thing about security. I know very, very few people who are both security experts AND badass devs, and they are mostly either superstar academics or principal engineers at the tech giants.

    I disagree that not knowing both makes them bad devs, as security is just one specialization in many. As long as a dev can build quality software and either has a working knowledge of a lot of aspects of software engineering or is an expert in one or two areas, they are a good dev in my book. What IS worrying is that a lot of people who seem to think they are security experts clearly aren't. Papers like this one point to the need for more devs to specialize in security, which is a totally different issue than the one OP brings up: http://dl.acm.org/citation.cfm...

    1. Re:Security expert != good dev by silas_moeckel · · Score: 1

      At this point security is a basic requirement of all devs, what piece of code does not need at least some semblance of security?

      --
      No sir I dont like it.
  143. Remeber the canidate is nervous. by IgnitusBoyone · · Score: 1

    I normally hire two classes of people. Rank and file and Leads. My leads typically have to be experts in a given field as they will be making decisions and driving future direction in the project, but my rank and file I just want basic aptitude and interest. I find I get more out of learning about a candidate when ask where he falls on the EMACS vs VI war then anything else. The average candidate is so nervous at an interview they over analyses everything and just plain forget basic information they know. I've seen basic graphics guys forget what a corss-product was then perfectly explain how to calculate a normal map given an arbitrary height-map. These types of mistakes are typically owned up to nervousness.

    Now for team leads you need to be very specific on your requirements and they better be able to present a portfolio of prior work. I let the candidate lead on descriptions of what they have done in the past and then ask detailed questions as they come up on more specific implementations. I need to know that the candidate is not only competent, but can relate his work and needs to people who will be under him. If he can communicate about specific solutions he has worked on in the past then he will be unable to clarify system requirements to subordinates. One in every three candidates will try not to talk about specifics due to trade secrets. I normally take this as an attempt to skirt a lack of experience so I then ask hypothetical about a similar system I can relate there work to. I'm satisfied if the response is relevant to my scenario or if the candidate can explain in detail why its different then his previous work, but if he doesn't answer the question then we know he has exaggerated on his resume.

    Others, might have different methods, but I find you really don't learn about someones aptitude until they work for you. Its almost impossible to determine if people are professional, punctual, or motivated from an interview since almost every answer is rehearsed and a lye to try and get employment. So, I try to make reasonable evaluations on qualifications and pick people that will fit well with the team. If the guy did lie we will find out soon enough and he will be interviewing again soon after.

    --
    Momento Mori
  144. Re:Hopefully the applicants had a relevent backrou by VGPowerlord · · Score: 3, Insightful

    Honestly, why would you need to reverse a linked list in a real application?

    Hell, if you knew you were going to have to traverse it in reverse at some point, why didn't you just make it a doubly linked list in the first place?

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  145. Wow..I thought i was bad by Anonymous Coward · · Score: 0

    I have spent my 20 years in software development always thinking I was the worst of the worst when it came to technical knowledge but I know in great detail how public/private key encryption works and have had to actually implement a few systems using those technologies and defend them to clients, hence having to whiteboard them in great detail so a project manager who is not an engineer could fathom.

    I may have to rethink my position as the very bottom of the barrel....

  146. Re:But where/when does one explicitly learn securi by Anonymous Coward · · Score: 0

    Also, 3.) Ensure all scope changes are properly documented through change orders, *no exceptions*

  147. What percentage are Rock Stars? by Anonymous Coward · · Score: 0

    I would say 99% of the Rock Stars are actually bad developers.

    They always say: "Yeah! I can do that!". Then they make a heroic effort to get the show running leaving a pile of unmaintainable crap behind. And that unmaintainable crap may be over-engineered garbage, or something that's just slapped together no respect for layers or design. But either way it's crap.

    I see crap developers at all levels, but the Rock Stars are the worst because they should know better.

  148. I find that they're predictable... by Karmashock · · Score: 1

    ... in their incompetence. Typically the groups with the slickest advertising tend to be the worst at their jobs. I've sat through some very sharp presentations only to find out that the brains behind the organization are themselves mostly just gifted salespeople with almost no technical brain trust.

    At this point, I find such slick advertisers to be a turn off because I can't trust a fucking thing they're saying. The more inept marketers tend to be more honest, which means you can account for weaknesses before they become fatal flaws.

    --
    I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    1. Re:I find that they're predictable... by dougg76 · · Score: 1

      And the mentality that they have to say yes to everything. What the hell happened to "I am not sure, but I will find out.", or "I am sorry, but that timeline is not realistic."

      --
      I laugh at inappropriate times.
    2. Re:I find that they're predictable... by Karmashock · · Score: 1

      It is effective when selling to people that don't know any better.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
  149. Re:Hopefully the applicants had a relevent backrou by Jaime2 · · Score: 1

    That's because the only purpose of the question was to determine if you any semblance of programming skill. Such a simple test filters out 95% of candidates and leaves a lot of time to have real discussions with the other 5%.

  150. Me by ShieldW0lf · · Score: 1

    I know the answer to your question! And, I'm one of the great developers, not like all those other dummies! All the other guys suck, except me and the people I work with! Let me give you some examples of how I'm not like all those other guys!

    Man, I feel so good about myself right now!

    --
    -1 Uncomfortable Truth
  151. Re:Excel file by david_thornley · · Score: 1

    The situation was unspecified. If I had a document with built-in security at home, and wanted to send it to work, I could just telephone in the password. BTW, do you have any actual knowledge about Excel security? It may well be just fine, at least for the level of security desired.

    Also, to give an intelligent question I have to know what I'm trying to guard against. A casual interceptor is one thing, the NSA another. It usually doesn't make sense to make security decisions without an evaluation of the threat.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  152. Anecdote++ by Anonymous Coward · · Score: 0

    The OPs example of grilling a developer about PKI (which honestly isn't widely used in the industry) is a poor one.

    I have a better one.

    I worked for a company in the Chicago area that spent *two years* looking for a java candidate.

    The test we issued was "Write a java program, using any IDE you like, which can "randomly pick a name out of a hat".

    How you decided to implement the "hat" class was up to you.

    Essentially all applicants, applying to a Java position, could not write this simple Java program.

    1. Re:Anecdote++ by Anonymous Coward · · Score: 0

      is it becasue their "hat" was just an array, and they didn't use 10 layers of java abstractions to build their hat factory?

  153. Interviews and candidate quality. by w3woody · · Score: 1

    I've both helped hire people and have been a hiring manager, as well as the hot-shot programmer and now becoming the wise gray-beard everyone speaks reverently to and then ignores.

    When I interview a candidate on the phone, my primary interest is to screen out the candidates who are either obviously lying on their resume, or who have inflated their resume or are otherwise uncommunicative. (You'd be amazed at how many are unable to hold a conversation about the stuff they've supposedly worked on for a couple of years. Almost as if they put it into their resume just to inflate it. And I feel free to go through any part in the resume; for example, I dinged a guy because he put in his resume he was a private pilot. Having a father who was a pilot and learning to be a pilot myself, I asked him questions related to his being a private pilot--which he utterly failed to answer. And if you're willing to lie about something that irrelevant, what else are you lying about?)

    In person, however, I may ask a couple of questions about the specific work I'm doing. But for the most part I stick to straight forward development questions: I ask the person to solve a problem which requires a loop, to walk a linked list, to search for primes. What I'm looking for, however, isn't if the person is a mathematician, but how he solves the problem: does he automatically close the curly brace when he writes the open curly brace at the top? Does he store intermediate results somewhere, and how does he chooses to store them? Does he use any naming conventions in his sketched out code? When he gets stumped, how does he talk to me about solving the problem? Does he come up with anything I hadn't thought of?

    And that's because I'd rather hire someone who seems smart and communicative and who can sketch code on the fly than someone who may happen to know about public/private key systems.

    My theory is that specific problems that revolve around the web site can be learned on the fly: someone who is smart can look up how OpenSSL works, for example, and start implementing code against OpenSSL. But someone who has OpenSSL experience but who is otherwise unable to communicate effectively or solve problems on the fly is going to be useless as soon as we move on to other problems.

    And my theory is the same regardless if you're hiring a beginner out of college or an architect with 20 years of experience; the architect I'll just ask much harder questions, as well as probative questions about the sort of design work he's done and the types of design problems he's had to face.

    In terms of quality, I've found that roughly a quarter of the people I interview I'd happily work with, but for architectural level stuff, it's hard to find someone who is really good. That's because software development seems to weed people out after 10 to 20 years--and many who survive that long do so out of inertia, not because they're really good at what they do. So if you want someone with 20 years of experience who can architect something complex and get it right the first time--you're going to be looking a long time.

    (And if you happen to be hiring in Raleigh, North Carolina and are paying above competitive rates for a first rate architect and developer, send me a private message. :-D )

  154. Send you sensitive information? by A+Friendly+Troll · · Score: 1

    I should send you very sensitive information?

    If I have it, and you don't, and it's very sensitive, then you'll have to supply me with a written and stamped document, signed by multiple Important People (tm), which states that it's okay to give you the data, and also specifies how I'm going to give you the data. I also need to be cleared from issues on your end. Maybe your network is hacked. The data is safe with me; how do I know it'll be safe with you? I need to be waived first.

    Papers, please.

  155. Are you being too picky? by shadowrat · · Score: 1

    Are you just asking these candidates questions that are too specific?

    My team asks candidates to solve some relatively simple problems. They don't have much to do with our software. It's just stuff like filtering strings for pairs of characters and some other stuff. It helps us to evaluate if someone can write code to solve a problem.

    If they can, we will ask them more specific questions. Now, i'm a graphics programmer. I work with open gl and 3d stuff. I'll often ask, "Given a triangle with points A,B, and C, how would you find the normal?" I realize this community is going to contain lots of people who find that question laughably simplistic. it's not even a programming question (though neither is describing key pairs). I'm just looking for them to say "cross product". . nobody in 3 years has ever known.

    the purpose of the question though isn't to shoot someone down. it's more like extra credit. I'm curious if they know anything about geometry, but we've hired plenty of guys who can't answer my questions. they have learned, and i was confident they could because they did well on the general questions.

  156. The Position I'm in by kilodelta · · Score: 1

    Told me that they'd brought in well over a dozen candidates to interview. Now I'm not all of that but the fact I beat out a dozen other so called Senior Linux engineers astounds me to some degree.

  157. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Oh, and FWIW, they used a large C++ code base that processed incoming data at high rates. They really did want people with enough of a clue to understand how linked lists worked and how to traverse/manipulate them without fucking up. Then the interview group would discuss with the candidate about what he did (on the whiteboard), hint at errors, etc.

    But seriously, this is second-year CS degree stuff. Anyone with a BSCS or higher degree should fucking know linked lists work. Reversing a linked list is the kind of thing that would be a test question, not a homework assignment. It's like asking someone to do long division on paper. We weren't asking more complicated shit (that we didn't even use anyhow) like sorting algorithms (I can only write binary search and bubble sort from memory), or like I heard one about one interview somewhere, balanced binary trees.

  158. PDF encryption by Anonymous Coward · · Score: 0

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

    This is honestly a really good point that I did not think of.

  159. A small french sample by Arkan · · Score: 1

    Very, very local sample: out of 5 I work with currently, I have:
    * 1 with a real interest in his work, eager to learn and improve
    * 3 with a "happy with what I know, afraid of anything new"
    * 1 with a toxic attitude, i.e. resists any attempt at being introduced to version control systems, code reviews, unit testing and the likes

    For the past 15 years, I've come across maybe 4, 5 developers really engaged in their trade, with a positive attitude and a genuine eagerness to learn new things, find the proper tool for a given problem and learn from mistakes they and others have done.
    A good 20 others could have been janitor for all they cared: it's just a 8-17 job for them.

    Sample is quite small, and comes mainly from french consulting firms - CGI, Sogeti, Atos, Accenture, Sopra.

  160. Re:Hopefully the applicants had a relevent backrou by Dragonslicer · · Score: 1

    It's no more unreasonable than asking "I want to send a stream of bytes to another computer on the internet, how would I do that?" and expecting an answer describing TCP sockets.

    Because both are pretty unreasonable. Why would you expect someone to answer such a vague question by describing TCP instead of describing Ethernet, IP, UDP, FTP, HTTP, scp, etc.?

  161. Seek People That Continually Learn by cbybear · · Score: 1

    This is a two-sided problem. I'm a software architect and I've been looking for a new gig recently. Most companies don't get you are interviewing them as well.

    First up, if I've got tons of experience on my resume, ask me about it. A conversation about what I've done will reveal my depth of knowledge if you know how to question appropriately. If you aren't familiar with the work I've done, use it as a chance to see if I can teach you about it. If I can educate you on an unknown technology during an interview, I'm likely a candidate you are going to want.

    Writing code on a board is useless. I have my laptop with me, I even state this, yet everyone seems to want to watch me write code on a wall without the benefit of the tools I use every day. It's like asking a carpenter to build a cabinet and then locking away her toolbox. If you really want verify my skills, send me a test. Or I can point you at my github.

    If you insist on playing the puzzle-solving game during the interview, I'll counter back with a similar question at some point. So don't be surprised when the tables get turned on you. I'm trying to determine if I want to work with you just as much as if you want to work with me. Nothing sucks more than being a good engineer and landing in a group of far less skilled developers.

    Find those people that want to learn. They will carry your company far if they also have open minds and enjoy collaborating with others.

    1. Re:Seek People That Continually Learn by ramoneThePoolGuy · · Score: 1

      Thank you for your insight. When I talk to candidates I feel like I need to sell them on the company, our story, team, work environment, etc., as much as they need to sell themselves to us. The question I mentioned in the OP was probably not the best. We offer up a lot more general questions such as "describe two ways that you can secure a web service." IF they understand security they can usually offer up a discussion on that. But you'd be surprised how many can't answer something that simple. We don't ask people to write code on the wall...it is time consuming and not terribly useful IMO. My last hire had zero experience with our core language but we hired him anyway - he was smart and eager to learn and has worked out great.

  162. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Knowledge of and experience with basic cryptographic primitives *should* be as widespread among software engineers as knowledge of and experience with certain statistical methods *should* be among scientists. Several decades ago neither of these things was as important and basic to the respective fields as they are today. But times change.

    Sadly, in both cases people tend to rely on HOWTOs and cargo cult incantations, without developing a true understanding.

    If you can't do RSA or DSA with pen and pencil, then you don't understand basic public-private key cryptography. It's such a small, inconsequential, and seemingly useless thing to do, but it's the _kind_ of thing you *need* to do to truly understand how these things work. And even if all you'll use are off-the-shell components like OpenSSL or GnuPG, it's something you should have done at least once just to have that base for understanding problems later on, as well as judging the competency of others you may hire or work with.

    However, most people don't have a real love of learning, and that's the kind quality somebody needs in order to have the motivation to develop fundamental skills. Most people have a love of tinkering and using new toys, and mistake that for learning and skill development. But if you have no clue how deep the rabbit hole goes, even if you know you'll never learn the details of a field, then how can you be expected to make sound and rational judgements about the tools and software you use?

    We all stand on the shoulders of giants. We all have our specialities, and we can't know everything. But you shouldn't be standing on shoulders that you have no basic understanding of. They could be the wrong shoulders entirely and you'd never know.

  163. Re:What Portion of Companies Are Bad At What They by ramoneThePoolGuy · · Score: 1

    OP here. We try to attract good talent and pay them well for it. I have developers that have been here for 14 years and make well above what they could probably get elsewhere. Their experience and deep knowledge of our systems and business processes is invaluable. We haven't had a developer leave in almost a decade - the new hire is a result of growth. All that being said, my intention for my post was not to come off as arrogant as it seems it may have. We're very fair in our hiring and screening. The last developer I hired had basically no real-world development experience, but he exhibited a great willingness to learn and is an extremely bright guy. In fact he hadn't written a line of code in our core language but I hired him anyway and he has worked out great. I guess what I am seeing is you have a few classes of developers. On one hand you have folks that have been at it awhile and it's just a paycheck to them - they don't go out of their way to understand the big picture and I feel like that really limits them. So one reason for the interview question is to not necessarily preclude them from getting the job, but rather to gain an understanding of how well they know various systems and how they work. To me the question could have opened up a discussion on how to safely transmit data - something that I feel a senior developer should know about. On the other hand you have developers that want to know as much as they can about the various systems they work on, how they're architected, what the infrastructure in production looks like, etc. THESE are the developers I want - people that have a broader understanding of what they're working on and don't have tunnel vision on their specific tasks. And believe me, I'm sure that if I had been on the other side of the table the candidate could have found plenty of holes in my skillset - I certainly don't know everything nor do I pretend to.

  164. Re:Hopefully the applicants had a relevent backrou by swan5566 · · Score: 1

    Ouch.

    --
    In debates about Christianity, there are two groups: those looking for answers, and those looking to just ask questions.
  165. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Crap, I meant to reply to the other reply. But knowing "SELECT field FROM table WHERE condition;" probably put you above 90% of their candidates. And if they only had 10 or so candidates to begin with...

  166. Re:But where/when does one explicitly learn securi by Anonymous Coward · · Score: 0

    Security is its own specialty and is generally a subset of a broad education in IT proper, not software development. Very few schools would teach you even the basics. CS just isn't security on its own. If you really want to learn something CS specific take this (CSSLP - Certified Secure Software Lifecycle Professional), it will make you more knowledgeable in secure coding than 95% of all programmers regardless of education or experience. It is also quite a bit harder than anything a recent CS grad would have encountered, that is why ITSec is so much fun.

  167. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Really? As a compiler implementer with 20+ years experience I have better things to use my bandwidth on
    than cryptography, which is totally irrelevant to what I need to know. If it becomes relevant then I'll learn
    about it.

  168. Stump the Chump by IQGQNAU · · Score: 1

    It seems pretty clear that your concept of competence is whether a developer has a question that can stump another. Therefore the test should be whether your interviewee has a question *you* don't have the answer to, not vice versa. As for encryption the test for expertise is whether a developer who is not a security specialist realizes that they don't know nearly enough to do it correctly and unless they've worked on that technology for years they're gonna do it wrong (and even the folks who've done it for years cannot escape making mistakes).

  169. Re:Hopefully the applicants had a relevent backrou by Pow · · Score: 2

    Honest real life application:

    Producer-consumer with lock-free implementation.
    Producer thread (or threads) queues to linked list atomically (insert at head using compare-and-exchange).
    Consumer thread periodically empties the list by exchanging head pointer with NULL (compare-and-exchange). To make this list FIFO, consumer will now need to reverse the list.

    Why not doubly linked list? Because we want a lock-free implementation for scalability.

  170. "Roll the dice" interviewers by frog_strat · · Score: 1

    Who find some obscure question the candidate can't answer, then use that to demonstrate their superiority over the candidate. Instead of having a brief, relaxed, open technology conversation. When the candidate relaxes and starts talking about their technical experience, it isn't hard to tell if they are a good fit or not. And there is no insulting or demeaning of anyone in the process.

    FWIW, I have been conducting a lot of interviews lately and I always say I am looking for 49% technical skill and 51% interpersonal skills, because the hardest problems in software engineering are not technical.

  171. Re:What Portion of Companies Are Bad At What They by Anonymous Coward · · Score: 0

    Hey, you can learn a lot about a chef by watching the way they make gravy...

  172. Bad examples by nine-times · · Score: 1

    I'm going to echo what others are saying and say that I think your examples are bad. I wouldn't necessarily expect a developer to understand public key encryption unless they had a background of working with public key encryption. You don't necessarily need to understand that sort of thing to make web applications or iOS apps, so it really depends on the kind of development you're doing.

    Regarding file encryption, I find the question to be reasonable. If you want to send an encrypted Excel file to someone, it's probably smarter to just use the built-in password protection and encryption. If you can trust that someone has Excel enough to send them an Excel file, then you can assume they have Excel enough to open a password protected file. I would not, however, trust that someone has GPG installed.

    Getting back to your question, I generally estimate that roughly 80% of people are bad at their jobs, whatever they do. This is based on a couple decades of anecdotal evidence in the professional world, but it's borne out with the new experience I continue to have, and other people seem to share the experience.

  173. Re:What Portion of Companies Are Bad At What They by david_thornley · · Score: 1

    Close. If you want good people, you treat them like good people. This includes salaries over the market rate, although not necessarily anywhere near what they're worth. (If you can find somebody who can do twice the work for 10% more pay, great!)

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  174. Oh, it's you. by Anonymous Coward · · Score: 0

    I've met people like you. You have no idea how much depression and anger you cause.

  175. Too much knowledge by ArcadeMan · · Score: 1

    Everything today works with computers. You can't ask everyone to know even a bit of everything, because most jobs only require knowledge of specific parts, protocols, languages, APIs, etc.

    I'm pretty sure you could ask everyone around you if they know what opcodes and registers are and you'd find extremely competent high-level programmers who have zero clue what those are.

  176. Irony by Anonymous Coward · · Score: 0

    Given you're asking such simple questions in an interview I'm now under the impression that you're not very good at what you do either.

    The entire industry is bloated with unskilled people. Some kid learns how to do a pivot in Excel and they suddenly think they're gods gift to computing. Below that are many times the amount of people that think knowing where the device manager can be found on a windows system makes them an expert.

    Same goes for the older techs that think 20 years of experience is the same as actually knowing what you're doing. Just because you've been doing something for a long time doesn't mean you're any good at it.

    In my estimation, less than 1% of people that work in the tech industry are competent and 99% of those are belligerent and nearly impossible to work with.

    Ask the question : What do you do in your spare time?

    If the answer is anything other than "I spend all my free time learning new tech" then don't bother because there are people that *do* and they have names like John Carmack.

    A good tech is a computer scientist and I'd expect them to be as proficient in their field as a brain surgeon is in theirs and I pay them accordingly.

    1. Re:Irony by GaAs+oldAce · · Score: 1

      Given you're asking such simple questions in an interview I'm now under the impression that you're not very good at what you do either.

      The entire industry is bloated with unskilled people. Some kid learns how to do a pivot in Excel and they suddenly think they're gods gift to computing. Below that are many times the amount of people that think knowing where the device manager can be found on a windows system makes them an expert.

      Same goes for the older techs that think 20 years of experience is the same as actually knowing what you're doing. Just because you've been doing something for a long time doesn't mean you're any good at it.

      In my estimation, less than 1% of people that work in the tech industry are competent and 99% of those are belligerent and nearly impossible to work with.

      Ask the question : What do you do in your spare time?

      If the answer is anything other than "I spend all my free time learning new tech" then don't bother because there are people that *do* and they have names like John Carmack.

      A good tech is a computer scientist and I'd expect them to be as proficient in their field as a brain surgeon is in theirs and I pay them accordingly.

      It used to be a mail merge that was the "I AM GOD" skill to have. A pivot? I would have thought it would be a linear regression or something, (A regression is actually really awesomely useful compared to a pivot or even a mail merge, but I guess it depends on who is asking too. Just so long as the kid doesn't refer to the pivot as "An Pivot". If he does that then he qualifies as "An hero".)

  177. the 90% are People too by bill_mcgonigle · · Score: 1

    Did anyone ever use average to mean "mode"? I really truly doubt it.

    Yes, usually when they're trying to sound smarter than everybody else (and then usually when they're not).

    back to TFS's question: you know why Java is such a popular language? Because it's really helpful for helping the bottom 90% of programmers write stable code.

    The 5% on the right side of the curve can go off in a corner and bicker about whether their Haskell monads or Python function decorators are more becoming of a "good" programmer, while industry gets back to work to churn out code that get potatoes from Boise to Omaha and helps grandma balance her checkbook.

    Any reasonable economist doesn't want to see you using somebody who can implement Shamir's Secret Sharing from memory (on a napkin, just for completeness) writing the potato shipping-manifest code. The best thing you can do for a person is to place them in a position where they're being fully utilized and appreciated for the work they do.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  178. It's about having a broad base of knowledge by james_shoemaker · · Score: 1

    If you don't have a broad general knowledge in your field you are merely a hammer looking for nails.

  179. Re:Hopefully the applicants had a relevent backrou by TheGratefulNet · · Score: 1

    careful, there!

    what you will find - and think that you got a star - is someone who spent their life (up to this point) memorizing stuff. yes, I'm thinking of folks from india (sorry, but its actually true).

    and when I get into an interview situation, they ask me to recite algorithms and write code quickly on the board. neither are important to me and neither have been key to my success in my jobs, over the years. coding is NOT a race! I take my time. so what??? is that a crime? I am careful and - honestly - as you get older, you work a bit slower. but more careful (from my experience with older and younger guys).

    I can GET the answer. but I rarely carry it with me, upstairs. way too much info to keep up there. at this point, I actively flush OUT useless info that can be looked up quickly.

    when I respond 'I'll search for the current best algorithm, read up on it, adapt it, port it and debug it on your system. I can do that, but I won't memorize it and I won't code 'live' in front of you since that's never ever a part of software engineering.'

    the older and more experienced ones get that. the younger ones just have ego issues and anything they learned last year in college should be - forever - memorized. that's how they think. they can remember that sort alg from last year. how come you can't remember it from 30 yrs ago?

    sheesh. the field is being ruined by young-uns. and they think they really do know it all.

    --

    --
    "It is now safe to switch off your computer."
  180. Re:But where/when does one explicitly learn securi by Anonymous Coward · · Score: 0

    What are you people talking about? This is a perfectly accepted, and widely used, model for employee training and professional development, it's called On Their Own Time, On Their Own Dime (TM).

  181. PDF encryption by Anonymous Coward · · Score: 0

    You get it. There's 100 correct answers to his encryption question. Simpy using gotomypc and pasting the file on the desktop is a correct answer.

  182. Have you considered... by darkwing_bmf · · Score: 1

    Telling your applicants to research PGP before scheduling an interview?

  183. Dig Deeper by Anonymous Coward · · Score: 0

    I've got 15 developers on my team - it took me 9 months to find/hire them (in Toronto). The boss bitched at me regularly, but we ended up with a fabulous team. Why did it take so long? Because many failed the types of question you asked. But failing that type of question can be overlooked if: 1) The candidate said 'I don't know', which is waaay better than bullshitting, AND 2) The question wasn't directly related to the work they were going to do.

    But I like asking this type of question because it tells me the breadth and depth of the candidate's knowledge. If you're looking for top guns, keep looking. You'll interview twice as many candidates, but get 10 times the productivity (assuming you don't accidentally hire prima donnas). Good luck, and like another poster intimated - sharpen the job description! This raises the odds of finding someone you like in the first 10 interviews.

  184. Ask a mechanic by Anonymous Coward · · Score: 0

    When was the last time you asked your car mechanic how to rebuild an airplane's turbine engine? Or the last time you ask an airplane mechanic how to rebuild a Black-hawk helicopter rotary assembly? Or asked a Black-hawk mechanic how to do a front end alignment on a Ford pick-up truck. That 20+ year programmer gave you the exactly the correct answer and I bet a hell of a programmer.

  185. Re:What Portion of Companies Are Bad At What They by Anonymous Coward · · Score: 0


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

    The problem is that many people simply lie on their resumes. Others have a decade or more experience mainly in office politics and taking credit for others work. About 80% of candidates I've seen couldn't even write a for loop to sum a sequence of numbers.

  186. Do you train your employees? by Anonymous Coward · · Score: 0

    If you don't provide training for your employees, you are the problem.

  187. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Really? A graphics designer working on a computer should know public key encryption (information security) and the OSI stack?

    The age of AI sentience cannot come soon enough. Once we are at that stage, folks will have the exact candidate they want with just a few mouse-clicks. How different people, working in different capacities (like left vs right brain) are supposed to have the knowledge and recall of a god is beyond me.

  188. Re:Excel file by Anonymous Coward · · Score: 0

    Your question demonstrates that you don't understand the problem. How do I securely send you a file? If I use Excel's encryption, then we have a new problem: how do I send you the password to open it?

    How do I know that the public key I receive is really your public key?

  189. As a Business Analyst... by baerd · · Score: 1

    ..I would say it is approaching 100% They just do all of the stupid things I tell them to, they should know better! ;)

    --
    I wish I had a lawn.
  190. Check your HR screening process by Todd+Knarr · · Score: 1

    Seriously, check how HR or your agency is screening applicants. I've found too many of them that do keyword-based screening, and they're throwing out any applicant who doesn't have exactly the keywords on their resume that you put in the job description. That can filter out the good candidates with broad backgrounds in favor of job-hopping contract people with the canonical "1 year of experience repeated 10 times" who know how to put the right keywords in to pass the screening. Have HR give you all the resumes they received and have one of your guys sort them to remove the ones who clearly don't have any relevant experience, then compare what's left to what HR thought passed screening.

  191. Re:Hopefully the applicants had a relevent backrou by lgw · · Score: 2

    I've never needed to do any such thing, and it's been 20-mumble years since college, but I can damn well answer such a trivial question, as fast as I can write. If you can't, then IMO you can't solve very basic coding problems. I don't like or use this question, because it's one people memorize, but I'd be quite comfortable rejecting anyone who couldn't figure it out (making allowances if they don't remember C pointer syntax, but still got the approach right).

    --
    Socialism: a lie told by totalitarians and believed by fools.
  192. Few Qualified Candidates by Josuah · · Score: 1

    What happened to all the /. posts about how there is an excess of qualified U.S. candidates and companies asking to raise the H1-B cap are just trying to pay people less?

    Anyway, OP's problem is one I think is very common when you're actually looking for someone really good. Even if crypto or security is not the primary job, a senior architect/developer/designer will be able to do a much better job knowing about crypto and security for the same reasons such a person would do a much better job knowing about multi-threading or cache behaviors. Knowledge and skill in those areas will ensure the design and code starts out in a better state than otherwise. In today's increasingly security-conscious world even the most basic of applications and devices need team and project leads to consider security as a fundamental aspect of development.

    A lot of answers to this post are basically stating security considerations are not important to the job or the questions are too specific. I disagree with that. (Although I do think it would be OK for people to make a few mistakes around details in an interview as long as they demonstrated proper understanding.)

    Maybe a candidate does know how to set up a web site to use HTTPS instead of HTTP. Does that same candidate know why certain cipher suites should not be used? And that really only secures the public network communication. What ensures user passwords are not easily accessed while in use and not just while at rest? How do you protect sensitive keys, symmetric or private, like the one used to encrypt user data?

    If you're putting together something super simple and turnkey like a personal blog then maybe you can get by just following examples you read online. But if you're actually developing a new application or device then your solutions will need to be customized to your needs and capabilities. And that's not something you can copy/paste out of a Google search.

  193. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Because in real Engineering new usually means unproven which CAN KILL PEOPLE. The cavalier attitude of many of the code monkeys I have met would never make it past their sophomore year in real Engineering, if they did not wash out. Coders working on critical systems terrify me.

  194. Interviews are getting silly. by neiras · · Score: 1

    Honestly, I keep hearing stories of companies doing interviews that are pretty much brain teasers and exercises in CS101 recall all the way through.

    Say you're hiring a web developer. It's good to ask one question out of left field... "How many times do the hour, minute, and second hands of a clock perfectly align in 12 hours?"... to evaluate thought processes and see if the applicant dives in. But the reality is 90% of web development work at 90% of companies is pretty basic.

    To the framework jockey who can turn out excellent, well tested code, even CS101 questions about recursion are pointless. Big-O notation is useful, but not often used. Blah blah blah.

    When I interview, I'm looking for smart, socially well-adjusted people who have a track record of getting things done and not pissing their coworkers off. Questions are directly related to the position I'm hiring for, with one "fun" one - and I'm clear that the brain teaser isn't a right/wrong pass/fail scenario. If the people they'll be working with think they're a fit, they're hired.

    And if they turn out to be all talk, we'd can them after the first month. Hasn't happened yet.

    Now, for a senior role, I'd be choosier, sure. But to discard someone for not knowing an arbitrary piece of software or bit of theory? Baby/bathwater.

    1. Re:Interviews are getting silly. by Anonymous Coward · · Score: 0

      It seems obvious that the 3 hands can only align perfectly on the 12, assuming some kind of magical perfect clock, so only once. What thought process is needed :/
      If it was imperfectly aligned it would be 11 times. Finding those 'best' 10 other times would be a bit harder...

  195. Interviewer is not as smart as he thinks he is. by nuckfuts · · Score: 1

    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.

    What's wrong with asking that? Both Excel and Acrobat have built-in encryption capabilities. There's nothing ignorant about considering whether the built-in functionality is sufficient.

  196. Physical encryption. by nemesis9 · · Score: 1

    Awesome, busted out laughing!

  197. How Many Hiring Managers Are Bad? All Of Them! by Anonymous Coward · · Score: 0

    Go fuck yourself. The questions you asked are inane. The problems are already solved. If you requested politely, perhaps the interviewees could have steered you to some web pages explaining this or that algorithm. But you should pay for such assistance, not have an outsider solve your problems for free.

  198. Re:Hopefully the applicants had a relevent backrou by blue9steel · · Score: 1

    I actually like asking those kinds of questions. I look at the resume for a skill they say they know, then ask the most basic question I can think of about that subject. For example "I see here you say that you have experience with Cisco Networking equipment, please describe how you'd login to a switch and elevate your permissions". If you can't answer that off the top of your head, you've never worked with Cisco equipment (or it's been so long that your experience is probably worthless). For database work then yeah a select statement is a good choice.

  199. It's not them .. it's you.... by johnlcallaway · · Score: 1

    Why would any senior developer/architect need to know the specifics of encryption? That is a specific skill, not a general one. And, if they need to know the specifics, it's a Google search away. Yes .. I do. Because I've had to do it before. Many years ago when I didn't know what it was and had to learn it. Now I can use it. Did you know everything the first day you started working at your company, or did you have to learn some of the things you are doing now???

    Stop looking for specific skills and start looking for smart people. Your questions might find someone very skilled in what you need now, but what about next year when something new and improved comes along??

    Someone who is smart can learn what you want them to know in a couple of days, encryption just isn't that difficult. Especially if you already know it and can sit down and go over it in the 30 minutes it will take for them to get the basics. Instead of looking for short-term solutions, look for long-term employees, people that are self-motivated to learn new things, and capable of learning new things.

      --- or ---

    You need a better job description that specifies specific skills you want. And the balls to ask a few questions at the beginning of an interview, and then show them the door right away if they don't have what you specified in your request for applicants.

    Either way .. it's your fault you aren't getting the people you need or want.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
  200. Step one: Identify the problem by GaAs+oldAce · · Score: 1

    Coming from a position of diverse experience on the matter of communication in interviews along with concise communication between professionals who have either come up in education and experience (or both) in two different generations or whose experience is in differing, but compatible areas such as web programing versus old school (mid 1990s) CGI web programing , not to be confused with computer graphics, I am referring to the period terminology for web to credit card transaction mechanisms.) or C ++ application programing versus embedded application C implementations, in an interview conveying to YOU the interviewer, the breadth of my experience and having to guess your particular areas of expertise so that I can speak your particular dialect of terminology to answer your test questions and not make the interview questions needlessly long, is a daunting task of communications ninjutsu to put it mildly. It is hard for me in interviews due to the fact I am beginning my graduate level education, and have taken two different tracks in my education, Software application programming and Electronics and Electronics at the bachelor's level including embedded systems, microprocessors, satellite communications and different kinds of encryption including Public Key Cryptography, AES Encryption and I did quite a bit of elective work involving quantum encryption and I will tell you what I spent half of my time on Quantum encryption was showing how many ways the human element and security weaknesses in the hardware that is not guarded along it's entire length.. can be defeated by a "Man in the middle" Large pulse attack which, while not disrupting the entanglement Alice and Bob see, can still see what the differences are between the actual bits being sent by being able to determine the orthogonal configurations of Alice and Bob's optical hardware. (I had a series of long interesting discussions on the feasibility of this with my professor who had spent time in the Navy working on such things and he was able to agree that there are indeed vulnerabilities that the designers had not thought of.) I find that in an interview it is surprisingly difficult to convey what your abilities are, what your experience encompasses and get into enough technical detail that the interviewer is on the same page, without them jumping to conclusions such as me making things up, or just coming off as plain arrogant. (I am not judging you, it is just with generational differences and having worked in a lot of different knowledge domains, You would be surprised how many things have the same basic underlying principles, mathematical patterns and even sometimes are called by the same name but in two different domains have such a different industry jargon associated with the two separate fields that someone such as myself in electronics and software programming still occasionally feels like I need some sort of lexicon to make sure that both people having the discussion are on the same page. I say again I am not judging you, but everyone has different sets of experience and skill sets and in a particular job that is either a tremendous asset or a liability.) I really feel that this question of yours ramoneThePoolGuy, would be better if it were two way, because I wonder if this isn't something that would be served by reading Dilbert, particularly the "Step one: Identify the problem" series. Just that title is a great reminder to never take anything at face value and that brings me to this point. I don't believe that anyone should be judged as not intelligent or unskilled, especially in a technical field, just by asking questions. You commented that when you asked the interviewee the 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?" and the person started off by asking me if it was an excel file, a PDF etc.. which I can see why you judged as an inexperienced person trying to throw out jargon, but understanding his "angle" on the problem might have been tell

    1. Re:Step one: Identify the problem by ramoneThePoolGuy · · Score: 1

      Thank you for the insight and recommendations. I re-read my original post, and it came off much harsher than intended. I suppose it was the result of long hours and frustration over not having enough people to do the work. Our interviews are rather loosely-structured, we try to ask a number of open-ended questions to give the candidates an opportunity to describe their experience, as well as a few specifics on syntax. It is a difficult task to say the least, especially with senior-level developers. You have candidates that just want to do design work and don't really want to code (even though they tell you differently), and then you have candidates that have been so deep in specific areas of code that they never look up to see the world around them and have no idea how the entire system works. So this particular question was maybe not the best, but I really wanted to see if the candidate had an understanding of how encryption works. In the next interview with a different candidate I worded the question differently, and they perfectly described PKI in about two sentences. I also want to know of my candidates if they understand various ways to make things secure, so we have questions like "can you describe some ways that a web service can be secured." If they can't at least list one way to secure a web service, how can I trust them to protect my customer's data? I certainly am not trying to "stump" the candidate. I just want to know, in general terms, are they smart, and if they do not know specifics are they going to be willing to learn what they need to in order to perform their duties. It is difficult to do.

    2. Re:Step one: Identify the problem by GaAs+oldAce · · Score: 1

      Thanks Ramone for responding!

      That actually helps me have a better view. I hope my response didn't come off harshly in retrospect, (occupational hazard I suppose!)

      Sometimes those types of questions have underlying personality tests in them, or are tests of critical thinking designed to invoke a wrong answer for intuitive thinkers that is usually wrong.. akin to the question:

      "The cost of a bat is one dollar more than the cost of a ball, the ball and bat together cost $1.10. What is the cost of the ball"?
      It is amazing how many educated people will answer ten cents without thinking, but the answer is 5 cents.. and the correct answer reflects someone who would follow a thought process something like:

      Given:

      Cost of bat and ball together = $1.10
      Difference in cost of bat and ball = $1.00

      Cost of ball = ($1.10 - $1.00 ) / 2 = $0.05
      Cost of bat = Cost of bat and ball - Cost of ball = $1.10 - $0.05 = $1.05

      Your answer makes sense and is actually more of you wanting to see their brain working in a problem solving setting.. cool actually, thanks for clarifying that.

      someone had a cool email signature above:

      "You can make a Slashdot signature quote seem authoritative by attributing it to a famous person" - Sun Tzu

      I am a fan of Sun Tzu, and what you are outlining is akin to his passage in The Art of War, talking about laying plans

      "Without constant practice, the officers will be nervous and undecided when mustering for battle; Without constant practice, the General will be wavering and irresolute when the crisis is at hand."

      I take this to mean that one should practice their craft not just until they get it right once , but until they can't get it wrong, and that comes from my background as a Jazz guitarist in my early college years, but it is a takeaway that applies elsewhere in life. Your line of questioning does uncover this but requires the skills of articulate communication and an awareness of what the person you are talking to understands, which are also skills you want, but can sometimes be hard to evaluate in a 30-45 minute interview.

      In a senior position I agree and have articulated elsewhere in other comments that for a senior position the standard for knowing how to code securely has a bar that is higher than normal so your approach and question about how they can be trusted to protect the customer's data makes more sense now. It is easy for people of differing mindsets and approaches to interpersonal communication to overthink what is being asked and that can lead even very smart and experienced people astray. This is why I quoted the question about the ball and bat, because there is a type of methodical thought process that demonstrates one of many possible systematic approaches to giving the right answer, I think your question can be looked at as an analog to the ball bat question in that there are a range of approaches to answering that question that elegantly , and as your second interviewee demonstrated.

      Thanks again for answering Ramone, Your answer has been helpful in an educational sense.

      Take care, and good luck!

    3. Re:Step one: Identify the problem by Anonymous Coward · · Score: 0

      Methinks that "Ramone" is an astroturfer for one of the H1B shills based on how he described his process. The field is vast and in the past few years has become very specialized. I wonder if the ad matched the questions or if it is a purple squirrel type question. "We are looking for someone with 10 years of HTML5 experience, 5 years of Windows 10 deployment experience, experience in app development for both the iPad 5 and Android 8.9 VastImagination who can also code in Cobol and 360 Assembler using a handheld card punch and console toggle switches... Then wait for "Ramone" to complain that there are no qualified applicants so they have to hire an H1B coder for sub-minimum wage... Just reading between the lines of the original post and the further "elaborations"....

  201. They're all bad... by Anonymous Coward · · Score: 0

    ...says every developer ever.

  202. Re:But where/when does one explicitly learn securi by blue9steel · · Score: 1

    Do this and you will be successful.

    What mythical company completes the business requirements before the project begins?

  203. re by Anonymous Coward · · Score: 0

    Do you hire remotely? :) I can tell you a lot about assymetric cryptography and deep internals of OpenSSL

  204. Bad? Define bad.. by MakersDirector · · Score: 0

    Speaking in defense of development staff.

    I have about 30 years of IT experience, my last roles as Director and Senior Architect with about 20% of my time doing demo code and helping management understand the technology.

    I will say this about developers: More often than not - no matter where I go and who I deal with around the world - whether you're an Indian developer, from Romania, Russia, a former hacker form the Ukraine, a corporate drone type in China, a former employee from Seattle and Microsoft, or a guy from Arkansas - my experience has been that about 10% of developers are truly bad at what they do - BUT I learned a massive lesson - THE INDUSTRY AND WORLD NEEDS THEM!

    In my experience, THESE bad developers RARELY effect the end product, what truly effects the end production is simple mismanagement of the organization - which almost felt intentional at times.

    I say felt because I have spent 3 years homeless, waiting for the Holodeck Programmer position to open up.

    In any case. What makes an end product bad is a lack of awareness and consideration of the customer's needs.

    Developers - working from bad requirements by analysts and project managers who work more to preserve their own jobs than they do actually being beneficial - do not seem to understand nor want to consider the various customers on a project and what they may need.

    It's subjective, right? But developers are rarely treated 'as customers' - and it shows - because most people fail to take the time to 'get to know how a programmer thinks and works - and this leads directly to the poor implementation of the code.

    The 'bad programmers' within a team make us laugh, smile, ease the work situation. Their lack of productivity or introduction makes us feel better about ourselves, they can frustrate us a developers, they can piss management off to no end with they way they work (or not). They are typically social clowns or the 'hot chick' programmer added because she wants to learn and male dominated programming teams need a woman in their midst.

    What portion at like this? I'd say 10% maybe up to 20% if the unemployed and underemployed like myself weren't shooed at.

    I am not the greatest developer in the world. I enjoy what I do. But I'm homeless because I care more about living life than I do perceived 'productivity'

    I wasn't always this way. I had one consultant who we talked about for years after he left - for three months he took long lunches, hit on all the women at work, and quite literally changed code by adding 'spaces and tabs' throughout the code.

    We laughed for years on that one.

    And I took note on a more engaging and fun way of operating in life in general from that man. '

  205. Re:What Portion of Companies Are Bad At What They by dougg76 · · Score: 1

    I see where you are coming from. You are right, you can't tell from just their resume if they are going to be a good fit. You also can't tell if they are a good fit just because they are good at coding on a white board. Anyone who has studied pedagogy (it is a lot more interesting than it seems) that there is no shortcut to finding a good candidate.

    The questions that are asked should be specifically tailored to actual work that they will be doing. Companies should be courting college graduates in the hopes of growing their skill set and and growing their own senior programmers, rather than poaching from other companies. You can still verify peoples tenure and job by calling their HR office. You can have them answer some architecture questions (if its a senior position), but for god sake don't lower the profession by asking a professional to answer cs 101 crap; There is a good chance they have not had to use some of it in over 10 years.

    The skills that make someone good at white boarding code problems are not the same skills that will make productive programmers (google even admits this). I wan't to know if a person can do x job, therefor I am going to see if they are good at y even though its not related to x...

    A person that can't write a for loop, would not be able to carry a discussion on programming with a tenured programmer. Hell, I can't even get half the people I work for to understand what I am doing let alone a novice.

    --
    I laugh at inappropriate times.
  206. everybody knows its... by ruff · · Score: 1

    ((NumDevelopers - 1) / NumDevelopers) * 100

  207. Re:Hopefully the applicants had a relevent backrou by AK+Marc · · Score: 1

    Car engines use thermodynamics, but asking a thermodynamics question in an interview for a truck driver would be similarly irrelevant.

  208. "This engineer had no clue." by Yunzil · · Score: 1

    So? I've been programming professionally for 18 years now and I couldn't answer that either. Why? Because I have never, ever had to deal with encryption code.

    Was "knowledge of public/private key encryption" listed in the job requirements?

    1. Re:"This engineer had no clue." by Shados · · Score: 1

      That was my reaction too. Most people never learnt about public/private key encryption. Those who did forget pretty quickly.

      I learnt it in college....13-14 years ago. Then I forgot, and while i always remembered the basics, I never really dug into it until recently when I wrote a MitM proxy for debugging purpose. Now I could explain it quite well, but last year? NOPE. I knew enough to be able to tell the difference between a seemingly secure system and an obviously insecure one. That's it.

      Now, it doesn't change the fact that 95%+ of engineers are basically running a bullshit scam.

  209. Re:But where/when does one explicitly learn securi by Lunix+Nutcase · · Score: 1

    I grok the snark, but in my experience people who take their own initiative on learning and personal development gain 10x more than people who get sent to some boot camp or seminar on their employers dime.

    False dilemma. I take lots of initiative to learn new stuff and my employer reimburses me for the classes and books.

  210. HTTP Session by Anonymous Coward · · Score: 0

    The number of web developers that can't explain the life cycle of an HTTP session, and the role cookies play in that is, frankly, shocking.

  211. Asking for breadth in a field that values depth... by Anonymous Coward · · Score: 0

    You seem to be asking for a high level architect that knows just a little bet of everything and can do overall system level designs. There are people like that, most likely gainfully employed and not looking to change.

    The field in general appreciates depth (you're a crack Node.js / rails / SQL / kernel, etc person) and people with breadth are less appreciated by techies, but liked by upper level management (you).

    Its likely that you did not make the position clear to the recruiter / sourcer, and / or the applicants did not understand that. I'm pretty much no expert on anything, but I know a little about lots of things. My value rarely comes from writing lots of code, but from knowing that if person A makes a little change in system 1, then system 2 will have to have person B fix this other thing, etc.

    Dunno what to tell you other than to make it very clear what you're hiring for.

  212. Re:But where/when does one explicitly learn securi by Lunix+Nutcase · · Score: 1

    Gee, it's almost as if I was lampooning that very concept...

  213. You only get what you pay for. by Anonymous Coward · · Score: 0

    Perhaps you need to review how much salary you are offering for the position. You may only be attracting the worst because your pay isn't enough to entice those that know what they are doing to apply.

  214. Good developers by Anonymous Coward · · Score: 0

    Those types of questions have only one purpose: to make the interviewer feel smart. I worked with a gentleman who had 30 years of experience as a developer, he ended up building an entire MES system from scratch, defining and developing an entire manufacturing process raw material to finished product, integrating it with complex ERP software and retail software, and ultimately setting the foundation for a hundred million dollar company that probably wouldn't have made it without his work. He had no clue how encryption works or what an IP address is, he would often call on us junior developers to do the most simple things to set up his development computer. Yet you would probably pass him up. Maybe it's you that's not qualified to be interviewing developers.

  215. Re:What Portion of Companies Are Bad At What They by dougg76 · · Score: 1
    All that being said, my intention for my post was not to come off as arrogant as it seems it may have.

    No, your post was not arrogant. The questions that you asked in your interview seemed very reasonable (as part of a larger battery of questions). My response was not directly pointed at you, but at the software industry, and its lack of overall professionalism.

    On one hand you have folks that have been at it awhile and it's just a paycheck to them - they don't go out of their way to understand the big picture and I feel like that really limits them.

    You are right, it does limit them. They would probably be a decent programmer, but maybe not the best lead programmer. Why is our industry so special that, "just being a paycheck" mentality is not an acceptable as it is in just about every other industry? The software industry is permeated with this mentality that we have to go home and work on our own github project and stay up to date with the framework of the month even though a lot of the code we write is really mundane. Is funny that a lot of interview questions are about algorithms and memory structures when those types of things have been abstracted away in many of the frameworks we have to use.

    I love to program, however my skills have been eroding year after year. I don't study algorithms any more, I barely get to have fun with any good problem solving (that's why we use to love it?). I am just trying to beat this new framework into submission so I can hit some crazy deadline that the US and India team are loosing sleep over.

    The IT field disgust me. Who cares about a field that does not have room for its older workers? We are telling our kids, and the kids we mentor not to go into IT/CS. CS is a awesome tool, but it's a bad career. One of my old shops was full of newly minted graduates in CS EE who were making freekign web pages, what a fantastic wast of human potential.

    I am out of time, I really like how you run things. Maybe if everyone else did the same you would not be in a bind for new talent

    --
    I laugh at inappropriate times.
  216. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    no one uses their own "reverse linked lists" anymore. We use data structures from libraries to do it. This is 2015.

  217. the easy answer by Anonymous Coward · · Score: 0

    100%

  218. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Thank you.

    I'm a mid-level systems analyst at podunk state university and not an 'architect' (whatever the hell that means nowadays) and I totally agree with you.

  219. Re:Asking the wrong questions, using the wrong met by Anonymous Coward · · Score: 0

    I'm sure the poster created his own encryption algorithms from scratch too. That always works out well.

  220. Most of them? by Art3x · · Score: 1

    Most people can learn how to write a program that works. Few master design. Paul Graham wrote a great essay on design that captures what I mean: Taste for Makers. This is crucial because, as Brian Kernighan said, "Controlling complexity is the essence of computer programming."

    I've worked with just a few web programmers and interviewed just a few more. But in talking with friends and coworkers, reading articles, and in general just living in America, I get the impression that a sense of design is not a prominent part of American culture. In general we think that bigger is better, newer is better, and expensive is better. In general these are really bad criteria.

    Then again, maybe it's that people can't even program. Jeff Atwood tells about how many programmers struggle with even simple FizzBuzz Questions:

    Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".

  221. Just wait... by Anonymous Coward · · Score: 0

    ...until your CEO irrevocably commits you to integrating with a credit card processor whose "security consultant" demonstrates that same level of incompetence. Fun times.

  222. Dick wagging by Anonymous Coward · · Score: 0

    Hear Ye... Hear Ye...

    I did the first fucking interview of my life. And I asked the guy a question on something I read about yesterday. See slashdot I know more than the guy.

    Oh get a life.

  223. Re:But where/when does one explicitly learn securi by datavirtue · · Score: 1

    Book learning? Tons of it! Street smarts? No so much.

    --
    I object to power without constructive purpose. --Spock
  224. CIDR addresses by Greyfox · · Score: 1
    You don't really need to be a network guy. An IP(v4) address is just a 32 bit number. Each octet is just 8 bits. The subnet mask is a binary mask that lets you separate your local network portion of the IP address from the public network (Admittedly I've only ever worked with trivial examples.) The /24 indicates how many of the leftmost bits are set to 1. So a /24 would work out to a subnet mask of 255.255.255.0.

    Funnily enough, most C standard library address resolvers can handle IP addresses as actual 32 bit numbers without the octects, which is an occasionally fun party trick.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:CIDR addresses by greg1104 · · Score: 1

      But the question was how to compute the range of addresses it allows. Knowing the subnet mask isn't enough to do that. You also need to know the rules for what numbers you can't use in each subnet block. Not even all the calculators out there get this right. The first hit I got back from searching for one didn't; here's one that does. For the example here, "Usable IPs = 192.168.0.1 to 192.168.0.254".

  225. How many developers are bad? by Greyfox · · Score: 1
    I've only run across two or three who were atrocious, and I mean to the point where I though they were probably running a scam and collecting a fat paycheck until it seemed likely that they would get caught. I mean, these people knew literally nothing about programming and had to have completely misrepresented themselves to obtain a position.

    I've met a lot of "meh" ones, who can kind of get the job done but obviously don't care about or enjoy programming. It was just a high paying career that they could get into.

    I've met very few people who do it because they really enjoy doing it and are constantly being driven to learn. They usually get bored at a company within two or three years and move on.

    I've met a lot of bad interviewers too, who obviously have no idea how to conduct an interview or what they're looking for in a candidate. They tend to jump on the latest interviewing gimmick bandwagon, whatever that happens to be, without really understanding why that gimmick is supposed to get results that are better than random. Most of the interviews I've seen could have just as easily flipped a coin and had an equal chance of getting a good developer.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  226. You are a Bad Interviewer by Anonymous Coward · · Score: 0

    Sorry to say, you are a bad interviewer. I have 10 years experience as a lead developer and have experience on both sides of an interview. A senior level developer with 20+ years of experience has probably covered virtually every aspect of software development. You expect them to memorize every concept that google can answer in 30s? I have 10 years experience and just got a new job. I dealt with interviewers like you and it frankly irritated me. I actually turned down second and third interviews because of exactly that type of question. I ended up with three job offers and took the highest paying one.

    You are limiting your talent pool with questions like that. It may seem like a basic concept and, when you are in security, it is. But a highly skilled developer may deal with security only rarely. That doesn't mean they are bad at their job. You need to test for abstract problem solving skills and fast learning. The best developer in the world may never deal with the specific "concrete" concepts you require. But a good developer has a passion for learning (very quickly) and understand ABSTRACT concepts in great detail. They have BREADTH, and not necessarily DEPTH of the specific skills you need.

    To test for depth means you, personally, tend to be a static thinker. Most of the top talent are dynamic thinkers; producing solutions that cover a massive array of concrete topics. A good developer doesn't fester on a specific concrete concept and memorize it. A good developer can jump in and out of a wide range of concepts. Perhaps never being able to recall very specific details but can pick up the necessary knowledge in an instant.

    Do you want someone who can memorize crap, or someone who can solve problems?

  227. my last interview by behrooz0az · · Score: 1

    Yeah, last time I was in your position I ended up hiering people applying for senior developer as UI designers. they sucked at that too. good programmers gone extinct a long time ago.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion. -- Spazmania (174582)
  228. It's quite simple: You're doing it WRONG! by Anonymous Coward · · Score: 0

    If you know the answer, why are you hiring someone to do it??

    Seems like you have actually no clue what you need, and until you do, you'll just create more problems for others and yourself.

    Btw, I can read from your post that you're probably a very technically-oriented person. Why are you doing the hiring?? You should assist hiring, not direct it...

    Technical people are the absolute worst people readers you can encounter.

  229. Re:What Portion of Companies Are Bad At What They by thegarbz · · Score: 1

    Do we ask engineers to play with toothpicks and tape to build a bridge to assess their worthiness?

    Having recently been through an interview I can tell you they only stopped short of providing the toothpicks. I was given diagrams of the the plant I was to be working with, detailed technical specs and then asked to design some theoretical system (which they already had in place). They then asked some very VERY specific questions about some tiny parts of the plant. Best part about all of this is that it was a position for a generic instrument engineer but they asked all very specific questions about a tiny subset of the field which didn't immediately match the job description.

    So yes, engineers are treated no differently at interviews than programmers.

  230. Too many incompetent interviewers by DidgetMaster · · Score: 1

    I am a highly skilled engineer with over 30 years experience. I once had a headhunter call me and want me to interview for this "wonderful job" at a major company. At first I wasn't interested (I already had a great job) but I finally agreed to an interview out of curiosity. One day, while running errands in my car I got a call from the HR hiring "screener" at the company who wanted me to do an on-the-spot interview over the phone to see if I was "qualified" enough to merit a real in-person interview. I reluctantly agreed to answer a few questions. He proceeded to ask a bunch of questions about algorithms I haven't thought much about since college (i.e. bubble sorts, tree balancing, etc.). He wanted me to basically quote him coding syntax over the phone as if I were typing on a computer. I'm sure my answers didn't sound the greatest on the other end of the phone. What a joke! He ended the short conversation probably convinced that I don't know how to code even though I could probably write better C++ code in my sleep than he ever could. I never heard from them again and certainly have a bad taste in my mouth about that company (even though I'm sure there are lots of really smart engineers working there).

  231. Re:This is stupid *Depends on your definition of " by GaAs+oldAce · · Score: 1

    On the one hand, I kind of agree, but on the other hand if the problem is to transmit a file securely your first thought really shouldn't be what kind of file type it is. I might never have asked that question, but given such an answer answer I wouldn't hire the guy. I cannot know what the exact problem is, I don't know him after all, be is either missing some very important concepts or the ability to connect the dots.

    It depends on what is behind the question. I would phrase it like this:

    An attacker can packet sniff and certain file types have a statistical signature that can be fleshed out of a frequency analysis of the packets being sent and all things being equal will show a certain type of curve on a histogram. It can be hard to believe in an intuitive sense, that a histogram can reflect the actual informational pattern of a particular type of file sent over and over but it does, and over time, given enough captures this can defeat even carefully chosen cryptography algorithms. The interviewee is very smart if the reasoning behind his question is with a view to blurring the lines between different file types being able to be deduced over time by use of a rich data capture, frequency analysis and use of a histogram. He did also say that he was interviewing for a senior position, so I would expect him to be expecting that level of sophistication. One could make the argument that asking what type of file type is being sent is irrelevant because the assumption is that if you encrypt something that no matter what it is it is equally unreadable, but that is unfortunately not the case. Most people assume their windows password is secure, but you can download a program that gives you a boot cd that will give you all of the usernames and passwords on a system in less than a couple minutes. Breaking hashes is not nearly as hard as it once was and a senior level applicant that I would hire would be cognizant of that fact, or I wouldn't hire him. I would also pay such a potential employee higher than the average rate for the type of work he would be doing, depending on what their credit report says, what their previous work history says and what their references say about what kind of worker they are.

    Such a worker could make a point by packet sniffing the network and then emailing the contents of an email the hiring manager sent out after the interview back to him from your personal email address, and it might be surprisingly easy to do, but that might be about as useful as stealing a bus to try to demonstrate your ability to be a bus driver.. might not end well.

  232. Re:What Portion of Companies Are Bad At What They by Anonymous Coward · · Score: 0

    Tell me more about these goat based home business opportunities. My Cousin has done will with llamas but I'm not so sure about llamas. They have an evil gaze. Goats I could deal with.

  233. Re:Excel file by Anonymous Coward · · Score: 0

    Your question demonstrates that you don't understand the problem. How do I securely send you a file? If I use Excel's encryption, then we have a new problem: how do I send you the password to open it?

    ...followed by...

    you encrypt it and sign it with PKI so that the person on the other end can decrypt it and verify it is from you.

    Let's look at the assumptions you both made.

    His:
    1. Excel's inbuilt encryption is secure enough.
    2. He can communicate the password to the intended recipient without it being intercepted.

    Yours:
    1. PKI encryption is secure enough.
    2. The public key your using to encrypt the message with actually belongs to the intended recipient.

    How paranoid you want to be about these assumptions is left as an exercise to the reader.
    I'll share some of my thoughts on the matter...
    Public/private key encryption depends on there being no known solutions to certain mathematical problems.
    The NSA have been busted trying to get algorithms with backdoors accepted as industry standards.
    If I hack your CA and DNS your PKI isn't worth a pinch of poo.

  234. Architect? by Anonymous Coward · · Score: 0

    A developer should thoroughly understand the environment in which he works. An architect on the other hand should know the general way a LOT of things work and how to specify to the developing team what needs to be implemented. The architect needs to have the ability to ask the client - "Why do you want that?" Because they may be trying to solve a problem unrelated to their "preferred solution". And an architect must know the technical limitations of the developing team and the installed equipment.
    Maybe it is just as well I am retired.

  235. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    I mock your lack of knowledge of balancing binary trees. Jeez, that's third-year CS degree stuff, man. And you've been working in the industry how long to not know basic third-year CS degree stuff?

  236. bad interviewr by bloodhawk · · Score: 1

    this sounds more like a poor quality interviewer. incidentally the one asking the question about the file type was at least intelligent, if it was a pdf or excel file you just use the builtin encryption options as anyone that thinks they can create a better one themselves is either in the top fraction of a percentage of security developers or they are simply too dumb to know they don't know enough. If the developer was applying as a security dev then these questions might have been more relevant, I expect an architect/senior dev to take advise from experts in their field and be able to integrate that advise to create a solution, I don't expect them to know everything.

  237. Your Problem... by Anonymous Coward · · Score: 0

    Your problem, Mr. Interviewer, is that you seem to think that you know more than you actually do.

  238. Re:What Portion of Companies Are Bad At What They by dougg76 · · Score: 1

    Oh no it's contagious! I know that it does happen in other industries, I just don't think it is as prominent. Part of the problem is that software is not as regulated as other traditional engineering fields. I am guessing that civil engineer managers don't have to wade threw so much chaff. Then again, I think its ridiculous that they want people with engineer level credentials to work on mundane operational business software. Anyone with a computer is a programmer in an abstract way.

    --
    I laugh at inappropriate times.
  239. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    shut up, dumb guy

  240. Re:What Portion of Companies Are Bad At What They by dougg76 · · Score: 1

    Besides the point that goats are kindred bearded spirits, I find their ability to scream like humans appealing. Is it bad when you get to a point in life where you start to seriously consider going back to farming? It just seems appealing to have a job where you can work hard and feel like you accomplished something. I could have been a master goat herder / cheese maker or something...

    --
    I laugh at inappropriate times.
  241. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    This is the problem with bad interview questions. There's always someone (this time it's you) that says "Sure, maybe that's a bad question, but HERE'S a good question" and it's inevitably another bad interview question. First, your "second year CS stuff" question requires remembering a kind of uncommon data structure, then sorting out how to do something to it that would really rarely ever need to be done in real world applications (I read the example below, and it's hardly a universally encountered problem). To top it all off, I googled "reverse linked list" and got several hits with answers in a moment. Regardless of the actual content of the question itself, if you can find the answer in a search engine's top 3 hits quicker than someone can access their memory of their collegiate education, it's an awful interview question and you prove nothing by dismissing anyone who doesn't have an immediate answer for you, no matter how "simple" you think the question. (This is even further true because an interview environment is about the furthest thing as possible from a real development environment. Maybe the applicant just froze and drew a blank?)

    tl;dr You're a bad interviewer, and your "point" is moot

  242. Re:Hopefully the applicants had a relevent backrou by Idimmu+Xul · · Score: 1

    I'd say a reasonable use of SSH and not handing your private key to people is a pretty important fundamental, for anyone touching a nix environment...

    --
    The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
  243. Mgr just looking for reason for an H1B! by gabrieltss · · Score: 1

    This "hiring" manager sounds more like he is looking for a reason for being able to hire an H1B. There is enough people here that have pointed out some very valid points as to the lack of the interviewers skill in interviewing for developers.I would say to this person - learn MORE about what you are interviewing for and what specific skills the developers need for the position and make darn sure that is what is in the job posting! I've interviewed for many developer jobs where the job posting and the interview questions were polar opposites! The asked for one set of skills in the job posting and then asked about a completely different set of skills in the interview. I chock that up to cranial rectumitus syndrome!

    --
    The Truth is a Virus!!!
  244. Certification helps sort the good grains by jpgravel · · Score: 1

    I second you on that point. Too few devs are up to date, even amongst graduates from 2010+. But there is a good certifications (namely IEEE CSDP) that tells you that someone at least knows the best practices in software development and that this person is engaged in yearlong self education in the field. I passed the test and believe me, its a full 3 hours of brain f***!

    --
    - J.P. Universe laws are such that we perceive them because if they were different, we would not be there to witness th
  245. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Yeah, and that's bullshit. As an architect you'd better damned well know a lot about a lot.

    Then again, you're probably easily outsourced so it doesn't matter.

  246. Incentives by Anonymous Coward · · Score: 0

    If you offer terrible pay/benefits of course you're going to be stuck with the bottom of the barrel when hiring.

  247. all of the ones by Anonymous Coward · · Score: 0

    that aren't white males

  248. Learn how to interview by QuietLagoon · · Score: 1

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

    When you are looking for people to join your team, the process usually consists of asking the candidate questions about the technology you are currently using. That's the wrong approach, unless, of course, you want to lock yourselves into what you are doing now.

    .

    What you should be probing is how well a candidate is able to learn and apply new technology.

    When you are interviewing, you are looking for a candidate to help you move into the future, not stay with what you have now. The questions you should ask need to expose how a candidate learns and adapts to new technologies and the application thereof.

    If you ask the wrong questions, you'll get the wrong answers.

  249. Let me guess, you're trying to hire the top 5% by DamnStupidElf · · Score: 1

    and your HR department is paying "competitive wages" at the 50th percentile?

    Let me know how that works out for you.

    1. Re:Let me guess, you're trying to hire the top 5% by ramoneThePoolGuy · · Score: 1

      No, we are actually compensate our technical staff quite well.

  250. ITT Programmers who don't want to learn about PKE by matt_wutrudoing · · Score: 1

    I'm reading a lot of "You can't know everything. I've been at this X years and I've never had to learn the particulars of how to encrypt anything! I'd learn it if I had to." in these comments.

    Any application that deals with data should be built with an understanding of when and how to use cryptography to protect sensitive information. They aren't, but they really ought to be, and I wouldn't hire anyone to work with me if they couldn't give me a high-level overview of the basic concepts of PKE. I'm with you on that, OP.

    But in answer to the original question, I kind of have to agree with the more cynical posters. Good help is hard to find. I say this as someone who is trying to hire talented software engineers in LA (seriously, if you're awesome, email matt at gem.co) and has been disappointed.

  251. Being an engineer isn't about knowing stuff... by ckatko · · Score: 1

    ...it's about being able to learn stuff, as needed, with almost no help, on a deadline.

    Clearly, an engineer should not take a senior position of a job he has no knowledge of. It's against the engineering code of ethics. However, not knowing something specific you think might be obvious, in a field with topics as numerous as there are stars in the sky, is silly. A worker is not judged by what they know, they're judged on what they can do. And what they can do is capable of changing with the application of learning.

    Your man might not know public key encryption when you asked. The test of a man's character is "What did he do afterward?" If he immediately noticed he didn't understand a fundamental topic, and started researching it, he's a damn fine employee.

    You may think you're looking at an employee who doesn't know fundamentals, but I'm doing the same thing. Looking at someone who doesn't understand the fundamentals of running a business long-term.

  252. Sounds like you're engaging in guest worker fraud. by sethstorm · · Score: 1

    Stop asking the H1-b candidates and start asking US citizens. There are plenty of good engineers in the US, much more if you become less picky.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  253. You must have at least version 19.63b by Anonymous Coward · · Score: 0

    You must have at least version 19.63b of DNS-drop(b), the absolute minimum of 24 years of SQL-RA version 32.69b, and advanced microcode development with the Xylox-R package (minimum of 19 years with version 32 or 24 years with version 22+). Persons without *all* of these qualifications as an absolute *minimum* need not apply. Now you can say "but SQL-RA was only at version 31.1 6 months ago, how can I get 24 years experience in it" and the answer you get is "so you aren't qualified then, are you". Its very easy to pull requirements out of a book, and insist that those not meeting their standard simply unacceptable. What they are asking for is a bespoke suit from off-the-rack people (and everyone coming out of university is off the rack, and most people know most stuff). The idea of 'build to suit' is an abomination to them. They insist on bespoke or nothing. And then you get old geezer types yelping 'whut's wrong with all the kids taday?'

  254. A lot by Anonymous Coward · · Score: 0

    Based on the developers I've known and worked on I'd have to say about 50%. How representative they are of the rest is anyone's guess but one thing I'm convinced of is that, just like people in any other occupation, very few are anywhere near as good as they think they are.

  255. People recommend technical tests for a reason by loufoque · · Score: 1

    There is a reason why people recommend having technical tests in interviews. Most interviewees fail the basic FizzBuzz test.
    A lot of software engineers are bad, and this is much worse in everything related to web development.

    I am a software engineer focused on low-level C and C++, and my company once needed to do some web development, a front-end for a web service we developed. We contracted someone with 8 years of experience in web development to do that, since it wasn't the kind of thing my company did.
    I was in charge of working with the guy to ensure that his work met our specifications and that he called our web service correctly. The person struggled with such basic concepts as doing a HTTP request, serializing/deserializing data, and testing whether an RPC request went well. He couldn't understand our formal specifications and I had to basically write the code for him to show him what he did wrong and what he needed to do to comply.

    Long story short: the level of skill an average web developer has does not meet the expectation we have of software engineering outside of the web development world.

  256. Been there by Anonymous Coward · · Score: 0

    I have actually worked on public/private encryption systems, I designed and developed one entirely on my own for a corporate client 8 years ago. For the last few years I have used such things on a daily basis to secure my own work (all quite automated). Even I could not answer the question of how it works. I knew it at the time I needed to know it, but given how easy it was to discover this information I saw no need to memorize the explanation. I couldn't even tell you exactly wtf the thing I was making was for, I just don't remember anymore. I don't go around remembering every little thing I do. Most of the things I've done I didn't already know how to do - and (side note) doing an IT degree wasn't about learning everything there is to know, it was about being aware of the fundamentals and learning how to learn (which many have been doing since childhood anyway).

    Being a developer isn't a game show either. I've looked up a bunch of "job interview quiz" type things, sites that offer questions to IT employers to ask their candidates, and a lot of it seems to be about tricking the candidate and making them feel stupid.

    There must be a problem in the IT world where people are saying they can do things but can't actually do them (Is that an actual issue employers face?) which is leading to these types of interview questions. I think these employers have their priorities in the wrong place. I don't have an answer for how to weed out such candidates, but I think a lot of good talent is overlooked with this interview stupidity.

    If you want your employee to be good at something, or to do something a certain way, just tell them that's what you want. Just hire someone who cares to do that for you.

  257. It is this bad by ryanw · · Score: 1

    I have been in the industry for 18 years or so and have worked for many fortune 100 companies. The answer to your question is "yes, it is this bad".

    "Back in the day" we used to need to know several core functionalities to even just get a unix box up and running. I know many "enterprise architects" and they couldn't tell me anything about a tcp stack, how to configure a unix box for performance, how to pxe boot a system, how to patch a system, what mode to configure the network interfaces for LACP, should we use ipmp or LACP?, etc.

    The only thing they do is certify a list of requirements to enterprise standards and drag and drop Visio diagrams to show how to plug things in. Then they turn it over to procurement to order it, then it comes in and admins are stuck trying to figure it out, working with vendors to install expensive software.. Which the whole process ends up taking a year or two in the "enterprise".

    So if you want an "experienced architect" what you really should be looking for is a young smart kid and test him with a quiz to see if he's willing to work hard, stay focused, and has excellent troubleshooting skills with a verity of experience with various technologies. It doesn't even necessarily matter if the experience is in the technologies you are working with. Anyone curious, hungry, and willing to work hard is worth their weight in gold in today's world. Those have been the hardest to find, in my opinion.

    Finding people to solve your riddles will vary in success, but the root of the problem is deeper.

    1. Re:It is this bad by ramoneThePoolGuy · · Score: 1

      Thank you for your thoughtful reply. I'm torn between a young up-and-comer vs. a tried and true "expert." We have hired a few younger folks that have demonstrated a willingness to learn...in fact the last developer we hired had never developed in our core language but interviewed so well (and had exposure to numerous languages) that we hired them. What I'm looking for is someone that has been in the trenches and done a lot of different things. Not some prima-dona that is focuses on the architecture and refuses to get their hands dirty, or who, in the face of adversity says to me "I don't know and that's not my job....that's a 'security' issue."

  258. Welcome to the corporate world by Anonymous Coward · · Score: 0

    I worked at a very large computer company for 17 years. I found that so many software engineers were incredibly stupid. Not just ignorant of the facts, but even after I explained the steps to do something in great detail, the very next time they had to do that procedure, they would have no idea what to do. Engineers from other teams would send me emails and instant messages long after I left the team I led because they knew that most of the people still on that team did not know much.

    What is worse is that management liked and even promoted the morons. They were easier to manage and just said "yes" to everything because they did not know better. I delivered a long list to our personnel manager of the stupid things one of the people on my team did, including when she said she had run a test case successfully when it was unequivocally shown that she had lied about her work. She even started daisy-chaining power strips in the lab because she was either too lazy or too stupid to look under the raised floor for more power drops. Then when workstation computers would randomly power down, she blamed the contractor who worked in the lab. A few weeks later, this moronic, lying woman on my team was promoted!

    It's a wonder how the multi-billion dollar company where I worked for many years can produce any working products at all.

  259. Statistics... by Shirley+Marquez · · Score: 1

    Half of them are below average!

  260. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    Maybe this applies to other fields, but after 20+ years of being at a university between undergrad, grad,and working at one (never teaching myself), and taking classes, sitting in on classes, and helping colleagues proofread tests & answers, I don't think I've seen a single one that references the professor's own papers. This includes everything from CS and math, to physics and engineering courses, including some physics courses where the professor actually did a significant amount of the work on one of the main topics of the course, but by that point there were review papers not written by the prof. The closest I've seen to a paper intensive "exam" is a couple profs who had students pick a topic, and do a presentation to the class on a couple papers covering the topic, in place of an exam so that students could discuss a variety of recent research.

  261. Re:Excel file by Anonymous Coward · · Score: 0

    I would agree with this *if* the first question the interviewee had asked was something like, are we developing an end to end solution ignoring any possible application level encryption, or are we attempting to leverage existing technologies first then wrap or manage that so the end user has a consistent, single method user experience.

    I encounter similar problems when looking for reliable staff. I have managed large teams in the past and current run a small business where every staffing choice can make or break the company -- we're really small. The biggest hurdle when staffing for a technology position is to keep context clear. Getting a feel for the ability of the candidate to learn and grow is also a key element to watch for.

  262. I'd use by Anonymous Coward · · Score: 0

    Public key cryptography to cipher a randomly generated symmetric key, and send that together with the ciphered data to you.
    Can I has job?

  263. Re:Excel file by greg1104 · · Score: 1

    See office password protection. The encryption of Excel version before 2007 was laughably weak. The last such file I had to crack took minutes. And that's still what you get if you use the older file formats.

    The encryption starting with Office 2007 is as strong as your password. It's still possible to break weak ones, but you need to apply a fair amount of brute force. Here's a typical cracking program. The way it advertises support for multiple cores and GPU acceleration is a clue it's not trivial to crack.

  264. Never used by TomD65 · · Score: 1

    Four score years ago I was grilled on ISAM and BDAM for a junior programming job.. I passed. When I got there I found our they had a DBMS that used ISAM and BDAM, but the programmers only access the files through the DBMS. Totally useless questions. I have designed the architecture on systems highly reliant on technologies I only had a moderate understanding, No architect can be an expert on all the technologies in any type of system except the most trivial systems.

  265. Re:Hopefully the applicants had a relevent backrou by chihowa · · Score: 1

    Oh, they never specifically reference the professor's own papers (as far as I've seen). But the topics chosen and the expected answers are highly biased by the professor's specific interests. If you are familiar with the writing professor's work and specific interests, you will do better on the exam. Even if the question appears to be asking a general question, the "best" answer is the one that deals with the professor's personal interests.

    Note that this discussion is about PhD qualifying exams and not exams in general. Also, I'm not criticizing the whole situation as much as I'm making a general observation. Many students have trouble with this phenomenon.

    --
    If you want a vision of the future, imagine a youtube comments section scrolling - forever.
  266. Re:Hopefully the applicants had a relevent backrou by ebvwfbw · · Score: 1

    Don't comment about stuff you know nothing about.

    PKI is everywhere. You use it all the time and you don't even know it, obviously.

    I set this stuff up all the time. From simple web site to ldap/dap authentication to some really big stuff.

    When I hire even tier-1 type people (deal with idiots on the phone), they have to show me they can deal with at least a web server pki. They're a dime a dozen.

  267. Bad want advertisement maybe? by ebvwfbw · · Score: 1

    I have a feeling your asking for the wrong person. I know from experience you'll get a lot who are just unqualified even with a very good description. However I'm having no trouble with new hires and encryption. Key I think is they must know unix/linux. As long as it has that in the description I generally don't have a problem. If I ask for a Windows person, forgetaboutit! They're morons generally speaking. This goes right along with the general windows user - they're a moron too. I know, being captain obvious here. I bet I go through 100 windows applicants to find one that's any good.

    1. Re:Bad want advertisement maybe? by ramoneThePoolGuy · · Score: 1

      Thanks for your response. This position is for a windows-focused developer. However, one candidate that did have some UNIX experience also couldn't answer the questions...they also stumbled on a basic question about awk which they had on their resume. Some of the windows folks are great, while others just see security as an afterthought it seems. I want someone who at least has a basic understanding of what I thought were simple concepts such as PKI.

  268. timetested technique is best by Anonymous Coward · · Score: 0

    "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 would bake it inside a cake. Duh!

  269. Re:Excel file by Anonymous Coward · · Score: 0

    You can't know that your open source encryption software is safe either. Even if you compiled the software yourself, the most likely didn't compile the compiler yourself. And even if you did that, you didn't boot strap it by typing the machine code in yourself. You used compiled software that was most likely out of your control.

  270. Re:Excel file by david_thornley · · Score: 1

    So what's the threat model? To give a good answer to a security question, it really helps to know the threats to guard against. The NSA? If so, how many resources are they going to give to it?

    Using MS Office password protection may well be a suitable answer, and it has the virtue of being fast and easy.

    In any case, only a crappy interviewer would decide not to hire a software person on the grounds that he or she tried to get the problem details.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  271. Domain by NewYork · · Score: 1

    I think it's DOMAIN knowledge;

  272. Security and quality are not valued by MoarSauce123 · · Score: 1

    Customers do not value...as in pay extra for....security and quality. If their sports score phone app crashes every five minutes they do not look for a different one or ask for the money back, they just restart it and do not even bother reporting this issue. Companies with massive breaches like TJX, Target, Anthem, or Sony spend a few millions on credit monitoring for affected customers and may fire a scapegoat, but other than that it is business as usual and people still do business with these companies. Microsoft even fixes massive security issues every single month requiring entire systems to get rebooted with the admin sitting at the console hoping that everything comes back up. Yet, nobody gets fired for buying Microsoft...and their licenses are not cheap! So what do you expect? Security and with that quality are not generating shareholder value. Businesses do very well throwing more features into their products at an ever faster pace (thanks to the mindless agile craze) opting to fix stuff later (which means not at all). Free email services have better security than most banking sites. How should a developer ever learn how to craft proper encryption, how to write good unit tests, how to properly comment code, how to deliver code that will pass all QA tests and user acceptance if none of that is valued? Why should a developer even bother with this when pressure to release more features is growing exponentially so that there is no time to learn and do things right the first time? All they hear is do something quickly and we iterate over it (which never happens). In your company the take on these things might be different and I applaud that, but you are the exception. My advice is to look for a developer who has some experience in the industry you are operating in. Hire one who has done a variety of things or has a variety of interests. That shows that they are open minded and not just a one trick pony. Whatever else they are missing you need to teach them, but start that off with explaining to them why this matters to the business. People are much more eager to learn and adapt different approaches when they know why. And no, this is not an excuse to pay them like a junior developer unless they truly are (recent graduates).

  273. Almost all of them by Anonymous Coward · · Score: 0

    The vast majority. If you are actually taking the time to find good hires, I would not be surprised you go through hundreds of pre-screened resumes, and dozens of interviews before finding someone decent.

    And I bet you'll pay that guy the same amount of money all the other failed candidates are getting paid at some other place where the hiring managers are incompetent.

    On the other hand, if you want to attract top talent, you can do so by posting a top-notch salary (with real numbers) in your job listings.

  274. Um... by cwsumner · · Score: 1

    Well ...

    "If Engineers built buildings the way programmers write programs, the first woodpecker that came along would destroy civilization!"

  275. Neal Stephenson put it best by Anonymous Coward · · Score: 0

    The Hole Hawg is a drill made by the Milwaukee Tool Company. If you look in a typical hardware store you may find smaller Milwaukee drills but not the Hole Hawg, which is too powerful and too expensive for homeowners. The Hole Hawg does not have the pistol-like design of a cheap homeowner's drill. It is a cube of solid metal with a handle sticking out of one face and a chuck mounted in another. The cube contains a disconcertingly potent electric motor. You can hold the handle and operate the trigger with your index finger, but unless you are exceptionally strong you cannot control the weight of the Hole Hawg with one hand; it is a two-hander all the way. In order to fight off the counter-torque of the Hole Hawg you use a separate handle (provided), which you screw into one side of the iron cube or the other depending on whether you are using your left or right hand to operate the trigger. This handle is not a sleek, ergonomically designed item as it would be in a homeowner's drill. It is simply a foot-long chunk of regular galvanized pipe, threaded on one end, with a black rubber handle on the other. If you lose it, you just go to the local plumbing supply store and buy another chunk of pipe.
    ...

    The Hole Hawg is dangerous because it does exactly what you tell it to. It is not bound by the physical limitations that are inherent in a cheap drill, and neither is it limited by safety interlocks that might be built into a homeowner's product by a liability-conscious manufacturer. The danger lies not in the machine itself but in the user's failure to envision the full consequences of the instructions he gives to it.

    A smaller tool is dangerous too, but for a completely different reason: it tries to do what you tell it to, and fails in some way that is unpredictable and almost always undesirable. But the Hole Hawg is like the genie of the ancient fairy tales, who carries out his master's instructions literally and precisely and with unlimited power, often with disastrous, unforeseen consequences.
    ...

    It is not hard to imagine what the world would look like to someone who had been raised by contractors and who had never used any drill other than a Hole Hawg. Such a person, presented with the best and most expensive hardware-store drill, would not even recognize it as such. He might instead misidentify it as a child's toy, or some kind of motorized screwdriver. If a salesperson or a deluded homeowner referred to it as a drill, he would laugh and tell them that they were mistaken--they simply had their terminology wrong. His interlocutor would go away irritated, and probably feeling rather defensive about his basement full of cheap, dangerous, flashy, colorful tools.

    Unix is the Hole Hawg of operating systems, and Unix hackers, like Doug Barnes and the guy in the Dilbert cartoon and many of the other people who populate Silicon Valley, are like contractor's sons who grew up using only Hole Hawgs. They might use Apple/Microsoft OSes to write letters, play video games, or balance their checkbooks, but they cannot really bring themselves to take these operating systems seriously.

    http://www.cryptonomicon.com/beginning.html

  276. Re:Sounds like you're engaging in guest worker fra by ramoneThePoolGuy · · Score: 1

    We don't sponser H1-b's for a number of reasons. The candidates I've been interviewing for this position are native citizens, although some of our developers are green card holders.

  277. Re:Hopefully the applicants had a relevent backrou by Anonymous Coward · · Score: 0

    You don't think a developer should be able to send a file?

  278. Re:Hopefully the applicants had a relevent backrou by Megane · · Score: 1

    Because writing code to do balanced (as opposed to unbalanced) binary trees is a "homework assignment" level question (with multiple branching decision points and subtasks) vs a "test question" level question. Traversing linked linked lists is an idiom that should be internalized if you're going to be messing with data structures and pointers.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  279. encrypt vs authenticate by Anonymous Coward · · Score: 0

    Encryption: Alice encrypts the text with Bob's public key. Bob decrypts with his private key (which only he has).

    Authentication: Alice hashes the text and encrypts it with Alice's private key. Bob can verify it by decrypting with Alice's public key. Since only Alice has her private key, we can be sure it was encrypted by her.

    You have an encrypted, non-authenticated message when only the recipient needs to be able to see it but the sender can remain anonymous. You can add a hash to the original text to ensure it can't be altered.

    You have a plain text, authenticated message when you want to send a public message that clearly only you could have made.

    Finally, we can have what you are talking about when you want to not only protect the text in transit but ensure the sender is who he says he is.

  280. Intellectual Honesty ! Hire Them ! by Anonymous Coward · · Score: 0

    Right away... and stop filling out LCA's.