Ranting about the quality of developers

I am in the happy position that I work for a company who is steadily growing. As a consequence we were and are hiring new developers. I had and have the “pleasure” to be part of this hiring process. I put the word “pleasure” in double quotes since often times it was more a sad than a pleasant experience.

First of all I have to admit that we failed completely when searching candidates ourselves by announcing open positions in blog post, on our company’s web site or when placing ads in various well known lists. Not only did we get low quality applications, no, we got near to zero response. Thus we hired some head hunters; not only one, but four of them. Finally we got some CVs from potential candidates. With the candidates that had interesting enough resumeés we arranged phone interviews. During these phone calls we give the candidates the opportunity to tell us where they think they are best at and what they are looking for. Although we do not ask very specific and certainly not very difficult questions, a lot of candidates have big troubles in coming up with some “meaningful” or “relevant” answers. Most of the candidates just fail on this first hurdle. Some interesting sample questions and answers:

  • We might ask the candidate something like: “Please tell us what principles or practices you use in your daily work to create robust, maintainable and/or extendable code.” One candidate, after asking us to repeat the question, said: “I am sorry, I cannot answer this question, but can you give me an answer?” Our answer then was rather clear: “I am sorry, but we are looking for candidates who know an answer to this question…”
  • To another candidate we said: “On a scale of 1 to 10, where would position yourself regarding your skills in C#?”. The candidate answered without hesitating: “I think I would give myself a 9.5.” Ha, you can imagine how we felt goaded and our next question was “Please tell us about some of the more advanced things you did with C# and .NET.”. The answer this time was rather disappointing and the things mentioned by the candidate where nowhere near bleeding edge.
  • Yet another developer, when asked what he did and where he is good at, did not talk about development or things a developer does and is proud of, but he rather started to talk about processes along and around development in general. It remained a “blah-blah” even when we insisted on hearing more “technical details”.

If what a candidate tells us at the phone sounds interesting we arrange a face-to-face meeting. Sometimes we give the candidates some “home work” to do, to be prepared for the interview. Most often the topic of this home work are the S.O.L.I.D. principles. We just tell the candidates that this topic will be one of our discussion points during the interview.

During the face-to-face interview we do an exercise with the candidate. It is basically coding in Notepad. We are typing since the candidate might get too nervous if he had to type. (We all know that it is difficult to type when somebody watches you over your shoulders, do we?). The goal of this exercise is not that the candidate finds “the” correct answer (there might not be such a thing…) but we want to find out, how a candidate approaches a problem, how he is thinking and how he is refining his approach to a possible solution. The outcome of this exercise completely depends on the candidate and how he approaches things. While trying to find a solution we might discuss such topics as: programming against abstractions (using interfaces or dependency inversion principle), encapsulation, tell don’t ask principle, single responsibility principle, interface segregation principle, the usage of strategy patterns, etc. We do not expect that the candidate knows all this principles and patterns by name nor that he knows when and how to apply them but some of them might just naturally exhibit themselves during the exercise.

This exercise really separates candidates of good quality from those of mediocre or low quality. We had some candidates that did an excellent job although it was the first time they ever heard of all those principles and/or patterns and certainly have never applied them consciously before. Others that knew all patterns and principles by heart and could rephrase their definitions failed miserably when asked where those principles and patterns could be applied in the sample at hand.

Sadly developers of low quality are far more common than the ones of decent or high quality.

Even more sad is the fact that developers having a (very) limited skill set are most often not aware of this fact and consider themselves to be “seniors”.

Am I expecting too much? I don’t think so. Developers have I high responsibility. They produce software to automate business or mission critical processes. One should expect this software to be of high quality. To write high quality software we need good developers!

Related Articles:

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

About Gabriel Schenker

