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

45 of 809 comments (clear)

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

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

    3. 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)
    4. 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).

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

    8. 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!
    9. 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
    10. 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.
    11. 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.

    12. 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
    13. 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.
    14. 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.
    15. 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
  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. 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.

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

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

  8. 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.
  9. About half are below average.... by QuietLagoon · · Score: 5, Funny

    And about half are above average.

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

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

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

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

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

  15. 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.
  16. 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.
  17. 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.

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

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

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

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

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

  24. 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 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.
  25. 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.
  26. 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.
  27. 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"