Join 244,275 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,153 people online right now. Registration is fast and FREE... Join Now!
How do you recognize good programmers if you’re a business guy?
It’s not as easy as it sounds. CV experience is only of limited use here, because great programmers don’t always have the “official” experience to demonstrate that they’re great. In fact, a lot of that CV experience can be misleading. Yet there are a number of subtle cues that you can get, even from the CV, to figure out whether someone’s a great programmer...read more
Very well written (omitting the spelling mistakes ) I'd say,
QUOTE
The key point to outline here is that formal qualifications don’t mean squat when you’re trying to [recognize] a good programmer.
While this is probably true, a lack of formal experience and qualifications has me in second place a lot of the time. I have another less coding intensive position lined up, but we'll see what happens when they get back to me...
I wish I'd read it when I was interviewing for our last programmer, though I'd only show it to the "business guys." I agree with the quoted article, that you need a good programmer to find one.
However, his #1, passion, is a must. There are any number of competent programmers out there, you can give them a particular problem or have them fix something that's broken. But good programmers must be into it.
Like anything else, you need to have a passion for what you're doing. Be genuinely interested in it. Be an obnoxious fan, collecting anything related to your enthusiasm, bending the ear of anyone unfortunate enough to touch on your thing. Have to be locked away at parties because you find another person passionate about your interest and the rest of the room has no clue about what you're talking about.
I let the HR department and my bosses handle most of the programmer interviews. I'd know in the first five minutes, really. However, this is my question; "other than all the stuff on the resume, what else have you done?" This is usually followed by a blank look, so I'd clarify.
"All this is business stuff, it's what we're looking for, don't worry. However, have you ever programmed for fun. Perl, Python, Ruby, Linux? An Lua mod for WoW? Anything?"
Those who could honestly answer that programming was fun for them were usually the good programmers.
Hm we had a similar discussion before, but the article shows it from a different angle. I would pick on the formal experience and qualifications a bit. They are clearly not an indicator of a good programmer, however they are important for two reasons: - (at least here) you can only get more serious contracts if you can prove that you have programmers with formal qualifications. period. I don't want to go into depths that it could indicate that the programmer got his degrees so that he would be more helpful for his company, etc. because it would be a topic on it's own. - more importantly: formal education teaches lots of backgorund sciences, technologies, and other things that self educated programmers will lack most of the time depending on the field they came from(advanced math, physics, signal theory, economics, etc.). Will it make a difference most of the time? Probably not, but in some situations it can greatly reduce the time and amount of reasearch needed to solve a problem, and it is also more likely, that they will find optimal solutions in some cases simply because they were exposed to more technologies. Again, I don't say that somebody without formal education won't know the same things, but filtering it out is more difficult. However the list in the article covers these things quite well.
Great Article! This hits the nail on the head. Im currently working in IT help desk and Im just doing it to get my foot in the door and earn some experience. I've applied for many programming positions and nobody gave me a chance because of my age(19) and I have no professional experience/BS in Computer Science. It gets me angry because the guys in my department have these degrees/certifications and I can program circles around them. I often find myself helping them with code issues. The people that have interviewed me never asked about my "personal programming" they always want Professional experience. Most companies dont care if you've been programming since 9(i started around this time), they just want MCAD or some other certification along with a BS degree to even consider hiring...eh if only the employers would read that article...
That article is dead on and I have seen several companies make the mistake of passing up good programmers because of not identifying them through these methods.
But the thing about some of this is that business people often take it to the extreme. They think if you can really talk a wicked hour of geekiness that you are better than someone who can talk a wicked 45 minutes. There is a point where you got to realize that a good programmer is also going to have enough sense to know when to stop and that if they talk a lot more it doesn't necessarily mean they know more and thus a better programmer.
As a business person, also try to understand a bit about the technologies out there. Often times business people don't even know differences between C and C++. So the person could talk a lot and talk total nonsense... talk a wicked hour of complete nonsense.
Lastly, be open to ideas and technologies that may even seem not related to your business. Often times the programmer could even tell you how a new language fits in ways you haven't even thought about. Or talk about a technology that will be your bread and butter, not now, but years down the road.
For instance I talked to my employer about Google widgets. They shrugged off the idea of using it for travel... until I finally made a demo showing them that they could have their own widget to push out travel deals to previously purchasing customers through their Google page. They loved the idea.
Just two cents from me. Thanks for posting the article Programmist.
This post has been edited by Martyr2: 13 Jan, 2008 - 10:45 AM
That was a good article - it also generated quite a bit of discussion on /. - I'll see if I can find the link. Good opinions. I agree that finding a great programming resource requires (or should require) input from a great programmer - similar minds and all that crap.
Don't let the business side hire the coders, don't let the coders approve business decisions - not much of a motto, I grant you, but has gotten me through a lot.
I've met someone who never broke out of their PASCAL shell in my JAVA class last semester (or was it C? I don't remember). It's not the number of languages you learn, it's the willingness to try the newest stuff. She kept trying to write JAVA like she did with her flat language she was comfortable with.
Do you know any "lost in time" programmers out there working with old school languages?
I remember we used to joke about people programming in COBOL - until Y2K that is. then all the COBOL coders starting charging per diems made you think you were looking at a weekly amount...and got it.
Great Article! This hits the nail on the head. Im currently working in IT help desk and Im just doing it to get my foot in the door and earn some experience. I've applied for many programming positions and nobody gave me a chance because of my age(19) and I have no professional experience/BS in Computer Science. It gets me angry because the guys in my department have these degrees/certifications and I can program circles around them. I often find myself helping them with code issues. The people that have interviewed me never asked about my "personal programming" they always want Professional experience. Most companies dont care if you've been programming since 9(i started around this time), they just want MCAD or some other certification along with a BS degree to even consider hiring...eh if only the employers would read that article...
Coding is actually a small part of the real software engineering package. You also have to have knowledge on design, documentation, communication, etc. Thats why they are looking at degrees and profession experience, cause even though you can code, they want people who can write software, the whole shabang.
Great Article! This hits the nail on the head. Im currently working in IT help desk and Im just doing it to get my foot in the door and earn some experience. I've applied for many programming positions and nobody gave me a chance because of my age(19) and I have no professional experience/BS in Computer Science. It gets me angry because the guys in my department have these degrees/certifications and I can program circles around them. I often find myself helping them with code issues. The people that have interviewed me never asked about my "personal programming" they always want Professional experience. Most companies dont care if you've been programming since 9(i started around this time), they just want MCAD or some other certification along with a BS degree to even consider hiring...eh if only the employers would read that article...
Coding is actually a small part of the real software engineering package. You also have to have knowledge on design, documentation, communication, etc. Thats why they are looking at degrees and profession experience, cause even though you can code, they want people who can write software, the whole shabang.
That's a good point Nova, writing great code is wonderful, but if there's no comments or docs to teach the next guy, the software may become useless very quickly. Although not my favorite thing, I've made a point of commenting almost everything I write now, just to get in the habit, it also helps on assignments too
You can't believe how many times I stepped into a programming job with no documentation and left them with tons. Always the sign of a good programmer I believe.
If you got that as a habit, don't lose it. It seems like a hassle to learn what someone else has done and that you should pass on the favor to the next guy, but be the better person.
My favorite way of weeding the wheat from the chaff is to get a portfolio as part of the interview process. Provide about 5 or 6 objects or a couple of modules or code files. You can usually tell within 1 minute if the coder knows the architecture, the language, the programming process, if the code is readable, documented, etc. Ask them a few questions about it to ensure that they actually wrote it, and you will know how good they are.
You can't believe how many times I stepped into a programming job with no documentation and left them with tons. Always the sign of a good programmer I believe.
If you got that as a habit, don't lose it. It seems like a hassle to learn what someone else has done and that you should pass on the favor to the next guy, but be the better person.
the old if it was hard to write it should be hard to read mentality.
You can't believe how many times I stepped into a programming job with no documentation and left them with tons. Always the sign of a good programmer I believe.
I experienced that with this job it is my first out of university and my predecessor was a fanatical programmer but left no documentation so slowly all of the hard work he put in is being made redundant as noone can maintain his systems. I as i am learing about systems he implemented i am writing documentation for it while writing documentation for systems I implement.
After working here for 4 months i found out that one of the first thing that was done when i applied for my position my name was entered into a google search to find samples of my work as the position is to maintain and develop the business websites. From this they could see examples of my design. they found all three of my sites too!
I only started programmign in university but then again I bearly had used a computer before university, so the learning curve on my part has been very high!
I love that article -- one of my all time favourites. Reminds me of the book Best Software Writing I.
When I was doing tech hiring years ago, I threw out dozens of business resumes that hardly mentioned anything related to programming at all. The ones I held on to were usually unpolished, and chock full of acronyms. Not that those are guidelines...
In looking for work as a programmer, after that experience, I found that the harsh reality [in my region] is that degrees and spiff matter, while experience and passion are mostly ignored.
I have really been wondering: is it like that in most places?
One thing that often gets overlooked in just about every job field is people skills. Everyones looking for that portfolio and that skilled, passionate worker. You may find a guy who's simply just brilliant at what he does. Fast, efficient, neat, and punctual. Why? Because he sits infront of the computer for 10 hours a day doing his thing with no one else.
You show me a programmer like that, and I will show you someone who probably has poor people skills and won't work well on a team.