Gabriel N. Schenker started his career as a physicist. Following his passion and interest in stars and the universe he chose to write his Ph.D. thesis in astrophysics. Soon after this he dedicated all his time to his second passion, writing and architecting software. Gabriel has since been working for over 12 years as an independent consultant, trainer, and mentor mainly on the .NET platform. He is currently working as chief software architect in a mid-size US company based in Austin TX providing software and services to the pharmaceutical industry as well as to many well-known hospitals and universities throughout the US and in many other countries around the world. Gabriel is passionate about software development and tries to make the life of developers easier by providing guidelines and frameworks to reduce friction in the software development process. Gabriel is married and father of four children and during his spare time likes hiking in the mountains, cooking and reading.
This entry was posted in hiring, misc. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://www.onemoretake.com Dan Sargeant

    I feel your pain on this one. I have been the party to many interviews for developers over the last six or seven years. We have refined a list of whiteboard-answerable questions that we use. They test more basic skills than development principles – can they write a simple sql query, can they write basic javascript, do they know html, do they know basic c#. We start with questions that test these and then build on them to test where their skill level in each lies. Unfortunately many candidates hardly get past the first level of questions. You sit there squirming wondering what their definition of senior developer is. As an interviewer I do everything I can to help them with nervousness as it can be crippling but way too many that apply dont have what we would consider the most basic set of skills. One good thing though. When you do find a good person they stick out like a sore thumb!

  • David Masters

    I agree with this, however I think it’s a two way problem and interviewers that appreciate and understand what a good developer is are rare. i.e. many would listen to that ‘bla bla’ as you put it and probably think ‘this guy sounds like he know’s what he’s talking about’.

  • http://www.erata.net eti

    So i’m not the only one with the impression that decent developers are hard to find. I was ( and still am ) thinking that maybe the technical interviews are to hard or to specific but c`mon a senior dev should know if a string is a value type or reference type in C# and should know to explain why.

  • http://richarddingwall.name Richard Dingwall

    > Even more sad is the fact that developers having a (very) limited skill set are most often not aware of this fact and consider themselves to be “seniors”.

    Senior usually just means they were in their previous position more than two years. In my experience, it has nothing to do with actual programming expertise – as you note, candidates who make a big deal out of this moniker are often quite the opposite!!

  • http://realfiction.net Frank Quednau

    “Sadly developers of low quality are far more common than the ones of decent or high quality”

    I had to LOL on that one. What exactly do you expect? The level of skill and knowledge you are looking for comes from experience, suffering, loads of practice, the will to excel and quite possibly a whiff of talent. In other words, you can replace the word develoepers with any profession.

    The stuff you are asking for requires people to have programmed intensively and progressively for at least, say, 6-8 years. I hope you pay them adequately :)

  • Regular commenter, but Anonymous Jobseeker

    As a job seeker I’m having exactly the reverse problem. I’m finding the number of good employers is pitiful. I currently work for a firm that throws around all the modern terms but completely fails to understand them, and my past career is littered with companies who lack understanding of the technologies they use and faith in the people they employ.

    Remember that people are products of their environment. If the industry demanded more and gave more in return then you’d find better developers.

    I swim against the current to use concepts like Agile and SOLID, and I am far from alone in this problem.

    And finally I’m disheartened by the fact no one advertises their roles themselves, and that I’m forced to deal with the agency weasels.

  • Gavin Chin

    Personally I agree with this article as an interviewee. I personally think I probably fit in the low quality bracket.

    But it’s a double edge sword problem. A company that “recognises” a high quality developer will continue to recruit high quality developers. But how does someone who is in the low quality bracket to to a high quality bracket?

    I do self study in an attempt to keep up to date and to learn new concepts and theory but without commercial experience my track history has noted that recruiters and companies only look at the commercial experience aspect?

    Can attitude be a recognised? I haven’t found it to be so. Even when I’ve offered to be payed less to get my foot into the door. So is there a solution?

  • Steve

    @Frank,

    While I get your point, finding even an decent developer is incredibly difficult. Our industry pays too much, not that I mind, but it attracts a lot of people who shouldn’t be doing what they are doing. Plus it’s very hard to quantify how good someone is easily. If I own a Tattoo parlor and I’m hiring a new tattoo artist, first of all I can pretty much guarantee that any experienced candidate is probably pretty good, or they wouldn’t be doing it, secondly I can just ask for a portfolio and finally, I can ask them to sketch up some work so I can see the quality of their work. It might not be perfect, but no such litmus tests exist for IT professionals.

    @Anon Jobseeker,

    Yes, 100% agree on this too. Companies have to start doing better actually applying what they say they do, because it turns out jobs are rarely as good as the employers try to make it out to be.

    @Nobody in particular

    I think a big problem we have is, especially in .NET, there is no definition of what a good developer is. Or what a 9.5/10 C# developer is for that matter. I’d hazard to guess that 90% of the .NET dev shops out there use an IoC container (if not more), or Unit Test, or even have heard what the SOLID principles are (although as mentioned in this blog, they might use them without knowing it). In the Ruby world, a job advertisement asks for a link to the applicant’s GitHub account, we don’t have anything like that in .NET.

  • http://www.lostechies.com/members/gnschenker/default.aspx Gabriel N. Schenker

    @Gavin: we do actually hire two types of developers
    a) the ones that already have a solid skill set
    b) those who are juniors but are open minded and eager to learn. We must be able to feel this desire (which is not to difficult honestly; a multi-step interview process reveals a lot about the personality of a candidate)

  • Steve

    Oops, I meant “do not use an IoC container or Unit Test”

  • Chris

    I’ve been asked in past interviews to provide some examples of my work, but had to refuse because it’s all covered by IP. Wouldn’t really give a good impression if I were to freely hand over other peoples’ IP. I certainly wouldn’t give a job to that man.

  • Steve

    Gavin,

    Like Gabriel, if you are junior but show promise, we’ll hire as well.

    I’d rather hire someone junior who visits sites like this, and who tries to learn on their own than an experienced hire who doesn’t any day of the week.

    The people (I assume) Gabriel are talking about are the ones with 10+ years of experience, yet they really don’t know a thing. Like, you’ll say “On your resume it says that you used WCF at your last project, can you tell me about what bindings you used?” and you are given a blank stare in return.

    Gavin, are you looking for work now? If so, do you live in the NY/NJ/Penn area?

  • JM

    I can relate to both sides of this. I’ve been consulting/contracting for over 13 years now with a few published books. I have interviewed many times and been the interviewee many times.

    At this stage I’m frustrated finding a good employeer like a few of the other posters have mentioned and that annoys me on two levels. I want to be a part of a great team that utililizes technology and development practices in the best way possible. Most employers in my area don’t do unit testing, they don’t use the best practices and they are loaded with devs that don’t understand SOLID at its core much less how to actually implement an IoC.

    The worst part? The junior devs they hire get subjected to bad practices. Their “senior” devs are much like the senior devs in this post. Incompetence begets incompetence. The juniors never advance technically – but they move into positions based on seniority in a company and end up with titles like “Architect”. That results in people with responsibility who have no idea what good, quality code is. Their code looks like a high school project gone bad.

  • Josh

    @JM
    I think another issue with that sort of environment is the junior devs don’t say no. I worked in a place like that where every function had to be covered by a try catch, no stored procedures could be used and the database considered slow and unreliable (oracle on a huge AIX box). Most of the developers were ok with this and just wanted to collect a paycheck. I wasn’t. I fought for what I thought was the right approach, 3 years later I was put in charge of the rewrite of the entire system and improvements started to happen with the code we were writing and the quality of software.

    I think overall that might be a universal job mentality issue. Even during the recession I saw the same don’t care, just want a pay check mentality in non-programming jobs.

    On the topic of good quality, out of the gate developers. Whoa it is really hard to find them. I wanted to hire a guy on the side for my side business, I got a guy and I had to cut my rate just to get the client happy again with the quality of work, not to mention the clean up. Then some phone interviews I had been on, looking for a senior developer, we had people call in that had NEVER PROGRAMMED. It was bad.

    I would say certifications could be an answer, but it has to be something like a Cisco certification, has to be renewed every two years, and contains some sort of lab or simulator to really test their skills.

  • Gavin Chin

    @ Steve
    I am currently a Senior and am working in the London so unfortunately I’m not near you. If someone’s in the London and willing to teach a senior new tricks I’d be happy to apply for that job even as a junior.

    I understand if Gabriel is finding it frustrating when applicants are stating they used something and don’t know how to use it. Personally I never like stating something in my resume that is not true.

    I guess for me I’m frustrated with seemingly having to keep chasing the new skill because the companies I work for don’t use new skills like TDD, BDD, Agile, WPF etc… And it seems very difficult to get into a company that will teach you even if you say your are willing to get paid less.

  • JM

    The biggest “objection” I get from companies not wanting to do software development the right way is – “We’re not a software company. We’re a service company.”

    When leadership doesn’t understand the benefits of TDD, BDD, Agile, etc then you end up getting set back years in your career. The other issue is how some companies just implement this stuff wrong because they don’t have anyone to take lead on it.

    I’ve been considering a blog post on that problem because it seems to be a reoccurring issue.

  • Alexander DiMauro

    I’m actually in a bit of a different situation. Thanks to budget cuts, I’m the ONLY developer working on a huge, enterprise level project. What I really miss is having a team.

    I think 4-5 good developers trumps 1 great developer + 9-10 bad developers. People have strengths and weaknesses, and a good team complements each other. I’ve been on good teams before, and we accomplished a lot. So, a bad developer, in my view, is not necessarily someone bad at programming, but also someone who has trouble working well with other programmers.

    This situation of working alone has taught me what my weaknesses are, and I have been reading pretty much non-stop for many months now. But, it made me realize how challenging it can be to keep up with all that is going on in software development. It’s not an easy field. It also increased my passion for programming, the more that I learned. But, once this project is finished, I will certainly be looking for a team to work with again.

    @Steve – I hate to jump in on your offer to Gavin, but thought I’d add that I’m in the NY/NJ/PA area…

  • Christophe

    the problem is that developper is the only job I know where people who know nothing about it think they have the right to apply.
    I mean, if you know nothing about plane, you not going to say “hey pilot look cool, let apply for this job it shouldn’t be too difficult”.

  • Steve

    The number of .NET companies doing BDD, TDD or any sort of Agile type development (Lean, Kanban, whatever) is rather low., but that really shouldn’t define a developer either. People are a lot more important than the process, or the SDLC in this case.

    For me, I just want to find people who actually like development and are striving to learn more about it. I’ve interviewed hundreds of people in my career, and it’s amazing to me how many “developers” don’t lift a finger to actually learn about their career

    Oh, and Alexander, is this you: http://adimauro.com/ ? If so, let me know and I’ll contact you through that site.

  • Alexander DiMauro

    @Steve – yes, that’s me.

    One other comment. Considering how quickly things change, I think it’s important for developers to have good fundamentals, because some of the more specific details can be found on Google and/or Bing. If you have a good ‘SOLID’ foundation (pun intended), then specifics like ‘how to implement OpenID in ASP.NET MVC’ are easily found in a search.

  • Rocco

    @Steve

    RE: “Our industry pays too much”

    I have to take issue with this. Non-junior developers who deliver mission critical software are incredibly valuable and should be compensated very well. The issue IMHO, is the pool of talent – not the pay.

  • Steve

    Rocco,

    My point was that due to the high pay, many people who have no interest in designing and developing software end up doing a job they really aren’t right for. You don’t get that in any other high paying industry due to high barriers to entry, but for .NET all you need to do is bluff your way through an interview.

    Let me put it this way, this entire blog is about how “experienced” developers can’t even answer the simplest questions. Jeff Atwood wrote about this as well in that 90% of developers he interviewed couldn’t do his simple FizzBuzz test. Can you imagine, even the worst of doctors not being able to answer an anatomy question?

    Don’t get me wrong, I’ve made a very good living as a developer, so I’m glad it plays well, but it does also tend to attract those just looking for the easiest way to make a buck.

  • dgc

    I actually think you need to work on your interview questions. I have seen my share of unqualified candidates, but there are plenty of people out there worthy of their degrees. Also, these days I’m more interested in enthusiasm and capability than experience.

    In particular the guy who said he was a 9.5 out of 10 but had not done anything “bleeding edge”: first off, he’s being interviewed, of course he’s going to try to sell himself; second, the more experience you have the less “bleeding edge” work you’re likely to do, particularly if you follow good engineering practices.

    Regarding your principles: I have a notion of what they might mean, but the chances are that the names you learned in school are not the same as the ones I learned, unless we went to the same school or read the same authors’ books. SOLID is a good example of this, as most of the principles therein have equivalents in domains outside of OOD (and even inside the OOD domain if you want to pick at nits).

    All that said I recognize and sympathize with your frustration. I gave a fifteen minute lecture on REST principles to a candidate just last week and became quietly exasperated as he then failed to repeat back to me what a “resource” was meant to represent.

  • http://www.philliphaydon.com Phillip

    @Gabriel – how can email you?

  • http://www.lostechies.com/members/gnschenker/default.aspx Gabriel N. Schenker

    @Philip: you can reach me at ‘gnschenker at gmail dot com’

  • http://siderite.blogspot.com Siderite

    I have to “take the side” of the devs here. Interview over the phone where you ask them to give you some bullshit theoretic framework of their daily routine? A routine that is different from job to job and with architects who “know” that everything has a correct answer and only they have it? I would have to say that you are looking more for PowerPoint developers rather than seniors. No wonder you find no decent coder in the ones that do make it.

  • http://www.lostechies.com/members/gnschenker/default.aspx Gabriel N. Schenker

    @Siderite: I do not think that we are asking very domain or company (or whatever) specific questions during our interviews. We want to give the candidates the opportunity to shine and let themselves select the topic where they think they are best. We also only ask questions that are fundamental in development and where, if the candidate doesn’t have an answer and simply has no clue, he does NOT have the necessary skill set that one could and should expect from a developer

  • http://siderite.blogspot.com Siderite

    I was referring to “Please tell us what principles or practices you use in your daily work to create robust, maintainable and/or extendable code.”. Exactly because it is a very general question, there are a lot of possible answers and I am pretty certain that no one actually asks themselves this question so that they have an answer ready. So you are basically asking a programmer to practically write a blog entry on the spot, knowing that any thing could anger the employer (as it normally does some egotistic architects I’ve had the misfortune to meet). I would say that, for that particular question, people who “pass” have more debate and people skills than actual coding. I may be wrong, of course, but personally, I think I would freeze on a question like that on social reasons alone.

  • Rick R

    I think there is another side of the coin to this. Jobs constantly use head hunters, who use keywords. If I put in Entity Framework, instead of EF, or EF4 or MEF instead of Managed Extensibility Framework, then it appears to them that I don’t know it. It’s frustrating to be weeded out before even applying due to head hunter’s unknowledgable queries.

    They also like to play the game of “we got a position I want to submit you for” then you jump through hoops, only to not hear from them until they get another position.

    Or how about jobs that want you do to C#, SQL SERVER, ORACLE, Java, NetBeans, Web Services, Windows Forms, ASP.NET, Ruby, DJango, etc. They are shooting at the moon. First of all they NEVER do all those things. The only time they want to do more than one language is if they are porting an application.

  • Jacobus

    The Company that I work for told me they had 8000 CV’s submitted to them last year of which 900 got interview’s and we hired 70 people. All the question in the interview where based on stuff I learnt at University, except for 2-3 question which were meant to get you to think.

  • http://afp@miketec.org Mike

    I think it’d be worthwhile to post the listing here. I’m sure the many readers here can help you figure out why you’re getting such poor results.

  • Brandon

    We recently had a guy who couldn’t tell me what polymorphism was. Nobody is the perfect coder, we’re always learning, always expanding. Code you wrote 5 months ago you will review and want to fire the idiot who wrote it. Nobody is a 9.5 out of 10 in any language. I would hire people who are honest about that, we always have room to grow, and Google willing grow we shall.

  • middledd

    First on the comment: “Sadly developers of low quality are far more common than the ones of decent or high quality”.

    Is this not the case in any area of life? At a basic level, there would be no “low quality” without “high quality” (Yin / Yang).

    Also, I just wrote a very long response but after realizing that no one would probably read that much – in a comment – in MY comment – i’m switching tactics.

    Instead, i’ll just make some observations regarding the recruiting situation you described. First, it sort of irks me that you think you can just post some open positions any and everywhere that you can and high-quality talent is just going to fall in your lap. But to your credit (probably not to your credit but b/c you didnt get the desired results) you decided to pay 4 headhunters to find you a candidate. Assuming that you paid all 4 (as opposed to simply paying whomever actually found someone that you hired – either way is irrelevant to my argument) – assuming that you paid said headhunters, I dont understand why it would be so bad for you to find one of those “low quality” devs, pay them a “low quality” rate, and ……. TRAIN them (since you all are such “high quality” why shouldnt they learn from you). But if you did that, when they became high-quality, you’d act like they still owe you something and still try to low ball them in a 3% raise or some BS like that. Bye bye “high quality” – hello “lets go through the annoying recruiting process again”.

    In our profession anyone with a text editor can learn to program. That’s the beauty of programming to me. However, as everyone can learn to construct dog houses, not everyone can learn to build the Taj Mahal. To get to the top level in computer programming, you simply can’t do it alone. You have to program for a company where you can learn those “high level” techniques or be able to secure work that allows you to get to that level.

    But, no company wants to hire someone “low level”, as exemplified by your blog post. Everyone wants someone who is already “high level”. So, now, the only way to get to that level is to get an entry level position and build your skills to that level. But then, you do that, and b/c the company hired you raw off the streets and “allowed” you to grow, they feel you owe them something. So they offer a 3% raise and ask for your loyalty. Come on. I can understand the starting salary, but if i learn and get to that level of mastery that’s desired, then pay me like I am a master. If not, Bye Bye high level dev, and rinse lather repeat the recruiting process / sifting through more “low level”.

    Companies. No one is born knowing DDD, C++ / C# / Java / Ruby (on Rails), objective-C, OCaml, JS / Jquery, functional programming, etc. Those things take time and hard work. If you aren’t going to help a “low level” dev by giving him the time to grow and rewarding him for that hard work – then don’t cry when you get a million crappy resumes and off the wall interview answers. And stop posting ad’s for 65k positions in DC / New York / LA that require a laundry list of “high level” skills. Come on. Seriously – I know 65k is a lot of money (not just in the 3rd World) but still, its an insult to someone who posesses those skills and it even F’s up the person who is high level b/c now other companies think they can get away with that crap too. If you seriously REQUIRE those skills, then you are probably doing something that is generating alot of money / use and you should be able to pay someone more than 65k for those skills. Damn.

  • middledd

    I still ended up writing a book but I couldn’t stop. It’s just that I too was considered one of those “low level” interviewees you described not too long ago. Through hard work i *think* i’ve progressed to at least mid-level but I feel i’m still getting paid as if I owe the company something for helping me grow. I helped THE COMPANY grow too! Where is my reward? 5% aint gonna cut it! Don’t give me this BS about the economy either! Yeah, it sucks, but if you are hiring, it’s b/c there must be some valuable or lucrative opportunity that you feel is worth pursuing. In which case, compensate appropriately.

  • middledd

    Basically, if companies were willing to train more and reward those who learn handsomely, or pay more to begin with, you could pretty much eliminate the crap you experience in these “low level” interviews. I know if you post a job for 100k yearly you would still get persons who should be making $9/hr at McD’s but for the most part, a crappy programmer knows he’s crappy and unless he is already 40 years old with 5 kids and HAS to find that 100k job, he is not going to bother wasting his time interviewing at your company. He is going to know that by 100k you REALLY mean you want someone who knows their ish.

    Also, while i’m on hiring practices, it’s F’d up the games that companies try to play where they want to weed out candidates based solely on their salary req’s. If you are interviewing for an entry level position – that’s fine. But if you want top talent, you have to pay top dollar, and asking for salary reqs before you even have met the candidate is really saying we want these 250 high level skills but we are still going to weed out potentially great candidates simply b/c they are asking too much. This should really be the other way around. I think it should be the LAW, that if you advertise a position that is above entry level, that you should have to put how much YOU the company are willing to pay, not the other way around. Again, you will get some cruft from devs who simply want that salary, but for the most part, entry level devs who are dumb as rocks are not going to be banging down your door if they see that the pos pays 100k and requires all those skills. It would be a waste of THEIR time too. I personally avoid positions that are paying above what I think I should make for my skill level. I’d either just get fired for not actually being that skill level, or i’d be wasting my time applying. That does not mean I want to sit through 3 interviews, do well, and then you tell me the position pays entry level wages. If you think i’m that bad of a hire to where you are going to offer me entry level wages, to me that means that you REALLY are looking for entry level talent, or are trying to lowball me in which case I just wasted both our times anyway.

  • middledd

    As you can see, hiring practices in America (b/c thats the only country I know) really piss me off. And yes, I have a job, where i’m paid fairly, but i’ve been down that road too many times (especially during times of dealing with a bad economy) and it is something that you sort of don’t forget.

    I just feel like companies want rocket scientists for a model rocket hobbyists pay.

  • middledd

    Oh, and don’t think that in order for me to get paid fairly that I want to move to Alaska, Kentucky, Tenn, Maine, North Dakota, or anywhere remote unless i’m from there (no offense to anyone from there).
    (As you can see I have a lot of problems with the way HIRING is conducted in America, as opposed to complaints about the quality of developers themselves.).

  • middledd

    And the comments like those of “Gavin Chin” above sort of exemplify what i’m trying to say. You can’t get to be experienced unless you can work for someone where you can get that experience. But no one wants to hire someone who wants that experience b/c they are not experienced. WTF? No one will hire Gavin b/c he already has too much experience (read: his salary reqs will be too high but they want a high level of talent). So they are going to try to find another “experienced” person who would be more susceptible to being low-balled and sticking around for a while at the low-ball rate.

  • middledd

    To offer some actual constructive criticism regarding reviewing resumes: if you go through a recruiter, you will get crap. When I was Entry – Level / Junior, I followed what you probably believe is the correct way to create a resume, I listed things I actually knew. But recruiters don’t care. Many times, they changed my resume “for me”. MANY, they’d say well “do you know what X tech is” and i’d say flat out that I’ve never used that tech in a production environment but (in trying to learn on my own) I’d created a sample app or two using X. They’d say well you should definitely put that on your resume b/c this company is looking for someone who has some knowledge of X. Then, i’d get to the interview, and they’d asking not just something about X but something about X that I later found out that only someone with 10+ years of experience would be able to tell you that specific fact about X that was asked, without having to look it up.

  • middledd

    Man, i’m soo amped up now. Gosh, I really do appreciate this blog, and all the lostechies blogs. But, please, and this is not just lostechies, but please everyone: STOP “Ranting about the quality of developers” and crying about the lack of talent. Who is this helping and what does this acheive? People who want to scam are still going to scam. All it does is discourage persons like myself, and all of us really, who do WANT to learn and WANT to get into a place at a good company, and HAVE TRIED the honest way to get into said companies but have been rejected or are looked down upon in “rants” such as this blog post because they are “low quality”. It’s insulting to me and i’m sure others who at one point were “low quality” and on top of that at one point or another you were low quality too (you being this author and others who seemingly stick their noses in the air at the less experienced). Not everyone knows people who can get them into the back door at one of those companies where they could learn that experience, and not everyone was blessed to be able to go to MIT, Harvard, Stanford, U Cal Berkeley. Please just stop, if you want to weed out the cruft, do that. But remember, the people you are left with are going to want more than 65k a year, or if they do take the position (b/c of the economy or their dire financial situations) they will not be around very long or happy while they are their – after those first few bills get paid.

    To this particular author, I doubt you are as arrogant as I portray. But, just as a person in Africa gets said when they see an American throw away horrible tasting food, when I see blog posts as this it makes me think that there are very few if any hiring managers left who value someone without White Collar type credentials. Like, if i haven’t already worked for Google, NASA, Facebook and I didn’t just graduate from an Ivy League school with a 4.0 that i can’t be a very motivated person and like I can’t still be great and thus I should only get paid 65k for a job that requires 8 years of hard earned experience. COME ON!

  • middledd

    Ah, i’ve got so much to say. But, at the moment, i’m trying to improve from “low level” to “high level” so i should just close this window and get back to figuring out and memorizing exactly “what bindings” i’m using as one of the last rocket scientist / rockstar / cool kids suggested before my takeover of this comment section. I really hate arrogance. I really hate being low balled. I really hate people who went through the same mess as the rest of us “low level” guys goes through but act like they were born knowing everything that is and ever will be. I really hate life…. Ok, I went to far with that one. But if I held myself to the standards suggested by these companies trying to survive with thes low quality developers, then I would really hate myself and life. Right now, I just hate said people.

  • middledd

    While i’m at it: To the author of this article I am going to change my tone and jump on you for a sec. Instead of talking about the quality of others, if you are going to have a blog with your name on it so that it represents you, and especially if you are going to criticize the quality of others, you definitely should proofread your work before posting it for the world to see.

    “Am I expecting too much? I don’t think so. Developers have I high responsibility. They produce software to automate business or mission critical processes. One should expect this software to be of high quality. To write high quality software we need good developers!”

    -We also need people who can dispel the mysteries of the profession without making simple grammatical errors.

    Am I expecting too much to expect to read articles with no spelling / grammatical errors of the most basic type? I would point out the error in the quote above, written by you, but then again you and your “high quality” skill-set probably already know or don’t care about such a menial task as spelling and grammar.

  • middledd

    Ok, i’ve calmed down now. My apologies to the author as a simple grammatical error is no excuse for me talking down to you. Also, as I said before, I really don’t feel like you are an arrogant person – I don’t know you at all personally. However, I stand by my other comments regarding recruiters, hiring managers, and the whole clusterf*** revolving around hiring developers. Just remember when it comes to hiring developers, for the most part, if you pay crap you will get a “low level” developer no matter what the resume says. If you want an experienced rockstar you will have to pay rockstar prices, or at least something respectable for that skill level. If you list a position at entry-level wages but require senior level / expert skills then you are asking for the types of interviews / responses / hires that inspire these “rants”.

  • http://www.lostechies.com/members/gnschenker/default.aspx Gabriel N. Schenker

    @middledd: First of all, thanks for you feedback. I appreciate you sharing your thoughts. Second, I really want to apologize for my bad English but I am not a native English speaker.
    Third, we actually DO hire developers with a limited skill set AND train them but only if we feel the person is eager to learn.
    Fourth, we pay above average salaries for people we really want to hire.

  • middledd

    I just want to say, my comments were most likely not directed at YOU or YOUR COMPANY, per se. I read your blog, and other blogs on lostechies, and I can honestly say that I feel your organization probably does not fit the description of most of the negative comments I had. So, i’m glad you did not take it personally.

    The problem is that there are way too many of these “rants” from companies that DO fit the description of many of my negative comments. The problem is that your organization is a rare breed as are those of the persons at lostechies most likely.

    I will even go out on the fence and say I would love to work for any of the companies of the individuals who are writing for lostechies. That’s most likely why i read your blogs, I value your opinions. However, companies like you describe make up about 1% of the companies that are hiring (obviously an exaggerated guess). And, the other 99% of the companies somehow feel validated by having the same opinion as you but arent nearly as progressive in their dev training and / or pay as you.

    It makes me feel like you are doing more harm than good by validating their opinions. What I really would like to see is more smart people such as yourself talk about the other side of the equation, the employer, as opposed to bashing the developer side. Because, the fact is, most of those persons who come into your interview clueless, at some point worked for one of those other 99% of companies that I am speaking of negatively. Just as much as it is up to the employee to achieve his / her potential, the honus also needs to be placed on the employer to help devs live up to their potentials.

    I’m lucky enough, to work for one of the 1% companies, and after working from the 99% group for so long, I feel that employers in this country feel like it’s ok for them to not hold up their end of the bargain – and then they feel like they have a right to rant about the employers. It’s insulting.

    And, regarding your English, in reading your article, I would never have guessed you were a non-native English speaker. And, I am not one of the types that nit-picks persons for every little detail. I was simply thinking about you as “the employer” and I just wanted to make a point that there are two sides to every equation. To expect excellence you should be excellent. In that statement, I’m not talking about you the developer (whom I would most likely agree with on many issues and whom I look up to), i’m talking about you the employer.

    I thank you for not overreacting, b/c i was highly frustrated and i said things in a very blount way. But I just wanted to show you that just as employers are frustrated by the poor interviewees you’ve experienced, many of us hard working devs are also frustrated at the employers we’ve worked for and interviewed with.

    I guess, i just wish there were more companies out there like yours.

  • http://www.lostechies.com/members/gnschenker/default.aspx Gabriel N. Schenker

    @middeledd: Don’t worry, at no point I felt personally attacked by your replies. My post was inviting for answers like yours :)
    Please read my former supervisor’s post http://www.rayhouston.com/blog/?p=20 where he adds some more insight to our hiring process.

  • Chester

    Nowadays coding in notepad says little about the ability a developer has.