Slashdot Mirror


How Do You Find Programming Superstars?

Joe Ganley writes "You are a programming superstar, and you are looking for work. I recognize this happens relatively rarely, which is part of my problem. But stipulating that it happens, how do I, as a company looking to hire such people, connect with them? Put another way, how do you the programming superstar go about looking for a company that seems like one you'd like to work for? The company I work for is a great place to work; we only hire really great people, we work on hard, interesting problems, and we treat our employees well. We aren't worried about retention or even about how to entice people to work here once we've found them. The problem is simply finding them. The signal-to-noise ratio of the big places like Monster and Dice is terrible. We've had much better luck with (for example) the Joel on Software job boards, but that still doesn't generate enough volume." What methods have other people used to find the truly elite?

70 of 763 comments (clear)

  1. One opinion by fyngyrz · · Score: 5, Insightful

    The first thing to do is remove arbitrary barriers. IE, "must" have X years of experience, X degree, held X previous positions, must move to our area. That's the sum of major mistakes most operations make. The best programmers in the world don't typically get that way by being just another college / job drone (though some do... just don't slam the door based on mundane requirements - you want the problem solved, not a title you can be proud of.)

    Secondly, market the job — make sure people can find out about it. That's perhaps obvious, but I know a lot of companies that try to stick to the back alleys of old boy's clubs, and it's no wonder they can't find anyone. Put an ad, a BIG one, somewhere programmers go a lot. Like slashdot. :-)

    Third, salary, salary, salary, and benefits (particularly insurance and family coverage). Move 'em if you have to. We've even bought houses outright for our programming team members. You can't expect to hire a superstar by treating them like a drone.

    The problem is almost always that really good programmers don't have to go looking, and if they do, they can - and will - turn their noses up at being treated like a commodity. Yet that's just what most companies do. Plus they throw up arbitrary and unrelated barriers to entry. Unfathomable, really.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:One opinion by penix1 · · Score: 4, Insightful

      Overall a good post...I would add one more thing though...

      Attitude, attitude, attitude!

      I won't take a job where the person interviewing treats me as if they are doing me a favor in offering the job. They are after me, not the other way around. Even if I need the job, I'll never portray it like that. It is they who need me even then. Call it arrogance if you will but I'm not into indentured servitude.

      --
      This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
    2. Re:One opinion by PhrostyMcByte · · Score: 4, Insightful

      I'll add one more: no stupid Microsoft-ish riddles.

      Although I have heard one or two that were programming problems in disguise, I would argue that even in those cases your riddles are worthless to determine their skill, and anyone would be well within his sanity to respond "well, I'd look it up online. Why waste time figuring it out when the answer is done for me?".

      A great programmer will love to talk shop. Have one of your existing coders talk to him.

    3. Re:One opinion by tknd · · Score: 4, Insightful

      I don't necessarily agree with all of the points made because I've seen research show otherwise and have experienced otherwise myself.

      The first thing to do is remove arbitrary barriers. IE, "must" have X years of experience, X degree, held X previous positions, must move to our area.

      This part I agree with. Many hiring agencies shoot themselves in the foot asking for very specific requirements (must have 5 or so years experience with C++, must know domain specific but stupid tech with buzzword acronym, etc). The problem is you're always going to train an employee and there will always be some sort of lag time to start up. You're rarely going to get an employee who will be spitting out production quality work on day 1. If that was possible we'd all be contractors. What organizations should be after are highly qualified technical learners and a good foundation in software engineering practices.

      Secondly, market the job -- make sure people can find out about it. That's perhaps obvious, but I know a lot of companies that try to stick to the back alleys of old boy's clubs, and it's no wonder they can't find anyone. Put an ad, a BIG one, somewhere programmers go a lot. Like slashdot. :-)

      This in practice sort of works but not as well as you'd expect. If you post the job, the only people interested will be people actively seeking a job. Everyone else will just gloss over it because it is more of a waste of time than anything else. It's like commercials.

      Third, salary, salary, salary, and benefits (particularly insurance and family coverage). Move 'em if you have to. We've even bought houses outright for our programming team members. You can't expect to hire a superstar by treating them like a drone.

      There's a limit to how much you can bribe someone. Furthermore, just because you bribed them does not necessarily mean they will perform. You ideally want a match: you like them, they like you, for reasons other than money. For example what if you got paid to hack together open source linux code at home and you just happened to be a kernel dev? What if you got paid to work on your fancy game idea without any restrictions? Most people would rather do the job they enjoy for decent pay rather than get paid a boat load of money to do something they could care less about or worse hate to work with.

      The easiest, cheapest, and most reliable way for a company to find quality employees is by word of mouth and employee referrals. This makes sense. If you were to start your own company from scratch, what would you rather do? Dig into the back of your mind across every trust-worthy and awesome programmer you worked with or interacted with and convince them to join you, or go through a lengthy hiring process about people you know jack about? I would rather do the former because I have personal work experience with the people I know that I don't even have to ask for a resume or guess if they're lying or not. I also probably have some sense of their personality and quality of work. In fact, I can easily make a decision in the back of my mind without even contacting them. The only barrier is if they would be willing to accept the offer.

      I'm not surprised this is getting asked on slashdot, but I do think that slashdot lacks the expertise to answer it correctly. If you want a better answer to what truly works, you need to get in contact with an HR agency on a personal level rather than a business level. Yes, that's right, you need to know a friend that works in the HR or head-hunter business--if you come to them from the business front they will treat you like a customer rather than a friend so they'll skew everything they say towards supporting their business. But if they are more a friend they will easily be able to tell you things like success rates and employee turn over rates because that is what they deal with. People on slashdot often are just in front of their computers all day and don't g

  2. Step one by Verteiron · · Score: 4, Insightful

    Stop calling expert programmers "superstars".

    --
    End of lesson. You may press the button.
    1. Re:Step one by tonydiesel · · Score: 2, Insightful

      Indeed - "superstar" is recruiter speak. Whenever I get a recruiter calling saying he/she has a real "superstar" or "rockstar" for me, I know immediately to blow the person off, because these words usually mean the recruiter has no idea what the hell they are talking about.

    2. Re:Step one by fowkswe · · Score: 1, Insightful

      Yes, that a term douche bag marketing people use when they are schmoozing up to a technology person. it usually signals attempt at exploitation.

    3. Re:Step one by ucblockhead · · Score: 2, Insightful

      The best programmers don't call themselves superstars. As they say, true wisdom is not knowing. It isn't even knowing what you know. True wisdom is knowing what you don't know. Those who label themselves "superstar" are nearly always prima donnas who produce badly engineered, WTFworthy code and refuse to work with others.

      --
      The cake is a pie
  3. quality vs quantity by vanyel · · Score: 4, Insightful

    You can't have both quality and quantity. Searching for the best of the best is bound to return a small number of people.

  4. Not a programmer here but... by COMON$ · · Score: 4, Insightful
    As a desirable sys admin I went with a headhunter. She filters out businesses and matches them to employees. I tend to be a people centered admin so I like smaller businesses, so she calls me when a really nice job comes up and sells me on it. A larger corporate job may go to someone else as sitting in a server room all day isn't my cup o tea.

    My suggestion would be to use a headhunter, sure they are expensive but you get matched up with quality people that match your business philosophy. Also to you job seekers out there I would suggest finding and hitting up Head Hunters. I have had extrordinary success with em on both sides of the table.

    --
    CS: It is all sink or swim...oh and did I mention there are sharks in that water?
  5. Get lucky, or hire young by bbrack · · Score: 4, Insightful

    Honestly - imo, you are incredibly fortunate to hire excellent experienced people based off interviews (our hit rate is about 25% good, 50% passable, 25% poor)

    the 2 best strategies for having a high hit rate with your new hires:

    1. hire young - bring people in as interns/coops and use their term as a 6 month interview - this can give you a great insight into their potential

    2. poach - has anyone else in your organization worked somewhere else? find out if there are any excellent people from previous jobs looking for work

    1. Re:Get lucky, or hire young by kudokatz · · Score: 2, Insightful

      I am getting out of school soon and have received multiple offers-- what really attracts me is getting to talk to about 5 people that actually work at the company. If I see that the people I talk to aren't confrontational but cooperative as well as 7337 as well, then it's a great indication that I will go for that company regardless of (within reason) how much money is offered elsewhere.

      The biggest turn-off is not being treated like a social peer because of age, and that is a HUGE barrier to making myself home in a team. I recognize that I lack the experience of everybody else around, but without genial inspiration to keep writing awesome code I feel a bit lost.

      Finally, recognize that if people have some problems with group work in school it doesn't necessarily mean they will on the job -- use the personality and interactions with other employees for that. I had one interviewer tell me they almost wrote me off because I didn't like some groups I have worked in until he finally asked me for an explanation.

    2. Re:Get lucky, or hire young by hibiki_r · · Score: 2, Insightful

      I agree with the GP, but the problem is not that more experienced programmers can't learn. Top programmers don't reach their status by just experience. With little talent, 15 years of experience don't make a great programmer. It's easy to spot talent after working with any programmer for a few months. This means that in most cases, top talent will be spotted by others quickly, and will probably not have to ever look for a job outside of their network of former coworkers after just a few years.

      How many good programmers that have been coding for 5 years don't have a bunch of friends that would jump at the opportunity of getting their company to hire them? In my experience, the local programmers that have trouble landing new jobs are those that most former coworkers would never recommend. Every good hire I've seen over the years was either from someone moving, someone without much experience, or a referral.

    3. Re:Get lucky, or hire young by rhizome · · Score: 4, Insightful

      So, only the young can learn?

      In my experience, those who think the best candidates are fresh out of school are power-hungry narcissists. They want fresh minds so they can indoctrinate their experience in the manager's image. You never forget your first. So, you have fresh minds who want experience: perfect captives. They do things your way and no better and you still get to blame them for mistakes and take credit for their accomplishments. You don't have to deal with any alternative viewpoints that might undermine your authority, so the Peter Principle is safe in your back pocket.

      Don't listen to this guy, he's probably only an aspiring manager anyway.

      --
      When I was a kid, we only had one Darth.
  6. Have a Blog by Anonymous Coward · · Score: 2, Insightful

    Have a good development-oriented company blog and be engaged in the community.

  7. Judge them by their contributions to the field by Peter+Cooper · · Score: 3, Insightful

    If a developer is truly a "super star" there will be a trace of that on their public record. They'll have built code that they've sold, built a business, built up a successful blog, contributed to or started an open source project, written a book, any of those sorts of things. If you're hiring from Monster or Dice, you will rarely find anyone with a single one of these qualities.. so that's how to start. Find developers who've written books in the field(s) you cover.. find popular open source projects and look at who's contributing.. it's not hard, and so few employers actually bother to take this route. I don't know why though, since this is how you find the best people and, most importantly, the best contributors and communicators.

    So.. books, projects, blogs, open source.. investigate all those in your field.

  8. Why? by mapkinase · · Score: 5, Insightful

    Seriously, why do you need a programming superstar, why not settle for a programmer with substantial experience in the area you need?

    For example, universities do not look for supergenius professors (if not only for label "Nobel prize winner"), they are mostly looking for a person who will be able to get grants

    Supergeniuses are good in the environment that does not require any results any soon. That's the way they work.

    Normally people are looking for good workers with a good experience able to fit in the environment.

    I am actually glad that in my line of work there is no obsession with top level performers, like it happens in showbiz. As a result a lot of people are paid quite well.

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
  9. grow your own thru training! by justdrew · · Score: 5, Insightful

    believe me , nothing your business is doing is so god-damned special that it takes a "superstar" to accomplish. Just find some people with some programing background and give them the opportunity to learn and grow. Anyway, the person asking of this question, if _they_ were a "superstar" HR person/manager, would already know the answer. Since the company can get by with plain old average HR/management I think it can live with average normal programmers as well.

  10. Re:Appeal by ShieldW0lf · · Score: 5, Insightful

    Great programmers work for who they want, on what they want. They take getting their personal needs met for granted, but they have grand ideas about things they want to see realized and not enough money of their own to do it.

    So you advertise on the basis of the interesting work that you're doing, and aim for the ears of someone who has been itching to build such things rather than talking about the creature comfort and monetary perks.

    Great people want strong leadership that will help them achieve beyond what they can do alone.

    --
    -1 Uncomfortable Truth
  11. Rarity requires a different approach by mapkinase · · Score: 4, Insightful

    You cannot HR the superstar. They are so rare, that you just cannot open a superstar position and expect it to be filled up. Instead, what people usually do is when they accidentally stumble upon one, they create a superstar position for him.

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
  12. Change the others around them: Bingo! by davidwr · · Score: 5, Insightful

    And they change others around them. In my experience as a rank-and-file programmer, I'll vouch for this one.

    I've met very few superstars and this more than anything else set them apart as someone I would want on my payroll.

    You want people who can lead by example, without even trying.
    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  13. Make sure you have a diverse staff. by DaedalusLogic · · Score: 3, Insightful

    What I find to be important is to have a diverse staff. You can no more have a coding staff full of "superstars" than have a football team full of quarterbacks and wide-receivers. What I find a lot of people mean when they're asking for "superstars" is, "someone who produces a lot of code". Which sometimes is needed, a person that come hell or high water gets the problem solved. But I've also found that a lot of those people leave a path of uncommented and undocumented destruction in their path. In which case you need other talent that can polish their code or influence them to come back later and pickup the pieces. Those people are usually a little more academic, they might be as slow as Christmas and if you counted solely on them to get the product out the door... It would never get done.

    As far as where you find higher quality people, I've had the best luck being involved in user groups, professional societies and getting leads from friends.

  14. Hiring old has its benefits by davidwr · · Score: 2, Insightful

    1) burnout - you may get a few good years out of them, or you may get a career.

    2) you miss out on the benefits only age and experience can bring to the table.

    Everything else including relevant experience and education being equal, A 40 year old whose second career is programming is much more valuable than a 25 year old.

    Likewise, a person whose first career was programming and who made it to 40 and who is still productive is not likely to burn out quickly.

    Some of the best guys I've worked with had a lot of gray - or missing - hair to show for it.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  15. Re:Simple filter. by Swizec · · Score: 2, Insightful

    Just one thing though ... They just may have had nothing to say or whatever on Slashdot because they were otherwise engaged saying stuff or ... you know ... coding.

  16. Re:Simple filter. by zstlaw · · Score: 2, Insightful

    I have not met a programmer outside of academia who could answer that question. Simple fact : Most programmers don't care WHO did something in our field, they only care WHAT was done and HOW they can use it. I have Knuth's book on my shelf but I had to use google to figure out who he was. The only super programmer I know grew up in east germany and didn't graduate college, does he know who Knuth is? Of course not. Does he spend his free time exploring new technologies and writing test applications for fun just to prove a new technology will work?

    My advice for finding great developers, is to look for someone who loves what they do. Hire them. Make it easy for them to do what they love and then watch how productive they can be when you keep distractions away from them. Sadly the best way I have found is to find a couple great people and then use word of mouth. Someone is rarely great in isolation, others helped them achieve greatness and are likely to also be very good at what they do.

    Maybe the best thing you can do is get a reputation for being a great place to work and then the best will come to you as their peers tell them about their experiences working for you.

    Lastly talent is no silver bullet. A company also needs a lot of people who are dedicated and yet are merely decent but are willing to do the hard work to get things done right. Someone has to fix bugs in last years application, write test cases for publicly identified bugs, test the product with the new version of windows, or just help write the product documentation. Those tasks take a lot of hard work but most hotshot developers would run screaming from those jobs as they are not mentally rewarding challenges. Yet they do contribute to a company's success.

  17. Be a superstar company to work for... by tlambert · · Score: 3, Insightful

    Be a superstar company to work for...

    (1) Drop the buzzwords:

    - Every company thinks they are a great place to work.
    - Every company thinks they only hire great people.
    - Every company thinks their problems are interesting and hard.
    - Every company claims to treat its employees well.

    instead, give concrete examples. Are you trying to solve the protein folding problem with something other than the brute force IBM is is trying to use, or are you trying to figure out the best billing algorithm to use on credit cards so you collect the most late payments by skirting banking regulations? Is Paul Vixie on your board of directors? Did you just successfully hire Dennis Ritchie because your ideas are compelling to brilliant people? Would all your employees say that they would enthusiastically have their friends and family come to work for you?

    (2) Have smart people working for you already; smart people like to work with smart people

    (3) Ask the smart people who already work for you to refer other smart people they know

    (4) Poach; if you can't poach smart people away from their current gigs, it's really, really doubtful that you are half as compelling a company as you think you are

    -- Terry

  18. Re:Simple answer... by inKubus · · Score: 3, Insightful

    "Superstars" (which is the fluffiest word I've heard in a long time) are attracted to two things you didn't mention:

    Number one, extremely dedicated and intelligent people are looking for more than money. They want to change the world. They are driven. If they are after money, they want to be a part of the project, financially. That means stock. That means board positions. That means respect.

    Number two, they want to know that you are a good person to work for. What is the company's goal, mission, vision, idea, et al? What career prospects are there? What can a "superstar" programmer expect to be doing in 10 years at your company? Hopefully not still programming.

    You are referring to things that aren't necessarily associated with programmers, but with CEOs, CIOs, etc. Attention to detail, actually caring, etc. Well, ask yourself, why should anyone care about your company? Also, and lastly, these skills (pride in one's work, strong desire to learn and teach others, etc.) seem to be the type of skills taught in church (or synagouge)......

    --
    Cool! Amazing Toys.
  19. Re:Simple filter. by Tawnos · · Score: 4, Insightful

    You assume companies want the typical slashdot poster. The truth is that people here are often opinionated, brash, and hostile to ideas they dislike. While many of them may fit the role of "good coder," they often miss the bigger picture of what it is to be a "good programmer."

    As you said, good programmers work well in teams. They're open to suggestions, and only butt heads on issues when not to do so would be negligent. What happens when the candidate being interviewed is told "we'll be working in windows vista, using visual studio 2008?" Do they throw a hissy fit, and constantly complain about how the shortcomings of the windows environment could be improved by moving to linux? This attitude, which seems to be fostered and even encouraged here at slashdot, would be devastating in the work environment.

    I think the only real way to find superstar programmers is, realistically, to find good programmers and lots of them, through various recruiting drives (temp work, contractor work, college co-ops/interns). When the term of their employment is up, you'll have a much better idea of how they are as a programmer, something that is relatively hard to do during an interview. From here, you'll have a resource pool to say "look, you're awesome, we'd like to hire you." This avoids the problem of missing the amazing programmer because they only looked "good" on paper, and it also gives a pool to draw "great" programmers from (even if no superstars are found).

  20. Re:Easy... by jomegat · · Score: 3, Insightful
    This is more modular. (It must be because it has more modules!)

    #include <stdio.h>
    #include "int.h"
    main
    #include "open_parenthesis.h"
    #include "void.h"
    #include "close_parenthesis.h"
    #include "open_curly_brace.h"
    #include "printf.h"
    #include "open_parenthesis.h"
    "Hello, world.\n"
    #include "close_parenthesis.h"
    #include "semicolon.h"
    #include "return.h"
    #include "zero.h"
    #include "semicolon.h"
    #include "close_curly_brace.h"
    --

    In theory, practice and theory are the same. In practice, they're not.

  21. Old? You mean "Young with Experience"... :-) by Richard+Steiner · · Score: 2, Insightful

    1) Since many people find it hard to retire at 65 or earlier due to layoffs and whatnot, even that 55- or 60-year-old programmer could provide barrels of binary goodness for well over a decade to come. :-)

    2) It's better to hire someone AFTER they've made the basic mistakes (and hopefully learned from them).

    Many folks like me who are over 40 and still coding/designing are doing it as much for the fun of it as we are the need for food and rent/mortgage/college money. Hey, I'm juggling Perl, C++, Java, Fortran, and a few other languages for a living. How could that NOT be fun? ;-)

    And my hair isn't missing ... it's simply migrating to other areas. In my case my face. Greying beards are distinguished, don't ya know. Besides, 40 is the new 20. Right? Or is it 30? I forget...

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  22. Re:Simple answer... by naoursla · · Score: 3, Insightful

    I like this answer. Maybe you cannot find superstar employees because you are not a superstar employer. Self-identification is prone to error.

  23. Re:Appeal by eonlabs · · Score: 2, Insightful

    If you want my suggestion, go the inexpensive and effective route.

    Try internships with colleges with co-op programs and quarter systems.

    I'll explain:

    Interns are a cheap way to test the water. When you find someone you like, hire them on full time at a good rate.

    Co-op programs force students to try working in the industry, and so they will be looking for a wide variety of jobs.

    Quarter systems are brutal. Anyone surviving in a college with one is either amazing at BSing, or is a strong programmer. Both are valuable, although I would only use the amazing BSer for inter-business relationships.

    Colleges like these often have career fairs and such, which makes it easy for you and your company to meet a lot of these people first hand to see how they carry themselves.

    RIT and Northeastern have pretty strong output. You might try them first.

    --
    I wouldn't consider the mad hatter mad. Just reality impaired. He sure can make a mean cup of tea.
  24. Re:Appeal by Fozzyuw · · Score: 5, Insightful

    Great programmers work for who they want, on what they want.

    I'd take a step back on that one. Before they're "programmers superstars", they're usually college graduates. Start by trolling for college students. Lower your needs from "must be" to "can be" and take those who actually enjoy programming and build them up into superstars by putting them in your super company. They'll probably turn into Superstars in no time if your company is as good to work for as you describe.

    Cheers,
    Fozzy

    --
    "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
  25. Re:Simple answer... by AuMatar · · Score: 4, Insightful

    Board position? Hopefully not programming?

    Every superstar I've ever known would run at either of those two thoughts. Cash is nice, but superstars are superstars in part because they love programming. So yes, they do want to be programming in 10 years. They may want to be lead programmer and be paid more, but that's about it.

    As for the religion part of your comment- well, it shows your bias, but its absolutely not true.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  26. Production Abstraction by TheGrapeApe · · Score: 5, Insightful

    Convey to the applicant that your company values *production* and *problem solving* over meetings, phone calls, "strategy" and any of the other abstract "big picture" bullsh*t that people with "soft skills" use to justify their positions at the expense of programmers. Bonus points if you can point to a programmer or two in your organization and demonstrate that they make more money and are more valued than the softies. Let the applicant know that "Yes, we expect you to function within our management framework, but that framework is here to help you be *more* productive"...every good programmer dreads the "Office Space" scenario where they are spending more time filling out TPS reports than doing the work that they love.

    Every good programmer's worst nightmare is to step into a new job bright-eyed and ready to be creative, only to be told that their function will be to learn and maintain a piece-of-crap monstrosity that someone else created. Make it crystal clear that this is not the situation they are being hired into.

    ...as far as "where to find them"...The same principle that applies to "getting hired" (i.e. networking is always the best) also applies to hiring. Ask your five best programmers to give you the names of some of their friends and don't be afraid to aggressively go after them and lure them away from their current gig.

  27. Re:In 3 Ways... by Anonymous Coward · · Score: 1, Insightful

    I very much doubt that Google are paying new grads $110K+. In most markets that'd be a solid salary for someone with a lot of experience (not a new grad newbie), and Google don't have a reputation for paying well (you're meant to be happy with the perks and bragging rights).

  28. Re:Simple answer... by Anonymous Coward · · Score: 0, Insightful

    "The superstars produce 2x to 10x what a very good programmers can produce in the same amount of time."

    Quantity != Quality

    Any monkey can poke at a keyboard and bang out 100's of line of code.

    Perhaps you should be looking for someone a little more focused toward quality and is not afraid to unit test their own work. /Disclaimer: I work in QA

  29. Non-technical interviews by asc99c · · Score: 4, Insightful

    The place I work has some top people working there. It also had one of the strangest interviews I ever did. I was barely asked about programming or anything related to my job. Just pointed to an engineering diagram of a chemical plant and asked how I'd tackle it. I'd never done chemistry and didn't understand the diagram, so I figured I was probably failing the interview. Another poster mentioned the difference between top grade programmers, and the real superstars that actually get things done. I think this was the type of question that was really aimed at separating those types of people. It was a question you didn't have to get 'right' - it was just to find out what you'd do to figure out how to figure out the answer.

    Looking for a job straight out of uni, I did a lot of interviews heavy on the technical side. Looking back, I'm not sure what the point was. They could already see how good I was at technical learning from my degree. The major difference between programming academically vs industry always seems to me to be that in industry you're programming for users other than yourself. In most academic situations you've got fairly clear user requirements of what the software must do. Most of the work I have done since then has begun with vague ideas about what the system needs to accomplish. Getting from there to coding a system that meets the requirements is very much like that question in the interview - 'how would you tackle it?'.

    Any technical questions will allow any good programmer to just fall back into answers they know. You'll be swamped with applicants who look good but are only mediocre.

  30. Re:Simple answer... by lgw · · Score: 4, Insightful

    Second, they can almost never identify themselves. Lots of people THINK they are the superstar. But then they get very little actually accomplished. These are the people I've lost to Google. But the superstar does much more than just know the tech details. They actually get stuff done. And their code really really works. And it is highly reusable. And they change others around them. That's it in a nutshell. You can't distinguish the top 1% from the merely arrogant in an interview, but if you do your interview wrong, or your working environment is clearly borked, then the top 1% will defintiely self-select away from your company. Ask hard programming questions, but not language trivia questions or mathematical parlour tricks. Don't force programmers to use tools that they consider inferior. A superstar programmer who's been around a while will ask about the build environment, version control system, and bug tracking system that you use, as the answers to these questions are great warning signs of a broken shop (and managers haven't been trained to lie about these questions the way they lie about typical work hours, project planning, and what your responsibilities will be once hired).

    If anyone knows how to locate superstar programmers in the first place I'd love to hear it. Once I have one on the phone I have a fighting chance to hire him, but you certainly can't spot them from their resumes.
    --
    Socialism: a lie told by totalitarians and believed by fools.
  31. Re:Simple answer... by mkiwi · · Score: 3, Insightful
    Summary mentions: What methods have other people used to find the truly elite?
    Along with what you said:

    Job sites are a bad place to go. I looked at the discussion forums on Dice.com one time and from all the complaining I knew I wasn't going to find anything good there.

    Referrals are really the way to go. There are so many people in this world who can, given a normal task, write a program for it. However, there are very few people who can actually think up a new project from start to completion, lead everyone through the project, and help push it through management. It takes a lot of confidence and ability to do that.

    Something I've noticed is that the best programmers tend not to think of programming as just a big math problem that they need to solve- they consider what they do to be an art. Having meaningful assignments is crucial to attracting and keeping new people. The best programmers want to be a part of something bigger than themselves and are great enablers for your other employees. Their good character rubs off on everyone else and creates a really positive working environment. Make sure you look for people who are fairly optimistic and upbeat.

    Offering money will only get you so far. You have to offer good projects to expect people to want to work for you. If you can make a fulfilling work environment for the best you are halfway there. The great programmers can go anywhere, and it should be considered a privilege if they decide to stay with you. Let them know they are appreciated in this way.

  32. Are you a superstar company? by LaskoVortex · · Score: 4, Insightful

    The first part of this is going to sound antagonistic, but its meant to be helpful.

    Are you a superstar company? Really? What product do you work on? Is it cutting edge/interesting/socially minded? Is it going to present a new challenge every day for your programmers?

    How top-heavy is your company? Are the salaries of the managers 3x more than the programmers? How about the top-level execs? Are they getting $1.5M bonuses every year while solving no problems themselves? Do their salaries go up 12% every year while programmers get 2% raises? Do the execs get their own parking spaces while the programmers have to park on the street? Is the disparity noticeable and constantly rubbed in the face of your programmers? Do the execs act snooty and drive $60,000 dollar cars? If these qualities apply to your company, there is no hope. If not, read on.

    People who can really solve tough problems (i.e. "superstars") know who they are. Their minds don't work linearly and they see patterns in everything. They make suggestions and observations only to get ridiculed because the small minds around them can't understand what they are saying. But they usually get vindicated:

    People often ask me why I persisted in doing research on a subject that was so controversial. I frequently respond by telling them that only a few scientists are granted the great fortune to pursue topics that are so new and different that only a small number of people can grasp the meaning of such discoveries initially. I am one of those genuinely lucky scientists... --Stanley Prusiner

    The unfortunate thing is that superstars, as you call them, experience this pattern again and again. You need to recognize that this pattern is common for them. You need to cater to their intellectual needs, make sure they are payed well, and, yes, appeal to their egos. This doesn't mean a constant suck-up, which is a common misconception. You need to give your damn best to understand what they are saying, to understand that their insight might be better than yours and to recognize that they have shown insight through a solid record of achievement. Superstars are players and not coaches (i.e. cheerleaders) and they can point to success, but you don't need to acknowledge it directly. If you want to employ them, you need to show that you can be student instead of master, because superstars are also teachers.

    I know that that last one is going to hurt, especially in the hierarchical realm of corporate politics. However, your ability to be a student of your employees will separate you from mere mediocre employers and will get you those superstars you want so badly.

    --
    Just callin' it like I see it.
  33. Re:Simple answer... by mikael · · Score: 4, Insightful

    From the people that I have met (who have architected international specifications and written books on their area knowledge), the superstars are the laid-back and chilled out programmers, while the arrogant programmers are the wannabes - if they really knew as much as they thought they did, they wouldn't be so insecure.

    The original poster of this disussion hasn't specified what the nature of the work is - is it user-interface - is his company designing the next killer application. Then they would need someone who knows how to design and implement really polished application UI's.

    Are they looking for someone to implement highly computational intensive core libraries - then maybe a programmer with Matlab experience or someone with a mathematics background would be more suitable.

    Or are they looking for someone to write general purpose libraries that can be reused - then someone with good object-oriented design experience would be best.

    If they are just looking for a programmer to implement specifications, then looking a someone who has done similar ework in a final year project or thesis would be a good place to look.

    --
    Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  34. Re:Uh by temugen · · Score: 2, Insightful

    I agree. I know first hand that there are many programming superstars out there, but the majority of them aren't looking for jobs. You may very well know some of them from various projects you see online - whether they be mere mentions in a blog or full sites devoted to their projects. If you really want to hire a programming superstar, find one of such projects and contact the creator. If you do not know what type of project I am referencing, you shouldn't be hiring a programming superstar. These projects include such new developments as touch interfaces, infra red tracking, and any open source application that you've used that's made you say "wow."

  35. Commandos by Anonymous Coward · · Score: 1, Insightful

    I agree that a superstar is the one that just gets the damn thing done but still manages to do it as part of a team. This usually results in an overall improvement of the team. Many people think the superstar as the one who hides in a corner and comes up with brilliance but doesn't play well with others. I call them commandos.
    Personally when I hire I want a mix of superstars, commandos and drones. Drones are needed to do things like translations and so on. They need to be good but can be nearly completely devoid of innovation.
    Commandos, when properly managed, can partially simulate superstars by coming up with insane code that when fixed by others is very good. But never leave a commando in charge.
    Superstars are difficult to manage. Not due to any problem with them but simply the speed at which they work. They can usually take a team and run their feature set to 110% with few bugs and so on. But then you end up having them clean up after other groups and then everyone feels used or abused. But as to your question about superstars. The better the superstar the more likely it is that they know what to do better than anyone in your organization. Thus if I were working in PHP as a codebase and a real superstar came available but wanted to work in Erlang I would seriously think about either switching the project over to Erlang or at least the bits that I needed some superstar work on. This way you can get the superstar as they will realize you comprehend their value. But this leads to another question. What is the difference between a superstar who can help take you to a whole other level and some nerd who wants to play in a new sandbox? This is where references come in. Real references from people you personally trust. Thus my answer is like many of the above. Networking is how you are going to get the superstar. You let it out on your network that you have something that demands a superstar and you might get one. But if you want a super drone then ...

    Lastly I think there are a few signs of superstars. Expertise way outside of programming. A superstar programmer is usually not the one who wins obfuscation contests. They are the one that understands you have a problem that needs solving because it somehow will help the company and eventually its bottom line. Thus when you talk to them they will refer to technology as a tool to solve your problem. One thing that I have noticed is that the better the programmer the less obsessed with computers and programming. They can talk for hours with the right person about the performance problems of exception handling vs the architectural advantages but won't say a word with someone who isn't a high caliber programmer about programming. So a good test is that you sit them down with an accountant and they will talk accounting and so on. Also in this same vein great programmers also tend to not have much paperwork or anything that diverts them from the direct path of problem solving. So no certifications, few degrees, and few jobs with giant companies. Also their resume is rarely nebulous. No "assisted in the deployment of..." usually a straight: "designed, and implemented monkey fondler in C++ on an embedded system. Lastly their resume will read like a timeline of computer technology. You will see a series of projects where the best technology of the day was used. This shows that your project will not be from the dark ages as well as a huge ability to learn.
    Good luck

  36. Re:Appeal by that+this+is+not+und · · Score: 2, Insightful

    However, sometimes you just need good hype.

    I was wondering when somebody was going to bring that up, re: "Programming Superstars."

    There aren't any. Just people who work hard at something that they're good at.

    All the rest is hype.

  37. Re:Appeal by gmack · · Score: 4, Insightful

    I disagree. Some of the best programmers I've ever met never had official training in a computer field.

  38. Re:Appeal by xero314 · · Score: 3, Insightful

    There needs to be more detail on what a "Great Programmer" is. Is a great programmer a good code monkey capable of following instructions but turning out high amounts of bug free code? Is a great programmer a person that knows how to work without a specification but still do what the company or client needs? Is a great programmer a person who is great at coming up with new and unique software projects that may eventually be profitable?

    Point is that what a great programer is depends on the environment they are going to be working in. Because of this I'm going to suggest finding people who have never done any professional programing but have the right personality and drive to become the great programmer you need. If you try and get a great programer that is already in the industry you risk finding someone that is set in their own ways which are in conflict with what you actually need.

    Even Linus Torvalds is only a great programer is certain environments (if he even qualifies as a great programer and not just a well known programer).

    Oh and great programers do not necessarily come from formal education programs. Most of the truly great programs, whether they went to college or not, learned there skills through practice and self education.

  39. Re:Appeal by Arapahoe+Moe · · Score: 3, Insightful

    Let me guess. You're in or just out of college ..... and went to school at RIT, Northeastern, or some other more or less worthless institution of higher learning that was on the quarter system. :)

    I mean, come on. I won't even touch the fact that you are basically advocating the widespread use of cheap labor (interns/co-op students) as a really, really, really good thing. I mean, I work with some smart, young guys .... and in addition to their intelligence, they are also possessed of a naivete about how things REALLY work that REALLY limits their utility and value, amongst other severe flaws unique to the TALENTED young professional. Furthermore, trying to devalue the programming profession, in this way, such that it turns into Mexican day labour REALLY isn't the way to find programming superstars ....

  40. Re:Simple answer... by mad.frog · · Score: 2, Insightful

    The superstars produce 2x to 10x what a very good programmers can produce in the same amount of time.

    Actually, I'd say it's more like "the superstars produce what the very good programmers can't produce, ever".

    It's not just about productivity, but insight.

  41. Re:Simple answer... by mad.frog · · Score: 2, Insightful

    What career prospects are there? What can a "superstar" programmer expect to be doing in 10 years at your company? Hopefully not still programming.

    If this is what you think, then you have never, ever met an actual "superstar programmer". Superstars live to code. Most would suck at management, and hate it too.

  42. Re:It takes a good software guy to know one by Chapter80 · · Score: 2, Insightful
    It's amazing how many people THINK they are class A people. Like the original submitter of this discussion post:

    we only hire really great people
    ....says the guy who doesn't know how to recruit good people!! What a cocky a-hole. What a joke!

    Hopefully, when your boss said his little catchy phrase about "Class A people only hire Class A people", you responded with "And in this case, class C people hire class A people."

    Clearly, there's a flaw in your boss's theory, because a start-up company that has any success is dependent on having class-A people as the founders or first employees. If they only hire class-A people, then the whole company would ONLY EVER have class-A people in it. So how did your boss get hired again? You either are full of Class-A people (unlikely), or your boss is an idiot (likely).

  43. Re:Appeal by utopianfiat · · Score: 3, Insightful

    Moreover I'd say looking for good programmers in general is going to make you SOL for the most part.

    I'd pose to you a give-a-man-a-fish metaphor. Why work on finding good programmers when you can find a good project manager - probably with a PhD - who can forge hard-working programmers into good and hard-working programmers.

    There's way too much mystique over "superstars" who bring their midas-touch of computation to a company. It's bad for business, it's bad for your project, and it's bad for budding programmers who suddenly are expected to be computational savants. You burn people out that way. Instead, turn down the guy who can do integral approximations in his head and hire the guy who took an hour but did it all on paper without taking a break. Why? Because if you hire savants, they'll do their work in 10 minutes and bill you for 2 hours because that's the time it takes for everyone else to build the same amount of code.

    Apologies to most of /. for ruining your perfect scam.

    --
    +5, Truth
  44. Re:Appeal by CastrTroy · · Score: 4, Insightful

    No magical program manager can forge skills from programmers who don't have any. There's a large number of programmers who have no skills at all. No amount of working with them will ever resolve that. You can't forge a sword out of cotton. You can't forge a good programmer from somebody who just doesn't get it. You don't need to hire all superstars. But finding enough people who even have a clue how to program can often be huge challenge. There's so many people who want to be programmers, who just don't have it in them, that it's hard to sort through all the junk to find the good ones.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  45. I'll one-up you with a car analogy. by pavon · · Score: 5, Insightful

    "We get brilliant results from average people managing brilliant processes. We observe that our competitors often get average (or worse) results from brilliant people managing broken processes." - Toyota

    1. Re:I'll one-up you with a car analogy. by sjames · · Score: 2, Insightful

      I'll one up that. If you proceduralize your developers the same way Toyota proceduralizes manufacturing, you'll drive out all of the developers and be left with code monkeys.

  46. Re:Appeal by drew_eckhardt · · Score: 5, Insightful

    >I'd pose to you a give-a-man-a-fish metaphor. Why work on finding good programmers when you can find a good project manager - probably with a PhD - who can forge hard-working programmers into good and hard-working programmers.

    Because

    1) You can't teach hard working programmers the creativity needed to come up with novel solutions to hard problems, where the right creative solution can net orders of magnitude better performance and/or reliability. The rough order here can be of a better PhD thesis or Digital labs paper (but with more attention to reliability).

    2) Experience productizing solutions _well_ is needed to build reliable complex software. I know of distributed systems groups that had to flush their first products due to algorithmic bugs and others that needed heavy operator support to keep things running because inexperienced groups lacked sufficient practical background in simulation.

    The best you can do is grow people towards their potential. Some engineers have a creative mindset and will solve problems when given a description, with the size of the problem dependant on experience and aptitude. You can get them working on bigger and bigger problems with more attention paid to practical concerns. Some engineers can implement something given a description (smells like a log structured file system, with a separate log for B+ tree nodes). You can teach them better engineering discipline.

    >Why? Because if you hire savants, they'll do their work in 10 minutes and bill you for 2 hours because that's the time it takes for everyone else to build the same amount of code.

    If you pick their brains on an as-needed basis on what you think is important, you'll be paying $500 for their 4 hour billable minimum and not getting fringe benefits.

    If you actually hire them and they have interest in how the product and company go, they'll work 60-80 hours a week (it's not about the money) for options on .5-1% of the company and perhaps 10-20% more in base salary than you'd pay some one who's merely excellent, you'll get over 5X the output on product code (output would be higher if non-coding responsibilities didn't consume 1/2 - 2/3 of their time), build infrastructure, test infrastructure, an effective mentor for your junior engineering personnel, attention to system level interactions before the code is written instead of after it's integrated, and maybe a little management thrown in.

    If you're solving the same problems over and over again, it doesn't matter and they wouldn't be interested.

    If you have something that's too hard for other companies to pull off, the right handful of gurus can mean the difference between success and failure.

  47. Re:Hinterlands = Fort Wayne, IN by An+Ominous+Cow+Erred · · Score: 2, Insightful

    Oh, I already escaped. =) I'm now living in one of my top 3 favorite cities so I'm set now.

    In any case, Ft. Wayne is *not* a small city. It's a major metro area in its own right. You do have jobs. It's not, however, a hotspot, so you'll have to work a bit harder to convince talent from say, North Dakota, to come there (though if you made a good offer and did it right, you could!).

    Where should you be looking? Nearby cities that are filled with despair, like Coldwater, MI. Find the young, talented, but repressed geeks who are trapped there, dreaming of a way out. Draw from tiny towns in Kentucky, where a geek dreams of getting away from the rednecks in pickup trucks that throw beer bottles at him.

    The key is to find the ones that are talented but trapped. Recruiters normally are too busy trying to poach people within 20 miles of a company's zip code, so these people slip between the cracks. (Lord knows, I have a great job now and I still have to give the finger to an endless stream of recruiters -- where were they when I needed them?)

  48. Re:Simple answer... by TekPolitik · · Score: 3, Insightful

    the superstars are the laid-back and chilled out programmers, while the arrogant programmers are the wannabes - if they really knew as much as they thought they did, they wouldn't be so insecure.

    True to an extent. An arrogant programmer may well become a superstar some day, but to get all the way they need to lose the arrogance. A superstar is going to be somebody who has learnt enough to know that he doesn't know everything and that new ideas of merit can come from surprising sources. If they don't, they stop learning. A superstar doesn't have to go around putting down people as incompetent - a proto-superstar might still be doing so, but must outgrow it before they become a real superstar.

  49. Re:Appeal by Metasquares · · Score: 4, Insightful

    Being given nothing for 7 hours a day - and being prevented from filling that time with your own productive work - will make you want to scream out of simple boredom after only a few weeks. I would often struggle just to stay awake. It sounds great, but it was awful.

  50. Re:Appeal by SanityInAnarchy · · Score: 3, Insightful

    who can forge hard-working programmers into good and hard-working programmers.

    Not going to happen unless they were already decent. Not good, decent.

    Let's take an example from my interview... How would you check that a string is a palindrome?

    A clever programmer might do something like:

    sentence.reverse == sentence

    A programmer somewhat more concerned with efficiency might iterate over the string, character by character, comparing the first half with the second half.

    A more thorough, correct programmer would do either of the above, but stick a

    sentence.downcase!

    in front of it -- probably also strip out punctuation and spaces.

    And then there are the WTF programmers, who will do something like:

    i = 0
    result = true
    while i < sentence.length
    case sentence[i]
    when 'A'
    if sentence[sentence.length-i] == 'A'
    # yup
    else
    result = false
    end
    when 'a'
    ...

    Oh, and the above won't actually work as written, aside from being absurdly inefficient both in coding time and in runtime if it did work. The amount of effort it would take to mold someone who would actually write the above into a decent programmer is not worth it.

    Compare that to someone who wrote the first example (sentence.reverse == sentence) -- remind them about whitespace, punctuation, and capitalization, and they'll be able to work it out.

    Now, absolutely, if you can't do this stuff yourself, hire someone who can. That part is tricky, but the complaint of the original article was not that they didn't know how to find any good programmers (or even superstars), but that they couldn't find enough.

    And absolutely, one "star programmer" is not as important as a team that works well together -- but a "star project manager" isn't a silver bullet either.

    --
    Don't thank God, thank a doctor!
  51. You're looking for the wrong thing by jandersen · · Score: 2, Insightful

    You don't want a 'super-star', believe me. Super-stars are primadonnas, and amazingly good at grabbing the attention and looking impressive; but most programming work is un-glamorous, tedious, hard work, simply, and for that you need people who are able to make a constant and reliable effort. These people are almost without exception modest, a bit shy, possibly nerdy, and certainly not 'super-stars'.

    On the other hand - the way you describe your company sounds over-hyped and conceited, so maybe you really are looking for attention-grabbers and posers.

  52. Re:Appeal by xero314 · · Score: 4, Insightful

    I have one rule on process: it isn't a substitute for talent. I have on rule on talent: it isn't a substitute for process.

    The firm that realizes that is golden in my book.

    When it comes to any form of engineering I would take a good process over any amount of talent. Talent is what I want in an artist not someone building complex technical devices (including software). Yes it would be nice to have both, but if you have to give up one don't make it the process.
  53. Re:Appeal by Belial6 · · Score: 5, Insightful

    You touch on a piece that is often missed. It is a bad choice to only hire 'superstars'. Quite simply, not every problem is going to be interesting. There is very often going to be grunt work, or simple things that just need to get done. Your 'superstars' are going to get board really quick when they have to do grunt work. You would be much better off, hiring people of various skill levels, make sure that they know where they are, and match up really good developers with some that are not as good. Of course, to truly be a 'superstar', you have to be able to understand and appreciate the contributions that those with less coding skill often bring to a project.

    At my work, I am teamed up with another developer that will simply never be a 'superstar'. She consistently needs help on code that is just not that difficult for me to write. That being said, she is immensely productive. She knows what level of code she can handle, and she does a LOT of work that, while I could do if need be, I would be far less interested in than the work I do. This would lead to lower quality code, and job dissatisfaction. Her presence on the team gives far more to the company than any 'superstar' could bring.

    The key is that she knows what she does well, I know what I do well, and we appreciate each others contributions.

    Now, maybe the question wasn't about 'superstar' coders, but in employees in general. If so, it didn't come off that way to me.

  54. Re:Appeal by gfody · · Score: 4, Insightful

    Indeed. However, replace "superstar programmer" with "competent programmer" and the question is still sadly relevant.

    --

    bite my glorious golden ass.
  55. "Superstar" == "Prima Donna" by syousef · · Score: 2, Insightful

    Actually, I read "superstar" and my mind translates to "prima donna". Do you actually want a prima donna working for you?

    I also have to ask, why do you NEED superstars? Can't you organize the team to get the job done without a genius to pull it all together?

    --
    These posts express my own personal views, not those of my employer
  56. take your best developers into the process by sick_soul · · Score: 2, Insightful


    When hiring, take your best developers into the process.
    They recognize people like them in a very short time,
    with very few questions.

  57. Re:Appeal by AGMW · · Score: 2, Insightful
    You would be much better off, hiring people of various skill levels

    I was really lucky to get a job in a fantastic company writing Newsroom systems as my first job out of university. I was amongst some incredibly talented programmers and therefore didn't really rate myself as a "good programmer" at all. Upon leaving the company it turned out I was actually well above average - mostly down to a good CompSci degree giving me the basics and working with a team of very good programmers who were all ready, willing, and able, to pass on their programming skills!

    You need a range of skills within a team to allow people to learn. You will always have the top dog who helps everyone else - and you all know who it is at your work, the go-to-guy. People always fear these people leaving - oh what will we do if so-and-so leaves ... you don't need to worry because someone else will step up to the plate to carry the torch.

    Logica, in the UK, went through a phase of hiring graduates from anything other than CompSci courses - I worked with an English Graduate who Logica had retrained, and he was a top programmer! But programming isn't about knowing the language syntax, it's about how you approach a problem. I sometimes wonder if you actually want lazy programmers - so they write the code well first time so they don't get called out at night to fix things! Write the code as simply as they can, so when they return it's easier to understand what they were doing!

    --
    Eclectic beats from Leeds, UK
    handmadehands.co.uk
  58. Re:Appeal by Simon+Brooke · · Score: 4, Insightful

    Moreover I'd say looking for good programmers in general is going to make you SOL for the most part.

    I'd pose to you a give-a-man-a-fish metaphor. Why work on finding good programmers when you can find a good project manager - probably with a PhD - who can forge hard-working programmers into good and hard-working programmers.

    There's way too much mystique over "superstars" who bring their midas-touch of computation to a company.

    Frederick Brooks, author of the Mythical Man Month, wrote that good programmers are 100 times more productive than average programmers. That accords with my experience; I've been working in this game for twenty years, both as programmer and as project manager; I've seen a lot of average programmers, and two or three good ones. The whole ethos that programmers are grunts who work for and are managed by project managers gets the whole pyramid upside down. Even the best project managers can do nothing to improve the work of a good programmer, but much to impede it.

    Personally I'm still of the opinion that Frederick Brooks recommendation of the 'surgical programming' model is the best - you identify your star programmer, and everyone else works for them. Brooks recommended about five support staff for each programmer: a 'co-pilot', who worked in a sort of junior pair-programming role, essentially learning from the senior programmer; a librarian, who wrote up and managed documentation, looked after releases, and such like things; a tester, who just tested; a toolsmith, who built small scripts and utilities; an administrator, who handled business issues; and several other optional roles. Modern tools can automate some of these roles, but it's still the case that good programmers are so much more productive than ordinary ones that it makes economic sense to unload all the routine tasks off them to less able people.

    Good programmers really do make or break technical companies - they add far more to the bottom line than anyone else. And if you don't recognise that, you won't be able to hire them, you won't keep them if you do hire them, and you won't get anything like the full potential out of them if you do hire them. Keep your programmers in the dark and feed them on shit, as most companies do, and in a very short time you'll have no-one left but shit programmers.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  59. Re:Appeal by evil_aar0n · · Score: 2, Insightful

    I concur. The worst job I've had was with a company where the pay was Ok, the people were nice, the commute acceptable, etc., but the work was mind-numbing. "I went through x years of college for this...?" That gig didn't last long, but longer than it should have.

    On the flip-side, one of my favorite jobs was with a small company, great pay, sadistic boss, slave-driver-like work pace, terrible commute, but interesting things on which to work. I don't mind working hard, so long as I'm not bored.

    --
    Truth, Justice. Or the American Way.
  60. Re:Appeal by xero314 · · Score: 2, Insightful

    I have on rule on talent: it isn't a substitute for process. Clarification on my previous comment.

    I have on rule on talent: it isn't a substitute for good process.

    But the point I was actually trying to make, and I think most people got based on the moderation, is that anyone who thinks they are talented enough to not need a good process is not nearly as good as they think they are.