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?

763 comments

  1. Uh by iONiUM · · Score: 5, Funny

    I'm right here.

    1. Re:Uh by MLopat · · Score: 1

      So true. You are truly amazing.

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

    3. Re:Uh by Abedneg0 · · Score: 1

      http://www.topcoder.com/tc They are pretty good at finding superstars and matching them to employers.

    4. Re:Uh by Jarik_Tentsu · · Score: 1

      Just open notepad and say:

      "Dear God. Please help me program a project."

      and whatever uber-hacker is currently looking at an identical window to yours will soon reply.

      ~Jarik

    5. Re:Uh by mtrupe · · Score: 0

      Careful people. I've seen "superstar programmer" used enough to learn what it means: It means some cheap employer is looking for a really good programmer who loves it so much that he's willing to work for little pay.

      Also, they want this programmer to do the job of like 5 people.

  2. Simple answer... by Dusty00 · · Score: 5, Funny

    Be Google.

    1. Re:Simple answer... by flannelboy · · Score: 5, Interesting

      I have to say that I've had some people hired away from me to go to Google, and they have been hiring the people who can quote chapter and verse of some coding standards doc. But they haven't been my superstars. They have been "A" players. But not "superstars". I'll qualify that in one second.

      The superstar is more than just somewhat hard to come by.

      First, they are only going to be 1 out of every 100 programmers you work with. And that is only if you are lucky, and if you are good at hiring. If you hit job boards, you aren't good at hiring. (with apologies to the job board advertisement that is almost definitely above this post :)

      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. The always make sure the best tools are in place, and they get others to use those tools, not just themselves. In this sense, they are also quite good leaders, although most do not want to manage large teams (and you'd be wise not to have them do so).

      I've probably worked with 1000-2000 programmers in my lifetime, and I think I would give only about 10 of them the "superstar" status.

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

      As far as finding and hiring them, the biggest problem is that they are very rarely on the market. So job boards are a bad place to start.

      Just about all (maybe even 100%, actually) of the superprogrammers I've hired have come from friend referrals.

      Go to your current employees, and give them very big checks if they can attract other programmers to your firm. Make sure this is worth their while (ie: $10,000 or more for bringing in someone). This will almost always be your best bet to find these guys.

    2. Re:Simple answer... by AKAImBatman · · Score: 1

      FWIW, I'm having the same problem you are. The Chicago-based company I work at right now has done a bang-up job of separating the wheat from the chaff. The people who work here are extremely smart, and our interviewees always have positive things to say about us to their recruiters.

      Unfortunately, I don't think we have any magical formula for finding the right programmers. As Joel says in his articles, all the best developers are already working. All you can do is wait patiently and try to lure them in when they decide to switch jobs.

      Speaking of which, if you are a kick-ass programmer in the Chicago area, we have plenty of openings! My email address is right above. ;-)

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

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

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

    9. Re:Simple answer... by EnglishSteve · · Score: 1

      What can a "superstar" programmer expect to be doing in 10 years at your company? Hopefully not still programming. In my experience, that's exactly what the really, really good programmers want to be doing - to people that good at what they do, management and responsibility are something of an anathema - they'd rather leave that to the empty suits with MBAs.

      FWIW, I'm no superstar, I just want to do my 8 hours, do a good job and go home - the really interesting stuff for me happens outside the workplace.

    10. 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
    11. Re:Simple answer... by networkBoy · · Score: 1

      I have to agree with you on this one.

      I *can* manage, but I won't. I turned down a promotion on the grounds that it set me up for direct reports. IANASSprogrammer (I'll write code to get a job done, but can't vouch that it's production worthy). I am a decent validation/engineering guy.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    12. Re:Simple answer... by Anonymous Coward · · Score: 0

      I see 3 tiers of competent programmers, each tier is 10x as productive as the tier below.

      Things that make a company cool:

      - Be likable to your employees. They should like you not fear you.
      - Allow video gaming on workstations after 6pm
      - Allow gaming server in datacenter (if you have one)
      - if company is large enough, look into onsite child care (there are more single parents than ever now)
      - provide free web hosting for employees if you are a .com
      - have catered lunch once a week (3 times is better) for employees to mingle. this builds bonds across departments and makes for a better and more efficient environment
      - fire all the assholes
      - empower managers to defend their teams from HR & security bullshit
      - have no dress code
      - keep the public/customers away from coders
      - free soda
      - have a generous education reimbursement policy
      - have weekly tech talks where the Sr. folks hold forth to the jr.s over lunch
      - recruit through referral, pay a bounty if hire stays 30 days
      - advertise jobs on craigslist (this is a great filter)
      - constantly advertise on your company website -- maybe a super star is interested in what you do
      - DO NOT hire recruiters
      - DO hire interns and new grads, sometimes they turn into super stars
      - provide equity and/or profit sharing
      - have regular but short company meetings to communicate goals and talk about issues that affect entire company
      - have office professionally decorated to be colorful/stimulating
      - clean out all old employee crap and papers etc. get rid of the crud so you have a vibrant environment

    13. Re:Simple answer... by dwater · · Score: 3, Interesting

      > I have to say that I've had some people hired away from me to go to Google, and they have been hiring the people who can quote chapter and verse of some coding standards doc.

      I've noticed this too in my own interviews with them (no they didn't hire me). Their interviews seem to largely test for people who can a) remember stuff, and b) think on their feet in high pressure situations (like interviews). They seem to completely ignore previous experience, references, and other stuff. Being able to perform well in an interview is often not a good reflection of a person's potential.

      On more than one occasion, I told the interviewer/screener that I didn't know the answer to a question and they proceeded to ask if it were "a" or "b" where it was so obvious that only one of them could be correct (ie "a" = !"b"). Them telling me the answer to their question is disingenuous and I had already said I didn't know so they should take that as my answer - I felt like they were asking me to cheat.

      In many cases, the answer to a question could be found out in a couple of seconds by looking it up in the manual - or a web search (knowing how to find answers is still a skill). Those of us not still in our 20s have learned to select what we remember and forget what we can easily find out again when necessary. One of the principle things we remember is what problems various technologies can be used to solve, and so we can build systems using different technologies in order to solve bigger problems. We learn how to learn new things. We build intuition not a database.

      Selecting only specialists with good memories and high confidence under pressure is fair enough, if those are the sort of people you want (ie they remember all the nitty gritty details of all the technologies they've worked on), but I wonder what it would be like in a company full of such people. I've heard some stories about Google, for example, that make me think that they could do with people who actually just 'get on with it' - ie not everyone has to be 'a superstar'.

      Why do companies want people like this? Are these people 'superprogrammers'? Do they actually get work done in real life?

      What about people who have demonstrated that they can solve problems by selecting from, learning, and using various technologies that are available? People who are engineers rather than programmers.

      Also, do companies only want specialists these days? Is there no place for a generalist? It seems to me that generalists are quite valuable for startups and small companies, but large companies want teams of specialists, with each a specialist in a particular area. I the larger companies, I guess a generalist might be a reasonable manager or system designer, with the specialists doing the bits of the system they are specialist in...or something.

      --
      Max.
    14. Re:Simple answer... by HeelToe · · Score: 2

      To reiterate what others have said, they almost always come on a personal recommendation. Someone good to great themselves seeing an opportunity to hook up two parties that each has the pieces of the employer-employee relationship the other wants.

    15. Re:Simple answer... by Anonymous Coward · · Score: 0
      I've worked with a couple superstars, I discount the "money doesn't matter" idea. It does, but that's different than saying you can simply buy superstars, which you can't. Superstars don't care about money and can't be bought because they already get paid...

      I think that the very best super stars know real value, one guy I worked with picked up an idea that the company rejected, bolted and started his own gig with it and he is actively selling it. He's making a lot more money now, 6 months of hard work and he probably tripled his pay. He could do it all, code like a mutha, do presentations, lead a group, and now he's doing sales for his own thing. He had a very very good understanding of the market and the problems people were trying to solve, an uncanny one. I don't know that I'd put him on the board but he had the board's ear and they knew who he was. He could do it all but I do see some differences with someone like that and the politics of executive management.

      I don't know how to just hire these guys, one thing that's for sure is that if you're just a coder, you're almost certainly not a superstar. If you can't see the bigger picture and don't have an appreciation for it, you'll never be a superstar. That in my mind is the difference, there are a lot of really good engineers, you can buy them, you can find them, those big difference makers are a different kind of thing though. The difference between a top 85% coder and a top 90% and a top 95% coder get smaller and smaller. The longer I work as a software engineer, the more it becomes very clear that the problems are very seldom simply issues of code.

      There is something to being an employer of superstars, it's hard to let someone come in and turn things upside down.

    16. Re:Simple answer... by Anonymous Coward · · Score: 0

      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

      From the post you apparently didn't read completely:

      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. The always make sure the best tools are in place, and they get others to use those tools, not just themselves.

      Perhaps you should be working on your reading comprehension skills.

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

    18. Re:Simple answer... by papna · · Score: 1

      He didn't say that he meant ten times as many lines of code. Great solutions to problems are often those that are the most quick, elegant, and simple. It is fair to say that someone who can pump those sorts of solutions out regularly is producing many times what others are.

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

    20. Re:Simple answer... by Pulse_Instance · · Score: 1

      I'm going to go ahead and assume that he meant it would take 10 hours for someone to get piece x to production and the superstar would do the same in 1 to 5 hours.

      Production in this case meaning ready for general consumption i.e. not having bugs of its own, not creating bugs in other pieces and handling bugs from other pieces nicely.

      That is what all of the "superstars" in my company can do. I'm fairly certain most reasonable definitions of superstar have very little do to with actual amount of code written and more to do with quality of code and what I like to call the WTF factor (where people say, "WTF, I worked on that for hours and couldn't get it working" or "WTF, you can do that").

    21. Re:Simple answer... by Swampash · · Score: 1

      In my experience you can always spot the superstar, because he's the only person in the team flatly denying that he's a superstar.

    22. Re:Simple answer... by korbin_dallas · · Score: 3, Interesting

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

      Amen brother, preach it. If a shop is using PVCS RUN dont walk to the exit, do not wait to get your parking ticket validated.

      PVCS is what we use and we call it a BDPOS. Broke Dick Piece of Shit.

      And the IT dept. Do they support the programming staff, of merely say NO to everything. Our IT is worse than useless, they are IN THE WAY of progress.

      Sorry had to vent, today I was told by IT they didn't have memory for the computer they gave me. Repeat, did not have memory for the computer hardware they give to every employee. No spare parts? WTF kind of IT dept is that? I meant to say no parts for the computer they LEASE the software dept. IT thinks they are a cost center, making money for the company. Oh I wish the original owner was still here, he would have fired all them dam useless SOBs in a microsecond. Getting in the way of a BILLION dollar contract, get the F*&^ out of my company. Right now!

      As you can tell no superstars work for us...

      --
      They Live, We Sleep
    23. Re:Simple answer... by complete+loony · · Score: 1

      I speak programming, I don't speak HR very well. I doubt you'd spot me as a good programmer from any resume I'd write (which I haven't for a long time). You might be able to find me based on how I have helped people on public news groups.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    24. Re:Simple answer... by kellewic · · Score: 1

      From the book "Beautiful Code":

      "I once heard a master programmer praised with the phrase, "He adds function by deleting code." Antoine de Saint-Exupéry, the French writer and aviator, expressed this sentiment more generally when he said, "A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away." In software, the most beautiful code, the most beautiful functions, and the most beautiful programs are sometimes not there at all."

    25. Re:Simple answer... by adrianmonk · · Score: 1

      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,

      A couple more you could ask about: (1) the release process, and (2) if the company uses its own software, the configuration management process.

    26. Re:Simple answer... by Metasquares · · Score: 1

      True story: I went through the Google interview process for months, answering every question they threw at me correctly, but failed in one of the last round interviews because I couldn't recite the CYK algorithm from memory. It really hurt my view of the company and its hiring process - I don't think what they're looking for is actual programming ability.

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

    28. Re:Simple answer... by mpaque · · Score: 1
      What career prospects are there? What can a "superstar" programmer expect to be doing in 10 years at your company?

      Maintenance programming for all the stuff he/she wrote in the first 5-6 years, because, after all, who understands it better than the original author?

      Most companies, for better or worse, tend to put programmers on the same lifecycle as the products/projects the programmers are hired to work on. The star programmers are hired in to design a better widget, and once they are all fired up on the design, they lead on the implementation. Some of the really cool stuff doesn't make it into the 1.0 version, so, since they understand both the 1.0 version and the concepts of the really cool stuff, they stick around to do the really cool stuff for version 2.0. Marketing and some other dependent projects need some additional changes beyond the 2.0 version, and of course nobody understands this better than the original programmers, so they are given incentives to stick around and do the 3.0 version.

      This is called the programmer life-cycle. The programmer life-cycle is comprised of phases that directly affect and predict productivity, rather than the activities of the product life-cycle.

      http://portal.acm.org/citation.cfm?doid=986710.986720

      The sequence of phases is: euphoric, productive, irreplaceable, resentful, bored, and unproductive. Overall productivity is characterized by an initial six month period of intense interest, at which time productivity rates are often an order of magnitude higher than the oft-quoted 500 LOC/month average. After a short period of volatility, the programmer then enters a prolonged phase of steadily dwindling interest, resulting in productivity rates that mimic the average.


      The sequence of phases can be successfully reset by departing from the current employer, to embark on a new project, career, or lifestyle.

    29. Re:Simple answer... by ShakaUVM · · Score: 1

      I was lucky enough to have a superstar as my mentor when I started working during my freshman year of college. He wrote some code on his lunch breaks that ended up becoming a software product that earned about a quarter of all the company's income. He could do stuff in an afternoon that would take me all week to write. The only edge I had was in math, so that whenever something needed a mathematical solution, I could solve it, when he would just approximate it, but that was about it. The best part is, he was an awesome guy, and taught me a lot. I still play racquetball with him.

      It kind of rubbed off on me after a while, and definitely led to me being able to write code faster, and more cleanly. Eventually, when I got around to writing CustomTF (which has been one of the largest mods for Quake for a while now), it basically was just two days of solid effort, and the thing ran more or less perfectly right out the gate.

      I haven't been writing code much recently, as I've move on to more business-running stuff, but he's still in the thick of things 13 years later... I think his previous project was writing Cars for the Wii. I dunno what he's doing now though.

    30. Re:Simple answer... by Anonymous Coward · · Score: 0

      I've heard some stories about Google, for example, that make me think that they could do with people who actually just 'get on with it' - ie not everyone has to be 'a superstar'. Perhaps it falls down to the interviewers. I applied for Google a few months ago, had a few intensive interviews, and nothing they asked for required any memorization beyond things that I would call "general CS knowhow".

      Didn't get any offers though, can't say I'm not bitter about it but really I'm pretty impressed by their recruitment process, demanding as it may be. The only place where I think I tripped up was where my brain wasn't working that morning and was half asleep, and memorizing every single manual on Earth wouldn't have helped me.

      Or maybe they demand more detail out of people who have some work experience in the field. I mean, most of us were applying as undergraduates.
    31. Re:Simple answer... by kramulous · · Score: 1

      Such is the way of the force.

      --
      .
    32. Re:Simple answer... by kramulous · · Score: 1

      What? Did you need more than 640K?

      --
      .
    33. Re:Simple answer... by Jynx77 · · Score: 1

      In case you forgot to read the question, he wants *programming* superstars, not MBA wannabes. Board positions? Not programming in 10 years? Are you kidding? You have no clue what a programming superstar is.

      --
      It's turtles all the way down!
    34. Re:Simple answer... by mscheid · · Score: 1

      "Hopefully not still programming."

      As someone already has said: It's a common misconception, but wrong. Very wrong.
      It's a common problem in traditional company structures: In order to advance your career you have to be promoted to management level (and hence stop programming).
      Make it possible for programmers to have a real career while still programming, and you're a good step closer to getting the 'superstars'.

    35. Re:Simple answer... by apt142 · · Score: 1

      I'd have to agree with you.

      If a person loves programming and has the skills and devotion to become a "superstar" at it (could someone define superstar distinctly). Then I would think they would want to continue doing it. I think that promoting them away from that would be both bad for the company and bad for the superstar.

      Most programmers that like their work would much rather gather more respect and more income than a higher rung on the corporate ladder. I can't imagine this would be different for superstars. I think that companies would be much better off giving them a voice and listening to them than promoting them.

    36. Re:Simple answer... by madboson · · Score: 1

      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. Matlab experience is not going to give some one the ability to program in a computationally optimized way (which is the whole point of computational intensive libraries), in fact Matlab has a tendency to make people lazy because it takes care of too much for you. If you want computational programmers then you will definitely want some one with mathematics or physics (I will lump in the quantum chemists and molecular biologists in there too) in their background. These kind of guys are typically the ones who started off in their respective fields first and were found to be at least competent in programming.
      --
      Mo00o
    37. Re:Simple answer... by JamesP · · Score: 1

      Amen brother!!!

      But I would also add:

      s/PVCS/Clearcase

      And YOU BET I would do that, exactly as you say.

      --
      how long until /. fixes commenting on Chrome?
    38. Re:Simple answer... by pushf+popf · · Score: 1

      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.

      Eventually, "Live to code" wears off, and they discover that it's really nice to have a wife who loves them, maybe a dog or two and possible a kid or two, and that spending time SCUBA diving on small islands with warm sandy beaches beats the crap out of banging on a keyboard or discovering the perfect algorithm.

      Then you'll wish you had a whole raft of "really good" programmers that are actually replaceable, so when Mr. Superstar decides that having a life is more enjoyable than coding, you're not out of business.

    39. Re:Simple answer... by Anonymous Coward · · Score: 0

      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) in other words, only christians and jews can be superstars, so be sure to only hire christians and jews.
    40. Re:Simple answer... by karbyn-aceous · · Score: 1

      > As you can tell no superstars work for us... f'ing LMAO

    41. Re:Simple answer... by Anonymous Coward · · Score: 0

      You insensitive clod! Since I haven't worked with 1,000 programmers, now you are making my doubt my superstar status!

      I guess I'll have to hire 999 programmers to find out. :-)

    42. Re:Simple answer... by bikin · · Score: 1

      Have we worked together in my previous company?
      In my previous company the development group had to configure an library in a server that was used for development (not production); since it was a new library we didn't know exactly what we needed, and since it used the lower ports (below 1024) we required root. However, development was NOT ALLOWED to have root access to any server, no matter if it was used only by development, so we had to give every configuration change (even if it was one line) to an administrator (who was completely overworked) who made the change 2 hours later.

      Superstars didn't stay long there either (not that I am one of them)

    43. Re:Simple answer... by Anonymous Coward · · Score: 0

      Companies like this are the reason that I want to get out of IT and do something else, either programming or just getting out of IT all together.

      The IT build/support staff has become a haven for lower and lower paying jobs for people that just want to do the bare minimum to get by and for the fools that think that working 20-40 hours of UNPAID overtime is just the way the world works.

    44. Re:Simple answer... by DavidHumus · · Score: 1

      The question is hoplessly vague.

      It's like asking "How can I hire a superstar athlete?" without caring about the sport.

      A better question in this case might be "How can I hire a clue about what's really important for doing this job?"

    45. Re:Simple answer... by drew_eckhardt · · Score: 1

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

      I think the goal is pretty much to be "retired" and working for fun as a hands-on CTO/chief software technology officer/technical founder in a different company (with some of their best co-workers) with some reasonable balance of business, technical leadership, research, and hands-on development not necessarily in that order.

      Some people have a passion and aptitude for painting or writing music; others do software and people don't get to be exceptional without the passion to get you there.

    46. Re:Simple answer... by dwater · · Score: 1

      I've heard some stories about Google, for example, that make me think that they could do with people who actually just 'get on with it' - ie not everyone has to be 'a superstar'.

      Perhaps it falls down to the interviewers.

      I think it does, yes. That's a good point. Some of the interviewers I've had do focus on method more than memory, so to speak, and that's got to be a good thing, and also some have a knack for making an interviewee more comfortable which, for me, is done by being more interactive.

      One interviewer I had was particularly quiet, and, after a while of attempting to solve some problem he'd given me, I asked if this was the sort of thing he was after, he said, "Some people don't like it when you ask that. Some people *really* don't like it." It seemed to me like he thought I was trying to cheat or something. It seemed he forgot that an interview isn't purely about the company assessing the candidate, but also the candidate assessing the company - ie it didn't give me a good impression of the sort of people who work there.

      On the other hand, I had another who was very good and encouraged me to explain what I was thinking/doing when I was coming up with some algorithm or other - he was the one at the end of the process too.

      I'm not just talking about Google either. I mean the attraction with Google (for me) isn't the pay or the people, or even the environment (though that's not at all bad, it seems); no, for me, it's the interesting projects. The people would vary depending on the projects you work on - same is true of anywhere. These same interview problems are true of other companies too, even those that don't really have anything much to offer.

      I applied for Google a few months ago, had a few intensive interviews, and nothing they asked for required any memorization beyond things that I would call "general CS knowhow".

      I guess that's true to some extent, but even *that* hugely biases those with Computer *Science* training, and *recent* computer science training too. Note that most of their positions are advertised as *engineering* positions and that's different to being a scientist. On a telephone interview, they were keen on me knowing algorithms such as this big-oh stuff. All well and good, and I had done my research so predicted they'd be asking me about that. I had no formal training in that (they didn't teach me that at school), but I read up on it, listened/watched some of the Berkeley classes they have online (very interesting/useful) and was able to answer all the interview questions correctly. However, I felt obliged to point out to him that I had only memorised the facts over the past week, and had no formal training - to not do so would be like lieing to him (IMO).

      Didn't get any offers though, can't say I'm not bitter about it but really I'm pretty impressed by their recruitment process, demanding as it may be. The only place where I think I tripped up was where my brain wasn't working that morning and was half asleep, and memorizing every single manual on Earth wouldn't have helped me.

      Yes, that was a problem for me too. My telephone interviews were either early in the morning, or late at night (time zone problems), and I had some jet lag for the ones I had on site (it's actually surprisingly tough doing 4 or 5 interviews in a row).

      I didn't have any brain freeze problem, but if I don't know something I'll admit it - I have no problem in having a go, but if it's outside my area of expertise, I don't see much point in trying something when I don't have access to the resources I would in a real situation. For example, I had to do some MySQL tasks at work recently. I've not done any MySQL so I went online and learned about it, and learned by asking (and answering) questions on the MySQL newbee forum. What value would there be in asking me to figure out a MySQL problem during an interview? No one has asked me that, but it's the same sort of thing.

      Pickin

      --
      Max.
    47. Re:Simple answer... by bjourne · · Score: 1

      ClearCase isn't nearly as bad as you or anyone else makes it out to be. A SuperStar programmer would rather see CC as an interesting opportunity to work with a VCS that takes a totally different approach than all other systems out there. Sure I prefer git too, doesn't everyone? But I'd rather work with nice friendly coworkers and CC than with git and arrogant morons who thinks VCS is the most important part of the job.

  3. 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 Intron · · Score: 4, Interesting

      True. One of the smarter people that I know never finished his degree. He got bored and left school to start a successful company. However, its unlikely that his resume would ever go through an HR dept filter. The CTO or Principle Engineer would call him personally and make an offer.

      --
      Intron: the portion of DNA which expresses nothing useful.
    2. 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.
    3. Re:One opinion by jadedoto · · Score: 1

      Bill Gates, you say?

    4. Re:One opinion by onkelonkel · · Score: 1

      If you have a number of Principle Engineers, is the one in charge the principal Principle Engineer?

      sorry

      --
      None of them can see the clouds; The polished wings don't care.
    5. Re:One opinion by sigmabody · · Score: 1

      Marketing is important; I found my current job through Monster randomly, it just happened to be there when I found myself out of work. I'd say that's the exception to the rule, though... most of my current company's engineering hires have been through personal references, contacts, and recruiting through contacts. Sorta like the LinkedIn thing.

      As far as hiring people you find, it's all about benefits, environment, and matching what you have to offer with what the engineers want. Salary is not necessarily the most important consideration for people who are really good at what they do, although a high salary never hurts. Always remember that "free" (for you the company) benefits can go a long way too; eg: a company policy not to spy on their engineers, private offices, the right work environment, flexible hours / location, input on development methodologies, free drinks, etc.

    6. Re:One opinion by xoundmind · · Score: 1

      I won't take a job where the person interviewing treats me as if they are doing me a favor in offering the job.

      I'm had at least a half-dozen interviews in the last 20 years where I am expected to declare exactly why I want the job....My usual thought is, "Well, I won't know if I want it until I have a few weeks to reflect upon the idea."....Not that I actually say that.

      One needs to have a strong enough sense of self to remember: I'm interviewing them and not the other way around.

    7. Re:One opinion by Intron · · Score: 3, Funny

      No. He's just the one who has principles.

      --
      Intron: the portion of DNA which expresses nothing useful.
    8. 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.

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

    10. Re:One opinion by ehrichweiss · · Score: 1

      You hit the nail on the head. It has little to do with what you think you might like about the job but rather is more about what you actually experience in the job. I always look at these types of things as making a kind of deal with the devil: you might get all the things you want for the price they ask(your skills and knowledge), or you might discover they withheld information about some of their internal policies, or that the receptionist is overly sensitive to anything remotely "off-color", or that they don't dig you wearing open-toe sandals and cargo shorts during the summer(for me that is an absolute requirement over any other; even if they refuse to let anyone else do it since I make a very good living freelancing).

      --
      0x09F911029D74E35BD84156C5635688C0
    11. Re:One opinion by Arccot · · Score: 1

      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. One thing I would add to that. If you're willing to offer a high salary to someone who is a "superstar", advertise it. I only apply for jobs that clearly list their expected range of pay, because I don't want to waste my time or the employers if they're offering something below what I want/feel I deserve.

      That's also why I like good recruiting agencies. The good ones ask up front what the salary for the position is.

      For someone who is good at what they do, hiding the salary is like a slap in the face. It's like saying "you'll take what I give you, because you're desperate enough to go through 2 interviews to even get that information."

      If you advertise a high salary, you're going to get apps from good, mediocre, and poor applicants. If you don't advertise a salary, you're going to get the poor and desperate mediocre applicants. That's not who you want working for you.
    12. Re:One opinion by bzipitidoo · · Score: 1

      The S/N ratio on Monster and Dice is too low for those sites to be much use for "star" people looking for work. The complaint about long arbitrary skill lists is spot on. Employers will ask for the moon in "experience" (one reason of course being to filter out the noise at their end) while totally missing what really matters: talent. Then they offer cut rates on a contractual temporary basis so they can dump the hires if they want, then in saying what work they want done show they don't understand they only need an average, mediocre code monkey to take on some humdrum, tedious, dead end job, the scut work of programming. If a star even bothers applying for one of these jobs, he can't get past HR. HR is fantastic at throwing out the baby with the bathwater. Not one of them will dare take a chance on someone who has extensive C/C++ experience, advanced degrees, numerous victories in programming contests, great recommendations, but very little in the latest in language fads, Java or .NET. That's most of what I see on those job sites.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    13. Re:One opinion by Impy+the+Impiuos+Imp · · Score: 5, Funny

      I love stuff like "Must have 5 years of Java experience" -- 2 years after Java was released.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    14. Re:One opinion by NinjaTariq · · Score: 2, Funny

      In my experience, an additional prefix is added:

      Commander in Chief Lord High Lead Senior Principle Engineer, should be the highest non-managerial position.

    15. Re:One opinion by prockcore · · Score: 4, Funny

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


      But they're so much fun to ponder in a non-riddle context.

      "Why does a farmer have a wolf? How can a 5lb chicken eat a 50lb bag of grain? How is he able to prevent the wolf from eating the chicken when he's present?"
    16. Re:One opinion by Starlet+Monroe · · Score: 1

      Here's my add to that:

      Don't play interview games; talk to me like I'm a person. How I'm treated in the interview is how I'll expect to be treated as an employee.

      --
      ++
    17. Re:One opinion by siriuskase · · Score: 1

      When's the last time he updated his resume? I suppose once your compensation is divulged and justified in the 10K's or you make a list at Forbes, you don't need a resume.

      --
      If you must moderate, please moderate as irrelevent, not something bad, because I'm sure someone will find this interest
    18. Re:One opinion by 22_9_3_11_25 · · Score: 1

      hahahahaha if I had mod points you would get +++ for hilarity!

    19. Re:One opinion by azrider · · Score: 1

      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.
      Also remove two other major mistakes:

      Asking for salary history (you don't need to know what I have made in the past)
      Asking for salary requirements (you need to tell me what my expertise and talent are worth to you)

      In the first case, as a consultant I may have been working on a multimillion dollar project with a short time frame. This is the sort of job that pays a significant premium. Or, I might have been working on something that just seemed interesting at the time. Past earnings have no bearing on present and future opportunities.

      In the second case, I will quote you what I want, not I will accept and definitely not what I will settle for.

      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
    20. Re:One opinion by networkBoy · · Score: 1

      Actually an excellent example (not of a programmer, but of a marketing superstar).
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    21. Re:One opinion by Profane+MuthaFucka · · Score: 1

      Something else too. If a really good programmer working for you indicates that he wants you to give him lots of programming to do, plus steaks shoved under the door 3 times a day, then that's what you do.

      Don't try to "develop" the programmers who are doing fine and having fun thank you very much. Just give them what they ask for and stay out of their way. The best you can do is offer to mentor and develop anyone who asks. If nobody asks, don't take it personally.

      --
      Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
    22. Re:One opinion by silentbozo · · Score: 1

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

      "Secondly, market the job -- make sure people can find out about it."

      "Third, salary, salary, salary, and benefits (particularly insurance and family coverage)."

      Dead on target. If you're hiring, and you're serious about bringing in quality talent, rather than another warm body, you should take these observations to heart.

      I'm currently looking, and everywhere I'm looking I'm seeing entry-level drone positions (or what I would consider entry-level) - java, IT, support, etc. I rarely see any pay ranges, and I'm not going to waste my time or take the risk of raising red flags by applying to a position where I'm going to get offered several tens of k less than my last job, and be bored silly. The recruiters I've encountered have ranged from mediocre to indifferent, and have not made me very enthused about applying - ie, here's the website, apply online (this includes Google, btw).

      My biggest problem is that I'm more interested in doing start-up work (I have background in multiple fields, with specializations in law and management), but apparently there's some super-secret recruiting network only known to VC's and their kin. Either that or their recruiters never bother to get back to you when you start asking questions about their super-secret startup. Too bad for them.

      If I may add an addendum to the observation about companies treating programmers like a commodity - if this is what your process is geared for (ie, generic online applications filtered and processed by HR), commodity programmers is all that you're going to be getting from your applications pipeline.

      And one more item. If you expect talent to treat you seriously, reply promptly to queries, especially if they're not coming through an internal jobs website.

    23. Re:One opinion by XPisthenewNT · · Score: 1

      "Why does a farmer have a wolf? How can a 5lb chicken eat a 50lb bag of grain? How is he able to prevent the wolf from eating the chicken when he's present?"
      Hahah great points. This is how I'm going to answer interview riddle questions in the future!
    24. Re:One opinion by SpaceLifeForm · · Score: 3, Informative

      The problem is that GP was not joking.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    25. Re:One opinion by Anonymous Coward · · Score: 0

      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. I totally agree with you. For only this reason, I lost interest in Google after my clearing first set of interviews.

      Maybe, for this reason superstars love working for smaller companies - less politics and more freedom in getting things done.
    26. Re:One opinion by gal1264 · · Score: 1

      I agree 100% that arbitrary barriers are worthless. More often then not, it's the developers who believe so (I consider myself a SW Engineer not a Developer), who don't get work done, because they can't just evolve around problems as they come up.

      Developer -> I've only ever programmed in (Insert Language Here), but I'm really good at it.
      SW Engineer -> I use C for my embedded projects because of code size and performance, mostly C# for my windows applications because I get to re-use all these great MS libraries, and Frankly pretty much any time I need a quick and dirty tool for generating test scripts, or helping with Cadence I use PERL.

      Look for people who evolve themselves to meet a problem, rather than try to make the problem fit their system. I'd say more often then not these people will have excelled time after time in seemingly unrelated jobs, versus the people who continue doing the same thing forever, 'til they become an obsolete commodity and are only good for complaining about outsourcing.

      Most of the people I consider superstars are really just regular old problem solving engineers. These people can take any problem, and either find or build components to make it happen. I've known a *FEW* superstars who were ONLY software engineers. I'm sure that even those guys need some variety and support too though.

      Honestly I'd say what's harder is retaining people like this, because they CAN always get another great job. It's probably more important that you give these people interesting, and varied work, make sure you don't overload them as they're already the most productive piece of your puzzle, and give them a strong supporting cast they can leverage to be even more productive.

      At least that's what I think makes me a superstar, and has exemplified the ones I've worked with before. What makes me feel like I can say these things?

      Some of my background:

      Started at AMCC as an intern, basically a lab tech.
      4 years at Qualcomm in my early days doing test.
      http://vesicle.nsi.edu/nomad/segway/ -> Neural Simulation/Segway based Soccer Playing Platform
      http://natural.uchicago.edu/~tgal/ -> Parsing and Analysis Tools for Affymetrix Gene Array Arabadopsis Sequencing
      http://www.ietf.org/internet-drafts/draft-ietf-speechsc-mrcpv2-15.txt -> IETF Speech Recognition Protocol
      Development from scratch and evolution of a couple of medical devices (Triage Wireless/Dexcom)

      Currently I'm a couple years deep working at a semiconductor startup, where I've done some Digital Blocks for our ASICs, Design and Layout of our basic Electronics, and ALL of the embedded firmware, along with PC Software for in house, and external use. I truly believe, and have yet to be disproved, that I can just about solve any problem. Usually it's the time -vs- desire for elegance that's my weakness. I guess that's what management is for....right?

    27. Re:One opinion by QRDeNameland · · Score: 1

      If you're hiring, and you're serious about bringing in quality talent, rather than another warm body, you should take these observations to heart.

      While I agree wholeheartedly with this, my concern is that so much of the IT industry is turning to the point where they truly only want "warm bodies" vs. "quality talent".

      It is my opinion that "quality talent" is what makes good software. Even if we're not talking about "superstars" (lord knows I'm not one), the things that make a development project succeed are largely intangible; interpersonal relations, good development processes, few ego conflicts, and people who are clever, creative, and adaptable. these people will become your "superstars" just by becoming the experts in the good work they've done.

      The problem is, especially at the larger corporations, that management is very uncomfortable with in-house "superstar". The more that crucial areas of their business structure become dependent on a single person's expertise, the more that person becomes a threat of either demanding more money, or leaving with your precious business process knowledge.

      The last large corp I worked was frantically trying to implement an MSF-based development framework, the purported benefits being faster, cheaper development with fewer critical issues. The more I read about their excessive pigeonholing of roles and endless layers of process cycles, I came to the conclusion that they were not trying to make their development any cheaper or faster or more reliable. Rather, the idea was to make it so that as long as you threw *some warm body/bodies* into any given role, and they could do any kind of mediocre job at it, that they wouldn't *need* to rely on expertise that could walk out the door at any time. Maybe this is personal, but much of what I've seen with outsourcing/offshoring reinforces this in my mind.

      --
      Momentarily, the need for the construction of new light will no longer exist.
    28. Re:One opinion by PCM2 · · Score: 1

      Here are some more for you:

      Is this the test now? Which desert? What's a tortoise? Do you think up these questions yourself, Mr. Ellison, or do they write them down for you? What do you mean I'm not helping? My mother?

      --
      Breakfast served all day!
    29. Re:One opinion by geekoid · · Score: 2, Funny

      Yep, I remember talking to someone about Powerbuilder 5. They want 5 year experience, and it had only been out for one.

      I mentioned that in the interview, and he said he had a stack of interviews with people the have over 5 years experience with power builder 5.

      I said, "oh, I have no doubt those pieces of paper say that, but it has only been out for a year."
      Then excused myself and left.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    30. Re:One opinion by Actually,+I+do+RTFA · · Score: 1

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

      Some of us enjoy riddles as a pass time. I don't understand why it would matter if they were programming problems in disguise. In fact, thinly disguised problems from textbooks is the exact wrong type of riddle. The purpose of riddles is to show that you have a brain and it can work. Now, if the right answer to a riddle is considered necessary, that's a poor condition. But I see nothing wrong with asking a difficult question. Difficult problems will come up in the job, and how you deal with them (as well as how well you deal with them) is a vital question the interview seeks to resolve.

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

      So, you want me to help one of your programmers do his job before hiring me? Just spending enough time thinking about a problem to be able to discuss a solution can lead to awkward pauses.

      --
      Your ad here. Ask me how!
    31. Re:One opinion by JavaRob · · Score: 1

      [...] or you might discover they withheld information about some of their internal policies, or that the receptionist is overly sensitive to anything remotely "off-color" [...] Hmm. I imagine that therein lies a story AND even not having heard it yet, I'm not sure I will be 100% convinced that the company and receptionist were in the wrong.

      Relevant SNL deep thought: "When you go for a job interview, I think a good thing to ask is if they ever press charges."
    32. Re:One opinion by fyngyrz · · Score: 1

      The real riddle there is why, when they pictures of all the replicants to show Our Hero, was mr interviewer bladerunner guy ignorant of the standard labor model he was talking to until he saw the pupils dilate in a specifically non-human manner? Never could work that out.

      --
      I've fallen off your lawn, and I can't get up.
    33. Re:One opinion by Anonymous Coward · · Score: 0

      Exactly the same as the old engineering problem of the interior volume of a light bulb - the engineer who got the job did NOT calculate the internal volume mathematically, he just broke the base off the bulb and filled it with water.

    34. Re:One opinion by zerocool^ · · Score: 1


      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.

      Well, if you're a superstar developer, you can probably expect red-carpet treatment. I'm not one; but I'd like to interject that an interview is a two-way conversation. You're interviewing a potential candidate, and they're interviewing a potential employer. Unless you really are the top 0.1% (of potential employees, OR of employers), don't go into the interview thinking the other party owes you. Both sides are interviewing the other.

      ~wX

      --
      sig?
    35. Re:One opinion by tyger430 · · Score: 1

      I'll readily agree with your second and third points, but your first depends on the marketplace the company is involved in. If it's ZYX Company that does systems for nationwide department stores, then the position should really require a broader range (I've done more development in 5 different languages/IDEs in the past 3 years than some do in 10+). The stickler comes in when you're working as a govvie contractor: most contracts have a requirement for education/experience that are immutable. Occasionally, you'll find someone tha the customer (government) is willing to waiver, but that hasn't happened often in what I've seen.

    36. Re:One opinion by Mongoose+Disciple · · Score: 1

      Yeah, I remember seeing a lot of job postings like that in that era.

      I'd often send them my resume with a very nice cover letter saying, in essence, "The person you're looking for does not and cannot exist because you've made this literally impossible demand. I suggest you consider my resume instead."

      Somehow I never got a call from one of those. I'm theoretically more diplomatic now.

    37. Re:One opinion by Snocone · · Score: 1

      Um, actually, that exact thing DID happen to me in 1997, I applied for a job that required 5 years programming in Java on Mac OS, and I pointed out to them in my cover letter that it hadn't been released for that long.

      Since I was the only one out of the entire applicant pool that called them on it, I got the job, too :)

    38. Re:One opinion by fyngyrz · · Score: 1

      I'll readily agree with your second and third points, but your first depends on the marketplace the company is involved in.

      What happens then is they have trouble getting great talent. That's almost always what happens. Because great talent has a strong negative correlation with the ability to endure 4, 6 or even 8 years of boredom.

      <HUMOR><HANDWAVING>
      ...and then you typically end up with exactly the kind of application we associate with the government. It costs way too much, is delivered way too slow, doesn't do what the spec said it was supposed to in the first place, is completely incompatible with everything else ever written by the hand of man or woman, and in the end, gives up your data to someone who walks in a backdoor or even a front door left open by default entry criteria. When the final version is released, the rocket misses mars because module A was metric, and module B was imperial. None of which will matter when the whole thing is stamped classified, though for years, there will be a very small group of people with funny patches on their jackets who exchange knowing looks and snickers when they see each other.

      Q: "Why couldn't the program induce lasing in the tuned cavity?"
      A: "The whole thing was based on black ops..."
      </HANDWAVING></HUMOR>

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

      Oh, no. I totally agree. Thing is, it pays well. And for someone in his late 20's who wants to be able to get on with his and his family's life soon, I'm willing to sacrifice for a bit until I can take the jobs that I want.

    40. Re:One opinion by SanityInAnarchy · · Score: 1

      I'd suggest that clever answers to these riddles can help, especially if the interviewer isn't attached to a "right" answer.

      For example: "How would you weigh a Boeing 747?" Obvious answer? "Call Boeing."

      I would say, any candidate who doesn't at least try that should be gone. Somewhere on The Daily WTF is an article which explains it best -- I'll try to quote from memory: "Which would you rather have working for you? The guy who takes the plane down to the docks and puts it into some water-displacement apparatus? Or the guy who calls Boeing?"

      I know that no matter which side of the table I'm on, any answer other than "Call Boeing" is severe NIH syndrome, and should tell me something about what the actual work will be like.

      --
      Don't thank God, thank a doctor!
    41. Re:One opinion by Spock_NPA · · Score: 1

      If you asked "How would you weigh a Boeing 747", the obvious answer is not "Call Boeing". When you call Boeing to request the weight of a 747, you are not doing any actual weighing and it can definitely be argued that the question asks you to undertake the actual weighing process. What you should have asked instead is, "How would you determine the weight of a Boeing 747?" Phrasing it like that makes it a lot more clear that you are only interested in how the person would go about finding out the weight of a 747 and not the actual physical process of weighing an object.

      --
      Regards,
      Spock_NPA
    42. Re:One opinion by Anonymous Coward · · Score: 0

      The easiest, cheapest, and most reliable way for a company to find quality employees is by word of mouth and employee referrals.

      I'm a programming superstar and I gave a referral once for someone who turned out to be a programming deadbeat. Boy was I red-faced.

    43. Re:One opinion by CortoMaltese · · Score: 1

      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. :-) I'd change that to "market your company". The superstar programmer is more interested in the environment he'll be working in rather than the specific job. He'll want to work for a company that will give him tasks that best suit his skills and interests.
    44. Re:One opinion by Anonymous Coward · · Score: 0

      This is totally true.

      I mean, define a "superstar"? Does a superstar necessarily have all the skills you need? or is a superstar someone who is willing to learn and work hard to get the job done. There are many other (in my opinion..better) qualities than "can program really well and reads the jdk before bed every night."

      You should look for those types of people that are willing to do whatever it takes, and then let them do it.

    45. Re:One opinion by The+Governor · · Score: 0

      "well, I'd look it up online. Why waste time figuring it out when the answer is done for me?"

      That is exactly my philosophy and I wish I could figure our how to market myself that way. Too many positions require X numbers of years in (buzzword).

      Also I think superstars would be easier to find if we could remove the presumption that only "grads" are able to be knowledge workers. No one ever asks me what hardware I know, what languages, what platforms or environments. It always goes like this:

      (Recruiter): Hi Mr. X. I think your skills would be a great match for one of our positions. I just need to ask you a few questions.
      (Me): Great! Fire away!
      (Recruiter): So what is your degree in?
      (Me): I don't have a degree
      (Recruiter): Awkward silence (can't comprehend how I can tie my shoes without a degree)
      (Recruiter): Oh, um...I see.....well.....um..........I don't think..........
      (End of pre-interview)
      --
      The more I know, the more I know I don't know.
    46. Re:One opinion by hoganlong · · Score: 1

      I did not get a job once (with coned) because I had less .NET experience than the candidate who did. I may or may not be a superstar, but I don't lie in an interview -- a clear example of someone who is most certainly not a superstar...

      At the time I had 3 years experience in .Net and it had been out for 3 years.

      Go figure.

    47. Re:One opinion by Anonymous Coward · · Score: 0

      And if you go with a stupid riddle, make sure you understand it fully. I will use the riddle to evaluate you, and if you aren't a coder you will probably fail.

      Interviewer: Write a function to reverse the words in a sentence.

      Me: You mean use strrev?

      Interviewer: Sorry, I can't help you solve it.

      I write down "return strrev(str);"

      Interviewer: No, that's not what I meant...

      Me: Sorry, I asked for clarification. (seriously considering saying "Thank you for your time. We'll get back with you." and walking out)

      ----

      Interviewer: write a function to determine if a number is power of 2.

      I write "return !(val & (val - 1));"

      If special cases are brought up, I provide them. If special cases aren't brought up, I assume your code quality ignores them and adjust my willingness to work for you accordingly.

    48. Re:One opinion by Fulcrum+of+Evil · · Score: 1

      How is he able to prevent the wolf from eating the chicken when he's present?"

      Farmer john has a shotgun and a big boot. Also, the wolf's already been alpha'd by him.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    49. Re:One opinion by dj_segfault · · Score: 1

      "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." You have to treat them right, but "throwing more money at them" is often not the answer. Truly creative brilliant people are motivated by very different things. For instance, one of the silly things that keeps me at my current job is a private office with a closing door and an opening window. Creature comforts, opportunities to socialize (or not socialize), free food that costs way less than the salary bump you're talking about, interesting decorations in the office are all wonderful and cheap motivations. Another example: I will not accept a job offer from a company if I don't see Dilbert cartoons (or some moral equivalent) posted in personal areas, because that means they squelch dissent and Management is insecure. I can't work in an environment that I can't constructively criticize See the book "1001 Ways to Reward Employees" by Bob Nelson.

    50. Re:One opinion by fyngyrz · · Score: 1

      I agree completely. It is comparatively very inexpensive to do, and if you don't do it, you're saying something very bad to the worker.

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

      Because the scriptwriters forgot to tell the director and the props people that the files weren't supposed to have pics on them like a normal police file should. Also, it was the _lack of_ pupil dilation (lack of emotional response) that gave them away.

      --
      Something bad is coming when people are suddenly anxious to tell the truth.
    52. Re:One opinion by ehrichweiss · · Score: 1

      "Hmm. I imagine that therein lies a story AND even not having heard it yet, I'm not sure I will be 100% convinced that the company and receptionist were in the wrong."

      Actually no story. However you sound like you could be a receptionist. I guess if I say that someone was black balled from my club that you'd testify that it was both a racist and sexist statement since it mentioned both color and alluded to testicles? Or how about if I say that someone was acting in a niggardly fashion? Panties in a wad yet?

      Political correctness and euphemisms are the death of true expression. I'm not a "Native American", I'm an Indian; my cousins aren't "African American", they're Black. Your bra isn't showing, it's your tits.

      Now how about you go get me some coffee, cupcake.

      </soapbox>

      --
      0x09F911029D74E35BD84156C5635688C0
    53. Re:One opinion by SanityInAnarchy · · Score: 1

      If you asked "How would you weigh a Boeing 747", the obvious answer is not "Call Boeing". When you call Boeing to request the weight of a 747, you are not doing any actual weighing and it can definitely be argued that the question asks you to undertake the actual weighing process.

      In which case, let me clarify the answer: "I wouldn't. I would call Boeing instead."

      What you should have asked instead is, "How would you determine the weight of a Boeing 747?" Phrasing it like that makes it a lot more clear that you are only interested in how the person would go about finding out the weight of a 747 and not the actual physical process of weighing an object.

      Yes, that does make it more clear. That may or may not be a good idea, though. This is about finding out if you've got a clever, practical person, and such a person would (hopefully) first attempt an easier solution, even if they had to go ask for a clarification. Think about it: If your boss told you to weigh a 747, wouldn't the first thing out of your mouth be "Can't we call Boeing and find out? Or do you want me to do it myself?"

      --
      Don't thank God, thank a doctor!
    54. Re:One opinion by JavaRob · · Score: 1

      Err... maybe I should have put a ;) at the end of my comment?
      I figured the Saturday Night Live reference might work as a tip-off that it was a humorous comment.

      Either way, I wasn't assuming you were an ass before, but I'm kinda getting that sense now.

    55. Re:One opinion by ehrichweiss · · Score: 1

      Thanks. You've proven your "ass" ets as well with that snide remark.

      --
      0x09F911029D74E35BD84156C5635688C0
    56. Re:One opinion by dmlpat · · Score: 1

      disassemble the 747, weigh each part, make the sum, reassemble the 747

  4. OSS guys? by CRCulver · · Score: 1

    Find a developer of an admirable Free Software project who, for whatever reason, isn't currently employed as a professional software developer and make him the right offer. Just go after people who make the code you respect the most.

    1. Re:OSS guys? by HeroreV · · Score: 1

      Aren't most free software developers going to want to work on free software? Maybe there's not enough such work to go around for them, but if you're not producing free software, they're probably not going to be very happy about working for you.

    2. Re:OSS guys? by Random+Walk · · Score: 2, Informative

      Aren't most free software developers going to want to work on free software?

      While I am an OSS developer, I would rather work on an interesting non-free project than on a boring free project. And I suppose that most OSS developers are employed (like me), but still might consider an offer that looks interesting.

  5. Simple filter. by LWATCDR · · Score: 1, Interesting

    Ask them who Knuth is.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:Simple filter. by trolltalk.com · · Score: 3, Interesting

      Ask them who Knuth is.

      1. Just ask them who CowboyNeal is. If you get a blank stare, go on to the next candidate.

      2. Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes. You'll get a good idea as to what others in the community think of them. No friends? Guess they had nothing to say. No foes? Shies from controversy or doesn't have strong opinions. No journal entries? Possible indicator that they're not much into sharing experiences, knowledge, etc.

      3. Engage them in open discussion in a thread or 3. Easy enough to do - just look at their profile page and track their latest comments.

      Lets face it, the biggest problem with development (and what causes the most failures) is not the "superstar" quality of the ocders, but their ability to work as a team, which basically means "management" by the program lead. If the lead isn't able to socialize outside the coding group (and open up the barriers between the coders and the rest of the business), you're either going to fail, have lots of delays, or a really poor product.

      We give a lot of lip service to communications, but communications is more than just emails and meetings. Most real communications are one-on-one, with a bit of socializing thrown in. People are more likely to be open and honest about problem areas, and to offer their opinions and solutions, outside of the "formal development process".

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

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

    4. Re:Simple filter. by Anonymous Coward · · Score: 1, Funny

      Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes.

      Logged in comments are for latecomers to slashdot. ;-)

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

    6. Re:Simple filter. by Colbalt+Blue · · Score: 1

      >>Ask them who Knuth is. Didn't he write Computer Programming For Dummies?

    7. Re:Simple filter. by Anonymous Coward · · Score: 0

      You assume companies want the typical slashdot poster.
      I assume your sarcasm detector's broken, you sausage eating, Poland invading, pointy hat wearing yidkiller.
    8. Re:Simple filter. by Nefarious+Wheel · · Score: 1

      Ask them who Knuth is.

      Love that one. Ask them what their favorite fundamental algorithm is.

      Then ask them how a bubble sort works, and filter out anyone who doesn't say "Why could you possibly want to know about that?

      Not all experienced programmers are good programmers. I once encountered a programmer who'd developed a hydrology program in Pascal over some years, and encoded his entire database into an enumerated data type. I only found out about it when he'd run out of cardinality.

      --
      Do not mock my vision of impractical footwear
    9. Re:Simple filter. by Impy+the+Impiuos+Imp · · Score: 1

      > Ask them who Knuth is.

      Guy who wrote a trilogy of computer science algorithm standards.

      > Just ask them who CowboyNeal is.

      Slashdot editor and creator/subject of the intensly boring and unfunny "last choice" of Slashdot's poll.

      - Next, ask them for their slashdot uid

      No problem with that. I've even abandoned 3 with lower numbers.

      - Engage them in open discussion in a thread or 3. Easy enough to do - just look at their profile page and track their latest comments.

      " "

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    10. Re:Simple filter. by Anonymous Coward · · Score: 0

      What happens when the candidate being interviewed is told "we'll be working in windows vista, using visual studio 2008?"
      I note it down, and during the second interview explain that it means an additional $5000 to the minimum sign-on bonus. I'm not wasting my time with dead-end technologies without some incentive.
    11. Re:Simple filter. by Anonymous Coward · · Score: 0

      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'm in 100% agreement. A really good programmer would politely wrap up the interview and make his escape as expeditiously as possible so as not to waste any more of the doomed employer's miserable life than is necessary.

    12. Re:Simple filter. by that+this+is+not+und · · Score: 1

      Guy who wrote a trilogy of computer science algorithm standards.

      See, you already blew it. Knuth is an IBM 650 hacker.

    13. Re:Simple filter. by bmajik · · Score: 4, Interesting

      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.


      Actually, I did that a lot when I first got hired at my current company. I flunked a round of interviews partially because of my hot-headed attitude and MS bashing.

      I did a 2nd round with a different group and kept the rhetoric to a minimum. But once I was in, I turned on the flame-thrower again. "I can't beleive you put up with this crap -- pine and sendmail will service 25,000 mailboxes on a 1 proc machine", etc. I would constantly compare the lame MS experience to some F/OSS experience. This was back in the 2000-2001 time frame. Was it annoying? yes. Did people listen to me? Yes. Did we switch to f/oss software? No. Did a lot of the software we used to do our jobs get better? Yes.

      The company I did this at?

      Microsoft.

      I'm a Microsoft Employee, and I'm a QA engineer (tools & automation developer). You had better beleive that when one of us says "F/OSS kicks our ass at this", people here eventually notice and try to remedy the problem. (Clearly, there's great job security here :))

      I agree with the generalities of your point. You need to pick and choose your battles. But one thing I'll say is -- if you're frustrated that MS products are so (in your opinion) inferior to some F/OSS (or any competing offering) product, MS is a great place to work. We take competition very seriously, and we need more people that are used to not rebooting, apps not taking down more than they need to, user separation, simple tools that are efficient and single-purposed, etc, to help us make better software. When I joined, there wasn't a linux compete team, a compatibility lab, etc etc. Now we have all of those things and there are people who actually study where we don't measure up.
      --
      My opinions are my own, and do not necessarily represent those of my employer.
    14. Re:Simple filter. by LWATCDR · · Score: 1

      "have not met a programmer outside of academia who could answer that question. "
      Hello nice to meet you. I am a programmer outside of academia.
      Actually the first CS book I lusted after was Algorithms + Data Structures = Programs by Wirth. My parents bought that for me for Christmas when I was in High School.
      I don't consider myself a superstar programmer but I would bent that most programmer of that class know at least as much CS as I do.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    15. Re:Simple filter. by Anonymous Coward · · Score: 0

      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?

      No, I'd just say goodbye at that point. Unlimited money couldn't make me program on, or for, Windows.

    16. Re:Simple filter. by trolltalk.com · · Score: 1

      In which case they aren't visible on slashdot anyway, so you won't see them in the first place.

      Besides, what do you think coders do when they want to take a break or blow off some steam? Some of us hit slashdot. At some point, you just HAVE to comment on something or other.

      Or if you're like me, you maintain work and non-work accounts under separate uids.

    17. Re:Simple filter. by ucblockhead · · Score: 1

      Congratulations. You just rejected Donald Knuth.

      --
      The cake is a pie
    18. Re:Simple filter. by Anonymous Coward · · Score: 0
      I'd never hire an active commenter on Slashdot.

      People who comment on boards just like to hear themselves talk. You don't want them.

      People who read the comments and learn from them - that's who you want. But don't hire the people who feel the need to pontificate.

      Seriously, why do you guys post? It's a huge waste of time. And for what?

    19. Re:Simple filter. by trolltalk.com · · Score: 1

      You have to work with the tools and resources at hand. In this case, slashdot is one such resource - why not (forgive the market-speak) *cough* leverage the synergies *cough* to troll for talent?

      Good programmers are looking for stuff that challenges them, makes them think, lets them play with interesting concepts and code. As an aside, I would think that telling them "we'll be working in windows vista, using visual studio 2008" means you've already lost them - everyone with any brains knows Vista is a turkey. Telling them that one of the targets is Vista is another story. It would be normal to test for as many platforms as possible, and one of those, like it or not, could be Vista.

      Sure, you can do all the things you suggest ... but, since we're having this discussion on /., why not look right here as well?

    20. Re:Simple filter. by Anonymous Coward · · Score: 0

      The truth is that people here are often opinionated, brash, and hostile to ideas they dislike.
      No we're not! How dare you say that?! You're so stupid, you probably work at Microsoft!
    21. Re:Simple filter. by trolltalk.com · · Score: 1

      I'd never hire an active commenter on Slashdot.

      People who comment on boards just like to hear themselves talk. You don't want them.

      People who read the comments and learn from them - that's who you want. But don't hire the people who feel the need to pontificate.

      Seriously, why do you guys post? It's a huge waste of time. And for what?

      Why? Because its there!

      Okay, not the most original line ... ;-0

      I could be sarcastic and say "tell us what miraculous technology you're going to use to contact the people just read, but don't comment ... the FBI, DHS, CIA all want to talk to you".

      One example should suffice - see this poll (currently running on the front page as I'm posting this). Obviously, over 34,000 people found it interesting. It was copied from this journal entry.

      Why not read some of the user's comments? As you said, "People who read the comments and learn from them - that's who you want" ... you won't get any of that going on if nobody posts.

    22. Re:Simple filter. by trolltalk.com · · Score: 1

      Congratulations. You just rejected Donald Knuth.

      Sorry - I certainly didn't mean to. Last year, the local Chapters had the 3-book set on the shelf. I made a note to myself to pick it up sometime ... (had other books I was buying at the time) ... went back, they were no longer there. I figured "who else would buy it?" Guess I was wrong ... :-(

    23. Re:Simple filter. by drachenstern · · Score: 1

      lol, so what's your non-work account uid?

      --
      Posted as I sit at work and contemplate cleaning the lab. And I was just starting to like the dust bunnies. Ah well, the server's'll be happy in the AM*

      --
      *not really, I keep them babies cleaner than my own self, which is impressive to those who know me and my shower schedule. For those who don't [everyone here], I shower in the AM, and whenever else I need one, but I'm not OCD or anything, I just don't like to sit around dirty or sweaty. I also wash my hands a lot; them's some germy places man.

      --
      2^3 * 31 * 647
    24. Re:Simple filter. by Anonymous Coward · · Score: 0

      What happens when the candidate being interviewed is told "we'll be working in windows vista, using visual studio 2008? A superstar programmer, by definition, would ask himself "Why are they making decisions about things that I know more about than they do? Why do I want a job where my responsibility will clearly mostly involve blowing smoke up some know-it-all's ass to make them feel good about themselves?" And they will not accept your offer.

      Bye.
    25. Re:Simple filter. by Anonymous Coward · · Score: 0

      This is completely absurd. If you want superstars, they're going to tell you that some of the decisions you've made are dumb. If you don't want superstars, don't pretend you do.

    26. Re:Simple filter. by Anonymous Coward · · Score: 0

      What happens if I'm the candidate being interviewed and I'm told "we'll be working in windows vista, using visual studio 2008?"

      I say fuck this job, why am I wasting my time at this interview.

    27. Re:Simple filter. by trolltalk.com · · Score: 1

      lol, so what's your non-work account uid?

      I'll give you a hint - see the "Can you afford to cut up your credit cards?" poll currently running on the front page?

      Look through the comments, and you'll find the original author's journal :-)

    28. Re:Simple filter. by mkosmul · · Score: 1

      2. Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes. You'll get a good idea as to what others in the community think of them. No friends? Guess they had nothing to say. No foes? Shies from controversy or doesn't have strong opinions. No journal entries? Possible indicator that they're not much into sharing experiences, knowledge, etc.
      Or perhaps they've got a life and better things to do than engage in discussions on Slashdot?

    29. Re:Simple filter. by trolltalk.com · · Score: 1

      2. Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes. You'll get a good idea as to what others in the community think of them. No friends? Guess they had nothing to say. No foes? Shies from controversy or doesn't have strong opinions. No journal entries? Possible indicator that they're not much into sharing experiences, knowledge, etc.
      Or perhaps they've got a life and better things to do than engage in discussions on Slashdot?

      They're not mutually exclusive options - I did say *possible indicator* ...

      So what's your excuse :-)

  6. 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 Anonymous Coward · · Score: 1

      >Stop calling expert programmers "superstars".

      Yes, we prefer to be called "gods", thanks.

      Well, except for me. You can call me Joe, because that's my name :)

    2. Re:Step one by Anonymous Coward · · Score: 0

      We had a guy that came in and told us at my past company I was a superstar blah, blah, blah.

      He is terrible.

    3. Re:Step one by Anonymous Coward · · Score: 0

      I think that there is a difference between "expert programmer" and "superstar." Being a superstar takes more than being good at programming, much like being a "rockstar" takes more than being a good musician.

      There are many great programmers. There is only one Linus, "Rasterman," Mad Dog, et cetera.

      You know who the are because not only did they write great code, they had good ideas and could express them well. Some, like Carsten Haitzle, started out as artists, not programmers. It's that type - the Jordan Hubbards (FreeBSD lead who was hired away by Apple) that are the "superstars," and I suspect that attracting them to your company takes some serious dough and cool projects.

      Taking someone who thrives doing their own thing and has succeeded in creating a cult of personality and putting them into a job that J Random DeVry grad can do is an act of soul-crushing evil and makes the world a better place because it robs us all of greatness.

    4. Re:Step one by Verteiron · · Score: 1

      And do you really think that any of the programmers you just named (or others of their caliber) would be attracted to an advertisement or company that refers to them as "superstars"? Honestly, now.

      --
      End of lesson. You may press the button.
    5. Re:Step one by Anonymous Coward · · Score: 0

      Stop calling expert programmers "superstars".

      I assume he meant that he wanted to hire a Hollywood superstar, and try to teach him/her to program. That's quite the challenge!

      Personally, I'd rather try to teach a Labrador Retriever to program; the odds of success are about the same, it's got a much stronger work ethic, and it will fetch your slippers on a cold afternoon.

    6. Re:Step one by Anonymous Coward · · Score: 0

      Yes, call them "Rockstar Programmers".

    7. Re:Step one by jellomizer · · Score: 1

      Exactly they really don't exist. It is a matter on what you want. All tech who will program for hours nonstop. Some one who is a strong programmer and can get the job done but has a good buisness background and guide you in the right direction. Spending a week at 100% productivity may not be fruteful if he is programming an app that will not help the business.

      I would recomend hireing a IT consultant that and give them small jobs and see if you like their work. If not don't bring them back, if they are a good fit use them for your programing needs. And perhaps over time you may want to hire. This has the advantage of relitivly getting rid of the overhead of hireing and keeping a bad employee for a trial period and if you don't like the employee you need a valid excuse to fire him. A. Contractor you fire for any reason.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    8. Re:Step one by Anonymous Coward · · Score: 0

      This reminds me of a resume that crossed my desk some time ago. The resume was mostly saying how great the applicant was (I believe the "superstar" word was used several times) rather than what he had actually done. It was so amusing that I blanked out the name and passed it around my group (only time I ever did that) for humor value.

      A few weeks later another manager hired him! I was actually interested in meeting the guy and trying to figure out why the other manager even phone screened him, let alone hired him.

      Alas, though, the guy didn't show up for his first day of work and was never heard from again.

    9. Re:Step one by oliderid · · Score: 1

      Stop calling expert programmers "superstars".
      That's precisly the point. I'm glad this post already receive 5 insightful points

      I'm a business owner. I will never hire anybody considering himself as a superstar. I prefer an average Hard worker Joe over anykind of Superstar anyday. I don't plan to manage a records company with Prince of Linux, Madonna of Windows and Tom of BSD. We are engineers, act like one.

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

    11. Re:Step one by Impy+the+Impiuos+Imp · · Score: 1

      Is Linus a superstar programmer in the sense of this topic, or is he just a superstar organizer and promoter? Would he be likely to contribute meaningfully to cracking the alien code in Contact? Could he crank out a complete clone of Minefield in a few hours just for the hell of it?

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    12. Re:Step one by bugnuts · · Score: 1

      Right.

      They're called Rockstars.

    13. Re:Step one by larytet · · Score: 1
      ...or on could use a dedicated search engine of resumes posted online like one in my i-am-still-going-to-do-but-i-do-not-have-time-pet-project http://www.cvfinder.org/

      My really cool idea would allow to run a search engine on a single high end desktop and be able to parse and indexed 10s-100s of millions of CVs online.

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

    15. Re:Step one by Anonymous Coward · · Score: 0

      Linus may not code much these days but he is a very good programmer, not only an organizer and promoter.

    16. Re:Step one by Anonymous Coward · · Score: 0

      I interviewed a guy like that once. His resume was basically "I am great" repeated many times. I wasn't in the office when he showed up so my staff gave him the usual programming aptitude test and he objected to doing it without notice. When I came in later he had done the test. I checked it out - bad result. The guy was dressed like a rock star - leather jacket and jeans. Didn't fit the corporate image at all.

      My first words were something like "You won't fit in here. Thanks for your time."

      Although his lack of competence was the main reason, I definitely won't hire somebody who turns up for a job interview looking like he should be working on a building site, when the rest of the company is neatly attired with collared shirts and basically looking presentable for customers.

    17. 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
    18. Re:Step one by lord+sibn · · Score: 1

      You wouldn't mind being called a superstar if you had a robot brain...

    19. Re:Step one by Tablizer · · Score: 1

      Stop calling expert programmers "superstars".

      Okay: "Super-asterisks"

    20. Re:Step one by tgd · · Score: 1

      There's a difference between an expert and a superstar.

      You'll know what that is the first time you work with a superstar.

  7. General hint by zappepcs · · Score: 1

    Add your preferred email address to a comment below this one so you can be contacted?

    1. Re:General hint by Anonymous Coward · · Score: 0

      Considering his username has a site-specific spam filtered email at a site presumably based on either his last name, or his posting name, I'd suggest that the fact that you failed to notice this eliminates you from the congnitive capabilities that he's looking for.

  8. Appeal by Jeremiah+Cornelius · · Score: 4, Funny

    to their obvious sense of humility, and only ask for mere "stars".

    That, or go trawling through the strip-clubs near Boston.

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."
    1. 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
    2. Re:Appeal by Anonymous Coward · · Score: 0

      My man, ordinarily, I won't DO this, but... you have one funny NAME, in "Jeremiah Cornelius", lol! I hope that's just your internet handle, because for some reason, I picture someone with that name either as like a "Jericho 1" type character, ala the film "Strange Days", OR, like some high-hat type, of "well-bourne" ancestry, etc. et al... haha!

    3. Re:Appeal by cayenne8 · · Score: 1

      Why not just hang outside the doors of Google, and try to catch the 'superstars' either already working there, or on their way in to interview for a job there.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    4. 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.
    5. 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
    6. Re:Appeal by Anonymous Coward · · Score: 0

      [shameless plug]Neumont is another such cohort-system based University which companies can pool from.[/shameless plug]

    7. Re:Appeal by morgan_greywolf · · Score: 1

      How do you find a damn good programmer? YOU DON'T. Have interesting projects that push boundaries and you (or your co.) moves into the grapevine....


      That's true to a point. However, sometimes you just need good hype.

      Look at Transmeta. Linus Torvalds -- undoubtedly one of these 'superstar' programmers -- went to work for Transmeta. Turns out, they didn't have anything all that interesting. The Crusoe processors turned out to suck -- badly.

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

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

    10. Re:Appeal by ILongForDarkness · · Score: 1
      Right on. By definition:

      good + unemployed/looking = rare

      Chances are good aren't unemployed but will move for a more interesting job. Sell the job to them (if they apply you know they think they will like the work).

      Another thing is keep you eyes open for vendors/suppliers etc that might be good. A little hard if your a dev company but I know of a lot of IT guys (support, server/app admin) that were recuited from or to my company. Its a bonus if you are the vendor and can grab the support guy from one of your customer sites (without killing the customer of course) as they are already trained and know what they are getting into already.

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

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

    13. Re:Appeal by Rakishi · · Score: 1

      It's not exactly easy I'm assuming to find out what potential people have. Also there is a big difference between a good programmer and a superstar. There is also a big difference between someone who can be even a good programmer and someone who is intelligent (or even a genius).

    14. Re:Appeal by Anonymous Coward · · Score: 0

      College grads usually need a huge amount of time to overcome the learning curve. This is not typically ideal for a company in need of technical expertise. Now if you got the time 1-2yrs then great give them small pieces until their up. Then pay them well, give them guidance, and keep them interested or you WILL lose them.

    15. Re:Appeal by Anonymous Coward · · Score: 4, Interesting

      Some of the best programmers I've ever met never had official training in a computer field.
      I'd start by looking for math or physics majors with programming experience. Compared to quantum field theory or category theory, C++ or Java hacking is freaking child's play. You have to make sure to evaluate them on clarity of thought, not volume of knowledge, though - a lot of the best coders I know have no CS experience and even have to Google for a lot of their standard library calls, especially at the start, but in the end they put together the cleanest, most intelligible, and least buggy code I've seen.

      But make sure you have something interesting to let them work on, otherwise you'll lose them, probably to the banks where they will be paid at least six or seven times what you can afford - make sure your projects are at least that much more fun for them to work on. And never EVER EVER put a math/science person in charge of any sort of UI, no matter how good a coder they are. Seriously, don't do it!
    16. Re:Appeal by JWW · · Score: 1

      Any programmer that creates his own kernel can claim the status of "great" in my book.

    17. Re:Appeal by Anonymous Coward · · Score: 1

      Taking a chance on a inexperienced coder can be a huge risk in companies that are understaffed and on a shoestring budget. I'm not saying that hiring co-ops is a universally bad idea, but it isn't a universally good idea either.

      In most cases, if you are looking for a superstar, then co-op isn't the place to find it.

      It kind of reminds me of the time my grandfather taught me how to pan for gold. He explained that where we lived we could get a little every once and a while, but that you'll be disappointed more often than not.

    18. Re:Appeal by Actually,+I+do+RTFA · · Score: 1

      But make sure you have something interesting to let them work on, otherwise you'll lose them, probably to the banks where they will be paid at least six or seven times what you can afford - make sure your projects are at least that much more fun for them to work on. And never EVER EVER put a math/science person in charge of any sort of UI, no matter how good a coder they are. Seriously, don't do it!

      Yes, as my boss has learned from experience. It's not that I don't want to do a good job, it is that the UI exists as I would expect it to be laid out, while following the sketches I have as accurately as possible. My names are apparently especially confusing. But it is how I think about it.

      On the other hand, give me a problem that can be solved by creating a general system, with far too many parameters, and let someone else design a GUI with (what I consider) nonsensical rules to drive those functions specifically, and that person and I make a very efficent, very powerful team. Far better than either of us could do with a likeminded person.

      --
      Your ad here. Ask me how!
    19. Re:Appeal by Jeremiah+Cornelius · · Score: 1

      I'm a 7'3" Afro-American.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    20. Re:Appeal by brunson · · Score: 1

      Really? Who do you work for?

      I had to work for a bunch of different cocksuckers before I got my dream gig.

      --
      09F911029D74E35BD84156C5635688C0
      Jesus loves you, I think you suck
    21. 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
    22. Re:Appeal by noric · · Score: 1

      Try the University of Waterloo in Ontario, Canada.

      UW is the premiere computer science university in Canada, the only stop Bill Gates makes in Canada, and a steady source of interns for companies like Google.

      Our computer science program is widely regarded as top notch - most 3rd year undergrads at Waterloo will be capable of things you would expect from masters students.

      Disclaimer - I'm in uw cs.

    23. Re:Appeal by stacey7165 · · Score: 2

      I agree, that's crap. Once in a million are you going to find a diamond in the rough from a university that is going to fundamentally affect your business or strategic innovation in the next 5 years. College is great to hire bench strength. Serious talent is much harder to find.

      Best idea is to leverage your personal network of the employees that you already have (this of course assumes that these people are quite talented already). Next is to never poison the well with crap. Don't hire warm bodies. The damage it will do to momentum and progress is immeasurable, and seriously deteriorates your ability to recruit high quality talent.

      Finally, work with a good recruiter and don't just give them a job description. Tell them where you envision this person is working now. What other projects/companies have the caliber of development you need. And then let your recruiter be the pitbull they can.

      My company, http://www.hyperic.com/about/careers.html, is an open source web infrastructure monitoring and management company. Part of being open source is we have also developed a strong community. This community is familiar with our product, many of which are Java developers already - and have made their prowess known to us. We also target our community for hires as well, which can be a great transition and a very low risk hire.

      That said, if there are any java or UI programmers, sales consultants, professional services or product marketing folks out there - we're always hungry for great help!

    24. Re:Appeal by Maxo-Texas · · Score: 4, Interesting

      I agree and I say advise every student that they should intern.

      What businesses should realize is that students have a lot of energy but no experience and a lot of them lack the grit to finish when it gets boring.

      A good seasoned program + 2 interns is a good combination. The interns do not argue with the good programmer all the time or try to put their "stamp" on the project. They just code a LOT and learn a LOT from the seasoned hand.

      It is so sad, here in 2008, to STILL see companies pay $150 an hour to a consulting firm for recent college grads who lack any experience in thinking ahead 5 years.

      I'm a good programmer- but there ARE superstars. I've known a few. They tend to be fanatics and don't work so well in teams. They write superior code, quickly. They are not so great on huge projects (unless paired with novices as above) because they get on each others nerves.

      A good team needs one superstar with authority to decide things, a few solid programmers to catch the mistakes the superstar does make, and an equal amount of rookies.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    25. 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.
    26. Re:Appeal by CastrTroy · · Score: 1

      I didn't get into Waterloo. I went to Ottawa U. I found that there was a lot of good programmers there too. However, I was in the software engineering program, not CS. I found that a lot of the CS students couldn't program well, and that their programme didn't really prepare them well for programming in the real world. If you want to find good programmers, who know how to handle real projects, try looking in the software engineering programmes, rather than in the Computer Science programs.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    27. Re:Appeal by russotto · · Score: 1

      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.


      You're kidding, right? A good programming project manager with a Ph.D? Not nonexistent, but certainly rare at least outside academia. And turning a hard-working programmer into a good and hard-working programmer? Not going to happen if the programmer doesn't have the talent.

      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.

      If you're hiring them, you're probably not paying them by the hour anyway. You'll have to pay more for the savant, but not 12 times as much. So you win big.

      If you're taking them on as contractors, that's also a win for both parties. You get the same amount of work done, in less time, for the same money, by hiring the savant. What do you have to complain about?

    28. Re:Appeal by bubulubugoth · · Score: 1

      Programming is a skill, that can be developed and trained. Also, parent talks about hard-working programmers, you might assume that they know how to code, and get the work done. Maybe not the BEST work, but it gets done...

      PM is more important that Cowboy Coder...

      --
      Â_Â
    29. Re:Appeal by Anonymous Coward · · Score: 0

      You're assuming that the entire staff has no talent?! (Where do you work?) And then you use that assumption to reach the apparent conclusion that you can't develop talent. What about the strategy of hiring smart college grads and teaching them? Completely off base?

    30. Re:Appeal by pavon · · Score: 1

      If you are understaffed and on a shoe-string budget you shouldn't be looking for superstars. Anyone who is a superstar will be cost you a lot of money, but not everyone who costs a lot of money ends up being a superstar. That is a far more risky proposition for a cash-strapped company than hiring interns is.

    31. Re:Appeal by xero314 · · Score: 1

      There are plenty of programers that I have worked with that have written a kernel and even full blown OSes that I wouldn't call great programmers. Not only that but Torvalds didn't "create" a kernel he white room copied one. And I'm not saying that Torvalds isn't a damn fine programer, I just wouldn't hire him for one of my teams.

    32. Re:Appeal by Metasquares · · Score: 2, Interesting

      I know some very good programmers who came out of RIT.

    33. Re:Appeal by EdelFactor19 · · Score: 1

      I hate to say it but a blanket statement saying "people from college X" are fantastic is pretty lame, and is sure NOT to find you the best. Cast aside the fact that I would think in general you might find better programmers from MIT, RPI, UMichigan, CalTech and UC-Berkeley... Although Northeastern does turn out students w/ a lot of "real world" experience as a result of their well designed co-op program / requirement.

      THe problem with such statements is that often times the best programmers are too busy working on projects to deal with every little second of studying. I'm not talking about the kids who are so lost in projects and their own world that they fail out of school; I'm talking about the kids who instead of being insane perfectionists about their 'boring' assignments and obsessing over studying and memorizing every single term to get 100 on the tests they stop when they have it 'working' and they feel they know the material... what do they do then? They get to more programming, stuff they like to do and do it simply because they like it... they get involved in open source and contribute to it.

      by contribute i mean acutally, not just being an advocate / power user and installing it on anyone and everyones machines for them. I mean things like start mirrors and managing packages, creating custom distros (knoppmyth from some guys at case western), etc...

      I know what you are thinking, but those people will all become oss fiends and wont want to make commercial anything etc.. etcc...
      but heres what you might not appreciate. in order to get involved and contribute more often than not there is some preexisting 'stuff' stuff they have to learn how to work within. be it source control repository systems, bug trackers, code standards, reading other's code, fixing defects, build systems, etc. It exposes them to a lot of different things that as a new comer they wont have control over. and it shows that they can despite this make a mark on something and adapt to the system that they are within.

      yes I'm 'new' to the game, I'm not someone whos been developing for 20-30 years. but you dont have to be around for long to appreciate the movement, the dynamic nature and the ever increasing importance of agility in software development. because those who are agile are not too stubborn or arrogant to see that the familiar way isnt always the best, easiest, or most efficient way to do things. change can be good, not change for the sake of change, but change to improve process.

      --
      "Jazz isn't dead, it just smells funny" ~Frank Zappa
      EdelFactor
    34. 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.

    35. Re:Appeal by mykeaster · · Score: 1

      Although I do not see myself as a "superstar" developer, the employers that appeal to me the most are the ones that are willing to make sure I have the best tools needed to get the job done. For instance if I'm dealing with heavy duty searching or parsing large quantities of data I would rather use Perl. If I'm working in an agile environment let me use Python, and if I'm developing Windows applications let me use C# and the .NET Framework. I may be impartial, but if you're going to find the "superstar" developers, you need to look for the people who are willing, and will push, to use the best tool to accomplish the task, and lean that language if necessary. Not someone who is going to try and use one tool for every job.

    36. Re:Appeal by Metasquares · · Score: 1

      If they can do the same amount of work in 10 minutes that others do in 2 hours, they should be getting the same compensation because they're worth it. They save the company time and make it more productive. So why should they be paid what is effectively a much lower hourly fee?

      What's more, a lot of programmers, good and bad (but I suspect mostly good) have their own projects. In some cases, these are valuable boons to society that may have impact beyond what goes on at the job. If we exhaust our workload before the 8 hour day is up and no one has any additional work to give us, there's no point in keeping us in the office for the rest of the day when we could be working on more productive things. I used to work in a place where I did work for about an hour a day, went around begging for more for another half hour, and gave up and read Godel, Escher, Bach the rest of the day, telling people to let me know when there was more work available. I improved everything I could on the slightest pretenses to create more work for myself, but it just wasn't enough. This went on for about 3 months before I called it quits.

      To summarize, stop trying to bring everyone down to the same level and learn to appreciate the people who make your organization move - or they'll eventually leave out of sheer boredom.

      As an aside, you can just mentally approximate integrals with sums (and often replace those sums with closed forms of series) rather quickly - it's more a trick of the math than any special ability.

    37. Re:Appeal by radtea · · Score: 1

      Point is that what a great programer is depends on the environment they are going to be working in.

      This can be turned around a little bit: you can attract great programmers by having a great programming environment. Process-driven without being stifling, design-focussed without being impractical. All code to be documented with explanatory comments and short design docs, and summary dismissal of people who prove unable to do so. Critical code to be well-reviewed against a clear and cogent coding standard. Emphasis on reuse and refactoring. Few, generally small, focussed meetings with agendas (a meeting without an agenda is a meeting without a purpose). Offices with doors that close. Daily builds. Stuff like that.

      These things aren't rocket science, but in my experience only the great programmers really get them. They understand how much more there is than just writing code. Average programmers can live with them, and may reveal their hidden greatness. Bad programmers will shun a process-driven shop, as they'll see it as wasting too much time on irrelevant stuff.

      The specifics of the process matter less than having one. There are a variety of ways of reliably producing maintainable, robust code on a relatively predictable timeline. Part of any good process is respecting developer's estimates and taking the time/features/resources trinity seriously. "Rapid Development" and other books covered this stuff ten years ago.

      --
      Blasphemy is a human right. Blasphemophobia kills.
    38. Re:Appeal by Metasquares · · Score: 1

      This was my experience, starting when I was around 8. Couldn't be bothered to complete my homework once I understood the concepts, turned to programming instead, and wrote a pretty impressive app for a 12 year old, complete with a crude version of what would later become known as a "web service". My high school grades were poor, so I ended up going to a really easy college and graduated valedictorian without breaking a sweat (especially because I had already been programming for a decade while everyone else was working on their homework!) The education I received in college wasn't great, but I heavily supplemented it on my own and emerged very well prepared for grad. school. I guess the message is that you're going to miss people if you only look at certain schools.

      It wasn't OSS, but it was still coding.

      And hiring people who all think the same way is, in general, a very stupid idea. That's a lot more likely if you hire people that are all taught by the same professors because they've all been taught to think about problems in the same manner.

    39. Re:Appeal by Metasquares · · Score: 1

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

      The firm that realizes that is golden in my book.

    40. Re:Appeal by Brian+Gordon · · Score: 1

      Uhhh that job sounds awesome, why would you quit? I've been reading GEB during lunch for months and I'm only half way through o_o

    41. Re:Appeal by TekPolitik · · Score: 1

      Why not just hang outside the doors of Google, and try to catch the 'superstars' either already working there, or on their way in to interview for a job there.

      Depends on the type of superstar you're after. Google has lost a lot of it appeal so the more ethically constrained superstars by reason of being evil, such as by their now very aggressive pursuit of patents (not the only problem). In one degree it's worse than Microsoft - it's one thing to be evil, it's entirely another to be evil when your organisation is founded on the idea that you shouldn't be evil. I would now regard employment with Google to be selling my soul just as much as (and perhaps more than) employment with Microsoft.

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

    43. Re:Appeal by code4fun · · Score: 1

      I agree. Having done it for 20 yrs now, I see a lot of cut & paste style programmers. The sad part is this type of programmers are unable to solve things on their own. If one just blindly copy code, one may end up with bugs sprinkled everywhere. If someone is there to show them how things are done, you generally end up with better quality code. Now, having a bunch of Prima donnas probably isn't a good thing, either. Like all things in life, knowledge and learning is never ending.

    44. Re:Appeal by Anonymous Coward · · Score: 0

      The problem with "trolling" the colleges is that (being a recent grad myself) you'll be the company that we sign on with, and then figure out we should be somewhere else as our skills get sharpened. Your company is, in essence, a first girlfriend. And you'll get dumped like one, possibly with all the hostility that goes with it because companies that troll usually take advantage of the situation too much.
      Of course this is just a one-sided, yet realistic, view of the situation.
      The best thing a company can do is headhunt from the companies that scoop up the interns and recent grads. Those companies get the best of both worlds - a more experienced coder that has probably been taken advantage of and is looking for a better situation.

    45. 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!
    46. Re:Appeal by Thornkin · · Score: 1

      How does a PhD make someone a good project manager? A good project manager is going to be someone with a lot of work experience. You don't learn to be a good manager in graduate school. Getting the PhD just takes time away from that experience. A PhD could be a good manager, but so could someone with a masters or even just a bachelor's.

    47. Re:Appeal by Cybah · · Score: 1

      IMHO personality is the single most important aspect of a superstar programmer: everything else about their abilities stems from here. If a person's brain is wired to be good with technical subjects, is intellectually curious, and has the drive/motivation then they have the potential to be one even if they don't yet have the experience (learned skills). Second to this is experience, which can help productivity if it's in the right area. However, a person with little experience (in a specific area or in general) will fall back to their ability to learn (personality, intelligence).

      Also, I guess that "superstar" is very dependent on how a person is measured and could be based on goals. One goal might be to meet a deadline by trading code quality. Another might be to spend as long as is necessary to write quality code, where quality is environment dependent: high performance, high maintainability etc etc. However, drive to meet goals and the ones that are important to the person paying the wages, is also a factor of personality.

      There are many ways to measure personality/intelligence and a lot of companies do perform psychometric testing, hopefully for the reasons I've mentioned above. OCEAN (personality), Cattell (intelligence) are only two of the many commonly used formal tests. Of course there are less formal performance indicators such as recommendations, first impressions, how well someone articulates their subject. As with everything, YMMV and you have to look at a the combination of a specific person's personality, experience and the environment you'll put them in.

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

      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.

      Uh, but then you've scanned the string multiple times - exactly what you were just trying to avoid. Why not do the casing and ignore-whitespace on a per-character basis?

    49. Re:Appeal by puggsincyberspace · · Score: 2, Interesting

      What a load of crap. Ok, you pay the medioca programmer the 2 hrs to do what takes a superstar 10 minutes, your deadline is 1hr, with the superstar, you have 50 minutes to test it and you still met your deadline.

      The reason why superstars get the big money, is because they do it faster, better and in most cases without bugs. They write it, they test it, they give it to you and then go make coffee while the other guy is still trying to work out what you wanted in the 1st place.

      From what the original poster said, he doesn't care about the $s, he wants someone that can work on problems that someone with experience and the ability to look at problems from different angle and solve them without fuss.

      I have been programming for 20 years before i actualy got a Master of Technology (Software Engineering) I and another guy graduater at the same time, got a job in the same place doing slightly different projects, he last 1.5 months and could not compleat his project, they put me on it and 1.5 weeks later i done more than he did in the 1.5 months. Needless to i kept my job (well up untill i left for one that paid twice as much).

      so paying for a superstar may cost more by hour, but it could save you money and reputation in the long run.

      Puggs

      --
      Access Point Live Mapping Access Points with Google
    50. Re:Appeal by Icarium · · Score: 2, Funny

      Billing 2 hours for 10 minutes? Pfft. My last piece of 10 minute code cost our client 3.5 days. Then again, I don't do the billing, so I couldn't care less.

    51. Re:Appeal by SageMusings · · Score: 2

      You're making me blush....stop it.

      --
      -- Posted from my parent's basement
    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 TapeCutter · · Score: 1

      "a lot of the best coders I know have no CS experience and even have to Google for a lot of their standard library calls"

      You have been mislead, computer science is not about API's. The CS degree I have had for ~2 decades was a 3yr basic science degree + CS + software engineering + operations research. Having said that, I have also worked with many good coders who started from a musical background programing MIDI devices, or an electronics background programming IC's, etc.

      And never EVER EVER put a math/science person in charge of any sort of UI, no matter how good a coder they are.

      Yeah, because they have no idea how to visualise complex data sets. /sarcasm.

      Seriously I'm not picking on you personaly, too many of the posts on this story commit the same error as TFA by pigeon-holing people into the standard stereotypes, such as 'super star', 'code monkey', 'script kiddie', etc. Newton's "shoulders of giants" comment applies to computer science/programming as much as it does to maths/physics.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    55. Re:Appeal by jandersen · · Score: 1

      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. Blah. That sounds like a quote from a cheap B-movie. In the real world great programmers work. Period. They are not a sort of demi-gods who can command the world around them, they are modest, hard-working individuals, with a lot of practical and theoretical knowledge and a passion for what they do. What you are describing is a conceited, arrogant twit, who is more likely to steal the show from others than actually achieving anything himself.

      Great people want strong leadership that will help them achieve beyond what they can do alone. Whoa, boy, you should stop watching all those second-rate movies and get out in fresh air once in a while. The people that want strong leadership are the people who can't find their own way in the world; they are not 'great', they are what the Chinese call 'insignificant'. You sound like you aspire to be some sort of cheap dictator.
    56. 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.
    57. Re:Appeal by gfody · · Score: 1

      You read GEB in an afternoon?! You must have skipped the boring part

      --

      bite my glorious golden ass.
    58. Re:Appeal by Rakishi · · Score: 1

      Yeah, because they have no idea how to visualise complex data sets. /sarcasm. I've seen some lovely ways of visualizing things that would make absolutely no sense to someone who doesn't have experience with that way of visualizing things. Hell half the diagrams I make to explain things make no sense because the way I see things is apparently not how most of the rest of the world sees things. It's like making a dvorak keyboard for something (say shopping mall web terminal) because you find it faster without realizing that 99.9% of the users can only type well on a qwerty.

      Also there is a difference between visualization and UI but that's less important.
    59. Re:Appeal by Anonymous Coward · · Score: 0

      UW is the premiere computer science university in Canada, the only stop Bill Gates makes in Canada

      The fact that you think that the latter tells you anything about the quality of the former tells me that UW can't be very good.

      And maybe you produce good programmers, but not actually a lot of publications:

      http://scholar.google.com/scholar?as_q=uwaterloo

    60. Re:Appeal by try_anything · · Score: 1

      Not to mention that the ten-minute solution contains proportionally less code, less complexity, and fewer bugs than the two-hour solution. Scale that up to two weeks versus six months, and you're looking at a small, clean piece of code you can forget about versus a big project that requires frequent maintenance. Mediocre programmers create complex, expensive solutions.

    61. Re:Appeal by Cecil · · Score: 3, Interesting

      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.

      There's a recipe for disaster. When the pressure is on, the guy who's gonna crack is the one who spends 12 hours methodically searching through the code for the point where the data is becoming corrupted, instead of the guy who knows intuitively that the only place the data is in a state where it might get corrupted in that particular way is in function X in file Y. You don't burn out from doing integrals in your head. You burn out from working harder than you're reasonably able to, for longer than you're reasonably able to. I think the second guy is in danger of that much more than the first guy.

      they'll do their work in 10 minutes and bill you for 2 hours because that's the time it takes for everyone else

      Seems perfectly reasonable to me, unless you're also getting paid superstar hourly wages. If you get paid the same as everyone else, why does the company magically deserve more out of you than they deserve out of everyone else who they pay the same? You don't get extra talents for free, I am not a package deal. You get exactly what you pay for.

      A bit passive aggressive you say? Certainly, it is. I should hold out for however much money I feel I am worth and give them 100% of my ability. But life isn't perfect, we've all worked our share of shit jobs for shit pay because sometimes the situation demands it. Anyone who busts their ass for shit pay is naive at best. There's no reason or motivation to do so. I'm not saying you should be a lazy asshole, either, you were hired with the expectation that you would achieve a certain level of performance, and you should meet that expectation, that's your responsibility. You are getting paid after all, even if it's not as much as you think you're worth.

      Personally, I do get superstar hourly wages, and I do my work accordingly. Some companies are smarter about how this works than others. Most companies realize that even on salary, my pay rate comes with the expectation that I will only be working, on average, about 40 hours a week. Yes, I am on call at all times and always willing to fix problems as quickly as possible. But that doesn't mean I start working 80 hour weeks for free just because IT decides they're going to spend the next month installing a new topology for the database cluster.

      And before the rest of you start, yeah, go ahead, make your jokes about how I'm going to get canned in six months. I won't. But if it makes you feel better, keep thinking that.

    62. Re:Appeal by Yetihehe · · Score: 1

      Well, it works ok in company where I work. I had this superstar programmer role in some projects and I know it really works. Superstar programmer lays out fundaments of project and helps normal programmers when there are major problems. Then normal programmers do much of the work, and rookies make things which are boring for normal programmers (like inputting milion sql entries to database, because it would be too long to develop tool which could do it automatically).

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    63. Re:Appeal by elloGov · · Score: 1

      Third year, programming, I can attest that I outperform, out-design and outwork most programmers at work and I work for a huge and reputable corporation (I am just about ready to move out of this big corporate structure). I pick up things very quickly, am a generalist, I can find a creative innovative solution to any problem. I don't keep notes, memorize textbooks, chapters, etc. What one learns in 2 years, I learn in 1 month. However, being a non-CS major and no official training, having dropped out of High-school, GED, average state-school degree, with no "eye-popping resume builder"; I am unlikely to fit the suit of an "ideal candidate" for a competitive "exciting" Superstar Programmer position. As far as I am concerned, the day I fit that ideal candidate position for such jobs, I won't be looking for jobs. You can argue that being the ideal candidate on paper is a sign of weakness. If you have such stellar background, why the fuck are you interviewing? Are you a bookworm? Have you memorized books? Are you purely a hard-worker? Are you just ambitious? Maybe, you know how to sell? I have a huge passion for learning and I am highly unorthodox. Here is my advice: If you are going to interview people following same old procedures you have read about or seen, don't waste your time, because you already made your mind up on who you are looking for before the person walks in. This is why the interview process is worthless in further identifying qualified candidates. Be unique and customize your own interviewing process. Forget the formalities, forget the same old cliche questions: "Tell me how you overcame adversity!" uhhhh "Are you a team player?" I mean come on, all you are asking anyone to do is just act for however minutes this stupid pretend ideal session lasts. Lastly, look for the hidden gems, it's by far your best return on investment. Nothing in my resume says Ivy League, Rockstar, Wow, but I am one capable son of a bitch! These are my thoughts on JUST the interviewing (finding) process. Then you have to keep them!

    64. Re:Appeal by DrColin · · Score: 1

      I won't comment on the 'superstar' tag, but I would class myself as an 'above standard' programmer who produces roughly 5x the work of other programmers in the company and my code is a lot more reliable than that produced by other programmers in my company. I also have close ties to other high-quality programmers so I have some idea about how 'we' feel when it comes to searching for new jobs/employers. I have also some minor experience in looking for new programmers (I have had to recruit circa 20 programmers to my team) and so I know how it works from both sides.

      Personally, I do not have the time or the patience to go around looking for work, I am happier to submit my CV to a few recruitment agencies and let them do all the hard work. For me, this has not been so successful, mainly because I think many employers get a shock when the see the salary I expect (especially after the agency fees have been added).
      As mentioned in other comments, advertising on interesting websites (like slashdot) would be a great idea. I actually find our best recruitment comes from adverts in the local daily paper (these are not necessarily read by the programmers, but friends and family tend to pass these things along. I would also suggest putting some idea about the payscales in the advert to show you are serious along with catch phrases like 'superstar programmer needed'.

      Another issue I find is convincing management that such programmers are needed - I find they tend to like cheap labor - i.e. kids straight out of tech-college who are happy to get their first job and will not expect good pay or working conditions. In my experience, what tends to happen is programmers are recruited to the lowest level and then if they are any good, they quickly get promoted and 'pampered' as they become essential and management starts to fear about losing them. This, however, leads to a situation where many experienced programmers simply get tired of looking for a new job (as they are only offered these 'starting positions' with bad salaries/conditions) and simply give up and stay where they are (another reason for putting payscales in any kind of advertising)

      With regards to various comments that say take on beginners and then weed out the bad ones - I can tell you that many of my projects have had serious problems exactly because of this. What happens is that you end up with some junk code that needs constant support (or totally rewriting) and as time goes by, the cost of the support far exceeds the cost of hiring at a slightly higher rate. There are, however, some advantages in having two poor programmers instead of one good one working on a project (you have redundancy if one decides to leave or gets ill and neither feels essential enough to demand better pay/conditions) - so I would never suggest leaving a single programmer (no matter how talented) working on a vital piece of code.

    65. Re:Appeal by Artuir · · Score: 0

      Do you code with a spellchecker?

    66. Re:Appeal by Anonymous Coward · · Score: 0

      You can't be serious. This is just the opposite of what is being requested here. You're most
      certainly not going to find a gifted, experienced developer in a university. Unless you're
      getting a professor, or alumni from MIT finishing up his Masters/Doctorate.

      No serious software company is going to hire fresh out-of-college students with no
      experience, and no direction. Well, unless it's a 'she', and she's fairly attractive. ;)

    67. Re:Appeal by Moochman · · Score: 1

      I see that modesty is also one of your strengths.

    68. Re:Appeal by Moochman · · Score: 1

      Ok, sorry for the above sarcastic comment, it's Slashdot here and I just couldn't resist.

      I guess I am getting at something, though. I understand that since you have no official training maybe you've gotten fed up over the years with employers that emphasize that. But I think your whole deal with "don't ask me if I'm a team player" and "I'm very unorthodox" is not going to bring you too many brownie points when the time comes to actually, well, work with others.

      You may be the best programmer in the world, but that's not the only key to success. Having some humility and respect for others, even if they have much more conservative values than your own, is also an important skill.

    69. Re:Appeal by Moochman · · Score: 1

      On point 1, you are to an extent right, a bit of humility can't hurt.

      On point 2: "The people that want strong leadership are the people who can't find their own way in the world; they are not 'great', they are what the Chinese call 'insignificant'."
      I don't think it's too much to ask for by wanting strong leadership. True, it can't hurt to be able to manage on your own in the absence of such leadership (in fact that might lead you to becoming such a leader yourself). However, if your leadership is incompetent and fails to coordinate the team, I doubt the job would stay satisfying for very long.

    70. Re:Appeal by CortoMaltese · · Score: 1

      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. I would like to add that by mixing talented programmers with programmers with potential, you'll be able to cultivate your staff. I've been programming more than half of my life, and I've got a M.Sc. degree, but the best boost to my programming and software engineering skills came from working with some truly amazing coders.
    71. Re:Appeal by garatheus · · Score: 1

      A little late on the comment band-wagon, but I completely agree. One of my friends is a super-programmer that has had no formal qualification in programming, and has no books in his house on programming either. But he's pretty much proficient in C++ / Delphi / Java / ASM and has helped me a couple of times when I was a newbie to programming and teaching myself PHP. Looking back on my own experiences, it was only through trial and error that I became a better, if not good programmer. Now that I'm actually lecturing programming to various levels, am I becoming even more aware of the "better" ways of programming - and the more advanced technologies at our disposal to make use of. As a developer, I used to always worry that my code wasn't "up to scratch", because while it worked, I was just scared that it didn't work in the right way. Now that I'm more familiar with a variety of languages, I feel more confident with my ability to program, and am prepared to use more advanced techniques in my programming because I better understand what's going on at a low level. Going through 4 years of varsity was a bore: I bunked lectures and spent a fair portion of my life in an alcoholic haze. The subjects, even the advanced ones, where easy to do, even when drunk. While the degree wasn't necessarily a waste of time, I find that lecturers have to slow down and hold back on the advancement of the whole class when people don't understand a topic or an idea related to programming. Here in South Africa I find it especially bad - I've lectured a couple of classes where third year students don't understand the basic principles of an array or object - things that are meant to be (and I'm currently teaching) to first year students... So obviously there is some lack of effort (and a lot of cheating) that goes on...

    72. 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
    73. 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.
    74. Re:Appeal by JrOldPhart · · Score: 1

      Hmm, I've known, and worked with, a lot of PhD's and only one would i recommend for any position other than teaching.

      --
      Nothing is foolproof, fools are too ingenious. - Murphy
    75. Re:Appeal by mikael · · Score: 1

      The world is always moving forward. If you're not moving forward as well by advancing your knowledge of algorithms, designing and implementing systems, working with the latest versions of API's, you're moving backwards - vegetating, falling behind. Since no job lasts forever these days, this will make it far harder for you to find employment the next time round.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    76. Re:Appeal by cornercuttin · · Score: 1

      i've been searching this thread for someone who i thought had the same idea as me, and you are just about there.

      i think it is fair to say that most of us went to college (not all of us graduated, but most of us went), and i think this is where you start, and here is why:

      everyone who has done any programming in college, whether you were EE, CS, MIS, or whatever, had to program in a class where there was 1 or 2 guys who just "got it."

      i graduated with a computer science degree, and i will be the first to admit that i am not a "star" programmer, much less a "superstar" programmer (that's not to say i don't have my strong points, and that i am worth any less). i look back at the classes we would take, and while there were 48 or 49 of us in the class who were struggling, worrying about the deadlines, and asking each other all sorts of questions, there was always 1 guy (maybe 2) who had the project done the first night it was assigned, he did it in only 2 hours, and it was going to be better than anything the rest of us could put together in our 40 or 50 hours of work.that is the guy you want to hire. that is the superstar

      if you want the best of the best, go to colleges and ask the students "who is the best programmer? who is always setting the curve? if you could have the programming abilities and understanding of anyone else in your college class, who would it be?

      you would find your superstar, sitting in a class of normal kids, and all you have to do is offer him/her a lot of money, a good place to work, and some freedom to do things the way they want.

    77. Re:Appeal by sglewis100 · · Score: 0
      If they can do the same amount of work in 10 minutes that others do in 2 hours, they should be getting the same compensation because they're worth it. They save the company time and make it more productive. So why should they be paid what is effectively a much lower hourly fee?

      If I had two employees like that, I suspect I would be interested in how long it really took to accomplish the amount of work. Unfortunately, sometimes programmers finish work 'too quickly', by rushing through and assuming they understand everything around them. When you work on a process that may or may not interact with other processes, you can introduce problems in your own code, or perhaps another part of the system you are working on. Some coders take TOO long, but others jump right in and write lines of code without understanding the big picture.

    78. Re:Appeal by NibbleAbit · · Score: 1

      I too am constantly looking for good programmers. I have tried (and still do hire) students. The problem is that they have not lived enough years to also have other life skills and experiences that are required for a good programmer. In my opinion, a good programmer needs to have enough experience to understand the context that the application will be used in. It's the full understanding of context that allows a good programmer to become an excellent programmer. Only experience can give the context. (Or a multi-disiplanary education which is unlikely)

    79. Re:Appeal by Ruphuz · · Score: 2, Informative

      You can't forge a sword out of cotton

      Yes you can. But you will need lots of cotton and lots of pressure.

      --
      My other post is a First.
    80. Re:Appeal by Anonymous Coward · · Score: 0

      Interns do have their place, but a company cannot consistently hire interns and keep productivity. My company has hired quite a few interns over the last few years and we have hired most of them as FTEs. I think there is one in the group who may become a superstar in the next 5-10 years. The problem with hiring interns is that they are a drag on productivity for the other full time employees. Unless you have some very basic grunt work that needs to be done, most work done by the intern will be torn up in a code review and it will have to be totally rewritten. This is usually rewritten by the intern, however, depending on the number of rewrites and design changes that need to be done, this can really impact project schedules and take the senior programmer away from other tasks that need to be completed.

      Internships are useful for both the employee and the employer, but they need to be limited to 1 intern per 5-6 full time programmers.

    81. Re:Appeal by AmericanInKiev · · Score: 1

      RE" Shoulders of Giants.

      This assertion should not go unchallenged.

      I would grant that IDE and Languages often incorporate the lessons learned;
      However, in the context of the question - which is presumably "working on interesting problems". I'm not persuaded by a naked quote alone, that inspiration is most likely to be dispensed in a classroom setting.

      Classrooms, in my experience, are an awful way to learn a language. Living in a country however, and particularly growing up in one, is a far better approach to acquiring effective language skills.

      Programming may well be closer to a linguistic skill than it is to a scientific one.

      It may even be that schools lodge programming into a "rational" framework, perhaps even a logical part of the brain; while learning by doing, may instill the skillset into a more fluid and instinctive manner. Human language is taken to be an adaptation of neural constructs previously optimized for mapping. If language is a different skill than "Science" & Math, It may make a great deal of difference whether programming is acquired "by doing", or by "instruction". Language may be described as a series of rules, but only in retrospect: for native speakers, language is largely inexplicable, meaning it exists in a framework which is super-rational - a framework which is more highly performing in terms of speed and depth, than purely rational thinking. I play several instruments, and while I know a variety of "rules" and the mechanisms of each instrument, the actual playing of the instrument cannot be performed by a process of contemplating these rules. The playing of an instrument must be fully subsumed into the mind, such that the "tool" can fairly be described as an extension of one's body - requiring very little real-time cognitive thought. This allows the performer to concentrate on the higher-order aspects, volume, tone, temp, expression etc... Perhaps by analogy, good programmers are able to commit certain programming tasks to the sub-conscience level, and as a consequence maintain focus on architecture etc... In a multi-threaded world, being able to visualize the chaos without function charts, being able to evolve objects with a balance of simpicity and code reuse. These are quite probably capabilities which, while they can be spoken of in a classroom, can likely only be absorbed by significant utilization and practice.

        - So while "Shoulder of Giants" implies that we should study our predecessors - I would argue that "practice" makes perfect, and that the analogy of a musical talent, may be more important, to the success of a project, than the analogy of "scientific principle". Your mileage may differ.

      Best,
      Aik

    82. Re:Appeal by Metasquares · · Score: 1

      You missed the part where I said I did it for 3 months? You must have skipped the boring part :)

    83. Re:Appeal by Fozzyuw · · Score: 1

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

      Curious, but what is it that you disagree with since I never wrote that they needed official training in a computer field?

      --
      "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
    84. Re:Appeal by rjhubs · · Score: 1

      But even an average programmer will remember to use sentence.equals instead of ==

    85. Re:Appeal by Flodis · · Score: 1

      Have interesting projects that push boundaries and you (or your co.) moves into the grapevine....
      Agreed, but I think you have be careful about how you present it. Presented wrongly, this may be a magnet for all kinds of people, not just the super programmers. Stacking buzzwords, for example, will have a strong attraction on salespeople, recruiters and newbies, of which only the newbies are interested in a job. Plus it will make you look like you don't have a clue.

      On the other hand, I think 'quality' attracts good programmers. Being good at something implies that you do it better than most others. For this to happen, you have to 'invest' in what you do, and this in turn implies that you have to care about it. When you care about building something, you don't just mash it together and go home at 5. So... You look for organizations that can help you raise the quality of what you do...

      Some things I would be looking for
      - The organization has internal structures for continuously improving the competence of its workforce. Mandatory education/conferences/camps/hired speakers etc.
      - You don't work alone. Exchanging information with other programmers is a very good way to learn new idioms and patterns. Having a discussion partner on the same level as you may help when you program yourself into a corner. (Yes, I admit, I do that)
      - You get to talk directly to the customer/end-user/orderer and don't have to go by second-hand (or worse) information.
      - The sales department doesn't get to promise both functionality and deadlines. (Yes, had that happen to me in my last job. I resigned after a few months.)
      - Not having a noisy environment where you program.

      The items on the list are sure to be disputed, but I'm pretty confident about 'quality' being the main thing.

      Oh, well. My 2 cents.
    86. Re:Appeal by cayenne8 · · Score: 1
      Patents themselves aren't inheritly evil....just that many ones are wrongly accepted by the Patent Office.

      And besides....it's only the money. We're all guns for hire. Give me lots of $$...and tell me what you need done. I'm cool with it. I mean, it isn't like we're killing puppies or something.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    87. Re:Appeal by Evil+Kerek · · Score: 1

      Let me guess - you are a jaded co-op/intern that picked a bad company to work for? Or are you just narrow-minded? This sort of stupidity has a root from somewhere. Ah...devalue the programming profession. Now I see - you must have gotten downsized at some point or something along that lines. You sure got some bitterness coming from somewhere.

      Co-op programs are the BEST way to get ahead. You come out of college with real experience (assuming you pick a good employer) To suggest it is a one-way street is simply absurd. Seriously, dude, where in the WORLD do you get your information?

      First off, they are going to be naive of things whether they take a co-op program or not. So that's irrelevant. In fact, I'd counter that getting a job at a corporation (I co-oped at IBM back in the 80's) gave me a great view of the real world (I learned I didn't want to work at IBM) and allowed me develop inter-personal skills in the real world. It didn't hurt to have IBM on the resume either.

      Cheap labor...I don't where he said 'Start a co-op program and don't hire any of them.' In fact, he said the opposite - cherry pick them. And that's a completely valid idea - I mean, wow, let's reward the hardworking intelligent folk. I realize that seems to go against the grain these days, but hey, try to keep an open mind.

      Your entire premise is flawed. Co-op/internships bring something to the table for both sides and are good for the industry.

      EK

    88. Re:Appeal by Beliskner · · Score: 1

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

      There is a fanaticism in corporations about experience, and these poor graduates are penalised as a result. Sad, I have no idea where this big "experience" thing comes from, and how much talent Capitalism just wastes by underemploying intelligent young people in McJobs and letting only a small minority through into Banks/engineering/professions.

      I am sure "aging" can apply as well as "experience", experience only selects people that have kept the same type of job for a long time. The naivety of young people is incredible, they believe that Capitalism is somehow fair in allocating money to superior engineering, this only happens in Sony, that's why people prefer to buy those products, but not in American corporations. Young professionals learn, that way they become veteran professionals, everybody started off as a baby once, and there is not one baby l33t cod3r.

      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
    89. Re:Appeal by plague3106 · · Score: 1

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

      As an RIT alum, I'll vouche for that school. :-)

    90. Re:Appeal by KevinIsOwn · · Score: 1

      Now clearly I am a bit biased considering I am sitting in building 12 of RIT's campus waiting to take a final, but hear this out since I'm about to graduate from here and think it is somewhat better than "worthless"

      Your argument seems to come down to the fact that co-op's naivety about how things really work limits their usefulness, and the idea that co-ops are being exploited for cheap labor.

      First, co-op's obviously get paid less than everyone else, but the idea that it is a form of exploitation is absurd. I have come out of all of my co-op's with a good amount of money, and at the same time have learned lots of valuable information that I wouldn't have ever learned in a class, all at the same time being able to try out different companies in the job market without having a commitment to them. Unless the student is getting paid minimum wage (which, by the way, RIT won't even allow), the student is gaining lots of valuable experience from the co-op. Also on this point, you undermine your own argument by saying these employees have inherent flaws. Well if they are flawed, then clearly an experienced employee has a better chance of getting the job on the job market and there is no problem with having co-ops taking jobs. Any programmer who is mad about a co-op taking their job was clearly not qualified enough to do their job anyway, and was therefore replaced.

      Second, having co-ops allow students to break the idea of naivety that is so apparently so pervasive and damaging to young people. By going from company to company, not only do all co-ops have a chance of hitting a stinker, they also get to see different people in different environments. There is no better way to see how the world works than by being thrust into it, and most co-ops will see 2-4 different companies which have vastly different work environments. This means many will have a chance to shed their naivety about the work world before, or sooner after, graduation.

      Finally, you mention flaws related to young professionals. (without ever mentioning what they are, except for naivety, for which you never said why that actually harms the effectiveness of an employee) Assuming that these flaws exist, how exactly does a non-co-op university solve for this? These flaws are clearly inherent in young people and if experienced developers don't have them, then it is a matter of businesses identifying and teaching young programmers about these flaws and helping them to overcome them. If nobody ever tells young programmers their problems, don't ever expect those young programmers to improve and become experts.

    91. Re:Appeal by sjames · · Score: 1

      Yes you can. But you will need lots of cotton and lots of pressure.

      If you do that, there will be significant outgassing and the resulting sword will be terribly brittle. It may cut quite nicely once or twice, then it'll go to pieces. :-)

    92. Re:Appeal by xhrit · · Score: 0

      "One of the best programmers I ever hired had only a High School degree; he's produced a lot of great software, has his own news group, and made enough in stock options to buy his own nightclub."

    93. Re:Appeal by sjames · · Score: 1

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

      You just haven't met any then. Like anything else, some people are more talented than others. Some people work very long and hard cranking out passable code, others seem to be doing very little, but the code they produce does more with fewer bugs and is even maintainable. The best even know when it's time to think long and hard first and when it's OK to just pound something out.

    94. Re:Appeal by ganley · · Score: 1

      Exactly. In "On Writing," Stephen King says something to the effect that you can teach a decent writer to be a good writer, but no amount of teaching will turn a good writer into a great writer. Same goes for programming, and probably most any other endeavor as well.

    95. Re:Appeal by Eivind+Eklund · · Score: 1
      An above average programmer might also notice the use of ! in the other identifier (downcase!) as something that isn't valid Java, and then drop their assumption that the code was Java. (I would guess it was supposed to be Ruby code, in which case it is valid.)

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    96. 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.
    97. Re:Appeal by Brandybuck · · Score: 1

      But a good process is just as hard to find as a good engineer. A process increases software quality, but at the expense of productivity. You have to find a working balance. There are way too many people in uppper management who do not understand this, and will institute overwhelming processes that do nothing more than kill projects. These managers never get fired for their decisions and the layoffs happen at the bottom.

      When you start focusing on the paperwork and collecting signatures, you've gone too far. The focus needs to always be on writing the software. The highest quality software is the software that is never written. How can there be bugs with no code? But that way lies madness.

      In my last job, we were bought out by a company who went insane on processes. In three years we did not release a new product, and only managed three cosmetic releases for two existing products. Before the buyout we were number one in the field, but at the end we were dead last. That's what the process did to us. But it was a magnificent process!

      --
      Don't blame me, I didn't vote for either of them!
    98. Re:Appeal by gmack · · Score: 1

      The "college graduates" part..

    99. 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.
    100. Re:Appeal by Anonymous Coward · · Score: 0

      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.

      I thought so too 10 years ago. But you can always take all the grunt work and make a computer perform it for you from a little spec (and I don't mean "document" when I say "spec").

      Why? Because most of the time we know what we want and we know the functional dependencies, therefore grunt work is not really necessary, it is just a waste of time for the lazy people who do not take the time to automate the stuff.

    101. Re:Appeal by bartappleous · · Score: 1

      Oh so are looking for an experienced programmer, and you came to Slash dot to recruit? Are you sure you want to hire Star Trek nerds and High Brow Curmudgeons.

    102. Re:Appeal by Arapahoe+Moe · · Score: 0, Troll

      Sweet.

    103. Re:Appeal by Arapahoe+Moe · · Score: 0, Troll

      Let me guess - you are a jaded co-op/intern that picked a bad company to work for? Or are you just narrow-minded? This sort of stupidity has a root from somewhere. Ah...devalue the programming profession. Now I see - you must have gotten downsized at some point or something along that lines. You sure got some bitterness coming from somewhere.

      You're a REALLY bad guesser.

      You also have no idea what you're talking about. Here's a question for you: in which direction has household income in the U.S. been going since the early 1990s? Do you think that cheap labour from college students contributes at all? I don't think it takes a college degree in applied mathematics from a really good school on the quarter system (of course, all good schools are!) to figure out how the plusses and minuses of this equation works. Consider also that the country is entering a period of greatly enhanced inflation and perhaps you might BEGIN to understand what is going on here .....

      Oh, and fuck you, incidentally, for being an asshole.

    104. Re:Appeal by Arapahoe+Moe · · Score: 0, Troll

      Now clearly I am a bit biased considering I am sitting in building 12 of RIT's campus waiting to take a final, but hear this out since I'm about to graduate from here and think it is somewhat better than "worthless"

      Don't take it personally, bro! :) Higher learning in general is an economic rip-off, at least in the US. Say what you will about expaning your mind and all that feel-good grab-assery. It is still a fucken rip-off. Hence, the use of the terms "more or less" and "worthless" in my description of college. Did you know that the endowment for Harvard University is over/about 30 billion dollars? Why is it necessary to even pay to go to school there? It's the same story just about everywhere else too. Here's what I know to be true. COLLEGE==RIPOFF. ENGINEERING_EDUCATION_AT_COLLEGE==(RIPOFF + NO_GETTING_LAID). Heh.

      Finally, you mention flaws related to young professionals. (without ever mentioning what they are, except for naivety, for which you never said why that actually harms the effectiveness of an employee) Assuming that these flaws exist, how exactly does a non-co-op university solve for this? These flaws are clearly inherent in young people and if experienced developers don't have them, then it is a matter of businesses identifying and teaching young programmers about these flaws and helping them to overcome them. If nobody ever tells young programmers their problems, don't ever expect those young programmers to improve and become experts.

      To just make a quick point here. Business doesn't work like you are describing above and it perfectly illustrates my point about the naivety of youth. I sure you understand the quote "You keep what you kill.", right? I mean, you basically have to do everything yourself, in order to get ahead in business. That's just how it works. Capitalism doesn't encourage businesses to cooperate in the personal development of their employees as you indicate it should. To expect it to, is to fail. Mightily.

    105. Re:Appeal by Arapahoe+Moe · · Score: 0, Troll

      Sad, I have no idea where this big "experience" thing comes from

      I'll tell you where the "experience" thing comes from. Most young people today are retarded. I'm pretty sure that's how each successive generation views the next. ;)

    106. Re:Appeal by TekPolitik · · Score: 1

      And besides....it's only the money. We're all guns for hire.

      Not all of us - that's where ethics comes in. A person absent ethics is a gun for hire without conditions. A person with ethics seeks to make sure everything they do has a positive (or at least no negative) impact on the world.

      Patents themselves aren't inheritly evil.

      Sorry, but a system that penalises people who come up with the idea innocently, on their own and without any knowledge of (or derived from) the patent most certainly is inherently evil.

    107. Re:Appeal by Metasquares · · Score: 1

      As someone who is looking to one day start a university, I would be personally interested in knowing how you propose to fund one without charging tuition.

    108. Re:Appeal by Arapahoe+Moe · · Score: 0, Troll

      Uh, what? Did you miss the part where I said that Harvard University has 30 billion dollars in the bank and yet still charges an arm and a leg to receive an education from there? I wonder what we could do with 30 billion dollars ...... hmmmm, oh yeah, fund the university without charging tuition.

    109. Re:Appeal by xero314 · · Score: 1

      First of all in all the cases you are refereeing to, Brooks was just repeating data or suggestions made by other people. The data about programmer productivity comes from Sackman, Erikson and Grant and shows that a good programmer is 5 to 10 times more productive than the worst performers. This means that on average a good programmer is on 3 to 4 times more productive than the average developer which is a far cry from 100 times, but still significant enough to take note.

      The Surgical team concept was devised by Harlan Mills, or at least that is who Brooks is referencing. Mills suggest a team of 10 people including 2 programmers and 8 support personnel. It's true in later essays Brooks admits that some of those support personnel could share duties or even obsolete because of current techniques, but he's certainly not talking about 1 surgeon and 5 assistants.

      Brooks essays are actually a manual for how a good project manager, as he was when he gathered the experience necessary to write the essays, to get the most out of architects, engineers and developers. He states very clearly that it takes a good project manager to create an environment in which developers can be most productive. Yes a good programmer is going to be more productive than a bad programmer, specifically so if you measure of a good programmer is based on productivity.

      Carrying around a copy of TMM-M pays of again. Almost as useful as carrying around a copy of constitution.

    110. Re:Appeal by Anonymous Coward · · Score: 0

      I agree, it's something I've said for years. You absolutely must have some peons on the payroll, not everyone can or needs to be a superstar in your organization. To use a non-PC analogy, you gotta' have some indians as well as a few chiefs.

    111. Re:Appeal by Metasquares · · Score: 1

      If the school stops receiving income, that money is going to run out very quickly. Relying on fixed savings is not a fiscally responsible or sustainable model.

      Schools do get income from other sources - endowments, grants, alumni donations - but it doesn't scale with the number of students they bring in and it isn't sufficient to fund the university's operations, else they would not require tuition.

      The majority of universities are non-profit organizations. They're not charging tuition to rip students off. They're charging it because they need the funding for their continued existence and growth.

      And the more universities exist, the more educated the population becomes, the more scientific research gets done, and ultimately, the more society benefits.

    112. Re:Appeal by Anonymous Coward · · Score: 0

      Talent is what I want in an artist not someone building complex technical devices (including software). Well written software is art, and excellent programmers are artists.
    113. Re:Appeal by geekoid · · Score: 1

      "absurdly inefficient both in coding time and in runtime if it did work"

      most compilers will deal with that sort of code in a way t make it more efficient in the run time.

      However, the real absurdity is that someone would actually ahve tow rite that in this day in age. Really, it should be done and put in an engineering book.

      It is really frustrating to me that the software industry refuses to grow up.

      A real programmer would see that uselessness of the exercise, and demand a lot of reasonably sounding specification which would inevitable end up lost in some managers inbox some where.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    114. Re:Appeal by geekoid · · Score: 1

      I can! just hire me for 250K and a 5Million Euro parachute and I'll show you how it's done.

      No, I am not in Europe, but I'm not fool!

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    115. Re:Appeal by puggsincyberspace · · Score: 1

      yes i do, but it keeps trying to spell everything in Americanese, so i just get the s*** kickers to spell check for me. :) Puggs

      --
      Access Point Live Mapping Access Points with Google
    116. Re:Appeal by chrismcb · · Score: 0, Redundant

      .... I've been working in this game for twenty years, both as programmer and as project manager; Isn't it about time you've shipped Duke Nuke'm Forever?
    117. Re:Appeal by Anonymous Coward · · Score: 0

      Look mommy! A giant pompous ass!

    118. Re:Appeal by TapeCutter · · Score: 1

      Programming may well be closer to a linguistic skill than it is to a scientific one

      Yes, you must first understand 'the problem', but that is the 'role' of an analyst. A programing language (unlike human language) is a mathematical construct.

      Music and math are related but there also plenty of good programmers who have an electronic background as well. The thing is that with a CS degree I would hope the applicant would know something about The Art of Computer Programming and could answer questions based on the language of trees, lists, stack, ect.

      A non-CS applicant may be so brilliant they idependently invented the main concepts in 'the art of programming' without ever reading knuth. However implementing your own ideas is one thing, understanding someone elses problem is another. With nothing else to judge by I would prefer the guy who has a (reputable) degree because at least I know they have spent 3-4yrs successfully researching and solving someone else's problems set out in exams and assignments. With a bit of luck they might also know something about the ubiquitous SDLC.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    119. Re:Appeal by Arapahoe+Moe · · Score: 0

      Ugh. Harvard has already noticed that people think it's ridiculous for most people to have to pay tuition to go to school there when they have so much money. See: http://www.piqe.org/assets/home/Harvard.htm

      You're wrong.

    120. Re:Appeal by utopianfiat · · Score: 1

      Even then if you recruit _decent_ programmers, maybe they would be great programmers if given the right kind of attention and teaching? At the very least you can keep them from being _bad_ programmers.
      Maybe the idea is to have a wide-scale internship program in which you attempt to find your great programmers?

      --
      +5, Truth
    121. Re:Appeal by AmericanInKiev · · Score: 1

      Anyone can learn trees, lists, state machines, and whatnot.

      The choice might be stated:

      Is a self-learning programmer more likely to brush up on multithreading and be successful - or
      Is someone who got a legacy preference to an ivy league school, and "participated" in "group projects" likely to have what it takes in the real world?

      I suspect that college is where rich parents send their predominately white kids to ensure they have better than fair odds at a cushy job.

      no?

      AIK

    122. Re:Appeal by SanityInAnarchy · · Score: 1

      most compilers will deal with that sort of code in a way t make it more efficient in the run time.

      Ruby is interpreted.

      The irony here is that, even if I came up with the perfect solution which only scanned the string once -- as another poster pointed out, this means no 'downcase!', but rather, a case-insensitive match inside the loop -- I'm already taking way longer than the simple solution.

      Basically, the shorter you can keep your code (in just about any language), the better. In C, you'd want to take advantage of library stuff on the offchance that some of it is done more efficiently, or will be in the future. In Ruby, you know the library stuff is more efficient, as most of it is written in C.

      However, the real absurdity is that someone would actually ahve tow rite that in this day in age. Really, it should be done and put in an engineering book.

      Or an interview question. Which is exactly what that was: An interview question.

      It is really frustrating to me that the software industry refuses to grow up.

      In other industries, you generally do what you're paid to do. You give opinions, sure, but if the customer really wants to screw themselves over, that's for them to decide.

      A real programmer would see that uselessness of the exercise, and demand a lot of reasonably sounding specification which would inevitable end up lost in some managers inbox some where.

      That's ironic -- a real programmer would demand more bureaucracy?

      --
      Don't thank God, thank a doctor!
    123. Re:Appeal by davidpfarrell · · Score: 1

      This will either toss me into the "stupid" or, if I'm lucky, "just shy of stupid" programming camp, but doesn't downcase'ing and removing whitespace/punctuation remove information and give the potential for a false-positive to the (to me) quite literal question "Is this STRING a palindrome"?

      The question "is this SENTENCE a palindrome" might have been more appropriate in that it would imply the string might contain sentence structure that could be ignored in the comparison.

      Hmm, I seem to remember coming across a massive C++ string class ages ago that had tons of methods like 'isPalindrome' and 'isDictionaryWord', etc. Anyone else remember that?

      --
      Cube On! (http://stores.ebay.com/PuzzleProz)
    124. Re:Appeal by SanityInAnarchy · · Score: 1

      It's a fair question, but I think it falls more into the category of "Why the hell would you ever need that?"

      In other words, palindromes are already a contrived example, but one could certainly imagine an "online palindrome checker" or "palindrome finder" or something similar. In that context, you absolutely do want to throw away sentence structure and punctuation.

      There is one more consideration: This being Ruby, any decent implementation is going to be less than ten lines of very readable code. Thus, if you ever needed to check that it was doing what it's supposed to, you could go read the source. And this being a simple, contrived example, you could almost certainly extend it, in a backwards-compatible way, to allow case-sensitivity, punctuation, and whitespace, either as individual options or as one giant "raw" option.

      That said, this being a simple, contrived example, it's going to be pretty subjective, anyway.

      --
      Don't thank God, thank a doctor!
    125. Re:Appeal by TapeCutter · · Score: 1

      I don't see why a "self learner" wouldn't WANT to go to university unless they already make 'enough' money and have nothing to learn, in which case I wouldn't be interviewing them, more likely they would be interviewing me!

      I did at age 30 with 2 kids to look after. I'm now nearly 50 and think it's one of the smartest things I ever did, I got lucky with the timing since I graduated 2-3 yrs before the boom started in the 90's. I didn't learn a god dammn thing about Turbo Pascal because I had already taught myself, along with the 6502 instruction set and applesoft basic. Out of 160 starters in the course, 12 graduated alongside me within the standard 3yrs - like me these people were all 'self learners'.

      Before going to uni I spent 15yrs in the workforce doing jobs that mainly required more brawn than brain, fishing trawlers, saw mill, building sites, fruit picking, a few depressing years shift work at a nylon plant, that kind of thing. 60hr weeks and I was still driving the family around in uninsured shit boxes, even living in a van for 6 months.

      Having had that experience of being 'working poor' I can attest to the fact that reverse snobbery is not uncommon. You could try driving a cab or tending bar for a while, both jobs pay poorly but they both serve as excellent crash courses in human behaviour.

      "I suspect that college is where rich parents send their predominately white kids to ensure they have better than fair odds at a cushy job."

      I'm guessing by the 'ivy league' comment you live in the USA, I don't. Pennyless students were in the majority at the uni I went to.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    126. Re:Appeal by AmericanInKiev · · Score: 1

      Since the Boom, there has been a huge number of students pressing themselves into the Computer Mold.
      I'm a bit skeptical of the results of this effort, or more precisely, of the assertion that University can "create" a native computer speaker.
      They say "you can't teach tall" - which is a very efficient way to point out that the advantage in Basketball goes more often to those born "tall" who learn the game, rather than those who learn the game in the hopes of also becoming tall.

      I suspect again that there are aspects of computer programming which universities can't provide, and further I suspect that talent in computers is self-selected against college.

      Basically the hours at colledge are long, and the pay is horrid. Real work experience pays better, and may in every respect result in a better rounded candidate, so the choice to "waste" time in school, when not wasting time by joining a "real" company (HP, Google, Microsoft were all started by "drop-outs")

      Perhaps the IP slogan closely mirrors Timothy Leary's famous line, "Tune-in, turn-on, drop out". This seems to be the route of smart talent.

      Best,
      AIK

      P.S. Yes, you're right the US has a far more elitist strain in its schools that the rest of the world. (We continue to discriminate against minorities and jews through "Legacy Preference" - which translates if your white non-jewish dad went to our school. you're probably a better student than someone whose daddy did not go to our school.

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

    1. Re:quality vs quantity by Jeremiah+Cornelius · · Score: 4, Funny

      You, sir - I take it - have never experienced the PopTart in it's exemplary and multitudinous glory!

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    2. Re:quality vs quantity by vanyel · · Score: 1

      There are exceptions to every rule! Though even here, I've found the Brown Sugar Cinnamon variety to occasionally be in short supply...

    3. Re:quality vs quantity by Hillgiant · · Score: 1

      But to experience the PopTart is to decrease its quantity. The quality of any remaining PopTart(s) is unaffected. The quality of the PopTart that has been experienced... well, lets not talk about that.

      --
      -
    4. Re:quality vs quantity by Anonymous Coward · · Score: 0

      So...what you are saying is that you can have your programmers two out of three ways.

      1. Good
      2. Easy to Find/Hire
      3. Cheap

      Pick two.

      (Yeah, yeah, I know I changed it from what it really is. Meh. Is it time to go home yet?)

    5. Re:quality vs quantity by Bloke+down+the+pub · · Score: 1

      And you, sir, have never experienced the difference between a contraction and a genitive pronoun.

      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
    6. Re:quality vs quantity by mdfst13 · · Score: 1

      It sounds like the poster wants to get a small number of correct results but instead is getting a large number of incorrect results. In other words, a large number of programmers who claim to be the best turn out not to be so good. How do you handle that? Resume screening, phone screens, and interviews are expensive processes that distract your current expert programmers from their real work. How can you minimize the amount of time that your limited resource (good programmers) wastes on identifying false positives (people who are passed by the initial resume screening process but who really aren't that good).

      Also, how do you catch the false negatives? What about the programmers who are not good resume writers or especially social but who can code up a storm. How do you find these people?

      What's really wanted here is an entirely different version of the interview process. I.e. instead of having a bunch of human beings evaluate what the prospective programmer says (in speech or written communication), find a way to evaluate coding directly. Maybe something like scriptlance, where you write a specification for software and someone implements it. If the implementation passes your tests (for unit test coverage, functionality, etc.), pass the code on to a real human being to evaluate. If that works out, ask for more code (and maybe pay for the original code or maybe that's just a test).

    7. Re:quality vs quantity by HeroreV · · Score: 1

      Meh. Is it time to go home yet? Something tells me you're not a superstar.
    8. Re:quality vs quantity by megaditto · · Score: 1

      Sure you can, you just got to look in the right place.

      Nothing wrong with hiring a female or a foreigner. Looking at these two groups would give you x200 more candidates to chose from.

      --
      Obama likes poor people so much, he wants to make more of them.
    9. Re:quality vs quantity by Jeremiah+Cornelius · · Score: 1

      Touche. Owe you a pint.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    10. Re:quality vs quantity by Anonymous Coward · · Score: 0

      Or he ran out of assigned work, ran out of ways to make more work for himself, and is sick of mindlessly browsing the web and waiting for 5pm, when he could be working on his personal projects at home...

      In other words, maybe he's in the same boat as me. Ugh... Is it time to go home yet?

  10. It takes a good software guy to know one by swimmar132 · · Score: 4, Interesting

    Unfortunately, software development is one of those things where you can only judge talent if you have talent.

    Assuming you already have a couple good guys on staff (but how do you know they are good? :-), do you use any open source projects? Interview those guys. Open source is a great way to get to know someone -- you can review their code and documentation, and you also know that programming is something they love. People who are involved in open source typically love programming (otherwise, why do it?).

    1. Re:It takes a good software guy to know one by Angostura · · Score: 1

      Sorry, are you saying that there is no such thing as 'talented engineers'?

      Poor old Brunel.

    2. Re:It takes a good software guy to know one by swimmar132 · · Score: 1

      Jesus, that's not worth the time to respond.

    3. Re:It takes a good software guy to know one by Anonymous Coward · · Score: 0

      >(otherwise, why do it?) To make people think I love programming so they will hire me as a Programming Superstar?

    4. Re:It takes a good software guy to know one by geekoid · · Score: 1

      Excellent catch.

      In my experience, when programmers talk about talent they infer some unreachable goal where code is, in and of itself, some unattainable definition like 'Art'.

      So, yes I did say that, but that wasn't what I meant.
      I have worked with engineers of many different industries(currently Civil) and there regard to talent is more of a respect toward quality.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    5. Re:It takes a good software guy to know one by COMON$ · · Score: 4, Interesting
      A boss of mine once said this:

      Class A people hire class A people

      Class B people hire class C people

      I think that is spot on.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    6. Re:It takes a good software guy to know one by eln · · Score: 4, Funny

      Well, at least now you know your boss paid attention in MGMT 301.

    7. Re:It takes a good software guy to know one by ztcamper · · Score: 1

      "People who are involved in open source typically love programming (otherwise, why do it?)."

      Masochism.

    8. Re:It takes a good software guy to know one by Bwerf · · Score: 2, Interesting

      So who hires the class B people? Do they all start their own businesses?

      --
      If noone rtfa, then what's the slashdot effect?
    9. 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).

    10. Re:It takes a good software guy to know one by Anonymous Coward · · Score: 0

      And no scrum, pair programming, or formal code inspection gimmicks. Or "helping our offshore staff get up to speed".

      We hate those.

      (signed)
      -superstar programmers of America

    11. Re:It takes a good software guy to know one by Gazzonyx · · Score: 1
      I had a high school teacher who was a retired navy nerd herder. He was a brilliant man, and I respected him very much; he just wanted to teach young minds. I used to stay after school and talk with him, and soak up as much as I could from him.


      He had a theory that he explained to me about managing any group of people. There are 3 kinds of people described as:

      • -1s : these people will be a detriment to whatever project they are put on. They will drag down the next group, and group after that even more so.
      • 0s : these people will do what they are told, nothing more, nothing less. They won't have an impact on the other two groups.
      • +1s : these are people who will succeed, are self driven, and go above and beyond without being asked. They're natural leaders, and the previous group (0s) will follow them, and -1s will avoid them. They won't try to lead (as they probably have no desire to lead), but will lead by example. On top of this, they are extremely rare and difficult to keep once you have them.

      The only group you can really 'mold', one way or the other, are the 0s. Fortunately, they are the majority of the people you will work with.
      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    12. Re:It takes a good software guy to know one by 18hrs · · Score: 1

      And who hired the class B people to begin with???

    13. Re:It takes a good software guy to know one by Anonymous Coward · · Score: 0

      So who hired the class B people??

    14. Re:It takes a good software guy to know one by Peeteriz · · Score: 1

      It's a bit different IMHO - it's not about hiring per se, it's less about the hiring-decision makers, but more about your whole team.

      If your team mostly consists of class-A people, then they will naturally attract/reccommend other class-A people from their contacts, etc. (and other class-A people will be attracted to join your team instead of some other).

      If your team mostly consists of class-B people, then they will naturally attract/reccommend class-C people as their inferiors, to avoid competition; and also class-C people will prefer your team to the A-team, since it will be more comfortable for them.

    15. Re:It takes a good software guy to know one by The_reformant · · Score: 1

      Except that if the programmer is coming from a proprietary shop they may not even be *allowed* to contribute to open source projects. (I know Im not without management authorization and the company I work at *definitely* hires some superstars). Sure if they're out there in Open Source its a reasonable thing to do but I wouldnt use it as point of filtering.

      --
      I have discovered a truly remarkable sig which this post is too small to contain.
    16. Re:It takes a good software guy to know one by Fulcrum+of+Evil · · Score: 1

      At some point, you have to compromise (or just be fairly particular about who you hire). Regardless, class A people can distinguish A from B, but class B people can't. It isn't as cut and dried as all that, of course - your success is partially determined by finding people you can work with - but this is a fairly short rule of thumb. It's necessarily incomplete.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    17. Re:It takes a good software guy to know one by Anonymous Coward · · Score: 0

      Wow, you worked for Guy too?

    18. Re:It takes a good software guy to know one by COMON$ · · Score: 1
      And dont ever forget to rule out the dilbert principle:

      The Dilbert Principle refers to a 1990s satirical observation stating that companies tend to systematically promote their least-competent employees to management (generally middle management), in order to limit the amount of damage they're capable of doing.

      or the Peter Principle

      "In a hierarchy every employee tends to rise to his level of incompetence."

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    19. Re:It takes a good software guy to know one by Chapter80 · · Score: 1
      No, the whole principle is BS. It assumes that there's a such thing as a Class A person who is good at everything. Reality is that people are hired for a job, and often those who demonstrate good capability in that job are promoted to another job - one which requires a totally different skill set: management and good hiring sense.

      Often the first thing a new manager does is hire his/her replacement for the old job. And the frequent mistake of a new manager is to look for someone like them, and they end up with someone with similar skills, but never as good.

      A better strategy is to find someone with complementary skills, who can do something that you cannot do.

    20. Re:It takes a good software guy to know one by Fulcrum+of+Evil · · Score: 1

      No, it assumes that there is a such thing as a person who's really good at X, where X is in the core mission of your company and is somewhat broad. Hiring class A people for a software startup implies that those people are very good at the sector that's being targetted, both technically and enough businesswise to know what's a good idea.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    21. Re:It takes a good software guy to know one by Anonymous Coward · · Score: 0

      Please report back once you have started a software company, interviewed over 1000 people, hired more than 200 people, and been responsible for paying out over $10 million of other people's salary. Until then, you may want to listen to the parent post.

  11. It's easy by kcwhitta · · Score: 1

    Just go through the Google address book. ;-)

  12. Linkedin by Nefarious+Wheel · · Score: 5, Funny
    (Clears throat, adopts heroic stage pose) "People... people who know people..."

    (Dodges ballistic vegetable matter)

    --
    Do not mock my vision of impractical footwear
  13. Make them yourself by Anonymous Coward · · Score: 0

    My company puts all out programmers together with spare body parts laying around the office. How else do you get programmers?

  14. 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?
    1. Re:Not a programmer here but... by josteos · · Score: 1

      I know some headhunters whom I trust and would certainly listen to about every opportunity.

      But then you have the other 97%. Like the one who asked me to submit a Word copy of my updated resume in application for a one week position managing Juniper Networks stuff.

      My qualifications for this prestigious position ? I'm a programmer, and I did juniper (the tree) DNA extractions for a MS project in college.

      --
      Save the Music; Save the World at http://www.TuneTriever.com (Our latest Android game)
    2. Re:Not a programmer here but... by Otter · · Score: 1
      I have had extrordinary success with em on both sides of the table.

      In my experience, finding a headhunter who is even vaguely honest is more difficult than finding good programmers. How are you choosing them?

    3. Re:Not a programmer here but... by COMON$ · · Score: 1

      Ick, the hunters I go through are reasearched by me. If they arent up to par or exceeding it I dont bother. I lucked out with my first two. However I have seen headhunter factories where they just try to push out people as fast as possible as they get paid per client.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    4. Re:Not a programmer here but... by glop · · Score: 3, Informative

      I would second that for real head hunters.

      Most of the head hunters that jump on you when you post your resume on Monster are pretty bad though. They do simple keyword matching, ask silly questions ("how many years C?") and seem to rely on their speed and the amount of people they reach to find a few matches that will bring big bucks.

      I ran across a sharp head hunter and he really took time to:
        - get me interested in the job
        - make the conditions of recruitment easier (he made me skip the phone interview with the company)
        - helped me prepare for the interview by telling me what kind of book I should use to revise
        - found the matches between the job and me, despites the mismatches

      So I am pretty impressed with good head hunters.

    5. Re:Not a programmer here but... by nonsequitor · · Score: 1

      Just remember that Head Hunters have all the ethics of a used car salesman and traffic Humans. They'll place a loser with you if they think they can get away with it. I've used them several times to find jobs but if you're looking for permanent employees and have time to try before you buy, tell some recruiters you're looking to bring someone on Contract to Hire.

      This way if they pass the initial screening you can see the programmer in their natural environment before deciding if they're a good fit for your team. Which head hunters you use would be specific to the type of programmer you want to hire. You wouldn't take a bicycle to a foreign automobile mechanic, so don't try to hire embedded programmers from head hunters who deal with mostly with web application developers.

    6. Re:Not a programmer here but... by COMON$ · · Score: 1
      Well so far I have stayed away from corporate headhunters. I stuck with smaller offices where they have great reviews from clients. The two I use currently consist of a Consulting/placement firm of abotu 8 people whose business won some local awards and are known for a very vigorous screening process. The other one was a pleasant experience that I got on chance. Sole owner/operator person very professional and charismatic. She understands what I am looking for and has matched several dev friends up with good companies. She also has me sold in her follow up and prep for interviews. Really cuts down interview time. Better to have someone else do the footwork when hiring or looking for a job.

      I stay away from businesses where there are no feedback reviews, where I dont get personal contact and the headhunter obviously doesnt understand tech and is just faking it.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    7. Re:Not a programmer here but... by COMON$ · · Score: 1

      Exactly, in my opinion, once you find a good headhunter, it is much like a car salesman. Stick with em! A bad salesman can be written off pretty quick, a good one that matches your business is an incredible asset just like a reliable vendor.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    8. Re:Not a programmer here but... by thekm · · Score: 1

      parent post is a sham... in all my years of contracting, I haven't seen one recruiter truly worth the money and doing more than text searching on your CV. A fun little trick: put "as an alternative to technology X, we used technology Y". Spiel this line a little, and you'll get to go for interviews that are related to technology X as well as the Y ones. When you're in the door, you can do the real business direct to the people themselves.

      Recruiters suck. That whole industry is bollocks, and relies on businesses being truly lazy. If the business can't apply the insight needed to define the role and get the people they want, how the smeg is a third party going to do a better job!?... at the very least they don't deserve the edge that comes with having quality staffers.

      When they finally get around to making a space ship and weed out this planet Golgafrincham style, I hope that recruiters and "head hunters" are the first morons pushed on. We need to keep the telephone hygienists (because removing bacteria is positive and measurable), but oust them recruiters! (because nothing they do can be defined as positive or measurable).

    9. Re:Not a programmer here but... by roman_mir · · Score: 1

      I've been in the software development work force since 95, a contractor for the past 7 years. Mostly my contracts are renegotiated and extended. I've been in one place for 3 years, in my current for over 2.5 I had a year where I finished contracts about once every 3 months. It depends on a place, sometimes they really need you for just that one thing, sometimes they have many projects and once they see how you work they figure out whether it is worth for them to continue with you.

      However only a single time have I found a gig through a head hunter, all other times I've done it myself, either cold calling or someone I knew from previous positions. It's hard to do it this way, I may not be landing the best contracts, but I find that head hunters do NOT care about what my philosophy is. Many of them don't even match the skill sets :] I don't advice against them, but I am not thrilled about them at all.

    10. Re:Not a programmer here but... by roman_mir · · Score: 1

      The only thing is, most of the best people I know in software development are contractors and they are not looking for permanent roles. At least in Canada it pays to be a contractor much better than to be a perm. I believe that many of the developers who are good at what they do also possess enough sense to realize their value and these people are not cheap. They know their worth and they know that on a contract they'll make much more than otherwise. Once they go on contracts they mostly stay there.

    11. Re:Not a programmer here but... by barzok · · Score: 1

      The ones that jump on you when you update your monster.com profile aren't true headhunters. They're recruiters. They work for "body shops" and their goal is to simple blast resumes and candidates out to every company, hoping to get a bite.

      A real headhunter is pickier about your next job than you are. He'll get to know you and your work, and knows the people in influential & informed positions at companies. He'll then work to match that company with the right person.

    12. Re:Not a programmer here but... by micromuncher · · Score: 1

      Wbere are these good head hunters? I keeping finding head hunters that have no clue about the tech industry. Once upon a time I had a resume that had 20+ pages of detailed experience. Then a few pimps told me I needed to concentrate it all down to 2-3 pages. Finally it came back to "Why don't you list all your experience on your resume?"

      --
      /\/\icro/\/\uncher
    13. Re:Not a programmer here but... by Anonymous Coward · · Score: 0

      How many responses did you get to your 20 page resume? NOBODY wants to read that. A resume is only a foot in the door, you can talk all about your 20 pages worth of skills at the interview.

    14. Re:Not a programmer here but... by jdavidb · · Score: 1

      Failing that, I definitely recommend to the original poster that he become familiar with all of Nick Corcodilos' Ask the Headhunter materials. It's a book, website, excellent weekly newsletter, and blog. Start reading everything Nick has to say. It's invaluable.

    15. Re:Not a programmer here but... by micromuncher · · Score: 1

      Depended on the target. I received more responses from technical people to that then the "executive" summary passed through a pimp.

      --
      /\/\icro/\/\uncher
  15. Ask Slashdot by jomegat · · Score: 1

    I usually just submit an "Ask Slashdot" article asking how to attract superstar programmers.

    --

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

  16. Congratulations! by Anonymous Coward · · Score: 4, Funny

    You have found me. How much is my salary?

    1. Re:Congratulations! by Duhavid · · Score: 1

      $1.98.

      Report for manacling on Monday.

      --
      emt 377 emt 4
  17. Quite simple actually by 140Mandak262Jamuna · · Score: 1

    Contact the slashdot admins and bribe them enough to find the real identity of 140Mandak262Jamuna who is definitely a programming super nova.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Quite simple actually by Rexdude · · Score: 1

      Contact the slashdot admins and bribe them enough to find the real identity of 140Mandak262Jamuna who is definitely a programming super nova. You mean when you burn out you do so in a spectacular explosion? 10 to 1 you're from IIT..cue the username and the attitude.
      --
      "..One hosts to look them up, one DNS to find them, and in the darkness BIND them."
  18. 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 zkiwi34 · · Score: 1

      So, only the young can learn? That's at best insulting to anyone who is over your presumably arbitrary age limit. Poach? What goes around comes around. Are you really that foolish that you think that the young (read disposable) and mercenaries are going to be good for what you do?

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

      Poaching is really the only way to guarantee quality. The best way to do it is to find some company that just got purchased or merged recently, and look at the projects that were really well done, but are either getting axed due to redundancy or are just being caught up in bullshit.

      Programmers, good programmers, like to get things done. They don't like to see their stuff get thrown away, deal with bureaucratic nonsense, or live with the nighmares of daily "integration efficiency" meetings (substitute buzzwords as necessary). When companies get bought out, people almost always leave. If it's a small enough company, then the really good developers might have contracts to continue with the new place, or might receive enough stock/cash to just retire -- but with the big companies, the businesses that have solid products, teams of experienced developers, and the nonsense and management structures associated with size, well, that's the ripe target for poaching.

      You can, of course, get people who are happy where they are, in stable jobs at good companies. But you'll pay top dollar, and a significant premium above that for the effort of ripping them away from all that. Finding the unhappy developers can be the best way to get talent - they want to do good programming, but the bullshit is standing in the way. Promise them a job without bullshit, maybe some creative control... and they're yours.

    3. Re:Get lucky, or hire young by kramulous · · Score: 1

      Wow, your hit-rate is normally distributed. Today will be know as 'mediocre mod day'.

      --
      .
    4. Re:Get lucky, or hire young by BigJClark · · Score: 1


      This is interesting. Why hire young? Whats wrong with older, more experienced programmers? I can see the draw towards youthful exuberance, but no one in my company under the age of 40 touches our main programming components.

      Poaching brings another question, if you don't mind. I was poached, and it changed my opinion a bit on company to employee loyalty and vice versa. Is there a concern, that if your newly poached employee could be poached right back out again by a different company?

      --

      Hi, I Boris. Hear fix bear, yes?
    5. 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.

    6. Re:Get lucky, or hire young by Anonymous Coward · · Score: 0

      7337

      Teet?

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

    8. 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.
    9. Re:Get lucky, or hire young by Nefarious+Wheel · · Score: 1

      and it changed my opinion a bit on company to employee loyalty

      Sorry, what is this "company loyalty" thing you speak of? Is it like that "school spirit" thing that went on in the 50's?

      Get off my lawn.

      --
      Do not mock my vision of impractical footwear
    10. Re:Get lucky, or hire young by BigJClark · · Score: 1


      I'm not sure, but I think its a synonym of the word 'pension' :)

      Oh, and I'll get off your lawn when you make sure you turn off your damn sprinkler before 9pm

      --

      Hi, I Boris. Hear fix bear, yes?
    11. Re:Get lucky, or hire young by Anonymous Coward · · Score: 0

      I hope you never get old.

    12. Re:Get lucky, or hire young by Morkano · · Score: 1

      I think the benefit of hiring those in college on internship or fresh out is that they're cheap, eager to impress, and most importantly, you get first crack at them. So you can get these so called "superstar programmers" before they get hired off by some other company.

      --
      Victory or awesome!
    13. Re:Get lucky, or hire young by drachenstern · · Score: 1

      Breasted?

      He's found an environment with more than one woman who will talk to him for longer than seconds at a time? And he hasn't started there? Wow!

      --
      2^3 * 31 * 647
    14. Re:Get lucky, or hire young by Anonymous Coward · · Score: 0

      That's great! And Illegal!

    15. Re:Get lucky, or hire young by Nefarious+Wheel · · Score: 1

      Sorry, what is this "pension" thing you speak of? I'm in IT...

      --
      Do not mock my vision of impractical footwear
    16. Re:Get lucky, or hire young by bbrack · · Score: 1

      This is interesting. Why hire young? Whats wrong with older, more experienced programmers? I can see the draw towards youthful exuberance, but no one in my company under the age of 40 touches our main programming components.

      Hiring young is primarily due to using internships/coops as evaluation periods - if there was a way to do the same type of thing for experienced hires, I'd jump on it, but people who have been in the workforce for any extended period of time are unlikely to agree to come work with us for 6 months, and we'll offer you a job at the end if we think you're worth it.

      Poaching brings another question, if you don't mind. I was poached, and it changed my opinion a bit on company to employee loyalty and vice versa. Is there a concern, that if your newly poached employee could be poached right back out again by a different company?

      Unfortunately, there's no reason that they couldn't be poached right back out by a different company. On the other side, that goes for ALL the programmers you have, so you should already be investing in ways to do whatever you can to improve employee retention, boost work morale, etc.

    17. Re:Get lucky, or hire young by BigJClark · · Score: 1


      heh, I think this is an area that needs to be worked on in IT. I'm not sure why the company deems IT workers not worthy enough to receive a pension. For me, I won't even consider working for companies that doesn't pay me a pension.

      I think it has something to do with the mentality of "Just lucky to have a job" combined with your average IT employee having zero negotiating skills.

      --

      Hi, I Boris. Hear fix bear, yes?
    18. Re:Get lucky, or hire young by rhizome · · Score: 1

      I think the benefit of hiring those in college on internship or fresh out is that they're cheap, eager to impress, and most importantly, you get first crack at them. So you can get these so called "superstar programmers" before they get hired off by some other company.

      Right, and the cycle of anti-intellectual exploitation continues. "First crack" means "uneducated as to the ways of the corporate world." It would seem a "superstar" programmer wouldn't be as much a superstar with this form of ignorance.

      --
      When I was a kid, we only had one Darth.
  19. I'm right here! by sdguero · · Score: 0

    sdguero@gmail.com

    But don't contact me if you are outside San Diego!

    1. Re:I'm right here! by mollymoo · · Score: 1

      Surely a superstar would have found where he works and answered the question of location for themselves. It took me about a minute (not that that necessarily makes me a superstar of course).

      --
      Chernobyl 'not a wildlife haven' - BBC News
    2. Re:I'm right here! by sdguero · · Score: 0

      I wanted to see if the poster was using it as a recruiting drive. I got an email about 2 minutes after I posted so I guess they were.

      Points for finding a new way of recruiting. While the web ethics of it might be questionable, it was ballsy and creative.

  20. Google summer of code by OpenSourced · · Score: 1

    Visit it. Not all of them will be hired by Google.

    Scourge the Internet forums. Solicit anybody that seems interesting.

    Post to Slashdot... uhm, sorry.

    --
    Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
    1. Re:Google summer of code by Anonymous Coward · · Score: 0
      Easy, never hire a person who writes like this:

      Visit it. Not all of them will be hired by Google.
      If they start conversations in the middle, they suck as team players. The field labeled "Subject" is not meant as an intro. It's meant as a subject. Losers who can't communicate as normal people do shouldn't be hired.
  21. Easy... by Anonymous Coward · · Score: 0
    Ask on slashdot where everyone's a superstar hacking genius. Just look at how clean and super-starry my code is:

    #include <stdio.h>
     
    void hello_world(){
      printf(_("Hello World!\n"));
    }
     
    int main(int argc, char **argv){
      hello_world();
      return 0;
    }
    I'm a frigging genius...
    1. Re:Easy... by Anonymous Coward · · Score: 0
      You're a friggin' something, alright.

      Your code generates this error message on Windows (Visual Studio .NET 2003):

      error C3861: '_': identifier not found, even with argument-dependent lookup


      So congratulations, you're obviously a legend in your own mind, and possibly an even bigger idiot than HomelessInLaJolla is.

      FAIL.
    2. Re:Easy... by Intron · · Score: 1
      Too many lines

      echo -e "#include <iostream>\nint main(int argc, char **argv) { std::cout << \"Hello, World\\\\n\"; }" >h.cpp ; g++ h.cpp ; ./a.out
      --
      Intron: the portion of DNA which expresses nothing useful.
    3. 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.

    4. Re:Easy... by AuMatar · · Score: 1

      Too long, to truly minimize it you must use perl. It should look something like:

      $_ =~/.\]/*()./!+;

      Perl6 will improve this so only a single keystroke is needed.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    5. Re:Easy... by Anonymous Coward · · Score: 0

      So congratulations, you're obviously a legend in your own mind, and possibly an even bigger idiot than HomelessInLaJolla is. No, I don't think that's possible.
    6. Re:Easy... by superwiz · · Score: 1

      Umm, so you throw away the return value of a function? Doesn't seem very clean. I think you meant

      (void)printf(("Hello World!\n"));
      --
      Any guest worker system is indistinguishable from indentured servitude.
    7. Re:Easy... by smellotron · · Score: 1
      KISS:

      int (*main)(int, char**) = 0;
  22. This may help... by Randolpho · · Score: 3, Informative

    Jeff Atwood had an interesting article on the subject a couple weeks ago. It generated a metric buttload of comments, so you might consider mining for ideas there.

    --
    "Times have not become more violent. They have just become more televised."
    -Marilyn Manson
    1. Re:This may help... by prockcore · · Score: 1

      Maybe good for ideas, but not good for actual talent. There were two posts on coding horror that made me realize that a majority of his commenters are idiots.

      The first was the one about "missing megabytes" due to powers of two versus powers of ten.
      The second was the one on salting password hashes. Some of the comments were from people who had obviously appeared in the DailyWTF multiple times.

  23. Have a Blog by Anonymous Coward · · Score: 2, Insightful

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

  24. Biting the Hand by RobertB-DC · · Score: 1

    The problem is simply finding them. The signal-to-noise ratio of the big places like Monster and Dice is terrible.

    I groan whenever I see someone ranting about how Slashdot has "sold out", though the whining has gone down in the years since they went semi-corporate. Still, there's the occasional whimper, especially if an article in some way might be helpful to Slashdot's parents or advertisers.

    So, will this rather backhanded mention of Dice.com, whose ads I see constantly on Slashdot, silence those critics?

    Didn't think so. Carry on.

    --
    Stressed? Me? Of course not. Stress is what a rubber band feels before it breaks, silly.
  25. In 3 Ways... by FreeKill · · Score: 4, Interesting

    I would say in 3 ways. One, stop calling them superstars. To a programmer, the world superstar implies massive overtime with little compensation (aka we want someone who loves programming so much that they won't worry about the fact that we under pay them and over work them). Two, do some research on job requirements. Don't list idiotic buzz words as requirements when the package is something a programmer could pick up in less that a day working with it. The best way to get people to completely glaze over your job posting is to list so many technologies that they are bound to be missing one or two. Third, treat them and pay them what they are worth. If you want a superstar programmer, be willing to pony up. I read something a few days ago here on Slashdot that said Facebook and Google were competing for new grads and offering salaries in excess of 110K to new grads. If that's the treatment those companies give them, what do you think someone with experience and "superstar" status probably thinks they deserve? If you can't give them the money, make up for it with benefits and ability to progress or become a partner in the company...Bottom line, be realistic, and they will take you seriously. A programmer can detect a job that will probably be bad from a mile away just by reading the description.

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

    2. Re:In 3 Ways... by turgid · · Score: 1

      To a programmer, the world superstar implies massive overtime with little compensation (aka we want someone who loves programming so much that they won't worry about the fact that we under pay them and over work them).

      Quite. I love programming, science and engineering.

      I also love a work/life balance. I am good at my job.

      I like to be paid for programming and engineering, but I like time to indulge myself in my own programming in my own time when I can do what I like, not what someone tells me to do.

      Many PHBs don't seem to understand this.

    3. Re:In 3 Ways... by Mechanik · · Score: 1

      I very much doubt that Google are paying new grads $110K+

      Hard to say actually. Salaries in and around Silicon Valley (Google is HQ'ed in Mountain View, CA) tend to be inflated due to the high cost of living. It's been a few years so maybe my data is stale, but five years ago people on $100k salaries in that area were still only able to live in shitty apartments and drive shitty cars.

      The fallacy is when a new grad hears "Google pays $100k" and assumes they are worth that everywhere. Market salaries vary a lot geographically due to geographical variation in the cost of living.

    4. Re:In 3 Ways... by Blakey+Rat · · Score: 1

      I very much doubt that Google are paying new grads $110K+.

      Google's, where, San Jose/San Fran area?

      $110k there barely buys ramen for dinner. The average home price is somewhere around $600k, and my buddy who lives there tells me that that cost of living difference isn't just in one area, but all the way down to the pound of hamburger he buys at the grocery store.

    5. Re:In 3 Ways... by Anonymous Coward · · Score: 0

      I agree with all 3 points. Looking for a superstar implies you have unreasonably high pressure to perform, and I work best under mild to moderate pressure. I have never met a programmer who can provide high quality code under unreasonably high pressure.

      If a job posting has 50 buzz words, I pretty much know the job is going to be a constant shift from one technology to another without the new technology providing anything worthwhile to the project. I don't want to use a new technology, as it has no tools and infrastructure in place to save time over my old technology. Let it mature, then tell me how it will save me time and energy or improve quality.

      On the pay issue, that's also important. If I look on Monster and see a trivial low-level Java programming position pays 100K, I am looking at my paycheck as a statement of how much you value my contribution with that in mind. I also have little sympathy when asked to work overtime if I know I can replace my paycheck by sleeping on a keyboard for another company.

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

    1. Re:Judge them by their contributions to the field by lgw · · Score: 1

      Plenty of "super stars" are content to work for others, so thet may have worked on some excellent and very successful software you've heard of, but there will be no public record of that.

      People who build a business etc have a different skill set than top 1% coders.

      Still, it's always worth Googling the name of a promising candidate.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Judge them by their contributions to the field by Peter+Cooper · · Score: 1

      I wouldn't personally classify someone who only ever worked under direction a "super star" programmer though. A "super star" is going to be someone who excels, and is unlikely to get authorization for all of his / her ideas, and will have been forced to publicly release their own code at some point down the line. Someone who's a great coder under direction but isn't particularly imaginative or ambitious is still a great coder, but not "super star" level IMHO.

    3. Re:Judge them by their contributions to the field by lgw · · Score: 1

      Have you never worked for a good boss? You can be imaginative and ambitious and still work "under direction" if the direction is something like "go make a product vaguely like this" - especially if you work at startups, or for a large company that is still willing to invent new products - and "authorization for all of his ideas" just isn't an issue.

      Of course, you'll probably find some online mention of a "superstar" coder, but if you find someone's best work online, it's probably not someone who's going to fit well into a corporate develpment group to begin with. And the key to being a real "superstar" coder is more than just great code written fast, it's making a large group of people that you work with more productive as well.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  27. Consultants by shuut · · Score: 0

    Try to hire consultants to do your job and steal them from their employer when you like them?

  28. 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.
    1. Re:Why? by FreeKill · · Score: 1

      That's a great comparison. I would wager though that a lot of those professors think they are super geniuses :) I think the problem with these guys looking for superstar programmers is that there are only 2 types of people who apply for that work. A real superstar (rare) or someone who thinks they are (which a lot do). That's what causes people like the original questioner to skip the people with experience in the area they want because they only see these polar opposite types and not the substantial middle ground...

    2. Re:Why? by Stiletto · · Score: 1

      This is a good point. Most companies who SAY they are looking for "superstar" programmers really would do just fine with an above-average one. Logically, not everyone can have the top 0.5% employees.

      So if you absolutely need a top 0.5% programmer, prepare to pay them well and treat them well, and respect them for being the top in their field. When it comes down to it, most companies aren't willing to do either of those three.

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

    1. Re:grow your own thru training! by lgw · · Score: 1

      That depends what you're doing. If you're in a race against the three startups next door to invent the Next big Thing, a "superstar" or two really helps. Even if your not, a "superstar" is someone who is 10-30x as productive as an average programmer, and makes all of the average programmmers around him better. That's certainly worth looking for, and paying extra for.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:grow your own thru training! by cornercuttin · · Score: 1

      i think that you are spot on.
       
      i know what these guys are talking about when they say "superstar", and i've really only met one of them, and you are correct. they aren't even necessary.
       
      none of us get to work on things that are "theoretical" or "ground breaking" in the field anyways, so having people who understand things so fluently is not necessary.
       
      if you can find a superstar, hang onto him/her and give them a lot of money and a lot of work. if not, find people who work hard and find ways to keep them working.
       
      the ideal thing to do with a superstar is to give them their own project so that they have free reign to create, and then when they create a completely awesome product, sell the hell out of it.

    3. Re:grow your own thru training! by Anonymous Coward · · Score: 0

      I find this laughable...superstars HATE!! training

      they learn by experience quickly and by themselves

  30. We use the old boys network by wonkavader · · Score: 4, Interesting

    While you can market to wazoo, and you should, following the advice of others, here, you'll always only be half right, because talented people first and foremost recruit other talented people and solicit other talented people for work.

    So go to the experts at your current job, the people you REALLY respect, and ask them if they know someone. If they say no, then they're probably LYING, and you just don't have enough to draw their friends. Try to find out why, and fix that. Then those same people you asked will begin suggesting people.

    If you don't have experts at your company, cast your web out to all the experts you know, and offer to pay people what they're worth. You may have to pay enough to relocate someone. That can get expensive. Say you'll do it.

    This is in conjunction with the advertising of the job, not in lieu of it.

  31. grep by Anonymous Coward · · Score: 0

    When I want to find bugs in my code, I grep for bugs:

    $ find src | xarg grep bugs | less

    I guess you can try grepping for 'superstars'

    $ find resumes | xargs grep superstars | less

    Happy hunting.

  32. Start an open source project by seanadams.com · · Score: 5, Interesting

    ...and be prepared to hire telecommuters, even in other countries. All of our software guys at Slim Devices (now Logitech) found us through our open source projects, and to this day every one of the telecommutes. The stratum of talent you gain access to when you are reaching the people who are so excited about the technology that they'll work on it on their own time.... unbelievable - forget about Monster.com, this is the way to do it!

    1. Re:Start an open source project by Anonymous Coward · · Score: 0

      I second that. I am a tele-commuter from Turkey and I was found on craigslist. I graduated magna cum laude from a US University and love programming. I take care of the several e-commerce sites that net over $100,000 in sales in a month for a US employer and I do work dirt cheap at 19/hour! Be open to hiring tele-commuters from other parts of the world and look for talent in alternative places.

    2. Re:Start an open source project by Anonymous Coward · · Score: 0

      I've never heard such shite. Slimserver software is one of the biggest pieces of crap ever developed. One of the few basic requirements for that product is that it can correctly and reliably import all MP3's in a folder. If it can't import them it should be able to report _precisely_ why not. Slimshite fails big time. And what about the gazillion other bugs: http://bugs.slimdevices.com/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=&content=

      So basically you're talking shite. It's got nothing to do with telecommuting. Streaming media is actually quite "sexy" as far as programming goes but the problem with that is that it attracts total no hopers trying to prove (but always failing) that they know how to code. And "open source" is irrelevant to finding good developers. It just lowers the bar for people to be able to attempt to make a contribution. On that point, if you had a brain tumour, would you go to an "open source" brain surgeon"?

  33. Simple: Advertise very large salaries by Anonymous Coward · · Score: 0

    Advertise your jobs with 3 to 4x the salary you pay non-superstars. What? You won't pay that much? Well, you don't need us then!

  34. Trade shows... by Anonymous Coward · · Score: 0

    Good companies send their geeks to tradeshows, it helps keep them up to date on what the competition is doing, and stimulate new ideas.

    It's a good place to show what you're doing (having a booth), and only geeks that are interested in your company are bound to look around and ask questions.

    A small sign in a out of the way place with "we're hiring" would be enough for the geek that was interested in your company.

    It's how my current company found me :)

  35. Hire slowly and carefully by wsanders · · Score: 1

    Most dumbasses I've worked with have been hired with the attitude "well, he doesn't know shit about anything but we'll bring him on and see how he works out".

    You can't *want* or *need* to hire good people. One must not desire the thing which one wants most, Grasshopper.

    BTW anyone who calls themselves a superstar is usually a dumbass hiding under a layer of bad attitude.

    --
    Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
  36. Only work one way by BlueBoxSW.com · · Score: 1

    I only work for companies that are referred to me by other companies I trust.

    Working for people you don't know is a pain in the ass.

  37. Word of mouth by Rix · · Score: 1

    Ask your current employees to mine their contacts. Don't be cheap about it, you should be offering a 4 figure finders fee to them.

  38. How Do You Find Programming Superstars? by CaptainPatent · · Score: 4, Funny

    What methods have other people used to find the truly elite?

    Wouldn't that be sort?
    --
    Well, back to rejecting software patent applications.
    1. Re: How Do You Find Programming Superstars? by ozbird · · Score: 1, Funny

      By smell?

      "Listen! Do you smell something?" - Ghostbusters

    2. Re: How Do You Find Programming Superstars? by geekoid · · Score: 1

      You're hired.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    3. Re: How Do You Find Programming Superstars? by mojogrande · · Score: 1

      The definitive answer is here: How to recognise a good programmer http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/ I have some personal experience that verifies this one. [Superstars are unique. So you neek up on them. Heh heh.]

    4. Re: How Do You Find Programming Superstars? by NoPhD · · Score: 1

      I am an embedded real time device developer. I have a family. I like to program. I want respect and I think I have the experience and the expertise to say that I deserve a good salary. I work in telecommunications. The industry has not given raises in 3 years. I do not live in silicon valley nor do I want to live there. Give me an industry in the midwest that pays for the hard skills. Don't make me jump through hoops to switch jobs. Tell me I am valued. Have a good direction. The 700MhZ auction and LTE seem to be what will drive the industry in the next couple of years. Don't tell me you want me to work on TDMA. When I save your ass say so.

  39. Make sure their shoes don't match their belts by 140Mandak262Jamuna · · Score: 5, Funny
    Just this morning Slashdot has this big article about how IT professionals aspiring to break into management should wear matched shoes and belts, wear ties and full sleeve shirts and no torn/frayed/stained clothing. Read that piece and eliminate all those who follow those tips. Obviously they are aspiring professionals gunning for your job.

    Real programming superstars, usually love coding so much they take precautions so that they are not accidentally promoted to have management responsibilities like tracking vacation requests and authorizing the expense accounts. So they make sure their belts don't match their shoes, their pants, if and when they wear it, are never ironed. If they are forced to wear ties, they pair it with half sleeved shirts. They are the the programming superstars. But be prepared for huge number of false positives.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Make sure their shoes don't match their belts by mooingyak · · Score: 1

      Real programming superstars, usually love coding so much they take precautions so that they are not accidentally promoted to have management responsibilities like tracking vacation requests and authorizing the expense accounts.

      Not necessarily true. Sometimes they push for management positions because they pay better and will enable them to cover their mortgages. There are also times where they want to replace the management above them because they're tired of having to justify what to them are obvious technical decisions.

      So they make sure their belts don't match their shoes, their pants, if and when they wear it, are never ironed.

      Also not necessarily true. Sometimes you wear clothes that make you look like an adult because you're trying to get laid.

      Here's the way to find the best:
      Find the guy that all your other programmers go to when they get stuck, and ask him what he thinks.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    2. Re:Make sure their shoes don't match their belts by Yiliar · · Score: 1

      You got that spot on!

      I wear very LOUD shirts that my wife custom makes for me. We visit the fabric stores often and I get to pick what I like. She makes them with mandarin collars which I do button up, so I never have to wear a tie.

      I am also heavier than I should be and so I wear bracers, not suspenders or belts.

      The upside is that I never have to face a customer or vendor.

      The downside is that its been 4 years since my last raise. :(

      My 26 years as a UNIX and now Linux admin means nothing to todays management. However, my peers often queue up to ask for help. And that is what I live for. Just maybe I am the best systems admin ever, but I will never allow management to know that. I am happy when my peers appreciate me and the systems are all up.

      Consulting is the fine art of being of real service without ever being responsible. :)

    3. Re:Make sure their shoes don't match their belts by Anonymous Coward · · Score: 0

      I also know people who fit that description who are just plain lazy. They might be a superstar at WoW though.

  40. For 51 Percent of your company, by deweycheetham · · Score: 1

    I will put out the best code your have ever seen. (But realistically this would never happen, so good luck there bub.)

    In Short:
    Capitalism is not about rewarding labor, but rewarding capital. Therefore, I really don't have a vested interested in having you pimp out my labor.

  41. People and Recruiters by GreyScales · · Score: 1

    I have to agree with 2 things said here - people referrals and head hunters. Being in the field for almost 30 years as a developer myself, I've found every one of my jobs this way. When I was a hiring manager, it's how I hired people. Secondly, have you considered not who you want, but what you want them to do? One area that is often over looked is finding talent to complete projects. If you have good people now, folks that can define the projects that need completing, then you can shop the project. In the computer field, we say "use the right tool for the task". If you apply that to the tasks you need completed, find the right person for the task and they will give you a good result. If you go the task route... The people can literally be anywhere - including telecommuters. BUT, *beware* seriously low bids for work. It usually results in crummy code. You don't mention where your company is... Maybe someone here is close and looking... Just a thought. G

  42. Don't always rely on the internet. by lantastik · · Score: 2, Funny

    Word of mouth is an incredible tool. If someone is well known in the industry and truly a superstar, people will know who they are. If you want someone like that, you need to realize you'll have to pay for them. I haven't personally "looked for a job" in a long time. I have found a niche for myself, so people look for me.

    At my last two places of employment (previous was contract and I am now full time), I was found by someone who knew my reputation. By contrast, I had a recruiter call me who had gotten my name from another recruiter friend of his. He called me and told me how they were in desperate need of a senior person who would set standards, mentor teams, etc. I had a great time laughing at him when he told me that they were offering a solid 40K less than what I was making at the time.

  43. A recommendation by clckwrk · · Score: 1

    Don't. If you're looking for people that you're going to be calling superstars. You're going to get just that, ego and all. Although they may be the best programmers on the face of the earth, generally they won't live up to the reputation they've built for themselves. They won't do it any other way than their way, for better or worse. While I'm not trying to advice you against hiring competent experienced programmers, in my experience "superstar" tends to bring out the worst. Best of luck.

  44. I sympathize entirely by pturley · · Score: 1

    There is far more need for real talent than there is talent to fill it. I think the problem is intrinsically hard (you don't need me to tell you that), and I think it always will be.

    Which is to say, I don't think there's any way to improve the situation. I think you will have to continue to be clubbed over the head with a poor S/N ratio, like a soul in hell that can't ever escape the burning.

  45. Networking + good benefits, pay, etc. by RetardsForRonPaul · · Score: 1

    My last employer was a startup, and most of the early engineers were at the top of their field, by necessity. Many of our best had worked with the founders or other execs before, or were referred through one of the same.

    But they managed to get them by offering excellent pay (the company was in a state with no income tax, which made that even more enticing) and excellent benefits (1 month vacation time to start, plenty of options, matching 401k contriubutions).

    1. Re:Networking + good benefits, pay, etc. by mollymoo · · Score: 1

      One month of vacation is an "excellent benefit" over there? Holy crap. That's now the legally mandated minimum in the UK and was the norm before that.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    2. Re:Networking + good benefits, pay, etc. by paitre · · Score: 1

      Yep.
      Normal is 2 weeks.
      I even had one joke of a place (USI, you guys SUCK :) offer me 90k/yr and -1- week of vacation, knowing I had a 90 minute commute each way. I laughed when I told them "uh, no."

      I had the equivalent of 4 weeks when I worked at Johns Hopkins. I'm back down to 2 weeks (2 jobs, and 2 years later), but I'm far happier where I'm at. Even if it DID mean moving to Texas.

  46. "Enough volume" is 1 per open position by davidwr · · Score: 1

    Assuming you find the right one.

    In all seriousness, you might try

    *college placement offices at top-notch schools
    *"are you really smart" filtering questions like Google did a few years back
    *ads in publications geared toward smart people, like honor-society and professional-society publications or MENSA publications. Be careful though, high IQ!=quality employee.
    *Requiring people to submit either a portfolio of non-proprietary work, letters of recognition or equivalent from proprietary employers [properly redacted, of course], etc. in addition to a resume or grade transcript.
    *For students, look for awards and recognitions earned while in college

    Be prepared to pay a premium. Be creative. Say the typical salary for the job is $70K/year. Offer 90K/year BUT hold back the last 20K of the 1st 12 month's salary until after certain project milestones are reached. If he quits before the next milestone, you keep what he hasn't collected. After 12 months roll the "bonus" into his salary. Even more creative if the person is big on social-welfare/charity: Pay him $70/year but offer him a chance to earn up to $20K/year more for his favorite charity by meeting certain performance goals.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:"Enough volume" is 1 per open position by lgw · · Score: 1

      If the typical pay for a position is $70k and you want a top-notch guy, be prepared to pay $100k to start, with $100k in bonuses if the guy delivers to the milestones. I'm not exaggerating here. Top 1% programmers are far more that 3x as productive as average programmers, and they make everyone around them more productive. You don't get that on the cheap.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:"Enough volume" is 1 per open position by doc_doofus · · Score: 1

      Interesting ideas.

      I agree with high IQ!=quality employee, mainly because so many tend to be free-thinkers and don't like to conform. However, with that weakness, there comes the strength of passion for learning. I have found that to be universal among those I've met in that group.

      I do read most of the ads in the back of one of those publications. (You never know when you'll stumble on an opportunity you haven't even been searching for.)
      While I am not a professional coder, I do know some. I would mention such an ad to those I do know, so you could get third party referrals that way.
      That said, I hardly glanced at Google's; mostly because I have no desire to move, much less back to the west coast.

      --
      Disclaimer:IANAL/MD/PhD-Just the local yokel PC "doc" ~If you're not having fun, then you are probably doing it wrong.
  47. 1337 programmers. by siDDis · · Score: 1

    I belive most great *young* superstar programmers can be found within several open source projects.

    I also think that a lot of superstar programmers like to keep the number of working people within a project minimum, that means less than five persons, preferably 3 to 2 persons. A good salary and as little administration as possible, again preferably NO ADMINISTRATION.
    I also think that the superstar programmers like to work in an environment with people who share the same interests, that means no wife/kids chatting at the office but rather things like new programming features, algoritms, data structures, memory allocation and so on.
    And finally let them choose the tool for the job, no matter how weird/expensive it sounds.

    1. Re:1337 programmers. by paitre · · Score: 1

      Administration, however, is necessary to a business operating.

      Do you really, seriously expect a business to hire people, and not place demands and deadlines on them, and -expect- results within that time frame? A business does not exist solely to make its employees money. It exists -primarily- to make it's owner(s)/investor(s)/shareholders money. The employees get paid as a necessity.

  48. First, stop looking for "Superstars" by uberotto · · Score: 1

    That's a subjective term that means different things to different people. Be honest, tell the people what you want. Do you want someone who can produce good code, fast or great code slow. Do you want someone who is a strong team leader or a strong team member. What does the job require, how many hours a week are you expecting from your workers, what is a reasonable salary range. Is this a short term contract or is this a long term position.

  49. Signal-to-noise by Jurily · · Score: 1

    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. So, do you want volume or quality?
  50. They are all Google... by strangeattraction · · Score: 1

    How do I know...Just ask someone who works there:)

  51. Career fairs, info sessions, sponsorship by etoleb · · Score: 1

    Participate in college career fairs and make yourself visible. At a place like MIT these are taken fairly seriously, but make sure to bring free swag (students like free swag). Some companies hold info sessions with free food. Others sponsor student events and competitions, it's a great way to gain appreciation from the students and get seen on posters around campus. Software engineers at these "top schools" rarely need to look very far to find a company that appeals to them, so it's important that you get them to know who you are and what you do.

  52. 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.
  53. 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.
  54. LaTeX by Dogun · · Score: 1

    Look for resumes made with LaTeX.

    1. Re:LaTeX by Shados · · Score: 1

      Thats going to get you "Joe Generic CS Major who thinks he's a hotshot", not a programmer superstar.

    2. Re:LaTeX by Dogun · · Score: 1

      Correction: Joe Generic CS major who chose to use LaTeX (whatever the reason). You could do far, far worse as far as heuristics go.

    3. Re:LaTeX by TheRaven64 · · Score: 1

      I'm not convinced by this. I wrote my CV in LaTeX because I am most familiar with it, having written my book and PhD thesis (oh, and undergrad disseration) using it. In retrospect, however, it is probably not the best tool for the job. It took a lot of tweaking to get something that looked about as good as 5 minutes with Pages would have done. All you learn from the fact that my CV is one in LaTeX is that on at least one occasion I have chosen the wrong tool for the job, which is probably not a great reason to hire me.

      --
      I am TheRaven on Soylent News
  55. Headhunters by Anonymous Coward · · Score: 0

    Finding a good headhunter is almost as hard as finding a good employee. Bright side is they can call contacts who aren't actively seeking alternative employment.
    But a few headhunters have provided more benefit than an entire HR department.

  56. It goes both ways by Anonymous Coward · · Score: 0

    Or hire them when you see their own open-source projects, on the off chance that Google hasn't already.

    Because "programming superstars" means either:
      a. people who you think (through some means) will be a superstar at writing programs in the future, or:
      b. people who you've seen write superstar programs already

    Option a is rather hard. Option b is really easy: find a cool open-source program, and hire the author.

    It doesn't have to be an open-source program, of course, but it's a lot easier to find out a lot more information that way, and people working on awesome closed-source programs tend to already be employed by cool companies.

  57. I think... by KoshClassic · · Score: 1

    From the article summary, that you have some people already like the ones you are looking for. I think its the people you already have who will be your best resources when it comes to finding more people like themselves. Birds of a feather flock together - people will tend to have friends like themselves - either past colleagues, college buddies etc. Incent your people with referral bonuses and they will bring the programming superstars to you. I work for a very successful but low profile company that does not advertise itself and while they do advertise their jobs to some extent, it is still true that a very high percentage of people they hire, especially in IT, find the company because other employees referred them. The company offers a generous referral bonus, makes it known that they really appreciate referrals (even when they end up not hiring the person) and *pays attention* to candidates who are referred by reviewing their application and contacting the candidate much more quickly than they do with applications received through other sources. And as a past job candidate, I can tell you that I'd always look first at a company where someone is referring me if it makes me feel like I have a better chance at getting the job and really being wanted there.

    --
    Understanding is a three edged sword. - Ambassador Kosh Naranek, Babylon 5
  58. 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.

    1. Re:Make sure you have a diverse staff. by lgw · · Score: 1

      Really, a "superstar" programmer is one who gets the job done come Hell or high water, and leaves behind a trail of well-documented reusable highly polished code. Since those are hard to find, the combination you suggest is a practical workaround.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Make sure you have a diverse staff. by The_reformant · · Score: 1

      Well this is clearly a process problem. If you can't commit without a peer review, which includes documentation standards, then none of the uncommented and undocumented destruction ever occurs.

      Rather than going back and using "academic types" to polish your code why not put the effort into the design, if this is right the code practically writes itself.

      --
      I have discovered a truly remarkable sig which this post is too small to contain.
  59. They have Bad /. karma ratings by shareme · · Score: 0

    They have bad /. Karma ratings

    --
    Fred Grott(aka shareme) http://mobilebytes.wordpress.com
  60. You don't find me ... by johnlcallaway · · Score: 4, Interesting

    I find you....

    Seriously.

    I haven't had to 'look' for a job (i.e. interview with more than one company) since the early 90s. I have a network, and if I want to change jobs, I ask the people I respect the most (and who I think have respect for me) if there is anything out there. (Changed job 5 times due to corporate changes such as mergers, acquisitions and startup failures.) Usually my income went up, but I took a cut in pay for the last one because the company appears to be that much fun to work for.

    People who are truly superstars are probably working at a job they like and you won't be able to budge them *unless* you have an open pocketbook or something 'Google-like' that would appeal to someone who can get a job anywhere. Or something has changed (or their patience has just run out) and in a month or two will have another one through people they already know.

    My suggestion is if you want a superstar, start networking with the people YOU know and respect the most. Maybe your network and a prospective employee's network will connect somewhere. That's how I got this one. A guy I know knew about this job and let me know about it because he thought it was something I would be interested in and knew that my company was going through an acquisition and thought I might be looking.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    1. Re:You don't find me ... by davecb · · Score: 1

      A sucessful group I was in used to have a rule that you could reccommend someone for a job if they were better than you at something.

      This resulted in a a steady increase in quality people. Including at least two superstars who eventually were bored with easy stuff like kernel and driver escalations and left for something harder.

      Alas, the parent company eventually laid the whole group off to save jobs at headquarters.

      Now I just rent my former colleagues back from the companies they went to.

      --dave

      --
      davecb@spamcop.net
  61. The problem with a programming super nova by davidwr · · Score: 1

    They spread their mess everywhere and if their IQ is massive enough, they eventually implode sucking in everything around them and not even the light at the end of the project tunnel can get out.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  62. All Depends by ratboy666 · · Score: 1

    What IS a "programming superstar"?

    Windows applications? Unix applications? System level? Oracle? SAP?

    Social Networking sites are one element of your answer. You need to be "LinkedIn" to the circles of your developers.

    --
    Just another "Cubible(sic) Joe" 2 17 3061
  63. Give them the time of day! by EEBaum · · Score: 1

    I was job hunting a couple years ago for a programming position. I graduated head of my class in C.S. (named the Outstanding Graduate at my university), and did a round of resume-bombing. I'm not one to overbearingly market myself on things, preferring to be very straightforward about what I'm looking for.

    Most of the places I sent my resume to didn't even have the common courtesy to respond with "no, we don't want you", let alone "yes, come in for an interview."

    Lots of good programmers aren't good at marketing themselves. If companies would give people the time of day and take a few minutes to talk to the person (especially in person), rather than discounting someone because of some mystical applicant-filtering list, they might be pleasantly surprised at who showed up.

    Every in-person interview I've had (3 thus far), I've been offered the position. Granted, it could be that I got the interview because they were more interested in me than other places, but still...

    --
    -- I prefer the term "karma escort."
    1. Re:Give them the time of day! by lgw · · Score: 1

      The way to get a job upon graduation is to go to work for one of the companies that you interned with. You don't yet have much to market, so that's not the problem. The problem is that you find jobs through your network of business contacts -and you need to start creating that network *before* you graduate.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Give them the time of day! by geekoid · · Score: 1

      "I graduated head of my class in C.S. (named the Outstanding Graduate at my university),
      "

      If only that was an indicator od a good programmer.
      There are many MANY programmers with all kinds of awards. Coupled with your lack of actual experience it's not a response.

      Your resume probably needs work visually. Yeah, I know it shouldn't but it does.

      The worse programmer I ever worked with was a guy the graduated from MIT with a high grade average. Horrible, impractical, short sighted twit.

      Yes I do know how MIT GPA works, kthxby.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    3. Re:Give them the time of day! by EEBaum · · Score: 1

      Which is where I am now (working where I interned), and, all things considered, it's probably the best situation for me. I'm just saying that if companies are having trouble finding good programmers, they could do well to give people who are NOT connected to them through existing business contacts a chance.

      --
      -- I prefer the term "karma escort."
  64. Puzzles! by Anonymous Coward · · Score: 0

    Post puzzles like Google does, they tend to get phenomenal programmers by posting whiteboard puzzles at recruiting fairs (any and all recruiting fairs). They found a FANTASTIC programmer at Purdue once by doing this, and the guy didn't even go to the university, he just went to a local high school, heard Google was there, stopped by, solved ALL the puzzles they posted, and was hired then and there. Last I heard he was poised to start working there as soon as he graduated from high school.

  65. Programming contest by gvc · · Score: 1
    Check out the winners (or even contenders) in the ACM programming contest Or sponsor a TopCoder.com event.

    But if you want to hire these superstars, be prepared to compete with the likes of Google, who do both of the above. They have hired better than 1/2 of the programming contest superstars that I have met.

    Let me anticipate a strawman response: the tasks posed in programming contests do not represent the sort of tasks that grunt industrial programmers are called on to do. They do select winners.

    1. Re:Programming contest by TheTapani · · Score: 1
      I was about to say something similar. Programming contests shows that a person loves programming. However, TopCoder, ACM or univ or Valadolidl (sp) stuff are not ideal. Those competitions are more about coming up with a witty function quickly (within an hour or so per task) rather than engineer a program.

      The ICFP programming contest would be a far more better meter, since the contest is long enough to require the programmer to create several tools, and/or and an architecture that they can extend during the contest (it's three days, but believe me, the guys we are talking about produce in three days code that would take weeks for the mortals to produce).

      Basically all excellent programmers I have met has their own framework of reusable code/classes/modules (in their favourite language), and they prefer to use it. They might even be passionate enough about it to accept lower pay in order to find a job where they can use it instead of tools decided by management.

      My 2 cents.

      //T

    2. Re:Programming contest by gvc · · Score: 1

      TopCoder is far more of a race than ACM. ACM give 3 people 5 hours and is (at least at the finals) rarely determined by typing speed or book moves. I'm sure ICFP identifies exceptional candidates just as well.

      One caveat: there also exist exceptional candidates who abhor contests. One way to attract them is to do something interesting and see who comes up and says, "cool, how can I get involved?" and opposed to "I am great, how much will you pay me?"

    3. Re:Programming contest by JMZero · · Score: 1
      I'm not sure the distinction is all that large; I think generally the same people will do well in TopCoder, ACM, or ICFP (though naturally some people will be more interested in one kind of contest than another).

      For example, here's a list of members on the 2006 ICFP 1st and 3rd place teams:

      "Team Smartass" comprised Christopher Hendrie (ChristopherH), Derek Kisman (SnapDragon), Ambrose Feinstein (ambrose) and Daniel Wright (dmwright). "You Can't Spell Awesome Without ASM" comprised John Dethridge (John Dethridge), Ralph Furmaniak (RalphFurmaniak), Tomasz Czajka (tomek) and Reid Barton (reid).

      These are all high-rated competitors on TopCoder (the guy I stole this from conveniently listed their TopCoder handles in brackets), and most (if not all, I don't know) were very successful in ACM competition. For myself, I thoroughly respect anyone who does well in any of these contests. I know from our own experience hiring that it's very difficult to find programmers who can do algorithm work at all - if someone is actually doing well in these contests it says a lot about their aptitude and interest in programming (though naturally it doesn't guarantee they'll be a good employee, especially if the job is cranking out "boring" software).
      --
      Let's not stir that bag of worms...
  66. 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.
  67. I'm over here! by Anonymous Coward · · Score: 0

    For i = 1 to PotentialSuperstars
            If i = PotentialSuperstar
                    slapProgrammer()
                    deflateEgo()
            Else
                    moreWork()
                    longerHours()
                    payCut()
            End If
    Next i

    So...

    Step 1 - Don't code in visual basic...

  68. Another Employer Trying to Save Money... by littlewink · · Score: 1
    by not paying what a developer is worth.

    If you want good developers, be ready to offer money for them, because everyone else wants them too.

    P.S. I'm kinda tired of reading about how, of the IT firms whose employees post here, 90% want to hire the top 5% of developers. How about an article about the truth: how to hire so-so developers and _still_ get some work done? Now that's an accomplishment!

  69. Yes! by geekoid · · Score: 1

    List the CORE technical need. anyone one worth their salt will pick up the supporting stuff easy.

    I hate when it's like we need 10 years experience in :
    SQL, C, C++, Perl, active directory, MS OFFICE, Clear case...ad nauseum

    That just tells me you don't really know what your programmers are doing.

    Especially when you ask "Used in the last ten years, or ten years in each?" "Each."
    Actually reply, btw.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:Yes! by FreeKill · · Score: 1

      Yeah, exactly. It's even better when it's like we need 10 years experience in Ruby (ummm...You'll have to give me another 5 years or so then...)

    2. Re:Yes! by Jamie+Lokier · · Score: 1

      Ruby's first public release was 13 years ago.

  70. Co-op/Internship Programs/On-campus interviews by jb68321 · · Score: 1

    For young blood:

    Go to some nearby/preferred universities that care about computing/programming, and talk to the career-advising departments about possible interviews/co-op/internship programs. It's like a free sample, practically, considering most companies pay $10-15/hr for co-op's/interns the first time around (exception for expensive areas I suppose). I'll never forget when my university "adviser" told me that I should switch to Mechanical Engineering because there were no jobs in Aerospace (much like the "all programming is going to India" problem), and here I am now with more than 2 offers and the possibility of interesting grad school research. Let students know that jobs are out there, or this will be a bigger problem in the future! I found my company via co-op'ing by the way, as did nearly all my friends in my major.

    Or, like Lockheed does, go to the campus and set up a "challenge" event--go to the school and offer prizes for students solving a programming challenge like one you face. Students like competition & free stuff (please NOT pizza). Not sure what overhead something like that requires, but just another idea.

    Or maybe they have something like an "Engineering/computing week" or a "Career Fair" where students come and hand you resumes while you sit at a decorated booth. Anyways, I think most campuses that have good candidates try to put them out there. Use their resources.

    1. Re:Co-op/Internship Programs/On-campus interviews by lgw · · Score: 1

      We don't even try to offer interns less than $20/hour here in Silly Valley, and sometimes significantly more. But then, we're looking for C/C++ skills, and the nation is full of Java Schools.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  71. first know what you really want. by tempest69 · · Score: 1
    1. The guys (gender neutral) that I would call great are algorithm heads.. not that they know the advantages between Kruscals and Prims. But that they wold have the same ideas on how to build an algorithm. The big idea isn't just that they have a good algorithm to solve X, Y or Z.. but that they can come up with a bunch over the course of lunch. Ask them the google question, how do you find the first 10 digit prime in e.. and after their canned answer, ask for 5 different ways it could be done. If they're good you'll hear 10.. even if some of the ideas stink your still doing pretty well...

    2. Troubleshooters are brutally useful.. take an expert with a known problem in his head, and have the troubleshooter (applicant) role-play the diagnostic... If your really bored, prep a full test with some odd code that doesnt work.. coders that cant effectively troubleshoot are not superstars, and are often dead weight.

    3. Ask them what they hate... If they use a product X it should have some horrible inconsistencies that they will despise. Programmers have some habits that the compilers just hate, depending on the skill level the coder will have different views on what is bad..

    After all of that then you have to find a good place to put them.. you cant feed an algorithm head CSS style sheet problems, they will be malnourished. Then you need to make sure they're on task.. algorithm heads love puzzles and problems.. keeping them working on one that they've solved is almost punishment.. Once you've hit their boredom wall you need to adjust the task so that they're not slogging through the motions.. or re-task them and let a hardened solid coder finish up the dull bits.

    Storm

  72. Easy. by The+Nipponese · · Score: 1

    Just think of an interesting project for them to work on.

    Almost every programmer can be a superstar. They just need proper motivation, and unfortunately, money does not usually fall into this realm.

  73. Flip side by Anonymous Coward · · Score: 0

    I like my job and most of my coworkers, but some of them are incompetent.

  74. Poach and show off by Dolohov · · Score: 1

    Many of the truly excellent programmers I've known have never left a job without knowing exactly where they were going. This especially includes graduate students, by the way, who frequently are long on talent but short on connections, clue, and time to search. Just like the pretty girl sitting by herself at the prom, the geeks aren't going to approach you, even if they realize you exist. (Cue the commenters taking that analogy WAY too far)

    Go to trade shows and chat with the scruffy-looking folks with bags full of swag, go to conferences (ACM and IEEE) and read the papers, look into interesting projects on Sourceforge, go to college recruitment fairs. Be specific in your job description, and approach people with an idea of what they would add to your company. Be ready with a business card and the phrase, "My company is looking for people like you."

    On the attracting side of things, make yourself visible in the right places. Publish academic papers, if you can, and send people to conferences. (iRobot is particularly good at this) Contribute to the open source community -- and try to maintain good relationships with fellow contributors.

  75. 2 things. by Shados · · Score: 1

    A) If there were programming superstars around, the only way to connect to them is by, well, connections. The friend of one of your current employe is good, and through that one you get in touch with the superstar.

    B) There aren't any (or almost). In the current market, where everyone comes out of CS school as an applied math major with "Computer" written somewhere on the diploma, there's virtually no one qualified to fill in software architect and project manager jobs and, to a lesser extent, functional analysts. So a lot of "superstar" programmer are quickly promoted to these jobs, the "top" QA with an associate degree who knows a little PHP is promoted to programmer, and quickly enough, you end up with zero superstar programmer, just superstar "monkey team leaders".

    Even the big shot companies like IBM, Google, MS, or the fast growing ones like Endeca, work like that. A bunch of monkeys lead by 2-3 former top dog programmers.

  76. As a hiring manager... by ShadowOfMe · · Score: 1

    I am not going to tell you what we do.

  77. Feel free to hire me by the hour by AlXtreme · · Score: 1

    Seriously, I've worked for companies both big and small, even the government for a while.

    Instead of locking myself up at yet another company, I decided to set up my own software development company. Instead of looking for assignments, the assignments find me. I take assignments on a per-project basis, and if I don't have time or the project isn't interesting I know enough programmers who might want to take it.

    It's not for everyone, but with a professional attitude and some word-of-mouth advertising I must say it beats any job flat-out. And I get to give discounts for open source software development, as that's what I enjoy most.

    --
    This sig is intentionally left blank
  78. Advertise on a job site like jobbank.com by jeichels · · Score: 1

    By advertising on online job sites, you hit a much broader area of people. Often folk in IT are willing to move if the financial package and technology are right. Note I am nudging up my own company here, but I do believe if you specify the job description well and weed out resumes that apply you can find the right kind of people. One thing I think also helps is having candidates do a difficult (worthy & interesting) development test prior to even interviewing them. I have seen companies give out 2-day tests that target not just good development practices, but also the ability to think outside the box. Only the hearty will stay on and they may appreciate the test if it makes for a good puzzle.

    --

    JohnE
    jobbank.com - Search jobs, post resume,

  79. Don't by BeerMilkshake · · Score: 1

    Do your company/team a favour and don't recruit 'superstars'. You might find yourself hiring some braggart with a big ego who insists on wanking their ideas around and bullying everyone else into using their pet technology of choice.

    I suggest looking for people who can provide hard evidence of:

    - decent technical knowledge (depth and breadth) about what you are hiring for
    - having developed larger non-trivial components in real world projects
    - having worked successfully in a team. In fact have them meet some of your team in the interview.
    - having written documentation/requirements/designs
    - having worked on, and persevered through, disaster death-march projects (have battle scars)
    - willingness to treat others with respect, listen well, and take direction

    Anyone who is even average or slightly above average in all these points will likely be a superstar in your organization.

    HTH

  80. Sadly, good-ol'e-boy network. by DdJ · · Score: 1

    Sadly, the only mechanism I know for this which I've actually seen work is essentially the "good ol'e boy" network.

    The last time I got a real job that wasn't even indirectly via some contact I already had was in the mid 1980s. What I'm used to is, networks of at least reasonably competent people remain loosely in touch with each other and get a vibe for when someone is dissatisfied where they are, and correlate those vibes with needs they observe elsewhere.

    A disadvantage is, it can be hard to get the first competent person. An advantage is, once you do, if you really have a good environment to work in, you might get a steady stream from that point on.

  81. You're Hosed by bill_mcgonigle · · Score: 1

    But stipulating that it happens, how do I, as a company looking to hire such people, connect with them?

    If you're only able to hire up really smart people who are out of work, that is you can't go recruiting gainfully employed ones... there's something wrong with your company and if the person is as smart as you want them to be they'll smell that and not take the job. If they miss that they're not what you're looking for. Catch-22.

    It sounds like you're trying to bargain hunt great talent. Maybe it's just the phraseology, but if that's the case, step 1 is to clean that up.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  82. 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

    1. Re:Be a superstar company to work for... by Coward+Anonymous · · Score: 1

      I couldn't agree more. Anyone who claims "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" at a company with >5,000 people is either drinking the kool-aid or is selling something.

    2. Re:Be a superstar company to work for... by Anonymous Coward · · Score: 0

      Totally true. Nothing makes me skip a job advert faster than talk about how unbelievably amazing the company is. I've been burnt so many times that my reaction is just a massive amount of immediate cynicism. Don't say your company is "leader in the field" or "dynamic" or "cutting edge" or anything else for that matter. Ive found that companies that write that just *think* they are great because they are so out of touch with how it really is, and the reality is they are usually the worst.

  83. too full of yourself by nguy · · Score: 1

    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.

    You sound too full of yourself; that alone is a big warning sign.

  84. Joel On Software by MBCook · · Score: 1

    I seem to remember Joel having good ideas.

    Hire people who want to program. Hire the people who would program in their spare time if you didn't pay them. Those are the people you want.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Joel On Software by geekoid · · Score: 2, Interesting

      "Hire the people who would program in their spare time if you didn't pay them. Those are the people you want."

      no you don't. Rather, that doesn't really mean jack.
      Joel and his little yes men followers cult is starting to get on my nerves;which means exactly nothing.

      I know too many great, and extremely good coders that don't code on their own time. They all DO something, but usually not coding. Lets face it, most of coding isn't a new challenge. Some of it is, but a lot of it is the same thing I have done. Sure, you may need to be running 30 threads in a robotic system and there are some fun challenges there, but there is also a lot of write the stream to the serial port, make it cross compilable, etc that are just boring after a while.
      I believe this is why some coders end up writing code too complex. A t some level they are trying to do something difficult. It's also why I think your Superstar/Guru/Prima Dona* should get time off when there isn't much interesting work to do. Bear in mind what they do do is done a lot faster then most people, usually about 10 times faster.

      *I don't mind Prima Dona's, but if you are going to have that attitude, your shit better live up to it or I will call you on it.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  85. Oh god not again by Anonymous Coward · · Score: 0

    Why do we keep seeing this sort of crap on here?

    "Ohhhh I am just sooooo 'lite! Ohhhhh wher can some one as 'lite as I go?"

    Jesus if all you can do is program and you can't engineer or design or do development why would anyone want to hire your 'lite butt?

    Just STFU dumb ass!

  86. Let your employees know you're hiring by iabervon · · Score: 1

    If your employees are good, they'll tend to know other people who are good (from previous jobs, school, socially, or outside projects). If they know you want to hire people, and they like the company, they'll refer these people. People of the level you're talking about will generally be able to find jobs by way of their contacts of this sort, and will generally not want to talk to recruiters, HR people, or headhunters (all of whom are normally scary non-geeks).

  87. Re:Specs show H1-B Visa abuse! by Anonymous Coward · · Score: 0

    I never respond to job ads that give a hard line, lengthy list of specs. It is almost always a case of H1-B Visa abuse, where they have already selected an indentured servant from another country to do the job and are just trying to convince the government that there is no one else *exactly* like them in the world.

    I've been programming since the 70's. Since I started, I've watched tech industries one by one outsource manufacturing, labor, and design to countries with cheaper labor. Their defense is always the same, "Our competition is doing it, so we have to race to the bottom too in order to remain competitive."

    Some one looking for a "superstar programmer" and who is willing to pay well for them is a rarity. The industry is too commoditized.

  88. Just Listen To Them by insertwackynamehere · · Score: 1

    I mean, if they are what they say they are, a superstar, then they shouldn't have any fear about saying so. I mean they (the employer) wants to know. I only suggest that they wear their shades because sometimes the spotlights can burn holes through the stage, but otherwise they're a pretty safe bet. The interviewee should also be asked about previous projects, did they improve on the design? Did they do something new? If they don't have much to say they're too much of a new comer. If you make a mistake when typing up notes on the interviewee then go back, whatever you did, you undo (Ctrl+Z).

    1. Re:Just Listen To Them by insertwackynamehere · · Score: 1

      if(you == superstar) {
      you.fear = false;
      }
  89. You need one to find one, borrow someone elses by Timmy+D+Programmer · · Score: 1

    Borrow someone else's superstar to help you screen the candidates. If you don't have enough candidates, you aren't offering enough money.

    --


    (If at first you don't succeed, do it different next time!)
  90. All depends what your selling by BrightCandle · · Score: 1

    Personally I think "Superstar" developers are interested in three things:
    1) Decent compensation - shares are a big part of this, they don't like making other people rich off the back of their talent.
    2) The difficulty and type of work. Choice of language and how it gets done is pretty important.
    3) If the guy in charge is not a technologist but a business person that lack of understanding of development, and especially hackers, is going to mean you have no chance anyway.

  91. Nerd Idol by Midnight+Thunder · · Score: 3, Funny

    Two solutions based on current reality models would be either "Nerd Idol" or "Big Brother Nerd edition". The idea would be to pit these guys and gals together and see what develops. Sure it probably wouldn't get the same ratings as the current versions, but something has to be said for cult value ;)

    --
    Jumpstart the tartan drive.
  92. Similarly... any tips for soon-to-be graduates? by Anonymous Coward · · Score: 0

    I'm in my final year at University in the UK, about to finish a masters degree in computer science. I've had a few job interviews and been rejected every time. I don't know why -- the responses have been standard "at this time we don't want you" messages. I suspect I need to work on interview skills a bit more -- maybe plan my answers to common questions more carefully instead of ad-libbing them. It's the only thing I can think to improve, since my CV is good: I've worked for 6 months at a respected company, I've held positions of responsibility at University and I've got good grades.

    On the other hand, I'm running out of interesting places to apply to. I want to work in London, but I don't want to work at a bank, and I'm avoiding the financial services industry (this seems to limit things a lot). Finding interesting companies takes soooo much time!

    1. Re:Similarly... any tips for soon-to-be graduates? by EEBaum · · Score: 1

      Are you still on good terms with people at the respected company? Perhaps someone there knows of an opening at a place you might be interested in, or knows someone who knows someone, etc. Ask around. Word of mouth goes a long way.

      --
      -- I prefer the term "karma escort."
    2. Re:Similarly... any tips for soon-to-be graduates? by drew_eckhardt · · Score: 1

      I would never hire a software engineer (which takes a combination of creativity and technical aptitude) without a track record and don't know many people outside large companies who would.

      The key is that the experience doesn't have to be paid. Find an area of software that interests you (I've always been fond of systems software), take lab/project classes where you can build related real projects (I built a toy 'C' compiler in school), do something that has a meaty implementation component for your master's thesis, and do open-source projects (I added a SCSI subsystem to my favorite free unix). The open source part is especially important because it gives you something concrete to point people at.

      The first few non-trivial software projects you build will have sub-optimal designs and maintainability issues; getting that out of the way before its important

  93. First Get a Can of Red Bull.... by penguin_dance · · Score: 1

    ....tie a string around it, throw it round the corner and wait. Have a large net handy as they spook easily.

    First of all it would have been helpful if you defined what language(s) your "superstar" needs to know and where your company was located. You might just find that person here. But you're probably going to have to get your hands dirty and network. Start by talking to some of the people you have in your company now that you respect--they're you're best source for new employees.

    Monster and Dice are not really the way to go--I can assert this from a job seeking position. Usually the listings look like an pizza order than a serious quest for a real person. That's likely because it's done by HR and/or managers and they just throw everything, but the kitchen sink as a requirement which turns off the ones who are truly gifted, but are good because they specialize in knowing a few languages well instead of a little bit of everything. Plus if they are really all that good, they can quickly pick up on any oddball need your company happens to have. Unfortunately, those are the ones who'll probably get filtered out by HR because they're just scanning for key words.

    --
    If you've never been modded as "flamebait" or "troll," you've never tried to argue a minority viewpoint here!
  94. 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.
  95. Too Easy. by dynamo · · Score: 1

    you write a program to go find you a job.

    no, really.

  96. Read and understand your own boilerplate by Anonymous Coward · · Score: 0
    I release both SYNOPSYS, INC. and Parkin Security Consultants, Inc., and all their predecessors, successors, partners, heirs, representatives, assigns, agents, employees, shareholders, officers, directors, attorneys, insurers, associates, subsidiaries, divisions and affiliated and/or sibling corporations, and all others from all claims, liability, and damages that may result from negligently investigating, furnishing, communicating, reviewing, or evaluating information pursuant to this investigation and from the use of the report. This release means I am waiving claims for negligence, misrepresentation, emotional distress, invasion of privacy, interference with prospective business relations or contract, breach of contract, and any other negligent act. I expressly intend that this release is as broad and inclusive as is permitted by law. Also, if any portion of this release is held invalid, the balance will continue in full legal force.

    In other words, the background investigator is a POS, and proud of it. Think about that.

  97. Programming Forum by Anonymous Coward · · Score: 0

    There are a lot of great programming/hacker(The good old kind) forums where programmers chat and share ideas. Browse around forums for some of the most active posters because they tend to be very knowledgeable and experienced.

    For example try Sorceforge, I've been around the forums and there seems to be a few programmers hanging around helping people.
    http://sourceforge.net/community/forum/

  98. recruit them out of existing projects by MattW · · Score: 1

    Find them through buzz or word of mouth, by recommendation or via groups. Contact them when they write articles in the press, or when you learn about their open source project. Then offer them substantially more than they're making, and let them know the offer will stay open.

    In my current job, I did some consulting for a client, turned down an offer but stayed in touch, and accepted a (better) offer a couple years later when I was more ready for a change.

  99. Have your people.... by Anonymous Coward · · Score: 0

    talk to their people.

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

  101. And do what? Manage? by Anonymous Coward · · Score: 0

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


    If they are a superstar - I bet there is a good chance they want to still be programming after 10 years. It takes a passion for the craft to be a superstar. These aren't the type who view programming as a career route to something else - it's a calling.
  102. Re:Old? You mean "Young with Experience"... :-) by Anonymous+Brave+Guy · · Score: 2, Interesting

    Hey, I'm juggling Perl, C++, Java, Fortran, and a few other languages for a living. How could that NOT be fun? ;-)

    You could spend more time with Perl, C++, Java and Fortran, and less with the other languages? ;-)

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  103. 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.

    1. Re:Non-technical interviews by xiphoris · · Score: 1

      > They could already see how good I was at technical learning from my degree.

      So not true! I have interviewed many people who have a Master's degree in computer science, even, and they barely know anything. One guy didn't even know the basics of big-O notation (Landau notation), and how to analyze the complexity of functions. How can you have a master's degree and not know that? I don't know -- but there are a lot of people out there like that.

      In my experience, you can't trust that degrees mean anything. Even from a top U.S. school, having a degree only means that the person learned something really well, but it might not have been the things you want in a programmer. I've worked with guys from MIT and Stanford who don't know what functional programming is, or what design patterns are.

      To you, a degree means a lot, because you know what you went through. To a potential employer it means little, when looking for top engineers.

    2. Re:Non-technical interviews by asc99c · · Score: 1

      I think none of that is important. Most of the people we hire don't have a CS / IT degree anyway and don't know most of the things you mentioned. I'm one of the exceptions but I rarely use a lot of things I know.

      For 99% of things, the complexity class of a problem is irrelevant. Its the design up at higher levels that makes the real difference. Getting the design right / fixing it is something that masses of technical knowledge won't really tell you how to do. I'd like to see more use of design patterns, but I find people from (real) engineering backgrounds do this better and more than trained programmers anyway - the idea of using a well tested idea / component when available is more ingrained in that discipline.

      Occasionally we do find something not working too well and have to get real programmers in to sort things out, but its quite rare in my experience that specific technical knowledge fixes something that more general logical and practical thinking can not.

    3. Re:Non-technical interviews by Anonymous Coward · · Score: 0

      They could already see how good I was at technical learning from my degree.

      Dead wrong. You obviously have no (or completely delusional) real world experience.

    4. Re:Non-technical interviews by emurphy42 · · Score: 1

      They could already see how good I was at technical learning from my degree.
      Judging from my own experience, no they bloody well couldn't. Half the people in my senior-level classes couldn't write 100 lines of working code when given two months to bang away at it.
  104. You don't. They find you. by ryanisflyboy · · Score: 4, Interesting

    A 'superstar' programmer will find the job he wants with the salary he desires and get that job. A local company is well known for finding top flight programmers. They held a $10,000 programming deathmatch challenge. The winner got the cash prize, and a job offer. Guess what, they were extreamly successful.

    http://mozy.com/contest

    What you have to be prepared for is the unexpected winner:

    http://uphpu.org/pipermail/uphpu/2006-November/005608.html

    It was so succesful they did a second take, check here for sample questions:

    http://mozy.com/contest

  105. What Agency by ArhcAngel · · Score: 3, Funny

    What agency did you say you work for?

    Techsystems?
    Robert Half?
    Spherion?
    Aquent?

    --
    "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
  106. Behavior by shelfc · · Score: 2, Interesting

    I like to act a little unusual in a meeting. Even show some eccentricities. Based on how accepting of odd behavior a company is usually helps me (alleged talented engineer) determine if I want to work their.

    1. Re:Behavior by stephanruby · · Score: 1

      Speaking as someone who's been called "the Britney Spears of Programmers" many a times, and not for my good looks, I feel particularly qualified to answer this question. As a programming superstar, I only work for super-companies. A super-company is by definition a company with a greek god name, a forward-thinking name, and/or a cool sounding 2.0+ name. Its web site must be pretty, its text boxes must have rounded corners, and it must scream to me "We're the number one company in our industry!", "Work from Home!!", and "We only hire the top 1% of programmers! You're so lucky!!".

      If you didn't have those exact keywords on your web site, do not despair, you're probably still in the running -- I also accept the keyword "superstar". If you have the word "superstar" in your ad or anywhere in your company web site, you can rest assured that my use of boolean searches will give it the proper attention it deserves.

    2. Re:Behavior by Anonymous Coward · · Score: 0

      Are you sure they weren't just calling you an arrogant, eccentric slut?
      That was my point. The term "superstar" is silly. I wouldn't take an employer using that term seriously.
  107. Fizz-Buzz by ArikTheRed · · Score: 1

    That's all you need!

  108. 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.
    1. Re:Are you a superstar company? by deodiaus2 · · Score: 1

      Well, I have to agree with the statement regarding the pay disparity between the programmers and the corporate executives. First, let me get this straight. Most companies want some 10x more productive than his peers, yet work for 25% more than his peers. Oh heck, maybe you give him a 5K bonus in front of his peers to really make him feel swell. He might be pissed to all hell with the corporate pay structure in the first place. Second, there are a lot of really great programmers who you don't want on your team. Richard Stallman is one of them. I like RMS and his idea, but I know why he would be terrible in your organization. Somehow, you seem to think that really creative and intelligent people want to be on your team. Have you considered that maybe since they are great programmers, they just don't fit into your corporate structure because they have their own agenda. Third, there is this domain of expertice issue going on. Just because someone is great at one thing doesn't translate to other areas. Einstein was brilliant, but had quite a few character flaws. On top of that, he was a communist. I am sure that once he started talking about ideas that he wanted to discuss, you would be trying to get him to shut up and "manage him". Managing smart people is like herding cats. Moreover, have you considered that he might not take well to being managed. All of a sudden, you start telling him what he should be doing. You might want him to work in the quant theory and he wants to work in relativity. The only solution that I have for you is to turn your staff into the superstars that you want them to be. If you can't, then you are the failure, not your staff. Most managers have yet to impress me with their superstar abilities. Steve Jobs might be a great manager, but from what I have seen in the movie "The Pirates of Silcon Valley," based on Woz's portrail, he seems like an asshole to work for. But hey, all of those poor suckers who busted their butt working 90 hour weeks who didn't get their stock options got screwed in the end.

    2. Re:Are you a superstar company? by Anonymous Coward · · Score: 0

      excellent and meaningful comment

  109. watch out for primadonnas by j_l_larson · · Score: 1

    Some of the seeming superstars are the ones who can talk your ear off about programming and their brilliant insights and experience. But once you get them into the workplace they bring productivity of everyone around them to a crawl. They are temperamental, ridiculous, stubborn, irrational, fond of verbose complication over simple and straightforward and *highly* political. These people sound great, know all the right words and buzzwords to use but they get nothing done. Zero. They are all talk. Often they have Ph.D.s or will frequently bring up how they used to work at ILM or Pixar or some great place where they are no longer employed. Primadonnas *SUCK*.

  110. Flip the question around by Corydon76 · · Score: 2, Informative

    Most of these responses are geared towards evaluating people once they're in the door, and that's fine, but if you want to find quality people, the best way to do it is to flip around the question and think about it from the prospective employee's point of view: how do they find you?

    Word of mouth is certainly the best way, but I've also found the following ways that work:

    Hang around computer groups in your area, talk to people, learn who's good. Many businesspeople will try this once, in that they attend one meeting, they talk to the members of the group, and they leave, and they don't find it very worthwhile. The problem with this approach is that the members are unlikely to open up to you the first time they're meeting you. You need to hang around for several meetings before they will begin to trust your presence and will open up to you, and you can then discover which ones are bullshit artists and which ones truly have talent to share.

    Teach programming classes. This is what I do. I teach a weekly class from time to time, on C or Perl. I give the class for free, the class lasts 8-10 weeks, and the ones who turn in their homework assignments, and ask for feedback are the type of people that you want -- they are the type to become superstar programmers, and with a little guidance, they will. This also means that you can hire them on a fair market salary and not have to pay the big bucks. After all, you are looking for motivated individuals who are willing to learn new things. What better way to get the programmers you want than to entice them with a free class in the language you want them to use, and let the ones who are truly motivated show themselves to you. The best place to advertise these classes are the above user groups.

  111. no by Anonymous Coward · · Score: 0

    Programming superstars are innevitably subhuman aspie filth. Working with them...? no.

  112. Writing a good job listing and recruiters by bziman · · Score: 3, Interesting

    Let me tell you a story...

    I'm no a "superstar". But I'm a solid experienced programmer who does it for fun. I spent ten years with one company -- growing with it from an intern in a six person company to a senior engineer in a nine hundred person company. I got bored, and I left. Since then, I've been going to grad school, and browsing job listings looking for that "perfect job" for when I decide I should go back to work. I've talked to dozens of recruiters and been to a number of interviews, and I've taken a few short term jobs, mostly for fun, or to see what it's like, but mostly I take it easy, and do the school thing.

    So I've looked at a lot of job listings and talked to a lot of recruiters, and one huge problem I've found is that recruiters tend to know next to nothing about the positions they're recruiting for. I got a cold call from a recruiter the other day for a position that isn't something I would ever do because I'd been one of the people who built the software that they were implementing at their client -- sort of like trying to recruit Ian Murdock to help implement Debian at your client site. A little bit of overkill.

    Her problem was that all she had to go on was the name of the software and a long list of programming languages. She didn't know what any of it meant, and was just looking for resumes that contained those keywords. To help her out, I explained to her (in small words) the architecture of the product she's recruiting for, and the different types of experts available, and told her what questions to ask to see if people are a match for the position. It won't help her judge their quality, but at least it'll point her toward people who might be interested.

    Speaking of long lists of programming languages... there are so many job listings that list all major programming languages or all major operating systems. That's... stupid. How many projects use five different programming languages? And who'd want to work on one that did? I usually know most of the languages listed, but it makes me suspect that the author of the listing doesn't know what they're talking about.

    So the important things, I suppose, are to make sure that your job advertisements are fairly specific to what you're doing -- don't advertise J2EE if you are writing your own threading and server code, don't advertise "Core Java" if you're looking for someone to program JSPs. And if you want to scare off the lesser programmers, mention "scary" algorithms that might come in handy -- "familiarity with Q-learning a plus" or something like that.

    Good luck!

    --brian

    1. Re:Writing a good job listing and recruiters by smellotron · · Score: 1

      And if you want to scare off the lesser programmers, mention "scary" algorithms that might come in handy—"familiarity with Q-learning a plus" or something like that.

      Just be careful with that. I've become the main "tech filter" for potential candidates at my company, and one of my new pet peeves is people name-dropping uncommon data structures without having the cojones to back it up. Though, it is cool to find someone who mentions L-systems or Hough Transforms and really means it.

    2. Re:Writing a good job listing and recruiters by CoolGopher · · Score: 1

      How many projects use five different programming languages? Well, let's see. Our current system:
      1. Kernel modules. Written in C.
      2. Core of the application. Written in C++
      3. GUI and reporting system. Written in Java.
      4. Build environment. Written in Bourne shell script language.
      5. Various pre-processing of code and/or data files. Written in perl.
      (6. Makefiles, if you count them as a separate language)

      We certainly haven't been going out of our way to use as many languages as possible (quite the opposite), but in the end it's about using the language that makes the most sense for the task at hand.

      While I fully agree with the folly of "listing every OS/language under the sun", many projects will use far more than a One True Language. This is not a bad thing, it's a sign of people being smart enough to realise that every problem is not a nail in search of a hammer :)
    3. Re:Writing a good job listing and recruiters by Gazzonyx · · Score: 1
      If I may interject... isn't listing the languages part of the problem? Great developers don't care about languages in the same sense that recruiters do; we study languages from an abstract point of view. What are the weaknesses and advantages of this language? How does it 'play with others' interface wise?


      If you're looking for a great programmer, it'll be the person who says, "none of the languages I am familiar with are a good fit for your problem, but I think *insert language here* that I've read up on a bit might fit it much better, as per your requirements. Give me a week to learn it, and I've got to get *insert plugin name here* for *insert IDE chosen for technological merits*." Not the person who says, "yeah, I can make *language* do that" without hesitation. Beware of programmers who carry screwdrivers or are afraid to learn new languages where merited, and you will do well!

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  113. Programming puzzles & internal referrals by martincmartin · · Score: 2, Informative

    We using programming puzzles as part of our recruiting efforts. We put them on the subway and as ads on slashdot. We get a lot of submissions saying "I saw your puzzle on the Red line and thought I'd give it a try." One of our puzzles was linked on reddit, and that generated a bunch of submissions.

    But our single biggest source of leads is referrals from people who already work here. Something like 40-50% of new hires are found that way.

  114. Related problem by thegameiam · · Score: 1

    I've encountered a related problem in my (non-programming) line of work. I'm in networking, and I've probably given 100 technical interviews over the past 2 years. Of those, I've only recommended hiring 4 or 5 of the candidates. Why not? Because when someone puts "OSPF" on their resume, I expect them to be able to intelligently talk about its utility and shortcomings, and compare it with other IGPs.

    A bunch of the candidates I've spoken to have been egregious fakers, and it's really, really hard to find the good ones among the not-so-good.

    --
    Need Geek Rock? Try The Franchise!
  115. Dig in the hinterlands by An+Ominous+Cow+Erred · · Score: 4, Interesting

    There's a vast pool of trapped talent in rural areas in the U.S..

    As an example, I spent most of my life stuck in Southeast Idaho. There's a surprisingly large geek population there, but not a lot of employment for them. Generally people wind up stuck in low-paying dead-end jobs doing whatever they can (first tier phone tech support at the call centers that constitute the majority of non-agricultural employment, or as IT for a cash-strapped school district that is distrustful of the internet for religious reasons).

    Because you are living paycheck to paycheck, you don't have the ability to relocate yourself with the funding necessary to find a job somewhere better. The majority of escapees (including myself) that I know of actually LIED on their resume and put a friend's address on it in a more lucrative market, and then lived homeless/couchsurfed/hitchhiked in order to get to interviews. It takes a lot of guts to throw caution to the wind and do that, and there's so much potential talent out there that could be snagged if employers would just reach out and find people and offer an escape that doesn't involve so much uncertainty.

    Most people within 20 miles of Silicon Valley/NoVa tech corridor, etc. have the physical support infrastructure to get a job already. The hidden gems will be found in places where geeks don't have that option. The best places to look are population 25k-75k towns which don't have a major metro area within a 150 mile radius, and a depressed economy that precludes local employment providing enough income for geeks to self-finance a move to the high-cost-of-living of a tech hub.

  116. Salary range by michaelmalak · · Score: 2, Interesting
    If superstars are really 10x as good as the average, why are they paid only twice as much?

    I don't know if this will work, but here's a suggestion: increase your offer by 30% and on top of that be willing to pay for the services of headhunters and "staffing companies". Limit each headhunter to one resume.

    Next step is to devise a way to qualify the applicants. This is an eternally discussed subject, and there are lots of suggestions out there: IQ-type questions, portfolios of past work, hobby computer experience, and just plain old good interview questions, such as "what's the hardest bug you've found, and how did you find it?"; "what's the most speed optimization you've realized?"; "what's the most clever algorithm you've invented?"

    1. Re:Salary range by emurphy42 · · Score: 1

      "what's the most speed optimization you've realized?"
      At my last job, the boss had the brillant idea of outsourcing some of the coding to an Indian team. Now some Indian coders are good enough to overcome the various disadvantages of being several time zones away, but these guys weren't. I did a one-line fix to one of their routines, along the lines of // old code loop through each record in a file if starts with (desired prefix) then do something end loop // new code loop through each record in a file, starting at (desired prefix) and ending at (desired prefix + CHR(255)) do something end loop Of course, you know they only tested this on a file with like 10 records in it, whereas the live file had more like 150,000 (and typically only a dozen or two for any given prefix).
    2. Re:Salary range by emurphy42 · · Score: 1

      Whoops, let's try that again with the proper markup.

      "what's the most speed optimization you've realized?"

      At my last job, the boss had the brillant idea of outsourcing some of the coding to an Indian team. Now some Indian coders are good enough to overcome the various disadvantages of being several time zones away, but these guys weren't.

      I did a one-line fix to one of their routines, along the lines of

      // old code
      loop through each record in a file
      if starts with (desired prefix) then do something
      end loop

      // new code
      loop through each record in a file, starting at (desired prefix) and ending at (desired prefix + CHR(255))
      do something
      end loop

      Of course, you know they only tested this on a file with like 10 records in it, whereas the live file had more like 150,000 (and typically only a dozen or two for any given prefix).

  117. Finding geeks by Anonymous Coward · · Score: 2, Interesting

    I don't know if I'm a good programmer. I think I'm okay, but I can always be better. I have code running on millions of machines and it works alright, but it's not perfect. I've never looked for work. I quit my first job after 13 years because it just felt like I'd worked there for too long. I sat around for 18 months building robots and learning about OpenGL and then the phone rang from a startup who found my resume and geeky stuff on the web and needed someone to work on the kind of stuff I can do. Alas, they ran out of funding before they could ramp profits up to sustainability, and I proceeded to sit around some more hacking away on fun stuff waiting for the phone to ring again. It eventually did, and I've been at job number three for the past 4 years.

    My advice is to go surfing looking for unusual resumes and examples of good work of the kind you're looking for that have been placed on the web by geeks who really hate hunting for jobs but look like they might be fun to work with and seem to live to write code. I'm sure they'd appreciate it.

  118. To quote by Anonymous Coward · · Score: 0

    I don't do Windows and I don't do suits.

  119. Super Stars are often self employed by rmdstudio · · Score: 1

    Great developers often generate more income when they work for themselves where nobody would look over their shoulder and tell them how to do things. They become the CEO of their own company within few years, vs. if they work for another company, they may never get that opportunity.

    Knowing that, if they don't work "for" anybody, they are often more than happy to work "with" other teams as collaborators as long as they get to have direct communication with the clients and stake holders and the opportunity to participate in all the decision making process. Great developers despise command chains and management hierarchies and instead prefer to work in flat team structures.

    Remember: It is always easier for the Hackers to learn about business than Business people to learn about technology.

  120. Pimp yourself on Slashdot by Zombie · · Score: 1
    1. Get an Ask Slashdot article posted with your real name and e-mail address.
    2. Get people to find your personal site via the domain name in your e-mail address.
    3. Put a fat banner on that, redirecting the crowd from Slashdot to your blog. Warning #1: say you are an export C# programmer on your blog.
    4. Put stuff about your company on your professional site.
    5. Put a big job ad on the front page of your company, White Oak Technologies.
    6. Post a bunch of stupid, tedious, entry-level jobs on your jobs page. Warning #2.
    7. Put this on the bottom of the jobs page: "Applicants must be U.S. citizens and selected applicant will be subject to a government security investigation and must meet eligibility requirements for access to classified information." Three strikes, you're out.
    Limiting yourself to U.S. citizens excludes most decent programmers outside and inside the U.S. Excluding people who will pass a government security investigation excludes all the programmers who've done... interesting things. Excluding people who are willing to do U.S. government contracting work, well... ;-)
  121. No such thing by Anonymous Coward · · Score: 0

    Anyone claiming they are a superstar programmer is suspect immediately. Superstar programmer, WTF? Seriously how are you defining this? A "superstar" programmer of C? Cobol? Java? Python? PHP? Lisp? Tcl? a kernel hacker? HTML??? Show me a superstar of any of these I will show you a programmer who sucks balls at a million other caveats of IT.

    The reason why the parent can't find any superstar programmers is because he is searching for something that only exists in ridiculous movies like the latest Die Hard flick.

  122. The problem is not finding them... by CokeJunky · · Score: 1

    It's validating their claims. The only way to really prove someone is a superstar is to audition them -- actually have them do some work, when another superstar (or at least another programmer who knows the difference between a superstar and a regular grade B programmer) work with them, and figure it out.

    Besides, what makes a superstar? It's not just pure brilliance -- they have to be able to be flexible, integrate quickly with a team, and properly document and share their ideas without treating their colleagues like children.

    Back when I still thought I wanted to write video games for a living, there was a great book on the topic of designing and marketing games. Well, a humorous book, anyways. It discussed the problem of working with Prima-Dona programmers, and ways to get them to work on the team. My favorite anecdote described a programmer who was excellent, but worked in such a way to ensure that they were irreplaceable. So, what that company did is hire another programmer, who was relatively young and willing to play the part, and gave the irreplaceable guy a 'promotion' and an 'assistant'. The assistant's real job was to get a handle on the internals of what the other guy was doing, and document it. After a few months, the assistant gained the trust of the prima-dona, and figured out everything, and then presented his new documented, highly professional replacement component, and the prima-dona programmer was given a chance to shape up or ship out... I don't remember the exact outcome, but I enjoyed the story.

    The point is that it is highly subjective, and dependent on the environment to find someone like that.

    I know I would rather have a solid hard-worker who isn't necessary brilliant, but is good, and has a likable personality and good attitude towards work and the company/team, than an impossible genius any day.

    --
    More Caffeine. NOW
  123. 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

  124. nepotism by mo · · Score: 1

    I've actually been trying to hire superstars for my company recently, and I find they fit into two categories:

    1) Superstars who are content where they are are purely fought-over by their former colleagues. They never look for work because they're constantly being recruited by their peers. If they do look for work, they just apply directly to Google, or wherever else they might want to work.

    2) Superstars who are more ambitious quickly advance to a point where they only really work for companies they found themselves. At this point, even if you do know them, it's hard to hire them unless you're going in on a joint venture.

    With these two facts in mind, the only real way to hire superstars is to make them. Find younger talent, preferably straight out of college and groom them for 3-4 years. If you're near a university, try to strike up a dialog with the professors, see if you can get access to their TAs or star students. Talented programmers tend to hang out with each other, so if you do land a superstar, you've got a good chance at hiring their buddies too.

  125. Re:shortcomings of the windows environment by Lord+Grey · · Score: 2, Interesting

    Superprogrammers, who are seem to be consensually defined here as "someone who writes the right code at the right time in the right time," can most certainly dislike Windows, Vista, Linux, Macintosh, COBOL, whatever. They can dislike anything they want to. The important point here is that superprogrammers deliver what you need, when you need it.

    Someone who is truly amazing at getting the most out of a LAMP web site isn't necessarily the best person to write a first-person shooter in C++. They're superstars in one arena, not all arenas, and maybe not your arena. In that case, they aren't a superprogrammer to you.

    --
    // Beyond Here Lie Dragons
  126. Be a "project management superstar" by spammacus · · Score: 1

    And make sure this is well known in the industry.

    I'm not saying that I'm a superstar. But if I were, I'd look for a group with a track record solid project management. This means a group that

    1. Keeps numbers on man-hours from previous projects and uses these numbers as a heuristic when scheduling future projects.
    2. A company that puts out controlled revisions of its existing software at regular intervals, without much deadline slippage.
    3. A company with low staff turnover.
    4. Interesting projects that really attempt something new.

    Things I would not touch with a 40-foot pole:

    1. Long (multi-year) release cycles that never seem to quite make it out the door.
    2. Execs who set deadlines based on thin air, or when the next trade show is.
    3. A reputation for frequent and serious "crunches" where developers are expected to work 70 hour weeks. Occasional crunches are part of the business. If they happen too often, it's a sign of bad management.
    4. Projects that basically reinvent someone else's product so the company in question can get a piece of the market.

    Nothing kills a love of programming like constant crunch time, schedules based on thin air, and an incompetent, bureaucratic approach.

    Sadly, it's most often the organisations whose project management is totally out of control who are seeking the "superstar coders" - they want guys who are 10x more productive in order to save them from serious scheduling mistakes they have already committed.

  127. On the subject of college campuses by McBoogie · · Score: 1

    Don't always bar on experience either. If you look at some of the top schools they can put out some amazing people that just haven't gotten their hands dirty yet (me being one of them). My advice is to contact the computer science departments of many universities and find out what is the best route to advertise an internship. It is a gamble, but you get a programmer for way less than market value, and you don't have to keep them if they don't perform. Plus, if you do have a really dynamic and exciting company word will travel fast and you'll get a lot more students (and their associations) knocking at your door. The key thing is a campus presence, students won't come to you till you come to them and give a talk on what you do. All the top students I know got hired by companies that came and gave talks/internships first.

  128. What I would consider by ThisIsNoNickName · · Score: 1
    A good programmer...
    • Usually isn't a good programmer only. (But has multiple skills)
    • Has a lot of hidden material/knowledge not written in his CV or told you in a first meeting
    • Is organized very well (I would go so far to say, that he has is own way [of Dave Allen's] GTD)
    • Is intelligent and has a good memory.
    • Is healthy. You can't give 100% without being healthy (in common terms)! There are exceptions: Beethoven was still productive while being deaf. Evelyn Glennie [80% deaf since age of 12])... Lunatics? Madness mostly is very diverting.
    • Works (mostly) for passion and not for money.
    • Chooses and isn't chosen.
    • Can switch between open mindedness and single-task-focus-only very fast.
    • Adapts his environment to himself and not himself to the environment.
    • Is entitled as being a strange guy by his co-workers often.
    • Crap.
    • Does read on lists, though there are lines with crap because the most beautiful treasures are often found at the bottom of a lot of crap. ;)
    ...I think.
    --
    home: kreatium.de tblog: i-no.org
  129. Do interesting things, don't pay chicken feed. by refactored · · Score: 1
    1. Do interesting things. Not just "hard" things, but interesting. (Hint...Interesting refers to the How, not the What. Shoveling Shit using robotic controllers and embedded linux is _much_ more interesting than designing countless VB forms to count gold.)
    2. Do (ethically/socially) Good things. Good People only work for Evil inc if they have no other choice.
    3. Do it in beautiful places. A Good programmer that doesn't burn out wants to live a good life to. (NZ is a good choice. :-)
    4. Let them have a Real Life. Or they'll soon cease to be superstars. (One company had a superstar chained to his desk almost 24/7... they pulled him in to help sell to the Big Overseas customer...having been forced to lift his eyes from his screen he saw....nice girl. Never came back.)
    5. The "Real Life" thing costs money to maintain. Don't pay chicken feed.
    6. Do it in a pleasant environment. Doesn't have to be glossy, just clean, uncramped, quiet, lots of fresh air.
    1. Re:Do interesting things, don't pay chicken feed. by geekoid · · Score: 1

      about 2... What makes you think there are no evil 'Superstars'?

      I mean, if your company has no evil, how can you hire a sys admin?

      BTW, are you hire people to write SSRCs?

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  130. Word of mouth by Is0m0rph · · Score: 1

    Word of mouth. Depending on the industry (I code in the semiconductor industry) the current employees know a lot of other people in the field. I wouldn't categorize myself as a superstar but I'm very good at what I do and when I left my company last year I knew enough people in the industry that knew my work and reputation that when I went to interview at another company they wanted to hire me before I even interviewed. The interview just clinched it, because if the programmer doesn't have good communication skills and is easy to get along with they may be a superstar that will hold your other employees back because they can't work with him (I'd say her too but I've only worked with one competent female programmer in this industry and she couldn't get along with anybody).

  131. Re:Old? You mean "Young with Experience"... :-) by avandesande · · Score: 1

    Older people (especially with kids) are more likely to stay around and contribute to their job, unlike kids who are padding their resume so they can go somewhere else for more money.

    --
    love is just extroverted narcissism
  132. well, they there by TheMMaster · · Score: 1

    I do posix, I'm good, don't tell me I can't use vim. What do you need?

    --
    Fighting for peace is like fucking for virginity
  133. It's the economy stupid. by Anonymous Coward · · Score: 0

    Advertise competitive pay and they'll come to you. The more competitive, the better you'll get. Double the salary of a typical programmer will probably get someone who is at least twice as productive.

  134. I've seen a site dedicated to that: topcoder.com by Anonymous Coward · · Score: 0

    This site, www.topcoder.com, has various kinds of programming competitions, ranging from algorithmic problems, heuristic challenges, design, implementations, and others. Its most traditional competitions is the algorithmic one. The kinds of problems presented are similar to ICPC (http://icpc.baylor.edu). These competitions define a rank among the thousands of competitor of the site. There are also some competitions giving prizes, and one or two annual tournaments, with big prizes (USD 10k), usually with big sponsors (Yahoo, google, nsa, aol, etc).

    I guess this kind of site might help you find people that definitely have some good programming skills.

  135. Get a spy by Anonymous Coward · · Score: 0

    Budget for a small but enticing retainer to hire a good CS professor to refer some names to you, say, $5k/yr. When I was teaching programming it was pretty easy to identify the highly talented students. I didn't really do anything with this info but praise them. If it doesn't pay off after the first year or two, then you have lost very little time and money, but the potential win is huge.

  136. NotchUp by MrMunkey · · Score: 1

    NotchUp might be right up your alley.

    I do not work for NotchUp. I just knew about it and their target hiring audience is higher level people. Though I suppose it wouldn't necessarily weed out people who have a good resume but are just slightly better at programming that that goo under my sink.

  137. You're looking for the wrong thing. by scorp1us · · Score: 1

    As someone who is responsible for hiring people, and being an ace programmer myself, I can say that any good developer won't show it in the resume. I personally have had a history of a lot of job changes. I mean to stay, but something pisses me off and I split. While it might seem egocentric, for me to say so, I don't have to hold on to a job because I need to have it. My last COO treated the development department, and particularly me as head of it like crap. In two weeks I had a job- not just any job, but one with more pay, less hours, and better management. I'm inclined to think that other aces don't put up with crap either.

    The other thing I mentioned and will elaborate on is that you can't judge people by the resume. Get everyone in, meet them. Geeks are not great at self-promotion. They are more about structure and technology than self-promotion. These are skilled bit-smiths, not word-smiths. Often they have hints of autism that make them evaluate the world differently. Look for these quirks and see if the attitude and previous experience will work for you.

    Also, think about what you need in terms of ability, not prior knowledge. Everyone can learn, but HOW you learn is more important. Its the difference between "I don't know how so I cant" and "what do I need to know so I can?" "Geniuses" either invest an exhorbinate amoutn of time or pick things up quickly. I'm personally the pick-things-up-quickly kind.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:You're looking for the wrong thing. by geekoid · · Score: 1

      haha, your posts screams not a 'Superstar'.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:You're looking for the wrong thing. by drew_eckhardt · · Score: 1

      >As someone who is responsible for hiring people, and being an ace programmer myself, I can say that any good developer won't show it in the resume.

      Sure they do.

      Top notch people with more than a few years of experience find the opportunity to do challenging things so their resumes are unusually complex for some one with their years of experience or dense with such projects.

      Top notch people are tool builders and not just tool users. They'll have written things like simulators, compilers, and build tools when off the shelf products were unavailable.

      Top notch people are creative. They build products that would also make nice research papers/PhD theses or list novel solutions on their resumes that do wonders for performance and would make nice patents. If they did a dissertation or thesis it had a meaty implementation component.

  138. There is an immediate problem here.... by refactored · · Score: 2, Funny
    ...they're in Chicago.

    Can't be that smart.

    1. Re:There is an immediate problem here.... by AKAImBatman · · Score: 1

      You know, I was out in SanFran for a while. Didn't like it at all. The food was terrible (I'm not a fan of seafood, though there was some good Chinese), the transportation system sucked, there were technology wannabes everywhere (did you know that Linux runs over 80% of the internet? Heard that gem on the BART from some fool who didn't understand that Apache != Linux), the weather was painful (Am I hot or cold? No idea, what with the sun and the Bay breeze), Christmas doesn't feel like Christmas, shopping sucks, and the city was dirty as a wild pig with unlimited slop. (Especially the rather disgusting homeless.) About the only thing I liked was the job. In the end it wasn't enough to keep me out there.

    2. Re:There is an immediate problem here.... by JWW · · Score: 1

      Incendentally while the guy on BART was wrong about the internet, the LED sign system for BART does run on Linux....

  139. To be the devil's advocate... by Anonymous Coward · · Score: 0

    Why do you insist on superstars? Haven't you seen the regularity with which the "All Star" sports teams get beat by "ordinary" teams! Superstars are great for one person jobs; jobs that said superstar really wants to do. Anything larger than one person, then you need a team. A team means team players. Very, very few superstars are team players. This applies to sports, software, hardware, even management. Furthermore, good luck keeping "merely" good to very good people when the local superstar starts hogging the lime light, perks and rewards. Brutally, you get more done with a TEAM of good and very good people than you ever will with a superstar. In my experience the fastest way to kill a project (or even a small company) is to bring in a superstar, the good and very good people find somewhere else to be, quickly. Ultimately, be careful what you wish for, you just might get it.

  140. MOD Parent up by PRMan · · Score: 1

    You just described every detail about me. Unbelievable.

    --
    Peter predicted that you would "deliberately forget" creation 2000 years ago...
  141. This works, but... by clsours · · Score: 1

    http://xkcd.com/356/
    ...its hard to get them working again afterwards.

    --
    Seagoon: Shut up Eccles!

    Eccles: Shut up Eccles!
  142. $10,000? Pffft. by Anonymous Coward · · Score: 0

    You are spot on that word-of-mouth is best. The best people are not on the market, unless they happen to be consulting, and then there's a small time-window in which you have to move fast.

    However, this notion of $10,000 is so silly as to be insulting. A headhunter will get 20% of the first year salary if that person stays around a year. So offer the exact same thing to your employees.

    If you need to find the best people, use the people who are the best able to contact and impress them.

    I laugh (silently) when I hear a company offering anything less than a $20,000 reward for the best people. It is another way of saying "We're going to screw you out of a full commision". If you want my contacts, you damn well pay the market rate.

    Honestly, companies are penny-wise and pound foolish. And it always comes back to bite them.

  143. What The Industry Misses by RenoGeek · · Score: 1

    To be honest, in my programming experience, the one thing that companies miss is the fact that programmers aren't "coding ninjas" based off experience. In my studies, I was the top programmer in all of my classes and had recommendations from all of my CS professors. The problem is, companies are blind to that fact! It didn't matter that there are those who's passion and personal experience far exceed those who have been in the industry for 5, 10, or 20 years. To date, I've worked in many companies who were so intent on hiring those "Senior Programmers" with at least 5-10 years experience, while I had the title of "Jr. Developer" only to have me go in and fix all the problems with newer, more efficient code. Newer developers are more intent on bringing systems to the 21st century, and a company that is willing to give those who have fresh ideas a chance are more likely to succeed. For example, the company I am currently with has 2 senior developers -- both 3 years post-degree nonetheless -- and the efficiency and technology behind applications released in just the past month far exceeds any of those I've seen in any company I've been with who were "too afraid" to take in new ideas.

    --
    Clones are people two!
  144. Recruit at Elite Schools by pz · · Score: 1

    IAAPP (I am a professional programmer, that is, I get paid to code). I was educated at an elite school in their computer science department. Of the people I've known in my professional life, the superstars -- the one-in-a-thousands, and I most certainly do not count myself among them -- over half were educated at elite universities.

    This means two things, first, you can find superstar programmers that were not educated at places like MIT, Carnegie Mellon, Stanford, etc. But it also means that you'll have a good chance of finding them by recruiting at places like that.

    If you ask elite universities the best way to recruit there, they'll push you toward their careers office. That will get you the good programmers. You'll only get the superstars by having a relationship with a faculty member -- perhaps your old professor -- and getting them to give you the inside scoop.

    Superstars don't go through the normal hiring mechanisms. They don't need to.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  145. Hinterlands = Fort Wayne, IN by NevarMore · · Score: 1

    http://tripractix.com/job_opportunities

    Fort Wayne isn't exactly a small town, but its not on the radar for most people. Have a look and send me a resume, my team needs a new developer and the rest of the company needs sysadmins for our hosted customers.

    1. 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?)

    2. Re:Hinterlands = Fort Wayne, IN by Anonymous Coward · · Score: 0

      I also need to add something to this very interesting and insightful comment thread; country people are used to working very hard. It is built into them from day one. A person with a geek configuration from this environment will flower into the type of person that this story is referring to.

      It is exactly the same as country Australia. It makes me happy to see that others notice this trend.

  146. How to identify a programming superstar by Wargames · · Score: 1

    A programming superstar can think about a problem for 3 months and then write 15000 lines of code in 48 hours to implement a solution that works for 10 years. A programming superstar can spend 2 weeks non-stop in a cold room hammering out a solution to save a company from bankrupcy. A programming superstar can also be faced with a crisis on a Friday evening at 5PM, write 25 lines of code that generate a 120,000 line program from a spreadsheet by 6PM so that programming superstar can go home crisis averted. A programming superstar doesn't care about language* or system or hardware, it doesn't matter... the only thing that matters is the project. Look at the projects your candidates have lead.

    One possible way to differentiate the wheat from the chafe is to ask them to write a program to solve a particular maze. The mediocre programmer will write a program that solves your maze, a good programmer will write a program to solve a class of mazes, the superstar will write a program to solve mazes. The main thing is that the superstar will enjoy solving the problem.

    *[except Perl, programming superstars hate Perl but love Rexx ;) ]

    --
    -- Each tock of the Planck clock is a new world and here we are still life. --
  147. Re:They have Bad /. karma ratings by hsdpa · · Score: 1

    They have bad /. Karma ratings I for one would hire a goatse-troll!
    --
    :(){ :|:& }:;
  148. Quality by bug1 · · Score: 1

    Interesting thing this quality you speak of, here is a quote from "Zen and the art of motorcycle maintenance"

    "Phaedrus felt that at the moment of pure quality perception, or not even quality perception, at the moment of pure quality, there is no subject and there is no object. There is only a sense of quality that produces a later awareness of subjects and objects. At the moment of pure Quality, subject and object are identical...It is this identity that is the basis of craftsmanship in all the technical arts."

    "And it is this identity that modern dualistically conceived technology lacks. The creator of it feels no particular sense of identity with it. The owner of it feels no particularly sense of identity with it. The user of it feels no particularly sense of identity with it.Hence, by Phadaerus' definition, it has no quality."

    I think this quote explains commercial vs Free software. Free software is about quality, commercial software is about money.

    Most professionals dont understand the concept of quality, professionalism is all about making compromises, a professional compromises his work to suit another purpose, be it to reach a certain market, demographic or price point. Professionals shouldnt talk about quality.

  149. Here is what you do by geekoid · · Score: 1

    You run your interview in a manner that looks good to self proclaimed superstars, then when you enter the "we're interested you phase" go to all the ones that say they aren't interested and tell them your not really like the interview, you just did that to weed out the really great people.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  150. Finding Superprogrammers. by Brett+Johnson · · Score: 3, Interesting

    In my experience, you attract premier programmers by doing this:

    - Know them personally or have worked with them in the past. When a stellar programmer changes jobs, it is almost always to work with someone they have directly worked with in the past. The great programmers don't usually browse the help-wanteds or craigslist looking for work -- they receive unsolicited offers from people they know and trust.

    - Have a project that is visible, interesting, and challenging. If a great programmer does happen to be open to new options it will be the ones that are truly interesting to him. Things that *don't* generate interest are: super-secret stealth mode startups (how can you hope to interest me if you tell me nothing), monetizing ad-space in video streaming, ecommerce, pr0n (other than as a consumer). Craigslist ads looking for "Rockstar programmers to work in a hip radical fast-moving environment with foosball tables, XBox 360s, and endless 'Dew" especially don't work.

    - Have a clear vision and communicate that vision well. Related to the previous item. If the project is interesting and challenging, you need to convey that fact effectively and motivationally. While attending an Internet2 conference, I attended a presentation by some guy studying off-shore microplate tectonics. They had embedded a network of sensors in the plates off of Puget Sound. The presentation was heavily into oceanographic and geological research -- not even remotely related to my previous employment history. But by the end of the presentation, I wanted to work on that project - now.

    - Grow your own. This is especially difficult to do. Great programmers are not born, they are bred. Intellect, problem solving skills, and drive are the raw materials; but experience working on great code with great mentors are what really builds a great programmer. Some of the best skills development happens in the first 5-7 years out of university. Stellar senior programmers tend to really become apparent in the 7-10 year experience range. Note that you rarely get great programmers right out of school. You can get talented programmers that have great potential right out of university. Identifying such diamonds-in-the-rough is a real challenge.

    - Don't be cheap. Great programmers tend to motivated more by the challenge than greed, however we still need to pay the rent/mortgage, eat, raise families. Free snacks and soda are OK, but not really sustaining. Great programmers are 4-10 times more productive than average programmers and should be compensated accordingly. Note that said compensation could be performance-based: equity or frequent raises. If you can only afford to pay a series of grad students $10/hr to write code, don't expect to be able snag a stellar professional with cup-o-noodles and a civil servant paycheck.

    1. Re:Finding Superprogrammers. by Boetsj · · Score: 1

      Couple of the points you made are described rather well in Joel Spolsky's "Smart and Gets Things Done" http://www.amazon.com/Smart-Gets-Things-Done-Technical/dp/1590598385/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1204183487&sr=8-1 which I would wholeheartedly recommend.

  151. I can't believe no one mentioned Joel Spolsky... by ThousandStars · · Score: 1
    ... at least so far as I've seen. Joel on Software already discussed it in Finding Great Developers and The Field Guide to Finding Great Developers.

    It also helps if you decide how you're going to compensate them too.

    Now that you've done the recruiting, do the interviews, which he's also discussed.

    Further questions? Read his website. Mine's about books, so it's not likely to be all that helpful for programmers.

  152. heh, if you ask riddles by geekoid · · Score: 4, Funny

    be prepared for answers that make you think.

    I did-like the riddle portion of an interview. Often given by people who thuink that are good at riddles.

    Example you responses I have given":

    "How man quarters would it take to fill this room"
    4 (I had to explain this answer at the end of the interview. )

    "How would you move MT. Fuji"
    "Am I going to work at Microsoft?"
    alternate answers:
    "Hire David Copperfield"(This gets a laugh)
    "Convince the boss guy who sold that project to fire his sales team"
    "Spec out the task, come up with a rough number, 500 Billion, after it is about 'half way through' Use the "Managed 500 Billion dollar project" on my resume to get a higher paying job somewhere else.

    Yes, I know the answer there looking for, but really who doesn't?

    I just remembered one that really pissed off the person interviewing:
    I can't believe I ahd forgotten theis.

    You have a farmer and chiken and a fox, only two of which can cross the river, but the chicken and fox can't be together without the farms.

    I picked up the phone, hit speaker, called a buddy of mine and had him put on his 9 year old son, who I repeated the question to and he answer in about 30 seconds

    My friend and his wife where laughing hysterically.

    After which I hung up, told them this was a great interview now I know for sure I never want to work here, and left.

    The word "Livid" comes to mind when thinking of there reaction. speechless would be another.

    One guy was literally sputtering....ah good times.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:heh, if you ask riddles by lgw · · Score: 1

      Calling the 9-year-old rocks. Best interview story ever. I would have hired you on the spot for that!

      Oddly, I about about the same answer for moving Mt Fuji: either bribe Japan's official cartographer to label some other point "Fujisan", or spec the project, commit to a schedule, and use that experience to get a real job. :)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:heh, if you ask riddles by NeutronCowboy · · Score: 1

      Actually, the reason I love to ask riddles is that I want to see if people can think. I really don't care about the solution. The point of the riddle is not whether you know the answer, it is to see the thought process that a person uses to solve a problem. I'll take an answer of "I'll google it" in the case of known problems, I'll take an answer of "I'll ask someone who knows" - I'll pretty much take anything short of "I don't know" or a bullshit answer.

      There are really two things I look for in an interview: do they know what they say they know and can they think on their own. Bonus if they're personable. Everything else can be taught or looked up.

      --
      Those who can, do. Those who can't, sue.
    3. Re:heh, if you ask riddles by Anonymous Coward · · Score: 1, Interesting

      Ahhh gotta love those pych trick questions, pitiful game play on the part of interviews. I had that
      "How would you move MT. Fuji" one a couple of times. Once i just asked "Why?" and looked as though that were the craziest thing I'd ever head. Awkward silence, and no response from the interviewer. The other time I felt a bit more friendly, and said simply "If i were standing in front of it looking right at it, I'd turn around 180 degrees, then claim that it had moved as i could not see it anymore. I guess it depends on what you mean by move and your sense of persective.

    4. Re:heh, if you ask riddles by Mingco · · Score: 1

      I would respond that it's already moving. If they said no it's not, I would shift my chair a few inches and say, "In that case, I just moved it." If they continue to insist that it's not moving, I would get up and move their chair and say, "There, I now moved it for you, too." And if they say that I don't understand then, I would respond "No, you don't understand. You are the one who insisted that it wasn't moving in the first place. If you can explain why it's not moving, then the same explanation can be used to explain why I just moved it when I changed positions."

  153. Try this by lightsp33d · · Score: 1

    You don't find "Superstars" -- you meet them and work or have worked with them at some point in time.

    It is not that difficult to figure out who they are, things which are immediately apparent are: Their thinking process is well defined, almost like a mathematical theorem, layered, clear, defined; They always go the extra mile, they always create and invent, code related to the project, tools to help them in their process of their work (i.e. things they aren't really required to do as part of their work). They normally put things down on paper before they put a single line of code. They try to "prove" the design is correct before writing the code. They aren't a programmer-of-all-trades. They are normally dedicated to an industry, for example: security, networking, filesystems, storage, etc. They are an expert in that field. They have a university degree or two in related field: mathematics, cs, eeng, physics, etc. They've been tinkering with computers ever since they remember themselves. All these factors tell you something.

    Most importantly, really, is the word-of-mouth and/or the experience working with them. It's an absolute pleasure.

    Many employers say: "We need the superstars", but beware: "Superstars" have their opinions, which become immediately apparent at an interview. It really turns out that the employers aren't a match for the "superstars", not that there aren't any "superstars" out there.

  154. Best advice I saw on this thread by thrca · · Score: 1

    was to talk to your "super stars" (damn, I hate that almost as much as being called a "guru").

    If you have some really great programmers, they surely know other great programmers. If they say they don't, its because you haven't demonstrated that you can meet the needs of their friends. Would you recommend that a 5-star chef friend of yours go work at the local burger joint? I doubt it, because they A) wouldn't, B) probably wouldn't be your friend anymore, C) tell their friends not to take positions you are recommending.

    I have a handful of guys I would hire in a heartbeat if my company would step up and start compensating the great programmers what they were worth (or even an acceptable negotiation), but they don't so I won't bring my friends.

  155. answer: we don't by Uzik2 · · Score: 1

    The "truly elite" tend to be hard to work with. An employee who works
    with his employer and turns it decent work is preferable to a touchy
    prima donna that leaves you in the lurch.

    --
    -- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
  156. PI: Programming Idol by owlman17 · · Score: 1

    1. How to find one? Start a programming reality show, with a panel of three judges. Each week, each of the candidates will program snippets of code. Viewers will text in their votes. Bottom one or two gets voted off each week till the programming superstar remains.

    Winner will get a huge cash incentive plus employment, stock options, etc. Any code he makes during that time will be open-source.

    2. ???
    3. Profit!!!

    I can just see it now:
    African-american judge: Y'know, you've always been my favorite dawg! I think you started off a bit unsure, but you nailed it in the end!
    Female judge: Your code... Its... just so pure. It cuts thru all the obfuscation. It really moves my heart. I'm your biggest fan.
    Brit judge: I just don't get it. You want to take on a piece of code that big that's been done to death by Knuth, you have to at least do it right. Your naming convention is dreadful, and the algorithm's uninspired. You want to stay on the show, you'll have to do better than that.

  157. Programmers Program by tjstork · · Score: 1

    Programming Superstars get that way because they program a lot. They love it. Programmers program. So, I would think that you look at people who actually have their own little shareware, blog, or some sort of program that they've written in their own time along with anything else on their resume. Just take the time to look at their sites and see what they are up to. If they are building things that you don't think your company could ever build, chances are, you would benefit from hiring them.

    --
    This is my sig.
  158. Finding Work by solprovider · · Score: 1

    Mirrors.

    I make businesses better. My personal interests are for my personal projects. Paid work results from companies realizing a great programmer is needed, usually after trying several "good" programmers. I arrive, learn about the business and the current needs, and complete projects so everybody is smiling. Programs are fast. Interfaces are easy to use and teach the job rather than requiring training. Designs are easily understood, options allow for changes in business, and the code is maintainable by normal programmers.

    Most companies need me for weeks. The largest projects only need my skills for months. With good plans and any difficult code written, projects succeed without my continuing involvement. The result is more of my time is spent waiting for work than working.

    I have been actively seeking work for a few weeks. The last effort was two years ago. Finding work is difficult. I have been involved with over 200 successful projects for over 70 companies; none of my projects were over financial or time budgets. I cannot sell myself since listing achievements sounds like bragging, focusing on teamwork makes me just a project manager, and focusing on code makes me just a programmer. Once contact is made with a customer, we focus on their needs; my breadth and depth of experience is obvious from my questions and solutions.

    Companies expect consulting firms to rave about the skills of consultants. My method is to contact several consulting firms. Consulting firms wait for a request for the best while giving most projects to less-expensive programmers. Contact is eventually made with a potential client, and I start work a few days later.

    I have met thousands of programmers. Most were good. Several were terrible. A few were great within their specialties. I have no idea how a company could locate those few. I doubt any company needs more than a few great programmers since a great programmer can handle the work of hundreds of good programmers. One project started as assisting with an almost-two-years-of-work backlog for a 20-programmer department. I focused on program design, code reuse, and mentoring the permanent teams so the work was completed quickly and the organization was more efficient. The backlog was eliminated in two months.

    I once had expectations that previous clients would contact me when attempting another urgent mission-critical project or discovering the IT department is not delivering well. Management turnover has eliminated that hope. Successful projects lead to promotions so my bosses rarely need me again. Bean counters look at immediate cost rather than ROI. Better development methods mean clients rarely have problems until most of the people aware of me have left. Few companies have used me more than once; the assignments were usually years apart, involved different skills and sometimes different consulting firms (e.g. DuPont and GM each used me for an architecture project and a programming project with no overlap of required skills.)

    Consulting firms usually prefer to offer good programmers with higher profitability than a great programmer. Web job boards seem useless; I have received only one position due to my resume being found on the Internet. (I have not posted to Joel's job board). Referrals work when management truly cares; about half my positions come from previous colleagues recommending me when a project's success seems hopeless. The rest of my jobs come from a consulting company caring more for a client's happiness than immediate profitability -- either about to lose a major contract because a project failed, or as the loss-leader suggesting that hiring more consultants from this firm will give similar results. At least one currently empty position is in that last category -- the diverse skills required are rarely found in one person and a consulting firm wants the "win" so I may be working soon.

    --
    I spend my life entertaining my brain.
    1. Re:Finding Work by Anonymous Coward · · Score: 0

      Chuck Norris?

    2. Re:Finding Work by LKM · · Score: 1

      Few companies have used me more than once

      Maybe their estimation of your capabilities does not match yours?

  159. this is how to find a superstar by kaizokuace · · Score: 1

    First you look at some of his sample code. Then you test the prospects mettle er I mean Metal! Do battle with guitars! If they stand up to the test of Metal they should be a superstar or on their way to superstardom!

    --
    Balderdash!
  160. You tell them... by lawn.ninja · · Score: 1

    That they will be granted 72 virgins willing to have sex with them.

  161. On a related note... by gr8_phk · · Score: 1

    I consider myself to be a great programmer (in some areas, and I know where my weaknesses are). Or more accurately, someone I consider really great can vouch for me. Anyway, I find that companies looking for great talent for important projects often list a masters degree or better as a requirement. This always turns me off for two reasons. 1) I don't have one, so I figure they'll reject me based on resume alone. 2) If they actually have some PhD types, they'll be making all the decisions and I'll be their go-fer (management supports this based on credentials of course). I can handle being a gopher for someone, but only if they're actually better than me. In that case, I'll be learning from them.

    1. Re:On a related note... by xero314 · · Score: 1

      Never let a job listing that states they require a masters keep you from considering the job. Every self taught individual in the world will tell you that you need to ignore those requirements and do what you need to if you want a company to consider you. It may not be the right environment, but it might also be that the person in charge of writing the requirements doesn't know what they really need, or is just trying to keep the slackers from applying.

      Also every person in the world has room to learn and they can learn from anyone, even people they don't consider to be better than them. And remember that if someone is higher than you in an organization they certainly have a skill you are lacking, even if that skill is the patients to get through a college program.

    2. Re:On a related note... by Rakishi · · Score: 1

      If you don't try you'll never succeed. Those requirements vary in how stringent they are and likely don't matter that much (I've seen a half dozen different positions use the exact same job requirements for example). That said you will need some way to demonstrate your ability on your resume, be it experience or recommendations from well known people or simple implied insanity/genius (ie: intelligence shown in ways that are so odd people can't help but wonder).

      In other words in getting a job it matters who you know, what people think you know and finally what you actually know. A degree is simply one way of getting the second (and theoretically third one) quickly although it's not the only way.

      In terms of what happens on the job, that really does vary depending on the people and how you act. You have to remember that an interview is as much about you learning about the company/possible co-workers/possible bosses as it is about them learning about you. If they are reasonable people then ti doesn't matter what you get hired for, if you're able to demonstrate some great ability you'll quickly be given a new position for it. Of course that requires you to do more than the bare minimum and actually go out of your way to find/solve problems (even ones you don't really need to concern yourself with). My dad has a number of such stories including one where he applied for a position he was unqualified for, bombed the interview for that position but showed such skill in what he actually knew that he was offered a much better position.

    3. Re:On a related note... by Anonymous Coward · · Score: 0

      the patients to get through

      "patience".

  162. Timing, and word of mouth by RexDevious · · Score: 1

    I've been programming for about 18 years, and have only had to hand in a resume once. The people who offer me jobs either already know my work, have heard about it, or offered me a job based on casual conversation.

    Finding me isn't the problem. If I would be a "superstar" in what you're trying to do, researching the problem itself will uncover something I've done in that area. The problem is I'm also fiercely loyal to whoever I work for. Which means that unless you find me at a time when I've already done what I was hired to do - I'm not going to leave to come work for someone else.

    I get job unsolicited job offers every week or so, from companies who clearly know something about me. I thank them, but tell them I'm involved in another problem and am currently unavailable. The good companies (like Yahoo) will ask me to let them know if I become available. The rest don't write back.

    Let me be clear on something here. A "superstar" programmer is *not* a great coder who will abandon his company for a higher salary or loftier title. People like that are great at first, but then eventually leave your company in the lurch - so badly that you'd have been better off with a lesser coder who stuck around. Remember, you want a great employee first, a great programmer second. The same goes for consultants for any project longer than a few weeks.

    So there are 2 ways of finding a superstar programmer.

    1. Find someone who learns fast and has a great personality, and is eager to pay their dues. Give them the resources to learn best practices, and watch them rise to the occasion. Someone like this will be at the level you need inside of a few months.
    2. Find someone who already has the experience and skills you need, and keep in touch with them until they become available.

    Both of these types of candidates will repay your patience many times over. They will put the success of your company at the top of their priorities, and their work will show it.

    The reasons for not poaching a superstar programmer from another company are the same as the reasons for not stealing someone's girlfriend. If they can be tempted them away from who they were with before, they can just as easily be tempted them away from you. Sometimes this takes the form of slacking off so they can do consulting work or just taking more time for themselves, and sometimes it takes the form of them giving you 1 week's notice in the middle of a six month project. And people with values like that rarely create work that can be handed off to someone else without painfully long ramp up times. Either way - you'll ultimately regret the hire. I've seen it happens dozens of times.

  163. perfect solution by ILuvRamen · · Score: 1

    I would strongly recommend working for an IT contracting and placement company called Tek Systems. They're the largest IT contracting company in the US and probably the world. They have relationships with some of the largest, best companies and once they approve you to work for them, it's like a quick backdoor or shortcut into a good company. A lot of their stuff is for hire too, it's not all set length project contracts. When it comes to programming, they actually have sort of a set aside group of really good programmers that they send in when the job is important. So if you really are the best programmer (like I am :-D) they'll send you on one of those. And trust me, if it's a bad place to work, they will drop that business as a customer real fast. It's like having over a dozen agents constantly searching companies for programming jobs and filtering them all out for you. Some of the time they trust Tek Systems enough that you get the contract without even going for an interview with the company since Tek Systems already interviewed you to work for them. When a smart, professional company wants someone to do a job, they just call up Tek Systems and say hey, send over a ____ and they take them and that's that. They skip the whole stupid searching and interviewing process because Tek Systems only sends really good, pre-approved workers. It's like shopping for people :-P I got a job with IBM and at a hospital through them so far and I'm only 20.

    --
    Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
    1. Re:perfect solution by Anonymous Coward · · Score: 0

      I would strongly recommend working for an IT contracting and placement company called Tek Systems. They're the largest IT contracting company in the US and probably the world. They have relationships with some of the largest, best companies and once they approve you to work for them, it's like a quick backdoor or shortcut into a good company. A lot of their stuff is for hire too, it's not all set length project contracts. When it comes to programming, they actually have sort of a set aside group of really good programmers that they send in when the job is important. So if you really are the best programmer (like I am :-D) they'll send you on one of those. And trust me, if it's a bad place to work, they will drop that business as a customer real fast. It's like having over a dozen agents constantly searching companies for programming jobs and filtering them all out for you. Some of the time they trust Tek Systems enough that you get the contract without even going for an interview with the company since Tek Systems already interviewed you to work for them. When a smart, professional company wants someone to do a job, they just call up Tek Systems and say hey, send over a ____ and they take them and that's that. They skip the whole stupid searching and interviewing process because Tek Systems only sends really good, pre-approved workers. It's like shopping for people :-P I got a job with IBM and at a hospital through them so far and I'm only 20.


      Apparently, the things we call "paragraphs" are too far advanced for Tek Systems "employees"...
  164. See www.softwarebyrob.com by Anonymous Coward · · Score: 0

    Some good posts from the past:
    * Nine Things Developers Want More Than Money
    * Personality Traits of the Best Software Developers
    * How to Hire Like a Start-Up
    * An Open Letter to the Software Managers of the World
    * Timeline and Risk: How to Piss Off Your Software Developers
    * Nailing Your Technical Interview
    (Rob Walling) http://www.softwarebyrob.com/

  165. Microsoft by ezwip · · Score: 0

    Ask Microsoft for the list of hackers they have caught in the last few years. Find the one that looks like the best programmer and pay him some money. Sounds stupid but I bet you get yourself a great coder dirt cheap.

    --
    "I guess I'm gonna fade into Bolivian."
  166. Look under rocks... by Anonymous Coward · · Score: 0

    They are all hiding under rocks. Go to your nearest quarry, and you'll find plenty!

  167. you post it on slashdot by gearloos · · Score: 0, Redundant

    You post it on slashdot.... "Doh!"

    --
    "Computers are a lot like Air Conditioners" "They both work great until you start opening Windows"
  168. Chuck Norris? by owlman17 · · Score: 1

    Wait, are we thinking about the same person?

  169. Superlatives run amuck by Anonymous Coward · · Score: 0

    I can't hep but think that you've got the premise completely wrong. First of all, let's define a "superstar" programmer. How many of these superstar programmers are there in the world? What's the percentage? Let's think of it in statistical terms, are we looking for someone whose talents fall 3+ standard deviations from the average? The problem is, when I think "superstar", I'm thinking of someone even more rare than that. At most there are maybe 1000 real superstars, and most them are probably filthy rich by now.

    But you seem to be claiming that everyone already at your company is a "superstar"? I find it hard to believe. Then again, if there are any similarities between programmer's egos and the crazy contestants on American Idol, there are probably plenty of competent programmers who think they're "superstars", wondering when everyone else is finally going to wake up to their genius.

    Long story, short. You are not going to hire a "superstar" from Monster or any other job board. You will learn about a superstar through connections and then track that person down. A real "superstar" will know their worth, and at best they will let you partner with them. Meaning they're going to get a ton of compensation because their talents demand it.

  170. What is the sound of genius happening ? by billcopc · · Score: 1

    You've got it backwards. You don't find the great programmers, they find you. If your company and your projects are interesting, and you respect your staff, your reputation will spread and attract smart masses. Likewise, if you suck balls, the incompetent fools will rush to you while the good guys will avoid you like the plague, and name low-level half-orcs after your product lines.

    You simply can't advertise "Now hiring geniuses".. well technically you can, but all you'll get is a bunch of posers and art-school dropouts. See the magic thing about us geeks is despite our anti-social nature, we hang out online, in forums not unlike Slashdot. We IM each other, we read blogs and we play MUDs and MMOs together. Inevitably with all those venues, we'll talk about life, work and money, and that's your chance to shine.

    --
    -Billco, Fnarg.com
  171. Looks like you've solved your problem... by nick5000 · · Score: 1

    ... you're on the front page of Slashdot.

  172. programmers by sentientbrendan · · Score: 1

    there are plenty of self taught programmers, but there are few self taught computer scientists and software developers.

    I have met brilliant people who are self taught, but those people are few and far between. Also, most of the brilliant self taught people I met at college, where they were going back to get their degree, even though they've been successful in the field for years.

    There are plenty of people out there who have read some "how to program" book out there and think they have the equivalent of a college degree in computer science, but most of them are garbage. The truth is a CS degree covers a lot more than programming, and a software developer needs to know a lot of theory and mathematics to do good work.

    Even if someone is self taught, they are always better off going back to college.

    1. Re:programmers by gmack · · Score: 1

      I can turn that on it's head too.. I've known some brilliant comp sci grads but a lot of them were average at best and near useless at worst.

    2. Re:programmers by Anonymous Coward · · Score: 0

      there are plenty of self taught programmers, but there are few self taught computer scientists and software developers.

      That's a good point. I am a self-taught programmer (and, if I may say so, quite brilliant at it), but I am not a computer scientist. I tested out of the requisite CS courses for an AE major, so never had any formal education in it. Consequently, if you need tight, efficient, optimized code, I'm not your guy. I don't know algorithms. But if you need solid code that works well, and you need it fast, that I can do. And I think that's the difference.

    3. Re:programmers by xero314 · · Score: 1

      there are plenty of self taught programmers, but there are few self taught computer scientists and software developers. Who actually needs Computer Scientists. Remember scientists do research, real work is done by engineers. Yes there are plenty of self taught software, and even hardware, engineers in the world (the current leading software and hardware companies were founded by them). In generally real world programming requires very little knowledge of the inner workings of algorithms, and having someone hung up on such things will certain slow down productivity. Leave the comp sci grads to figuring out the next great compilation optimization, not writing software non-developers actually have to use.
    4. Re:programmers by Moochman · · Score: 1

      I used to think the same way as you. Programming is cool, algorithms are boring, I know how to program, so who cares? Then I took a course on algorithms that made me think differently. Mind you, it wasn't my favorite course by any means, and writing/analyzing such algorithms is far from my personal favorite activity, but that doesn't mean it's any less important.

      Think about it this way (example taken straight from the course): You're writing a database application and you need a sort function that can handle sorting a list of 1 million numbers. So you take the most intuitive, naive route: insertion sort. Even on a *supercomputer* capable of 1000 million operations per second, the sort will take around 33 minutes. Whereas if you had used a merge-sort algorithm, even on a *normal PC* only capable of 10 million ops/sec the whole thing would take just 100 seconds.

      Performance--as in time something takes to complete--is not something to take for granted; in many (read: the majority of) cases it's what makes or breaks the software in the marketplace and may prevent software from fulfilling a customer's requirements. This is especially true when it comes to algorithms, where there are often exponential increases in wait time involved if you pick the wrong algorithm. You may not find it interesting, you may think that "those silly computer scientists are holding the production up", but you need to face facts: algorithms are what makes the computing world go round. Everything from databases to media codecs to 3D graphics depends on efficient algorithms.

      I'm actually rather shocked that you don't understand this, assuming you are actually someone with a formal education in a computer-related field.

    5. Re:programmers by geekboy642 · · Score: 1

      Insertion sort isn't the most naive route. That would be bubble sort. However, in the correct context, insertion sort is useful. If your data is largely pre-sorted, or you are memory-limited, insertion sort will shine, operating in O(n) time and O(1) space.

      That said. 99% of the code you'll write is NOT algorithm code in a formal sense. If you find yourself re-inventing a sort algorithm on a modern platform, it's a sign that you've gone wrong somewhere. Libaries and APIs contain the algorithms, the code you should--and likely will--be writing is glue.

      --
      Just another "DOJ fascist authoritarian totalitarian bootlicker" -- Zeio
    6. Re:programmers by Biffers · · Score: 1

      I don't know what kind of code you write, but I think you're wrong. If a company is paying for software, they should be paying for the fastest most reliable code available. Where I live (in the NYC/tri-state area), a good number of employers are from the investment banking and insurance businesses. They expect algorithmically well written code, much of it will be multi-threaded and will handle millions of financial transactions daily that will occure in dozens of protocols (FIX, EDI, SWIFT, ebXML, ACORD, not to mention specific ones developed by 3rd party companies). Those transactions will be written using in-house written API's that every staff developer and consultant will have to learn. For enhancements or maintenance, Thousands (or hundreds of thousands) of lines of source code will have to be sifted through, the changes made and put into source control, compiled, tested in QA and then moved into production.

      In this area, you need both a college degree and experience. The college degree in Computer Science shows that you've been exposed to algorithmic software development. Experience is required because they generally don't teach you things like error checking in college:

      #include<cstdio>
      FILE *Fp=NULL;

      College:
      Fp = fopen("somefile","r+") ..

      College + Experience:
      if(!(Fp = fopen("somefile","r+"))){
            printf("that sucks\n");
            exit(1);
      }

      fclose(Fp);

      Beyond just hashing out code, someone with experience knows the importance of documentation.

    7. Re:programmers by xero314 · · Score: 1

      I have extensive knowledge in Algorithms, which is I why I know that most programmers do not need to know this information, and also that even your examples are wrong. I had to learn algorithms because I got sick of CS grads thinking that this was somehow important to business application development (the vast majority of programming that takes place in the world today).

      There is no need to know what sorting algorithm, or other algorithm, to use if you are working in a language that has significant APIs available. Most business application programmers only need to know what API interfaces to use and this is best figured out through benchmarking not understanding the underlying implementation. Sure if you are writing a compiler, working in a field were pre-existing APIs will not work for you, or possibly working on creating the next set of APIs then you may need to know algorithms, but that is why I was asking what specifically the OP considered a great programmer.

      Oh and performance and quality rarely make or break software or else Windows and MS products would not be the big sellers that they are.

    8. Re:programmers by jeff4747 · · Score: 0, Flamebait

      You're writing a database application and you need a sort function that can handle sorting a list of 1 million numbers. So you take the most intuitive, naive route: insertion sort

      In the real world, you use "order by" in your SQL.

      I'm actually rather shocked that you don't understand this

      I'm rather shocked that you think it's a good idea to write your own database engine anymore. Takes a lot of time, and drastically increases your support problems.

      Actually, I'm not really all that shocked. I've met far too many "Computer Scientists" who insist in reinventing the wheel because they know the 'right' way to do it, or they want control over the algorithm. They forget that database vendors have their own computer scientists to handle this problem, and their time is better spent solving the problems specific to the application.

    9. Re:programmers by Moochman · · Score: 1

      The database was just an example. Nice way to turn a reasonable argument into a holy flame war against computer scientists.

    10. Re:programmers by Moochman · · Score: 1

      This was not a discussion about "most programmers". This was my response to your comment that "computer scientists are not needed; all they do is hold up the development process" (paraphrased).

      Also, my examples are not wrong. But nice try at attempting to make yourself look more knowledgeable.

    11. Re:programmers by xero314 · · Score: 1
      You misunderstood my original comment. I guessing it's because you misinterpreted the statement about "real world" programmers and that I was referencing business application development (the majority of development being done). So a better paraphrasing of my statement would be "For the vast majority of development Computer Scientists are not needed and quite often caused more harm than good by chasing unnecessary reimplementation of well established algorithms."

      Also, my examples are not wrong. Many of the other responses have already pointed out where you were wrong, but allow me to reiterate and expand upon them.

      The majority of all sorting algorithms have a different application, but barring that it is agreed that Bubble sorts are the worst performing sorts for general application not insertion sorts. Second a hybrid merged-quicksort is going to be your best option for large data sets that are not already in a semi sorted order and don't require the order to remain stable. No matter how you look at it defaulting to a merged sort without knowing the state of the underlying data is foolish and a quicksort should be your fall back.

      Second why do you care about the sorting algorithm since the data store itself probably including indexing and ordering services that are going to be considerably faster than any in memory sort. If for some reason you need to do the sort in memory the development environment you are working in will probably already have a fairly well defined set of APIs that can be used for sorting and, assuming they are built well, they will chose the correct sort of the situation.

      Lastly performance is NEVER what makes or breaks software. No successful software project ever released was at the peak of efficiency. Useablity and marketing is what makes software successful, performance is only one small aspect of useablity, and in the majority of cases a minor aspect.

      I don't need to make myself look more knowledgeable and was actually trying to avoid that.
    12. Re:programmers by jeff4747 · · Score: 1

      The database was just an example.

      You are free to come up with a better example.

      Nice way to turn a reasonable argument into a holy flame war against computer scientists.

      The presence of quotes was meant to indicate sarcasm. As in "I'm a Computer Scientist! I know the BEST way to make a Database!". That's not to say all CS's do that. However, many who attach enormous value to their CS degree do.

      Let's be honest...after a few years a degree isn't very helpful any more. Sure, it's great at entry and maybe even midlevel jobs. At the time I could have received a CS degree, people were excited about Gopher and somebody had just come up with an idea of a web of hyperlinked pages.

      Programming today is drastically different, and the problems to solve are drastically different. I don't expect to implement a bubble, insert or any other sort for the rest of my career. I'm going to use the one built-in to the libraries I'm already using. My time is better spent developing and supporting the parts specific to the project.

    13. Re:programmers by Anonymous Coward · · Score: 0

      I got sick of CS grads thinking that this was somehow important to business application development (the vast majority of programming that takes place in the world today). There is no need to know what sorting algorithm, or other algorithm, to use if you are working in a language that has significant APIs available. Most business application programmers only need to know what API interfaces to use and this is best figured out through benchmarking not understanding the underlying implementation.

      Excellent! I know that this comment will never get read since it's much too late, but thank you for say what you said! CS is nearly 99.9% useless in the real programming world. I say this not as web-developer poo-pahing CS degrees, but as a Computer Scientist*. I did a 16 month internship with a company. Going into it I was very excited about going into the real world and leaving all this school bullshit. However, once I got into the real world I was sorely disappointed. All the interesting bits about programming I loved were absent. There are APIs to do everything, and if there isn't then it is too expensive to develop man-hours wise and the company is better off directing you to write another login page or something glitzy to impress customers. All hacking and problem solving I loved when competing in high school programming competitions is gone. All the code was adding or subtracting prices and taxes and then formatting them to the screen. It wasn't just my position either; many senior people were doing essentially the same thing but for more important clients. Everybody else I talked to that also did an internship, if they weren't working for IBM, were doing CRUDs and business automation and web-app front ends. Essentially all people seem to write around here is the glue code between frameworks that do the heavy lifting and all for office automation. Now this may be great for profits... but it is wrist-slitting boring.

      All the interesting stuff seems to be happening in academia: computer vision; speech synthesis; designing new programming languages; experimental compilers; etc. In essence all the blue-sky research. The geeky technical stuff that always interested me and drew me to programming. I get to really use my CS knowledge here and innovate instead of debugging yet another JavaScript incompatibility or browser rendering issue. The lesson I've learned was that if you want to do anything interesting stay out of the real world. CS is not meant for the real world.

      PS- I have no wife kids or car and it will likely stay that way. And while my summer research grant works out to slightly more than minimum wage it sure beats working in a cubical and working unpaid overtime for many times that.

      * I am a Master's student, but I consider myself as Computer Scientist and not just a person with such a degree since I am really interested in the subject.

  173. How to find a superstar by leed_25 · · Score: 1

    Well, I have a few suggestions. Try these in order:

            (1) You could require that all of your candidates take a carefully
            crafted programming test. The higher the mark that they get on
            the test, the better programmer they are. Duh.

            (2) You could ask them to bring a 5000 line sample of their code.
            Just a glance should tell you whether or not thay are a super
            star. After all, if their coding style looks like yours, they
            must be good, right?

            (3) You could get into a "design session" with them. Ask them
            something like:

                    Q: how would you design a house?

            Then let them talk and draw pictures for a few minutes. Pretend
            to be paying attention, nod in agreement a few times, ask a few
            clarifying questions --you get the idea. It doesn't really matter
            what the candidate says here, because when they are all done, you
            say something like:

                    "Oh, well that's pretty good, but I want a design that is
                    optimized for a family of giraffes" **

            What you are looking for here is how they respond to the kind of
            unexpected changes that happen in the real world.

    At this point, if the candidate takes a swing at you then you have
    found the right one.

    ---

    ** some jackass actually suggested this on his website.

  174. Interesting? Challenging? Sign me up! by tompaulco · · Score: 2, Interesting

    I used to be probably not a superstar, but certainly a star consultant in datawarehousing, replication, and database administration. Somewhere along the way (thanks Osama!) I got off of my preferred career track and now find myself working in an environment which is challenging for all the wrong reasons. My job is challenging in the way that punching your way through a brick wall is challenging, not in the way that, say, designing a skyscraper is challenging.
    I have been trying to break back into the datawarehousing world, but since my experience is now several years old, I have a hard time convincing companies to give me a chance.
    To answer your question, the best way to hire is your network. It is the same way for hiring as for getting hired. If I knew people in my area that were in the datawarehousing arena, I could probably get hired in a second, and that would be a good thing for both me and the company. Good for them, because after brushing off the rust, I know I will do an outstanding job, and good for me because I will be once again doing something I enjoy and making a difference instead of the technical equivalent of banging rocks together, which is what I do now.
    Are you hiring star datawarehouse people in addition to programmers?
    Why is everything technical in slashdot always about programming? There is so much more stuff that "nerds" do besides programming.

    --
    If you are not allowed to question your government then the government has answered your question.
  175. any environment by sentientbrendan · · Score: 1

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

    In short, a great software developer needs to be able to do all of these things and more. You also need to have your own specialty to bring to the team, so you can distinguish yourself from the other great programmers.

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

    The vast majority of people come from formal education. You also need professional experience, but you'd be doing a disservice if you suggested that college isn't important. CS coursework teaches theory and mathematics that you won't get in the industry, and which is important in high level work. A lot of the good people in the industry who are self taught end up going back to school later after they realize they've hit a wall in what they can teach themselves.

    This may be an unpopular thing to say on slashdot, where everyone is convinced that they are uber leet HAXORS even all they do is dick around with their linux install, code a little python, and live out of their mom's basement.

    1. Re:any environment by xero314 · · Score: 1

      This may be an unpopular thing to say on slashdot, where everyone is convinced that they are uber leet HAXORS even all they do is dick around with their linux install, code a little python, and live out of their mom's basement. Thanks for trying to add something useful and intelligent to the conversation. Another skill a good programmer may need is the ability to communicate their opinions without the need to denigrate those around them with offensive hyperbola.
  176. Two-step process. by europa+universalis · · Score: 1

    Step 1: Find a superstar.
    Step 2: Teach the superstar to program.

    More seriously, how does one *become* a programming superstar? I mean, I'll do it. If no-one else seems to want to, I mean. Sure. Programming superstar. Sounds cool.

    The only thing is, I would rather be lit on fire than have someone try to teach me that Java is the perfect 'lingua franca' of computer science, so that sort of rules out formal education, in my part of the world.

  177. Evil SuperStars.... by refactored · · Score: 1
    Even if you're Evil Inc, hiring Evil superstars is usually A Bad Thing, since they tend to feel screwing Evil Inc is a valid thing to be doing AND fun.

    Sysadmins.... Sigh... it just seems to go with the territory doesn't it.

    SSRC? Google turns up...

    • Social Science Research Council
    • SSRC is a leading manufacturer of theatrical distribution products found in entertainment facilities.
    • Structural Stability Research Council :: Welcome
    • SSRC v1.30 (open source)
    • A fast and high quality sampling rate converter (resampling)
    • Social Science Research Center (SSRC)
    • Storage Systems Research Center @ UC Santa Cruz
    • ....
    So which is it?
  178. 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 airhed13 · · Score: 1

      The value of a process isn't in managing the brilliant people. If they're brilliant, they probably don't really need the process. They'll have developed a system on their own that works. The value of a process is to provide a guidebook for the average or sub-average employee who either doesn't care enough to manage their production, or isn't cognizant of how to do it. A brilliant process will force relative incompetents to function on a level of basic competence where at least they aren't costing the company more than they produce. A broken process, however, will drag even the brilliant people down to inefficiency.

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

    3. Re:I'll one-up you with a car analogy. by AVee · · Score: 1

      Definately, but there will finally b software that doesn't fall to pieces at the first speedbump.

      That, and you will need your briliant programmers to set up the procedures and the tooling etc, because that's the hard part. But hey, thats when you cam actually start talking about 'Software engineering'.

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

      Definately, but there will finally b software that doesn't fall to pieces at the first speedbump.

      Not actually. You see, Toyota has a highly proceduralized MANUFACTURING process. In software, DESIGN is about 90% of the effort. Grinding out code (manufacturing) is about 10%.

      Only a code monkey would find the application of manufacturing proceduralism to a design process acceptable. The rest, realising that the effort is doomed to fail, will abandon ship.

      If you want DESIGN to higher standards, first, you'll have to pay a lot more for your software. There's a reason you can't just pick up one size fits all blueprints to a bridge for $100 and tell a general contractor to hop to it.

      When it's a crime to release software without the needed sign-offs by engineers (and also make it a crime to fire an engineer for not signing and go shopping for the signature) you'll see the quality go up substantially. You'll also see all those bells and whistles go away and the price go up.

      A less extreme approach that would bring a better balance will depend on consumers actually making better decisions and understanding that computers are NOT "just like that sometimes" but inferior software is.

  179. Still not so smart... by refactored · · Score: 2, Interesting

    SanFran is still in the US.... In Christchurch NZ, which has a functional social system, there are no homeless, the city is pretty clean, it has fair transportation system, excellent food (if you avoid anything that looks vaguely britishy...) And best of all are the beaches and mountains, which reduce the need for mall ratting to zero. (It's the only place I know where the Banks are closed all weekend...but the camping supply shops are open 7 days a week!) Only one problem.... nothing really Bad happens so the news papers are really boring. I like that.

    1. Re:Still not so smart... by Builder · · Score: 1

      Thanks for the headsup - I'll start packing now!

      Just one quick question - any dropzones around ?

      I'm not joking here... London is ripping my soul out :(

    2. Re:Still not so smart... by kiwipom · · Score: 0

      Doesn't sound like the Christchurch I know, which is full of child prostitutes, gangs of drunken idiots and so isolated from the rest of the world you can die of boredom just flying over it. Even more bizarrely everyone asks you where you went to school even when you're 35 ;-)

      --
      Dum spiro spero
    3. Re:Still not so smart... by refactored · · Score: 1
      Child prostitutes? There was a newspaper scandal about that a year or so back... The whole thing seems to have died away. I suspect there were one or two tear-a-ways who triggered a huge to-hoo-ha about not much. As I say, the news papers have nothing to report and are pretty hopeless about the little they do have.

      Bored Drunken idiots? Yup... Is a problem here for sure. Fortunately they tend to head off to the UK or Oz as soon possible. ;-))

      NZ, the pimple on the Great Bum of the Earth where sheep out number the people 10 to 1 and nothing interesting ever happens....

      I can sit on a high perch in the alps and watch nothing happen for hours.... I love it.

      I can walk kms and kms down a beach.... and the same amount (0) of action goes on..... I love it.

  180. How Do You Find Programming Superstars? by Zepalesque · · Score: 0, Redundant

    "How Do You Find Programming Superstars?"
    I post an article on Slashdot asking how to find a programming superstar ;)

  181. Don't try to hold people down with "core hours" by Anonymous Coward · · Score: 0

    Superstars work on their own schedules and don't do 8-5, or whatever ridiculous hours business people thrive on. If you are going to lock whoever you are trying to hire into some predefined schedule, forget about. Tell a superstar when the product needs to ship and he/she will get it done. Don't worry about what hours they are working in the mean time.

  182. You don't find a programmer superstar by Argos+Avatar · · Score: 1

    he (she?) finds you.

    --
    Q: What's purple and works from home? A: A non-Abelian group. (It doesn't commute.)
  183. MOD PARENT UP! by LittleJedi · · Score: 1

    The truth is that people here are often opinionated, brash, and hostile to ideas they dislike.

    Spot on. 'Course, that describes painfully nearly all people who post anywhere on the Internet, but that's the best simple summation I've seen of the average slashdot poster in my years of lurking.

    MOD PARENT UP!

  184. Here's my list: (Long) by Mongoose+Disciple · · Score: 1

    1) A lot of people have said networking/referrals; this is absolutely true. The best people don't generally need to hit the job sites when they do need work -- they just let their friends in the industry know that they're looking and work will find them. More likely, they'll get poached away from their current job long before it even gets to that point, and it's not because they're posting their resume or taking lots of calls from headhunters. Does this mean you'll need to throw a lot of money at them to get them to come over? Not necessarily, but it may. If you're unwilling to do this, you don't value quality people as much as you think you do.

    Related to this: You need to make your company as ridiculously good a place to work for your current employees as you can. Bonuses for referals are helpful, even important, but alone they're not enough. There's a level of job satisfaction where your better employees will tell their out of work or looking friends to apply, and there's a higher level where your better employees become a constant and fantastic advertisement for your company because they're so happy with their job and want so much to share the joy of a great job with their friends. You really want to be in this second category.

    Side question that I don't have a good answer to but that I'd be interested in hearing other people's answers to: Given that the value of networking in getting the best people and, on the other side, finding the best jobs is so high, how do you pull good people from other areas (geographically mostly, but also technologically if, say, your company is mostly Java programmers but you really really need to bring on one great embedded C guy)? Same deal with being a programmer looking to relocate -- there are definitely moves I'd personally make if I could find the right opportunity for it, but without that kind of network in play it'd most likely need to be too blind a move.

    2) Value education. I mean really, really value education. Be willing to pay for all kinds of education for your people -- books, conferences, classes, whatever. Whatever it is they want, even if it doesn't directly relate to the job. Often, the best people are passionate about technology even in their private life, but I find they're often as passionate about some other kind of learning, be it music, philosophy, political science, etc. You absolutely need to encourage (and by encourage, put your money where your mouth is) technical education to even be in the race, but encouraging education in all its forms will put you ahead of the pack and offer a benefit that is hard to replace or pass up.

    Be willing to give them paid time off work to do these things. Yes, this costs. It's worth it.

    3) Consider hiring consultants for shorter-term projects. Yes, we've all worked with lots and lots of terrible consultants. If you draw one of those people, when their contract is up you're done with them and you don't hire them again. It cost you something, but a job search isn't cheap, and at least you probably got some useful work out of them. On the other hand, some consultants will blow you away. A few of these will be ready to do something different in their career, and if you're willing to make them the right offer, you can get them. I've seen a lot of the best consultants I've worked with transition to non-consulting companies this way -- they got to a point in their lives where they wanted steady hours to ease the strain on their families, or they wanted to move towards a management position, or they wanted to do design as a bigger part of their job, or they wanted to work from home more often, whatever -- they were great at what they did and ready for something else from their job, and one of their clients was smart enough to offer it to them.

    4) Decide what kind(s) of people you need, and hire accordingly. What is a superstar, really?

    There's a passage in the Art of War that goes: The skillful employer of men will employ the wise man, the brave man, th

  185. Joel Spolsky has an answer for you by sameerds · · Score: 1
    Finding Great Developers
    http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html

    Instead of thinking as recruiting as a "gather resumes, filter resumes" procedure, you're going to have to think of it as a "track down the winners and make them talk to you" procedure.

    I have three basic methods for how to go about this:

          1. Go to the mountain
          2. Internships
          3. Build your own community*
  186. I give the Joel test to potential employers by vinn01 · · Score: 1

    http://www.joelonsoftware.com/articles/fog0000000043.html

    The Joel Test

          1. Do you use source control?
          2. Can you make a build in one step?
          3. Do you make daily builds?
          4. Do you have a bug database?
          5. Do you fix bugs before writing new code?
          6. Do you have an up-to-date schedule?
          7. Do you have a spec?
          8. Do programmers have quiet working conditions?
          9. Do you use the best tools money can buy?
        10. Do you have testers?
        11. Do new candidates write code during their interview?
        12. Do you do hallway usability testing?

    1. Re:I give the Joel test to potential employers by cbart387 · · Score: 1

      Good stuff.

      I'll be a college graduate this May and I have a couple interviews scheduled. I've been trying to think of questions to ask so I don't get stuck in a crappy environment because I didn't ask the right questions. It's hard to know what to ask without having 'real-world' experience. I added some questions based off of those guideline so thank you for providing the link!

      --
      Lack of planning on your part does not constitute an emergency on mine.
  187. Show me the money. by kcdoodle · · Score: 2, Informative

    DO:
    1. Show me the money/benefits/insurance/401k
    2. Give me the "Say So" when it comes to my decisions. No questions asked.
    3. Give me the tools/budget.
    4. Give me the specs or give me time to get the specs
    5. Give me the people I need
    6. Let me design it, code it, test it, fix it, document it.
    7. When I am done Go to step 1 with a new, different project.


    DO NOT:
    1. Make me attend meetings, I can do every decision by Email.
    Email gives me a "paper trail" to show what decisions were really made, when and by who. If you can say it to my face you can type it into the damn computer.
    2. Make me beg for resources. I know what I need. I will use open source whenever possible/practical. I will not waste ANY money, I want to take it home in my paycheck, not give it to some vendor.
    3. Lock me into any software. This is my area of expertise. I do not care that you made a stupid contract with software vendor.
    4. Keep moving the target. Lock down what we are trying to do in a month. Then we start. You keep changing the product during development, I am gone.

    This list could go on forever, but you get the idea.

    Smart people like freedom. They like responsibility. We respect good decision makers and hate wishy washy management.

    When I got to my present job there were 5 computers in boxes, a couple of routers and hubs, an idea and me. Been going 2 years now and the work I started has blossomed into 12 computers working full time, doing automation work. The contract pays us for the work our programs do, not for writing the programs. SWEET.

    Making more money every month.

    --

    - I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
  188. Nonsense by HappyEngineer · · Score: 5, Informative

    Some people are simply not up to the job of being a programmer. They cut corners and ignore good design in order to get the project done real quick. It may seem like they're getting the work done, and maybe they are, but crap code piles up. It takes time to work out the bugs. Over time it'll build up so much that it wouldn't even occur to people to refactor it.

    I've worked with people like this. No matter how much you try to encourage them to follow good design, they will continue to just ignore all good sense. A typical example is a former coworker of mine who was asked to make a small change to an app that sent out email notifications. He needed to make a slight change to take care of one particular circumstance, so he copied an entire class (hundreds of lines of code) and changed exactly one line to do what he wanted.

    When this code later broke (due to that single line) we asked him about it and he denied even writing it. We looked at source control and it was definitely him. (This in itself was surprising because he often deployed changes without checking in code. We tried many times to tell him never to do that.) I asked him why he had copied an entire class just to change one line when it was trivially easy to modify the class to handle both situations. He said he just wanted to get it done. I told him it probably took him longer to do it the way he did it. He just shrugged.

    How do you respond to someone like that? I'm sorry, but he will never be a good programmer. Some people just don't have it in them. He was a very nice guy, but he was a terrible programmer.

    Thankfully, most of my coworkers do have it in them. I've been privileged to work with some great people. But it's pure fantasy to think that everyone is capable of being a decent programmer.

    1. Re:Nonsense by bateleur · · Score: 1

      This in itself was surprising because he often deployed changes without checking in code. We tried many times to tell him never to do that.

      At the risk of stating the obvious: this should be impossible. Your deployment path should go through your version control system, not exist in parallel with it.

      How do you respond to someone like that?

      Peer reviewed code is a good start. Not hierarchical necessarily, just make sure that whenever somebody codes something it gets read by at least one other person before it's deployed.

    2. Re:Nonsense by DuckDodgers · · Score: 1

      HappyEngineer, you describe the type of mistake I used to make as a fresh graduate and even as a not-so-fresh graduate, and have since outgrown.

      All the training and mentoring in the world won't make Forrest Gump into a skilled software developer. But there are an awful lot of mediocre developers out there who could be damn good.

    3. Re:Nonsense by Stanistani · · Score: 2, Funny

      Hey, finding good algorithms is like looking in a box of chocolates for shrimp... as my momma always used to tell me... CompSci is as CompSci does...

    4. Re:Nonsense by Cornflake917 · · Score: 1

      Some people are simply not up to the job of being a programmer. They cut corners and ignore good design in order to get the project done real quick. Cutting corners and ignoring good design shows that the person isn't motivated, and nothing about their inherent abilities. A great programmer could do the exact same thing if he/she isn't motivated and doesn't care about the company they work for or the project they are working on.

      Barring mental disabilities and deficiencies in mathematics, any person as the "ability" to become a decent programmer. Whether they have the motivation, patience, and willpower to sit down and learn the necessary skills is another question.

      Obviously, some people learn faster than others.

  189. It;'s really about passion by fireheadca · · Score: 1

    For superstars...
    Look for those who are in a different field completely and yet are able to answer
    those tough interview questions.

    Passion drives those ones.

    ---
    Anyone wanna buy a car?

  190. Linux by Anonymous Coward · · Score: 0

    You could the linux kernel mailing lists, figure out who the bigwigs are, try and snap them up.

  191. I used to do that by HangingChad · · Score: 1

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

    That's a good way to find junior people but not anyone with experience. I used to work with a local community college for student labor. I remember getting a call from the coordinator one day explaining that she really valued our participation in the program but it would be really nice if I would stop referring to the candidates as "galley slaves."

    Not too bright but they rowed really well. Oh, well.

    The problem with senior people is they go out and start their own companies. Or they partner with other small groups of equally talented people on a project basis. Employer? We don't need no stinking employer! No matter how great you think your company is, a bad day working for yourself is better than the best day working for someone else.

    --
    That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
  192. A hart felt answer... by Anonymous Coward · · Score: 0

    Thinking about what was lacking with my current job (which is by the best one in my entire processional career...) I came up with a few ideas...

    Learn what you can about your employee. Ask them what they need to feel that thay have suceeded in life, then (here is the tricky part) see if you can do *something* to make a step in that direction.

    When you ask directly you never know what youwill find. For myself it would be to help me find an arts studio I can work in from time to time. I do not personally need to be ding art every hour, but at least a few hours a week feed my soul and keep me gong in ways I can hardly describe. Importantly when I am feeling creative artistically I am creative scientifically. Your world view and milage will vary. What makes you wake up in the middle of the knight screaming OH YEA!!!!!!!!!

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

  194. Crusoe wasn't bad by r00t · · Score: 1

    They got burned by the move toward Java, .net, and similar stuff.

    For running regular old app code, the Crusoe wasn't all that bad.
    (considering the power usage, and considering the competition
    of the day)

  195. Maybe it's not finding "superstars" ... by Specks · · Score: 1

    It's not about finding those who are already "superstars" but in identifying potential "superstars".

    --
    Specks
    Batteries not included
  196. Jobreel by learza · · Score: 1

    If you're in Australia there's a new service similar to Joel's: http://jobreel.com.au/

    Same no-agencies policy, so it's small and selective and not so attractive to job-seekers who adopt the resume cluster-bomb approach. And wherever you're advertising, some of the guidelines in comments above are very good advice.

  197. Target productivity as a trait by Anonymous Coward · · Score: 0

    Software developers with much better than average productivity work out well.

    Superstars, framework builders, frustrated artists, language lawyers, self titled architects and mono-lingual ones usually don't work out well (low productivity, high noise, high turnover).

    Pushing multiple releases of a software product out the door over a 3+ year timespan is generally a good indication of developer productivity as well as deep understanding of post-shipment development costs.

    Semester term project workers/consultants with many short assignments generally do not work out (low productivity, never lived with their own code for more than 6 months after shipment).

  198. Posting anon so as to not offend anybody but... by Anonymous Coward · · Score: 0

    ..your story hits very close to home. I think the difference between the programmers who "get it" and those who don't is simply the fact that they don't care about your project. They may actually be decent programmers they just can't be bothered to take pride in the work they do on your project because of what that would mean to them - they would actually have to put their pride on the line and do a good job.

  199. Talk to the ones you've already got by gujo-odori · · Score: 1

    A lot of people have posted a lot of (mostly good) advice about how to entice the superstar to join you once said superstar has been found, but not really all that much about that first initial step: finding.

    For finding, talk to the ones you've got. Tell them you're looking for some more. They are going to be active in communities where those kinds of people are. Ask them for some names. Set up an initial contact from there, either directly or together with the referrer. If the cultural/personality fit is right, the probably won't be all that hard to entice. Good, smart, motivated people want to work with people like themselves. The more of them you have, the more of them you can get.

    My company is a lot like what you describe, and a number of our people (including myself) were hired as a result of somebody saying "Hey, I know somebody I think we really ought to talk to."

  200. "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
  201. Sports? by Anonymous Coward · · Score: 0

    This is a generic problem. The way sports world solves it is by having a farm system. So you might want to set up a dummy project, hire a bunch of young people, then select the best and entice them for the real job. You could also set up a review board of senior programmers, have them look through open source code for various projects, find the best stuff and hire the authors. You could poach aging "superstars" too, but just as in sports, you'll probably end up overpaying and you'll probably have to deal with lower productivity since these people will have kids and other commitments.

  202. Great Programmers by MacOSXHead · · Score: 1

    I believe there are two types:

    1.) Mad geniuses who can violate most accepted programming practices, produce great new products, and walk away with the glory and leave the glorious mess to those who come after him or her.

    2.) Software professionals who may be a little more tortoise than hare. They understand the companies they work for, adopt practices that fit into these companies, and spend much of their time mentoring anyone who will listen. They know that the best thing they can do is leave a better place than they found.

    Just my experience. Don't even get me into bad programers. There are so many...

    -ltr

  203. Haven't Google figured this out...? by Fred+0101010011 · · Score: 1

    You don't find them, you need to attract them, by having a business that offers it's employees interesting things to do in a nice environement, and a set of intelligent people that the new superstar gets along with... Superstars probably tend to end up at superstar companies, and that's why superstar companies are superstar companies - dull coders works for, and akes up the dull companies.

  204. Difficult by Anonymous Coward · · Score: 0

    How do I find programming superstars? Well, I found supernovas particularly hard to program. Although they sound promising, programming binary stars proved to be a crap shoot as well.

  205. You mean this sort of thing... by refactored · · Score: 1
    London is ripping my soul out

    Come off it man! After Brakpan you can't have one left to rip!

    Drop zone? You mean this?

    http://www.skydivingnz.com/

    Hanging up there between the Alps and the sea those guys must be getting one helluva good view!

    1. Re:You mean this sort of thing... by Builder · · Score: 1

      Well, it's been a lot of time since Brakpan, so I had time to grow a new one... Krugersdorp was the final straw though ;)

      The DZ looks good - I'll pack :D

  206. Hacker vs. Architect by LKM · · Score: 1

    Compared to quantum field theory or category theory, C++ or Java hacking is freaking child's play.

    ...if you want a hacker (somebody who gets a task and gets it done), sure. If you want a software engineer, somebody who knows how to design a system, no.

    Learning how to program is easy. You and (I would guess) about 30% of the population can probably teach themselves how to program in a week. Learning how to design systems, on the other hand, is hard. You can't learn that in a week, and many people probably can't learn it on their own at all. Which is why you go to a university for four years to learn it.

    You don't study Computer Science to learn how to program. You study computer science to learn how to design systems. You write whole operating systems, databases and compilers, you learn about chip design and assembly and how to design and implement a script runtime, and all that fun, hard stuff. That's not hacking, that's designing systems. Hiring hackers is great, but you'll still need at least one architect to tell them what and how to hack.

  207. Talent is nothing by LKM · · Score: 1

    What does talent even mean? I'm actually not sure such a thing exists at all. To get a good product, you need a working process and developers with knowledge and experience. Maybe talent helps you attain knowledge and experience (if it even exists), but talent alone is worthless.

  208. Funny replies or maybe not so funny by tuomoks · · Score: 1

    First, Joels list :
                1. Do you use source control?
                2. Can you make a build in one step?
                3. Do you make daily builds?
                4. Do you have a bug database?
                5. Do you fix bugs before writing new code?
                6. Do you have an up-to-date schedule?
                7. Do you have a spec?
                8. Do programmers have quiet working conditions?
                9. Do you use the best tools money can buy?
            10. Do you have testers?
            11. Do new candidates write code during their interview?
            12. Do you do hallway usability testing?

    has nothing to do with "superstar" programmer, it is just a rambling of common things mostly out of the control of any programmer. Superstar may be fast or may not, a mood point in lifetime a product. Superstar may or may not be a good corporate citizen, that is only to please the management. Superstar has opinions because he/she knows what he/she is talking. Superstar leads others, not that he/she wants but because what he/she is. Superstar listens even managers but makes his/hers own decisions. Superstar can be the worst programmer if forced to work against the best practices (he/she knows much better than any manager) or using the bad tools, etc especially when good ones are available. Superstar doesn't care what platform, language, operating system or business problem is - he/she gets the work done and teaches others aside. Superstar writes extensible and flexible systems that can run and be maintained "forever". And so on.. Now - (almost) all this goes against current management idea but sorry, you can't control a superstar, you can only give interesting problems to him/her to solve and if you want "good" results to support him/her. Superstars don't care of money BUT are very sensitive to that. Superstar can get bored or even agitated of the so common "carrots" as a corporate sign to your desk for work well done, etc. Superstars want to get out, they are actually very social and amazingly often very family oriented, so two, three seminars or development conferences a year will keep them more happy. NO - pony and dog shows will not do that, they hate those. A long list and you may ask what separates them from CEO's - they just haven't made up their mind to start own company!

  209. Megadeth solution by Yvanhoe · · Score: 1

    You take a mortal man
    And put him in control
    Watch him become a god
    Watch peoples' heads aroll


    I think that's what works. It begins with giving people a chance and responsabilities.

    --
    The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
  210. Post a topic like this to Slashdot ... by DrJimbo · · Score: 1
    ... the great programmers will be among the people that don't respond.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
  211. Sweden by Anonymous Coward · · Score: 0

    Seriously. Look in Sweden, the place is crawling with talented underpaid programmers (same applies to Denmark, Norway and Finland). Especially around the big cities. I am from outside of Sweden and am amazed time and time again how good the programmers are here, and they arent earning anything near US salaries.

  212. Are you fucking kidding me? by LKM · · Score: 1

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

    What? Is that some kind of joke? The worst thing you can do with a great programmer is to promote him (or her) out of programming. Great programmers want to program. What you need to provide is not a career path out of programming, but a good career path withing programming. For most great programmers, going from programming to non-programming is not a promotion, it's a demotion. If you want to retain great programmers, be able to promote them while letting them be programmers.

  213. Do you want, or need, a "programming superstar?" by Animats · · Score: 1

    A big question is whether you need a "programming superstar". If you're trying to figure out how to do seismic analysis using a rack of graphics boards, or improve the robustness of 3D SLAM for mobile robots, or make a hair simulator work in underwater scenes, or get better density from an IC layout algorithm, or work on the RF end of cell phones, you need "programming superstars". If you're writing yet another "Web 2.0" app, you don't.

    Most programming today isn't really that difficult as such. Most of the algorithmic problems have been solved. You usually don't need to invent all that much. Difficulty generally lies in understanding some messy and ill-documented thing with which you need to interface. That's not a "superstar" problem, just a big headache.

  214. Agree, find hidden gems by elloGov · · Score: 1

    Third year, programming, I can attest that I outperform, out-design and outwork most programmers at work and I work for a huge and reputable corporation (I am just about ready to move out of this big corporate structure). I pick up things very quickly, am a generalist, I can find a creative innovative solution to any problem. I don't keep notes, memorize textbooks, chapters, etc. What one learns in 2 years, I learn in 1 month. However, being a non-CS major and no official training, having dropped out of High-school, GED, average state-school degree, with no "eye-popping resume builder"; I am unlikely to fit the suit of an "ideal candidate" for a competitive "exciting" Superstar Programmer position. As far as I am concerned, the day I fit that ideal candidate position for such jobs, I won't be looking for jobs. You can argue that being the ideal candidate on paper is a sign of weakness. If you have such stellar background, why the fuck are you interviewing? Are you a bookworm? Have you memorized books? Are you purely a hard-worker? Are you just ambitious? Maybe, you know how to sell? I have a huge passion for learning and I am highly unorthodox. Here is my advice: If you are going to interview people following same old procedures you have read about or seen, don't waste your time, because you already made your mind up on who you are looking for before the person walks in. This is why the interview process is worthless in further identifying qualified candidates. Be unique and customize your own interviewing process. Forget the formalities, forget the same old cliche questions: "Tell me how you overcame adversity!" uhhhh "Are you a team player?" I mean come on, all you are asking anyone to do is just act for however minutes this stupid pretend ideal session lasts. Lastly, look for the hidden gems, it's by far your best return on investment. Nothing in my resume says Ivy League, Rock star, Wow, but I am one capable son of a bitch! These are my thoughts on JUST the interviewing (finding) process. Then you have to keep them!

  215. I'd say... by octogen · · Score: 1

    SELECT "fname", "name" FROM "job_application" WHERE "iq" > 150 ORDER BY "iq" DESC;

    no.. seriously, you will not know in advance who is a real programming superstar. You will know after a few years, by judging the way he/she DESIGNS software rather than just coding it, in the first place. You will know after a few of his/her programs have been running a few years without ever crashing or messing up your data.
    Anyway, I think that having a very high IQ (especially in math/logic) is a prerequisite to becoming a really good software developer.

  216. The Right Fit by yams · · Score: 1

    My approach to hiring has always been more like impedance matching (you used "signal to noise ratio", so I'm assuming you know this too).

    What kind of person best suits this situation. Some roles require very little redesign, more maintenance, good uptime, no oversight. In such cases, I specifically look for people who have been doing such work, people who have the qualities to work independently. Some roles require people who need to do something radically different. They need to communicate well with a various different groups and come up with a radical new design. In such cases, I look for people who are good communicators, knowledge of various technologies to be able to provide new ideas.

    I want to stress that both roles are very critical for the organization. I would probably give both of them the same compensation, but it would be disastrous to hire the first kind of person for the second kind of role, or vice versa.

    Also, unlike impedance matching, these qualities are not quantifiable. There are various kinds of roles requiring various kinds of people. Sometimes, you don't get the perfect match, but you need to take a decision to make the best match and bring up the person to speed in the other requirements.

    Another important point is to make sure that you set the candidate's expectations to reality. If you tell the candidate that he is going to redesign the company and let him realise that he is only there to fix bugs, he will give you a hard time, even if he is incapable of finding another job that he thinks he wants. A frank discussion during the interview could make the difference between an unproductive employee and a "super" employee.

  217. Easy... by Morkalin · · Score: 1

    How to find great programmers? Ask Slashdot.

  218. Use a decent recruitment company by netpixie · · Score: 1

    Just because most recruitment consultants are rubbish, doesn't mean all of them are.

    Find one with a reputation and use them.

    I'm basically thinking of http://www.ecmselection.co.uk/ here, they won't accept you as a client (on either side of the deal) if you're not very good, so companies *know* that they are are not going to be sent any poor candidates, and candidates *know* they are going to be sent to decent companies with decent jobs for decent salaries. Everyone's a winner.

  219. Difficult at startups by andrewm_za · · Score: 1

    As a dev manager at a startup where we're trying our damndest to hire developers, I know all too well how the traditional job sites don't provide the goods. The people worth hiring are not the ones looking for jobs.

    It must be said that hiring for a startup is even more challenging, because you don't have the time or resources to hire junior and train up; you can't pay the same salary as a large corporate; and you generally don't have that many developers through which to network. You have to sell the job with phrases like "fun startup environment", "new projects & technologies", and "stock options".

    I throw out 9 out of every 10 resumes immediately. I could write a book on all the reasons. Spelling and grammar mistakes, or lousy formatting, are unforgiveable. If you're not going to put in an effort to get the job, what quality of work can we expect once you've got it? I can't believe how many people claim "expert knowledge" of things like arrays, cookies and querystrings. That's just clutching at straws. If you spend 7 pages explaining your skills to me like I'm an idiot, you're in the bin - a good developer knows how to keep things simple. The most important question I ask in an interview is "Which development journals and blogs do you read?" because above all else, a good developer is passionate about what they do.

  220. Look for them. (I've stopped looking for a job) by Qbertino · · Score: 2, Interesting

    The answer is easy: Look for them.

    Truth is: I've stopped looking for a job. The last interview I had a few years ago was promising for both sides. It was a classic example. Complex interactive Web Developement with Flash & PHP - which I have years of hands-on non-trivial project experience with. The guys were nice and even the boss interviewed me personally. They said they'd contact me in a week and I never heard of them again. Given, they were just building up and things were a tad chaotic, but their new website says they're still desperately looking for devs of that kind. Bullshit!

    They didn't want experienced programmers. They wanted cheap, 5 Euro per hour students who fell for the idea of working on a cool project for factually zilch compensation. That's what it feels like all over the place. Confidentials are nothing but smoke and mirrors for competitors and investors ("Look here, we're growing fast!") and the bullshit companies put out into the open about the lack of experts - like the German autmotive builders right now whilst laying off thousands of people - isn't taken for granted by *anyone* anymore. Expert and normal postman alike.

    I'm now a freelancer since 2003. It sucks to have to deal with the requirements of the German IRS, look out for the legal requirements, get into pissing contests with clients who don't want to pay and generally stay organised and watch out that you don't work for free or let billing slip just because the project is fun - because the next rent is allways around the corner. But it keeps me grounded and I actually have work to do. And AFAICT I'm not the only one in the field who ditched job-hunting for freelancing lately. Maybe you should look there. I'd actually go into employment again if the job is neat and interessting enough.

    The bottom line is: If you are really looking for good programmers you'll find them. Just don't try to screw them over and pay a fair price and they will listen.

    --
    We suffer more in our imagination than in reality. - Seneca
  221. You're wrong. Talkative programmers are great. by LKM · · Score: 1

    People who comment on boards just like to hear themselves talk. You don't want them.

    You're wrong. These are precisely the people you want. Programmers who like to communicate are rare. If you can get them, do. These are the people who

    • Will document their code without being asked
    • Will write tutorials on how to use their service into your wiki
    • Will write tutorials for the users of your software
    • Will write and maintain user documentation
    • Will do presentations of your application to your employees and to other companies

    Programmers who also like to write, talk and communicate are rare. Get them when you can.

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

  223. Re:Change the others around them: Bingo! by Anonymous Coward · · Score: 1

    You want people who can lead by example, without even trying.


    Man, I hate to respond to such a good succinct post (definitely one of the best posts I've seen). But I just want to add one little thing (which is why I'll never write a good post).



    In reality, those that can lead by example are always trying. And it's hard. Very, very, very hard. At least half the people you work with hate your guts. There's always some intrigue shoved in your direction. Always somebody who wants to take you out because you are ruining their free ride.



    In truth, it's hard; it's lonely; it's thankless. Those who can do it best appear not to be trying. They never take credit. They seem to just glide from one situation to the next, effortlessly making the world a place worth living in. But it takes its toll.



    So if you've got someone in your organization doing this for you, spend some time just to say thank you. It makes more difference than you would believe.


  224. Re.: How Do You Find Programming Superstars? by TangoCharlie · · Score: 1

    > How Do You Find Programming Superstars?

    I generally find them rather arrogant... and often rather smelly. Generally with unwashed
    long hair and long straggly beards. All-in-all, rather unpleasant characters.

    --
    return 0; }
  225. Joking right? by Peaker · · Score: 1

    A good project manager does not necessarily know much about good programming.

    A good programmer is _far_ better and more knowledgable at programming than his project manager, and no amount of pure hard work will make a bad programmer into a good one.

  226. Put a banner here :) by IvanDeLaJara · · Score: 1

    Put a banner here or use the Jobs section :)

  227. Superstar .... depends on your definition by shakotah · · Score: 1

    My company has the same problem, most of our interviews give us barely passable people. Once we find a good programmer we don't normally have a problem with retention. Those that are (or believe they are) superstars normally only stay for a while. Once the difficult problems are solved they loose interest, or their egos start getting in the way. Out of 11 truly brilliant people I"ve worked with in this job only 3 have been able to stay and continue to work here. Mostly because they are the ones that can work with others and are not arrogant/condescending/etc which tends to be the case with many "superstars", specially with the ones that can't deliver.

  228. How to find awesome programmers by 192939495969798999 · · Score: 1

    0. Awesome programmers use base zero for lists.
    1. Awesome programmers are already gainfully employed.
    2. Show me the money!
    3. It better be more money than that buddy; remember #1.
    4. two words: Mercedes Benz.
    5. Poaching disgruntled ones from other companies may be an easy way to get awesome programmers, but disgruntle takes a while to shake and can yield slightly lower productivity up front.

    Notes:
    0. Awesome programmers aren't necessarily fast, and cannot necessarily solve whatever wacky programming issue you have going on... you probably need at least an awesome architect and/or manager to go with them.
    1. In case #6 doesn't make sense to you, consider this: just because 1 woman can make a baby in 9 months, doesn't mean 9 women can make a baby in 1 month.

    --
    stuff |
  229. Unusual hires are made by unusual means by Chris.Nelson · · Score: 1

    Superstar programmers are hired like CEOs and other unique positions: word of mouth. Ask your programmers, "Who did you used to work with elsewhere who would be great here?" Ask your opposite number at a comparable company, "Who did you almost hire last time? Can I have their resume?"

  230. Learn to flip by Ora*DBA · · Score: 0

    http://www.airsdirectory.com/

    That's how the recruiters do it - find out who is linked to, say, Sunsoft.com (por the D programming homepage, or your favorite open source project) and start the cold-calling/winnowing process from there.

  231. Lies, lies, lies by Anonymous Coward · · Score: 0

    Great programmers, by definiiton, are smart.

    They can smell lies millions of kilometers away.

    And you are lying, sir.

    If you have so great working conditions and so interesting problems to solve, you would be filled up with great programmers DIRECTING what needs to be done, instead of asking how to get great programmers, which at least in my dictionary, means you think programmers are coding monkeys that will do whatever you want them to, even if it is incorrectly specified.

    Sorry for the brutal explanation, but I'm anonymous, therefore I can speak freely.

    Let me analize the situation, so that maybe you can understand what I mean.

    Let us suppose you have very interesting problems. Would your current programmers tell their classmates how interesting work they are doing right now and therefore even better programmers go to interviews there? I'm sure that would happen! Why it isn't happening? Because they are telling them how the work suck in your shop.

    Maybe you find the work attractive, but surely they don't. Most of the time it is because an MBA type is directing the work while the coders are directed to follow instructions no matter how nonsensical they seem to them.

    Therefore your real problem is:

    1. The people directing the work are wackos and shouldn't be listened, so that developers are busy decorating their resumes.
    2. The people directing the work are geniuses, but the coders are lame, so you need better coders.

    I think you think you are in problem number 2. If that is true, create prototypes to show the people directing the work are real geniuses and not some wackos with no real idea of what they are talking about.

    Usually wackos abandon the ship when they hear that they need to build prototypes to prove they are right, because they can't blame the developers no more.

  232. just be more like google..... by hesaigo999ca · · Score: 1

    We are an odd bunch, really, we like to play pool at work, do our laundry in the same building we do our work in, more bonuses, free lunch etc... is all a great reason why Google ends up with all the brightest ones. M$ started off that way, but then began cutting back and hence millennium and so forth...

    If we saw more companies act like this towards their employees, we would be a happier bunch and more likely to stop working underground circles trying to get money for all the personal info we got...

    I once worked in a company where all the employees were so overworked and under payed in accounting that they couldn't keep anyone for more then 6 months at a time...these are the people handling the finances for this company, imagine what they did to the IT staff ...(the same president of this company never spent much money on his IT staff or IT dept, his quote was "well if it doesn't bring back any money, its useless")

  233. What is a programmer? by boristdog · · Score: 1

    Some people are good software coders.

    Some people are good software designers.

    Some people are good interface designers.

    Some people are good DB designers.

    You will rarely, if ever, find all three in one person. But they are all necessary for almost all large software projects. Who is your superstar?

  234. Superstar Programmers find you, not the other way by Vorlath · · Score: 1

    They find you, not the other way around.
    When they do find you, you'll notice they will let you state what you have to offer at the beginning and they will interview you, not the other way around. They don't care for your interview although the questions you ask are also reflective of what kind of people you have. So yes, even your questions are analysed. Because of this, most interviewers think these programmers are telling them how to do their jobs and these interviewers resent being interviewed themselves when they believe they are the only ones who has a right to form an opinion. Most superstar programmers will fail your interview because it's not up to them to pass (hence they will often fail on purpose to see how you handle it), so it's up to the interviewer to show their skill. If you turn negative, then it's over. If you turn positive and try and engage in a conversation, bonus.

    Also, many jobs say they want superstar programmers, but are only interested in scamming them by not paying them or saying they have a certain range in mind and then later on, they will go below it. That's a deal killer right there.

    If you want to know if someone is a superstar programmer, ask them to talk about one of their favourite projects and what challenges they faced and whatnot. Anyone, in any field, that truly loves what they do won't be able to shut up. You have to entice them first though. Once they pick up the conversation and start talking a lot, then you at least know you have someone that has potential. Either way, you'll find out a lot more this way than any other technique beyond the simple programming questions.

    Oh, and if you see programmers walk out of interviews, those are either superstar programmers or you're the worst interviewer in the world (likely the latter).

  235. Hrmmm... by theAtomicFireball · · Score: 1

    The signal-to-noise ratio here isn't likely to be that much better than on the big job boards. Though undoubtedly most of us who read Slashdot think we qualify as "superstars" (even if all the evidence is to the contrary), it should be assumed that out of the hundreds of thousands of registered users, there are not more than a few thousand true stars of the sort your are looking for. From a quick read through, I'd venture a guess that about one in five or less of the posts actually gives useful information, and several contain what I would call disturbingly bad advice that sounds like it was authored by an MBA whose undergrad degree was in psychology or sociology or some other soft, unstructured major and who have never actually worked closely with geeks. I have been in and around the industry long enough and have worked with enough obvious superstars that I think I can offer some moderately good advice regardless of whether I, myself, am a superstar.

    First, there are recruiters who specialize in finding 'passive', high-end talent. You will pay a fair amount of money compared to a listing on Dice (usually a percentage of first year salary), but in the long run, it'll save you money. The reputable recruiters will refund money if the person leaves or is fired for cause in the first year - make sure that your contract specifies that.

    Even with that, it's really quite difficult, because so many people have entered the field. The dot-com and Y2K fueled work shortage of the late nineties drove up the rates artificially high for even mediocre programmers and, as a result, a lot of people who would have otherwise gone into other fields, decided to go into programming because it "paid well". That one fact makes it so much harder to separate the wheat from the chaff.

    Although the stereotype of the high-end programmer having no social skills and poor hygiene is not completely warranted, it is also not entirely without basis. The best programmers very well may not be the one who come across the best in an interview. If social interaction and communication are an essential part of the job, then you need to look for people who can communicate well in personl, but if not, and you are looking for a real, roll-up-the-elbows coder who's going to sit at a computer ten hours a day and rarely speak to live humans, then don't put too much weight on how the person comes across in the interview, or you could unintentionally weed out some great people. Basically, the main criterion you should look for is somebody who would be programming even if they weren't being paid to do it. You want people who are motivated by the challenge, not primarily by the money. Unfortunately, that doesn't mean you can pay them less than they are worth unless you have a project that offers truly unique challenges. Ask potential candidates about their coding experience prior to their first job; ask them why they went into programming in the first place. Ask them about the first "real" piece of software they wrote, and then gauge their enthusiasm as they tell you. If their response is a class project in a college or technical school class, there's an increased chance the person chose the field for the money. Of course, there are people who don't discover they love coding until they take a college or technical school class, so don't rule people out simply because they got a late start. Certainly, you should ask them why they went into the field; you may not get an honest answer, but you might.

    To attract the type of person you claim you want, you need to set up your work environment so they have a fairly large amount of flexibility and freedom - they often do not respond well to set hours or work rules written by some MBA who just doesn't grok programmers. This is a difficult thing to manage in a large company, because non-superstars will expect the same freedom and flexibility, and most corporations seem to have a pathological desire not to give such freedom to anybody. You shouldn't, of course, bend a rule that was created for

  236. Better filter by lwriemen · · Score: 1

    Ask them if they know how to program in Executable UML.

  237. Usenet and Chat Rooms by dwarfking · · Score: 1

    Back some time ago, one method that was used was to lurk on Usenet news groups and see who was actively trying to help people solve problems. I was actually offered a really good job in the mid-90s for that very reason.

    You get to see if the person really knows their stuff, how enthusiastic they are and how they relate to others.

    With the Usenet not as popular any more, you might try and find chat channels associated with areas of interest you need folks and monitor those.

  238. volume... by stoicio · · Score: 1

    "We've had much better luck with (for example) the Joel on
    Software job boards, but that still doesn't generate enough volume."

    Maybe there really isn't that much volume.

    The thing about the 'bell curve' is that most of the
    part of the curve that is really above average is
    really thin. (ie: low population)

    Pay reasonable money and give people some downtime
    and you'll get 'geek share'.

  239. Look for the words "wrote code to write code" by Mycroft_514 · · Score: 1

    in the resume. No better way to find your superstars. This is the guy who is thinking so far ahead of your regular programmers, he is in a different league.

    I've done it a few times, and there are two levels to this. Writing code in language A to write code in Language B and writing code in A to write code in A. The latter is harder.

    What this will bring about is someone who BUILDS HIS OWN TOOLS. Example. I just finished writing a program that takes a tablename, bounces off the system catalog and gets the databasename. It then writes parameters for a couple of utility steps later in the same jobstream. Why? So the DBA doesn't have to look up the databasename to perform the on request job stream. This saves him the time it takes to go manually look up the databasename. Now save that 10 minutes 6 times a week (and sometimes it is 6 times a DAY!) and he has an extra hour to work on other issues that week.

    Another saying I have. I am "successful" at a company, if I implemented changes that would save them more than my salary cost them. For example. Three related changes at an insurance company, saved them $60K in processing costs per year - even after I left! (freed up about 3 hours of mainframe processing per night) Or how about this one - 1 line of code changed in 1 program at a major entertainment company - freed up $10 million in capital!

    Your superstar has to be able to find stuff like that and DOCUMENT the effect.

  240. Nope, I've got the way to do it by elrous0 · · Score: 1
    We all know that a lot of the best programmers live in California, like pictures of hot scantily-clad women, and are hardcore gamers. So my suggestion is this:

    Put a really hot, scantily-clad woman out on an LA street-corner holding up a sign that says "Looking to give jobs to the hardcore".

    I guarantee it will generate a lot of interest.

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
  241. You're absolutely right. by DaedalusLogic · · Score: 1

    I agree it would be the best process to review code before it gets committed. Sometimes adopting this standard is harder to adhere to when you have too little manpower to face the deadlines you have looming. That's when a real challenge begins to try and catch the organization and restore order before it falls headlong down a flight of stairs.

    1. Re:You're absolutely right. by The_reformant · · Score: 1

      But the thing is it will almost certainly save time, and not jsut in the long run. Straight away by giving an auditable trail of responsibility to the reviewer as well as the author you end up with less commits which break the build (since the reviewer should be building the commit in a sandbox) which can stop other developers becoming blocked and ensure there is always a stable codebase should you need to release

      --
      I have discovered a truly remarkable sig which this post is too small to contain.
  242. Find somebody ... by widmerpool · · Score: 1

    ... who doesn't spend half the morning reading 600 posts on how to find a superstar programmer.

  243. Highest amount of comments ever!? by mwvdlee · · Score: 1

    Since every slashdot reader considers him-/herself a programming superstar, obviously this post has the highest number of comments in a long while.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  244. Have exciting projects! by yoinkityboinkity · · Score: 1

    And advertise that you do. Any really great programmer is great because he loves his craft and wants to use it to do exciting things. If you do something cutting edge and exciting, advertise THAT, because that is what will bring in the talent. Of course, you have to pay the man what he deserves (if he truly is good), but the work will attract him more than the perks. A truly superstar programmer is generally going to love programming so much that the most important thing is the quality of the work that he can do, everything else is icing (which is important, but you need a good cake first). Seriously. Great programmers are great because they love it. If the person is only concerned about money and perks, to them it's just a job, and you probably don't want them. (Again, you want to have those things, but it's not the main driving force)

  245. Be specific by MrMoDoJoJr · · Score: 1

    We've been trying to recruit for months with no success. While looking for work myself I came across my current company's add on Monster. When I saw the add I realized why we hadn't had any good applicants. Whoever posted the add talked so much about how we interface with the customer and how our standards of excellence are so high, that it left out the important bits i.e. What is the job and how much does it pay. The only bit of the add that discussed anything about the job was a list of buzz words and job skills that seemed to be more beefed out than it should have been. I think we would have had more luck placing an add that simply said "Wanted: Excellent C# programmers for Windows Forms applications. Excellent pay and benefits available"

  246. Super Star Teams by iknownuttin · · Score: 1
    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.

    You described, quite well, how to create a super star team. Which is what most organizations need: not a single star.

    --
    I prefer Flambe as apposed flamebait.
  247. Stop looking where the aren't by Anonymous Coward · · Score: 0

    What methods have other people used to find the truly elite?


    Rule number one: don't look on Slashdot.
    Rule number two: DON'T LOOK ON SLASHDOT.
  248. Superstars are a flawed strategy by blueberry_tx · · Score: 1

    Relying superstars is a flawed strategy.

    The most important attributes of a successful company are its leadership.
    The company must know where it is going and how it is going to get there.
    This means having an excellent management team, product managers, and
    software architects. Implementation, and your success, becomes a matter
    of execution, not of heroics.

    We all like to fantasize about the breakthough products coming up from
    engineering. Sometimes that even happens. But in the
    real world it all about consistency. That means a team of good, solid
    all-arounders you can move around as your needs change.

  249. Do Companies Want Superstars? by carlgt1 · · Score: 1

    I don't really think they do. They just want the cheapest person possible who they think can do the job.

    The interview format these days seems to be a "phone screen" tech grilling coupled with an office grilling by dweebs who think they are superstars. Asking every topic from Stroustrup's C++ book, or old college questions about traversing binary trees is no way to find a superstar.

    I think good references and a "network" are far more important for finding ideal candidates & superstars; but what we have now is basically a "meat-market", thanks to (from what I hear) the vast legions of H1Bs who do & say anything on their resume to get an interview & job.

  250. Real Programmer by m3rck · · Score: 1

    "Real Programmers have no use for managers. Managers are a necessary evil. They exist only to deal with personnel bozos, bean counters, senior planners, and other mental defectives."

  251. Can I weigh in? by Bobb+Sledd · · Score: 1

    I am not a superstar programmer (by a long shot), so I probably am not the type you are looking for...

    However, I am a creative mind and I solve problems, and some of it requires programming. I guess people would call me a "generalist." I'm paid fairly well and I enjoy my job (so I'm not looking right now).

    So when I'm looking for work, here's my dilemma: When I see a posting for a job, there are three things that keep me from wasting my time of even submitting a resume:

    1. The company didn't print the compensation amount. (Why would I apply for a job that pays half what I make now?) Be up-front with what you pay so I know what to expect. You'll get less noise, and I'll waste less time. And don't give a range like $50K - $75K. We both know that means $50K.

    2. They leave out some important details of what the job really entails. Using anecdotal examples does wonders for me.

    3. They require some credential/certificate (that usually isn't even necessary) before they would even look at my resume anyway.

    If companies would just say what it is they want done, how senior of a person they want doing it, and how much they are going to pay, then I could reduce your noise by either sending a resume or not.

    --
    "They said I probly shouldn't fly with just one eye," "I am Bender. Please insert girder."
  252. the best way to find that I know of... by Ahzzmandius · · Score: 1

    is to look at open source projects that are related to the products that you want this "superstar" to work on. Review the code base and compare the commit logs to get the names of the ones that wrote great code. Almost all superstars care more about the code than making gobs of money, so they will be out there in the public projects committing their hearts away. :)

    Reviewing code is FAR preferable to interviewing for finding that right programmer. Have your existing staff look around if you aren't comfortable in your ability to see good code when it's in front of you. Even if you are comfortable with the code, take samples of code that you like and present them with numbers instead of names to your existing staff to vote on which code is the most elegant, easy to read, and efficient. Approach the top 10 names on the list and you will probably find one or two that are currently between projects.

  253. Columbus, OH too. Thank you NAFTA! by Anonymous Coward · · Score: 0

    Too bad I stumbled upon this great thread so late. Such is life. I would be more than willing to leave this heavily outsourced, IT-black hole that is known as Ohio if I had the security of knowing I could. Ohio has been in the $#!+hole ever since Bill Clinton signed NAFTA into law. Unfortunately I graduated from college during his second term when it all went downhill here, barely surviving from layoff to layoff. One of these days I will get noticed. *Sigh*

  254. Let them own the project by Anonymous Coward · · Score: 0

    In many, many organizations, developers are lackeys for others in business departments. Create an organization where this is not the case, and make it known.

    Nothing makes a developer wretch more than taking orders from some clueless business person that just has to have some lame-ass feature that has to be hacked in at the last minute.

    Your smartest people are at the "bottom" of your organization. No, they may not have business experience, but if decision making is explained to them, and justified, the technical folks are the most equipped to judge the reasoning behind your business decisions. Use them.

  255. Telling Schmucks from Superstars... by CountryGeek · · Score: 1

    Your posting reminded me of a post I read a while back:

    http://onstartups.com/home/tabid/3339/bid/3504/Startup-Developers-Telling-Schmucks-from-Superstars-5-min-quiz.aspx

    I agree with all of his points, but the one that resonates with me most is:

    "#12. You're going to start your own company someday. So, you're interested in sales, marketing, operations and things other than figuring out how to make Ruby on Rails scale to large numbers of users when there are complicated database queries involved."

    I think you're looking for the total package, someone who can do anything, and ends up choosing what they want to do. The problem is, the after #12, none of the "total package" folks will be interested in working for someone else. Thus, the set of candidates is shrinking as they finally take the plunge...

  256. Find One Who Is Left Handed by curmudgeon99 · · Score: 1

    Well, though I expect a firestorm for this comment, I would say find one who is left handed. In my career--coincidence or not--the most superior performers: creative, energetic, thinking-out-of-the-box, were the Left Handed developers.

  257. Sarah Connor by Anonymous Coward · · Score: 0

    she is coming for you

  258. Re:Do you want, or need, a "programming superstar? by carlgt1 · · Score: 1

    haha, that's true, I don't know how many mundane companies I've been to that claim their people are the "best and brightest" and are looking for the "same." Even google doesn't really impress me, so they think they get all of these hotshots for what's basically advertising and "payola" scams?

  259. Don't feed me shit ... by Syncerus · · Score: 1

    and tell me that it's ice cream.

    --
    "Man is nothing without the works of man" -- Helvetius
  260. Where do you work? by Yunzil · · Score: 1

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

    So, um, who do you work for? And how much do you pay?

  261. Your biggest problem is.. by hilather · · Score: 1

    Honestly, I've actually met quite a few people who I would consider "superstar" programmers. I myself am only quite average. Most of the superstars were stuck in low paying jobs at fairly small businesses, because they couldn't make it past HR type standards that big corporations like to set in place. Not everyone has the time/patience or money to go to school and get a diploma/degree for something they are already more proficient at then their professors. Before you start asking where all the decent programmers are, you better figure out how many resumes are sent to the waste basket instead of being sent to your desk.

  262. Willingness to improve by steelclash84 · · Score: 1

    I don't understand why people think programming skill is some sort of "gift". Let's call it what it is: a skill, and an acquired one that that. If I were a project manager looking for programmers, I would look for some that have steadily increased in their skill sets, from simple projects to gradually more complex systems. No one is an expert at their job as soon as they are out of the box. If they are willing to learn, willing to admit mistakes, and willing to learn from their mistakes is what makes good programmers. 9 times out of 10, genius programmers probably aren't interested in projects that require a load of work. You need people willing to trudge through, be attentive to details, and are able to think ahead of their own project. In my own shop, I've seen what I thought were terrible programmers really start to shine once they got pushed neck deep into the work.

  263. The Turing Test by suitti · · Score: 1

    Most companies don't know about the superstars they have. Or otherwise.

    If you ARE a superstar, then you should be able to identify one in
    a conversation. It's the Turing Test. Is the person across the
    table competent?

    Unfortunately, being a really good programmer does not always make you
    good at other things. For example, i'm terrible at sales.

    So here's one of the better conversation starters in the interview:

    What are your favorite tools?

    Oh, and try to get some detail about some past project.

    I'm really good at this. Perhaps i should hire myself out to perform interviews.
    But it should be noted that the only real candidate i talked to turned us down.

    --
    -- Stephen.
  264. Specification by peccary · · Score: 1

    When you specified the work for your outsourced buddies, did you specify that the input was sorted (and UTF-8 or 8-bit ASCII) ? If you didn't, that was hardly their fault.

  265. Programming Super Stars by virtualthinker · · Score: 1

    We are all around ... problem is for years the business people in charge have made it impossible to talk to them by refusing to speak with anyone not on a vendor list. They insist on dealing with an agency. The agency has every interest in keeping us from talking to you. So eventually there is so much "business type noise" the technologist and those who could use their help are on opposite sides of the universe. We are here. Email us.

  266. How are you entitled to the 40K per year? by Anonymous Coward · · Score: 0

    If someone in India can get the same results as you at 1/4 the cost then wouldn't that make you overpaid for your position? If you want to keep the $40K per year salary then maybe you should consider retooling yourself by attending a university and going for another field such as human resources management and even learn another language such as Hindi so you can move out to India and keep your position. If you want to remain uncompetitive and lazy with an attitude you are entitled to a job then maybe you should consider working at a restaurant and repeat the phrase "Do you want fries with that?" or just waint until you starve to death as you will not have a job.

  267. Lazy is a horrbile trait by geekoid · · Score: 1

    in a programmer. It is a completely ignorant thing to say at best.

    Lazy people don't 'work smarter' they do the minimal amount of work AT THE TIME. They do NOT think ahead and say "How can i make this easier next time?" Thinking ahead is not what lazy people do at all.

    You want someone that values their time. Lazy people don't value there time, they value expending as little energy as possible at any given moment.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:Lazy is a horrbile trait by douji · · Score: 1

      but what about smart lazy people who can plan to be lazy at a later time?

  268. Class B people get hired when "growth" outpaces... by AntrygRevok.net · · Score: 1

    Class B people get hired when ( inflationary, like Big Bang )"growth" outpaces
    Managed Development.

    Read "A New Brand World" ( http://www.amazon.com/New-Brand-World-Principles-Twenty-First/dp/0142001902/ ) by the former brand-manager for Nike & Starbucks:
    their super-growth period ( Starbucks ) meant hiring rather a few former macdeath managers, and they didn't "get" cafe-culture,
    so they obliterated some of it,
    in exchange for supersized coffee cups.

    Sometimes one has to have the brains to turn-down an opportunity, in order to keep one's soul,
    but that blows the short-term-bottom-line,
    you know?

    ===

    PS: Also read:
    Al & Laura Ries, The 22 Immutable Laws of Branding
    http://www.amazon.com/22-Immutable-Laws-Branding/dp/0060007737/
    & Focus - The Future of Your Company Depends On It
    http://www.amazon.com/Focus-Company-Depends-HarperBusiness-Essentials/dp/B000GG4G3K/
    Both of which counter some of what the first book says, and eloquently

    PPS:

    Western Style:
    Hire the skill-set, change the person-nature.
    Which results in .. firing 'em, because their nature didn't change!
    Japanese Style:
    Hire the someone, change the skill-set

    Which is more-valid, seen plainly as that?

    --
    Try also my gallery: http://photo.net/photos/AntrygRevo
  269. MOD PARENT UP by Actually,+I+do+RTFA · · Score: 1

    Hear, hear. "I am a lazy programmer" is a self-agrandizing way of saying "I will do whatever is expediant."

    --
    Your ad here. Ask me how!
  270. Lose the concept of SuperStars by Anonymous Coward · · Score: 0

    It's kind of a dated, macho, ego-driven, suck it down, work 24/7 and get the project done, concept. But we've grown up since those days.
    And anyone who thinks they're a SuperStar is going to have such a huge ego that won't work well with others in teams.
    It also doesn't scale. While you may be able to find one SuperStar Programmer who does the the work of 10 mortals, you won't be able to find 10 SuperStars who'll do the work of 100 because they won't work well together. You might be able to find 100 normal hard working programmers who can be organized efficiently to do the work of 100.

  271. Then.. by wwind123 · · Score: 1

    Who hired class B people?

  272. Start by changing your own language... by jotaeleemeese · · Score: 1

    Superstars? If I was applying for a serious job I would avoid a company advertising positions for superstars this or that.

    You are not making auditions for a soap opera or a bad B movie after all.

    --
    IANAL but write like a drunk one.
  273. Don't bother seeking them by magical_mystery_meat · · Score: 1

    It's great when you get a superstar, but you'll drive yourself nuts looking for them. Either they'll find you if they think the work is good enough, or you'll luck out and get one who doesn't know that it gets any better.

    That said, if you're writing stuff like generic CRUD apps on five year old Java frameworks, chances are you're not going to attract superstars. Superstars want cool things to play with. They can work anywhere. Give them a reason to work for you.

    If you insist on looking for superstars, be sure you're getting real superstars and not just guys who are good at job interviews.

  274. stars by dmlpat · · Score: 1

    I suppose your company wants to hire good developers, because stars you cannot recruit them And I doubt you can use them efficiently, I have the chance to know many stars,some you probably can call superstars, no company exploit the potential of any of them seriously :-) The companies clearly see those guys solve problems others cannot, but they don't even think to push the limits of those guys The superstars are rarely the people you see of the photographies, there are exceptions :-) And don't think about recruiting them, the stars are already working on something they like too much to abandon it : sorry Stars don't need help to find their way, they have clear vision of what they want to do and not do Stars will never put their CV is the WEB in the middle of that noise "polite form", this is totally illogical I would not recruit somebody that is so desperate to publish his CV on the WEB, when his peers should find him a direct entry to the best projects Then you still think you have some very interesting project that require exceptional developers, find some entry in the network Experts know each others and can recommend many friends, ask for some ranking from 1 to 100, shoot for 95 And in middle of those experts there are some gems, your talent is to find them, but you have done only 10% of the task Good luck By the way , if you look for talents why you have not made a clear description of the talents you are looking for ? What are your projects ? Propose a nice laptop to any person that give a successful pointer to the talent you are looking assuming you recruit him : 2K$ for such a talent is pretty cheap

  275. Programming competitions by David+Deharbe · · Score: 1

    www.topcoder.com and icpcres.baylor.edu

  276. Go back to first principles by James+Youngman · · Score: 1

    You indicate that you're looking for elite staff and are complaining that the number you're finding is very low. That's the very definition of elite. The elite are by definition in a tiny minority.

  277. i was just there by sdedeo · · Score: 1

    Yup, all true (I hear Auckland has some danger areas, though.) Christchurch is wonderful. Except that everyone I met was either 21, and getting ready to go on an O.E. they hoped never to return from, or 28 and back from their O.E. after exhausting their visas without getting a spouse or a job that could keep them somewhere where the papers are scary, the homeless nasty, and there's something going on. Not to knock it -- there were a few Christchurchers happy to be there at 30 (one told me the city was so nice because there were no Maori making crime -- I felt a little schadenfreude that there are racists in paradise), and the internet makes things easier, but if you have ambitions that don't involve the interaction of geography and gravity, it's hard to realize.

    --
    Protect your liberties. Donate to the ACLU