3 ms·
I know OP means well, but this post provides far more data about his own experience than anything that can be reliably used by the reader. What he calls "indic
by edw519 17y ago
I know OP means well, but this post provides far more data about his own experience than anything that can be reliably used by the reader.
What he calls "indicators", I call "co-factors". They may or may not accompany a given programmer, and they predict nothing.
Generally speaking, good programmers are intelligent and do care about their work, but his positive indicators are much more a matter of personal preference than the quality of their work.
For each good programmer OP can identify who programs as a hobby, will talk your ear off, started programming before university, or has knowledge of a lots of technologies, I can cite a counterexample.
Similarly, I can also identify many good programmers who possess some of OP's "negative indicators" like having a day job, enjoying a single technology, not wanting to talk shop, or enjoying other activities.
There is one sure-fire way to identify a good programmer: their work. In fact, it is by definition the way that we should evaluate programmers. It is the great equalizer, and with web technology, exposed for all to see.
It really is as simple as cause and effect: good programmers produce good work; bad programmers don't. Anything else, including OP's positive and negative indicators, is just a detail.
- marciovm123 17y agoThat misses out on efficiency. Good work that takes an inordinate amount of time can indicate high standards but not the ability to get things done (which I would consider an attribute of a good programmer).
- cakesy 17y agoWhat we are looking for is a way to find good programmers, for non-technical people. You seem to be missing this point, and have gone of on a rant. How do you look at someones work and tell if it is good? Most projects involve more than one programmer, and how can you even tell how good it looks underneath the front? How do you know it even works as it is supposed to? You are basically saying nothing at all.
- azanar 17y agoThere is one sure-fire way to identify a good programmer: their work. In fact, it is by definition the way that we should evaluate programmers. It is the great equalizer, and with web technology, exposed for all to see. Unless you are presuming a team of only a couple of developers doing their own thing, there is a real challenge in determining the extent of the programmer's responsibility for something that is exposed for all to see. There are a number of other causes that might make a site a developer helped work on look or run like complete garbage. Organizational inertia might have forced the site into sucking, regardless of how good the programmers developing it were. The organization may have one or more bad programmers who were assigned to work on some critical component, screwing the whole site and all the good programmers. We can wax on eternally about how the good programmers in this situation should've seen the writing on the wall and gotten out as soon as possible, but that's very easy to say seated in armchairs gazing from afar. Maybe they thought things were going better than they really were; maybe they saw things going bad, and thought they could motivate others to turn things around before things become a disaster -- and maybe they failed trying to do that[1]; maybe they have been trying to get out, but they are already tainted by the bad work of the organization that has become part of their image as well. They could do work outside of their employer, for instance on an open source project, but these can succumb to the same sort of pressures that push profit-seeking organizations toward mediocrity. A single developer, even a really willful one, will have a hard time overcoming this inertia. [1] At one of my prior employers, I was in this boat; I both tried and failed to get things turned around. I did quit, but probably not soon enough to convince people that the site was not a reflection of me and my standards. The site was absolutely shameful, and I'm sure anyone who used that site to infer things about my skill level would've sworn I had no skill or experience outside of a weekend PHP crash course. Granted, it would vet one organization I would probably not want to work at; but it would represent wasted potential based on presumption, which is a shame. I really think the details matter, because they are a chance to determine if the work you are using to assess the programmer is spurious input, and reflect an influence largely made up of things other than that programmer.
- InclinedPlane 17y agoYes. This is a far more difficult problem than people seem to appreciate. Except for open, solo projects, finding out the work that people have done is challenging. Which goes a long way to explain the difficulties of the job-finding and interview process. Consider the common case of the average developer (especially so for a non-web developer). They've worked on several closed source projects on which the extent of their participation is non-trivial to determine. Ultimately you have to talk with them and suss out what they actually know, which is at least a day long process in order to attain any degree of accuracy. Even if they've worked on open source projects, it may take a lot of effort to grovel through their commits to find out whether or not they're telling the truth on the size of their contributions. Incidentally, all of this is a good reason to have your own personal solo project and your own personal blog, though it can take a lot of effort to do so.
- j_baker 17y agoI think a case can be made that even if someone who meets the author's criteria isn't a good programmer, they can probably become one with some mentoring. Of course, that probably isn't good for a business person looking to hire their first programmer. But then again, that person's in a pretty tricky spot to begin with.