8 Questions To Identify A Lame Programming Job
We all know and love the Joel Test,
Joel Spolsky's quick quiz to determine the quality of a software team.
If you're searching for a job, it's a great idea to run potential
employers through the Joel Test.
There's a problem with it, though. Well, there are multiple problems. First, who the hell cares about hallway usability testing? Second, you're only checking for the good qualities of a team. What about the horrendously bad qualities that will eventually drive you towards both insanity and a crippling dependency on cough syrup?
We
need something like the Joel Test to measure the potential crappiness
of a job, or else each of us might stumble into becoming Milton Waddams.
Ladies and gentlemen, I present to you the Codypo Test, aka 8 Questions To Identify A Lame Programming Job. If you are in an interview, you give the company the Codypo test, and the job scores more than a 1 or 2, you need to pull the fire alarm and get the hell out of there.
1. Would I be paid below market rates?
If they're looking for 10 years of hardcore, multithreaded C++ experience and they're offering 48k, these people have lost their minds. Expect this sort of delusional thinking to appear in everything they do.
2. Would I always be on call?
No one likes being on call, because as soon as you're on call, someone is going to page you at 3 AM on a Sunday because the Reset button on the support portal is a different shade of blue than they're expecting. Occasional on call stints are both understandable and tolerable, but 24/7 is for doctors and exorcists.
3. Am I the IT staff?
You are a programmer. You make software. You are happy to support your software.
This
does not, however, mean you are a computational master of the universe,
and just the guy to ask why the receptionist's laptop got all weird
after she installed that Garfield screensaver.
4. Would I work with a single monitor?
It's no longer 1998. We don't have to stare at a single 17" boat anchor all day while rocking out to Smashmouth. You can buy huge, thin LCDs for $100 each. If doubling your productivity isn't worth $200 to this company, then this company may just be a really elaborate practical joke played by an eccentric billionaire.
5. Will I be maintaining any ancient system, and what's it written in?
If you dig deep, you may hear, "Yeah, we're going to get into Ruby on Rails, but first, we'll need you to bust out some VB 4." It is never, ever that easy.
That VB 4 system will refuse to die, just like Rasputin.
6. Would my internet usage filtered or monitored?
Programmers solve problems, and to solve problems effectively, you need resources. The internet is the single greatest usage available. Any company that refuses to accept that and blocks you from Usenet/ Google/Stack Overflow/whatever is treating like you a child/deranged porn fiend.
7. Would I be the only programmer?
More than anything else, I have grown as a programmer thanks to my peers. We answer each others' questions, we review each others' code, we whiteboard together, and we come up with creative insults when somebody breaks the build. If it's just you, you're not going to get any technical feedback and you're not going to get any better. Also, you'll only be able to insult yourself when you break the build, which might get you reported to HR.
8. Am I expected to travel every week?
A bit of travel is necessary from time to time, particularly for face to face meetings with customers or offsite colleagues. However, expecting you to leave your home every farging week is absurd. We have the internet now; it allows us to communicate virtually. Let's use that instead of me becoming BFF with the night receptionist at the Best Western.
I think those 8 questions constitute a good sanity test for a potential job. Sure, there are valid reasons for a job to score a 1 (eg, you might be the IT Staff or on call all the time at a startup). However, once you get past one Yes to these questions, it's time to leave the interview through any means necessary, including faking a heart attack.
No matter how great the potential projects and teammates might be, I don't think you can do truly meaningful work in an environment where you, the developer, aren't empowered to succeed. If a company doesn't get that, then they don't get software.
Source: http://www.codypowell.com/taods/2009/12/the-codypo-test-aka-8-questions-to-identify-a-lame-programming-job.html
Published at DZone with permission of Cody Powell, author and DZone MVB.There's a problem with it, though. Well, there are multiple problems. First, who the hell cares about hallway usability testing? Second, you're only checking for the good qualities of a team. What about the horrendously bad qualities that will eventually drive you towards both insanity and a crippling dependency on cough syrup?
We
need something like the Joel Test to measure the potential crappiness
of a job, or else each of us might stumble into becoming Milton Waddams.Ladies and gentlemen, I present to you the Codypo Test, aka 8 Questions To Identify A Lame Programming Job. If you are in an interview, you give the company the Codypo test, and the job scores more than a 1 or 2, you need to pull the fire alarm and get the hell out of there.
1. Would I be paid below market rates?
If they're looking for 10 years of hardcore, multithreaded C++ experience and they're offering 48k, these people have lost their minds. Expect this sort of delusional thinking to appear in everything they do.
2. Would I always be on call?
No one likes being on call, because as soon as you're on call, someone is going to page you at 3 AM on a Sunday because the Reset button on the support portal is a different shade of blue than they're expecting. Occasional on call stints are both understandable and tolerable, but 24/7 is for doctors and exorcists.
3. Am I the IT staff?
You are a programmer. You make software. You are happy to support your software.
This
does not, however, mean you are a computational master of the universe,
and just the guy to ask why the receptionist's laptop got all weird
after she installed that Garfield screensaver.4. Would I work with a single monitor?
It's no longer 1998. We don't have to stare at a single 17" boat anchor all day while rocking out to Smashmouth. You can buy huge, thin LCDs for $100 each. If doubling your productivity isn't worth $200 to this company, then this company may just be a really elaborate practical joke played by an eccentric billionaire.
5. Will I be maintaining any ancient system, and what's it written in?
If you dig deep, you may hear, "Yeah, we're going to get into Ruby on Rails, but first, we'll need you to bust out some VB 4." It is never, ever that easy.
That VB 4 system will refuse to die, just like Rasputin.
6. Would my internet usage filtered or monitored?
Programmers solve problems, and to solve problems effectively, you need resources. The internet is the single greatest usage available. Any company that refuses to accept that and blocks you from Usenet/ Google/Stack Overflow/whatever is treating like you a child/deranged porn fiend.
7. Would I be the only programmer?More than anything else, I have grown as a programmer thanks to my peers. We answer each others' questions, we review each others' code, we whiteboard together, and we come up with creative insults when somebody breaks the build. If it's just you, you're not going to get any technical feedback and you're not going to get any better. Also, you'll only be able to insult yourself when you break the build, which might get you reported to HR.
8. Am I expected to travel every week?
A bit of travel is necessary from time to time, particularly for face to face meetings with customers or offsite colleagues. However, expecting you to leave your home every farging week is absurd. We have the internet now; it allows us to communicate virtually. Let's use that instead of me becoming BFF with the night receptionist at the Best Western.
I think those 8 questions constitute a good sanity test for a potential job. Sure, there are valid reasons for a job to score a 1 (eg, you might be the IT Staff or on call all the time at a startup). However, once you get past one Yes to these questions, it's time to leave the interview through any means necessary, including faking a heart attack.
No matter how great the potential projects and teammates might be, I don't think you can do truly meaningful work in an environment where you, the developer, aren't empowered to succeed. If a company doesn't get that, then they don't get software.
Source: http://www.codypowell.com/taods/2009/12/the-codypo-test-aka-8-questions-to-identify-a-lame-programming-job.html
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
Tags:






Comments
Alex(JAlexoid) ... replied on Mon, 2012/02/13 - 6:58am
You can throw out the #8 as meqaningless if you will work in the consulting arm of the business... Even if you are a developer there.
There are a lot of circumstances where weekly travel is essential.
Jonathan Fisher replied on Mon, 2012/02/13 - 10:28am
>>Will I be maintaining any ancient system
If that's your attitude towards existing code, I would never ever hire anyone like you, simply because you YOURSELF are the cause of many poor programming decisions. 'Legacy systems' are caused by inexperienced programmers acting like drama queens. You get these people in your organization that insist that your architecture sucks because it isn't written in Scala and uses MongoDB, yet you can't trust them to do even the simplest of maintenance tasks correctly. These type of people should be stamped as inexperienced and non-hirable with the understanding that the massive technical debt they introduce will cause your business to buckle like Greece's economy.
You can learn a lot from legacy code in two ways: What to do/What not to do. Don't be an elitist, you don't know everything and you shouldn't act like you do. (So says the man who wrote a Java <--> COBOL bridge for his last job, and had an absolute blast doing it. Who would have known that COBOL was using a NoSQL called ADABAS database back in the 1980's? Hmm)
Collings Jim replied on Mon, 2012/02/13 - 10:32am
Collings Jim replied on Mon, 2012/02/13 - 11:27am
in response to:
Jonathan Fisher
Andrew Thompson replied on Mon, 2012/02/13 - 1:53pm
"If that's your attitude towards existing code, I would never ever hire anyone like you, simply because you YOURSELF are the cause of many poor programming decisions. 'Legacy systems' are caused by inexperienced programmers acting like drama queens."
Generally I agree with the above sentiment. But I do find that there is a corner case where a developer is hired expecting their job to be "Scala/MongoDB/FlavourOfTheMonth" and find that the real position is patchwork on an undocumented Perl app with strict instructions to "never touch this part of the code. there be bears". Which there's nothing wrong with - but the actual job doesn't match to what the developer accepted the position based on.
Vadim Horban replied on Mon, 2012/02/13 - 3:51pm
Jonathan Fisher replied on Mon, 2012/02/13 - 5:27pm
in response to:
Collings Jim
Andrew Spencer replied on Thu, 2012/02/16 - 4:05am
Question 9. Do they use Clearcase?
Jeff Dickey replied on Sun, 2012/02/19 - 11:46am
in response to:
Andrew Spencer
Nobody uses ClearCase, just as nobody uses Windows XP. You, my friend, are the usee, the one who must make endless random modifications of workflow and blood sacrifice to unknowable pseudo-deities in order to maintain the appearance of making progress on a regular basis. (Accomplishing progress is impossible by design; it's a feature, not a bug.)
Seriously, ClearCase is one of only two alleged source-control management systems that are automatic disqualifiers for any further interest in a position, and the serious evangelism of same by individuals or teams reporting to me will get an R. Lee Ermey-level extemporaneous rebuttal, at minimum. I have seen roughly 20 projects in my career that were infested with ClearCase. None shipped on time, on budget, or to spec — pick any one.
(Shudder)
Kristy Sheppard replied on Wed, 2012/06/06 - 8:42am
I believe, a lame programmer's work is not that hard to identify, it shows itself, nevertheless, it was still interesting to read the article, some useful tips are included and I love the language on the whole.
http://pictureeditorfree.org
how to edit a picture