- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
While we're throwing blame around, it's often a good idea to blame management.
Upper management at my company is seemingly often wowed by things like pretty pictures and friendly salesmen. Contractors are often friendly salesmen (or have friendly salesmen represent them), and are frequently equipped with pretty pictures. Hence, management chooses developers on criteria which don't accurately reflect the quality of their would-be work.
The other reason to blame management is that they too much about getting something done NOW (IE, quick hack), and not enough about getting something done properly. Often times, the lowest bidder says they can hack something together quickly, and they'll get the nod from management. But doing the job properly (from the start and/or revamping existing code) is overlooked because it costs money and doesn't usually feature pretty pictures.
The moral of the story (we've found) is to use pretty pictures.
DaveE
Admin
Yeah, funny thing about the recession and the government spending all kinds of money: private sector is down and government sector is way up.
My company is still fairly small, and actually does some good work. That's mostly because we'll virtually take over the project. But you're right, the big contractors will hire anyone with a pulse. When we work with other contractors or, god help us, other agencies, it's an abortion.
It's like watching a train wreck, only you're sitting through a powerpoint slideshow with both conductors on speakerphone explaining why they need to increase speed to hurry up and find a solution to the impending catastrophe.
And then everyone is shocked at the wreckage, and they decisively spend vast amounts of money to make new trains, new tracks and do it again.
Admin
All contractors claim to be the exception, whilst they're invariably hopeless would-be developers that think they're great because they never had to live with their own shitty code - that's the rule for you right there.
Admin
Damnit wibble, why can't you just play along?
Admin
I'm not sure where you're getting that. They're both WTFs, though rewriting the source file is the bigger WTF.
When I mentioned using Data::Dumper to edit stuff, it was generally in the context where I needed to edit the contents of a tied hash as a one-off, and it wasn't worth the effort of putting together a proper editor. Sometimes dumping it to a text file, editing that by hand, and loading it back into the database is the easiest way to fix something out of the ordinary.
Admin
... says the angry developer who can't cut the cheese by finding and successfully landing another developer gig...
Luck and BS can only carry you so far. Eventually the crappy developers take on full time roles (not all, but the 'lifers' as I like to call them).
There are however a large amount of very high quality developers in full-time jobs because they've done the contracting circle and want some stability (family, etc.).
Admin
I think, when discussing contractors and FTEs, it's important to consider the size of the company.
Small companies generally fail pretty quickly if they have poor developers, especially if IT is a significant part of what they do. Thus, I would postulate that most successful and fairly small tech companies are staffed with fairly competent developers.
Large corporations, on the other hand, tend to all have large internal IT shops, and from my experience, these tend to have very poor internal developers. These are the developers who love to sit around and do as little work as possible, collect their paychecks, and stab each other in the back when a perceived opportunity to move up arises. This is my current engagement, where absolutely nothing would get done were it not for contractors. Some of the more legacy apps are staffed with more competent employees who know what they are doing, but as a rule of thumb, 90% of the internal .net developers are lazy and/or stupid.
I have seen some large corporations who seemed to have their IT shops in order, but the last two corporations I've worked in have been fairly egregious offenders.
I think it is also important to distinguish staffing firms from consulting companies. Companies who focus on staff augmentation, in my opinion, tend to produce lower quality contractors than those who focus on fixed bid projects. I've noticed in my own engagements that if you get stuck with a client, with no end date in sight, you tend to stagnate a little bit as far as staying up to date. This effect is only multiplied if you are an FTE.
Admin
Why, because he essentially called himself a whore whose good at temporarily satisfying someone but doesn't have the other skills or personality required to be part of a meaningful, lasting relationship?
Admin
An incompetent contractor will generally leave evidence of his incompetence in many more places for a potential TDWTF submitters to subsequently discover than an incompetent in-house developer will. That naturally makes contractors overrepresented among the originators of published WTFery.
By nature, however, your observations overrepresent companies whose management and/or in-house staff are particularly inept; such companies are more likely to need to bring in contractors repeatedly.Admin
Please tell me you meant "abomination"
Admin
No, NO, anything but marketing! How about piano player at a brothel?
Admin
I think all programmers are worthless and damaging.
Admin
My god man, get over it... It's just a job! Maybe its just me, but I've never bought all that 'we love our employees' and 'our employees are family' BS. I do my 7.5 or 8 hours (or overtime as required) and go home. I like the people I work with but they are not my family as I already have one. Sounds jaded? Naw, just that there are a limited amount of hours in the day, and I would like to spend as few of them at work...
Admin
Alex, dude, you should seriously find an English major who will work as TDWTF's editor and proofread your articles.
That's a good idea dude.
Typically it takes an a good three or four attempts before it'd has good grammr
Admin
Admin
The IRS.
Prepare to be audited.
Admin
Damn it wibble, it's spelled it's!
Admin
Some people use those to denote minutes, seconds, feet, and inches.
Admin
She does know what irony is. She intentionally wrote a song about irony in which there was no irony.
Admin
What grade are you? Oh, wait, contractor, so GS-nothing.
Admin
Fixed?
Admin
In my experience its just 9 out of 10 devs, no matter contractor or inhouse, that is the real wtf.
Admin
Amended again: this rule only applies to companies whose customers are made up of less than 10% by federal, state, and local governments. Furthermore, a contractor for any government agency is 10 times the bottom-feeder of a company programmer and I have yet to meet one that I would trust to replace a coffee filter.
Admin
Eons ago, back in the dial-up BBS days, a freind of mine was writing his own BBS software. After I got his permission to test it's security, I managed to crash the 'gamble time' feature (since there was a limited number of phone lines, user login time was limited, but there was an option to gamble a number of minutes for a 1:3 chance of doubling the number) by gambling a negative number of minutes, hence 'losing' my way to a larger number of minutes, causing an integer overflow.
That dumped me into the basic interpreter, but still redirected over the modem. I found that he had the user/password database appended to the code like "10034 DATA "User", "Password"...
I helped him get all those issues fixed up, adding a simple hash to the data; adding a disconnect user and restart on fatal errors, and limiting the input and output of the gambling function.
Admin
Nah. Its really that the majority of anything cant be "good". Be it developers, singers or what the hell else. If the majority has that skill level, it's avarage, not good. So, to a good dev, the majority of devs you come in contact with are bad compared to yourself. That is, if you can correctly tell your own skill, which most people cant. :)
And I find it annoying when other devs are surprised by me reading books on programming on my spare time. Or sneaking in on classes in the university just because they seem interresting. If they dont want to improve thei skills, or dont enjoy programming... Please, for the love of boobies, switch profession so My paycheck gets even better. ;)
Admin
This is why we can't have nice things.
aptent: Morning glory denting your precious platemail.
Admin
Boobies are nice things. And we can have them.
Admin
Moreover, I challenge your statement 'the majority of anything cant be "good".' Most doctors are "good" doctors. This is because of rigorous training and licensing. "Bad" doctors either don't make it through school or have their license revoked. This, incidentally, is the definition of professionalism. Most company programmers are NOT professionals despite being in a career where it is expected.
Admin
P.S., on the topic of professionalism, I would suggest that you sneak into a few remedial English classes.
Admin
That's a retarded comment......
this is right on the mark!
Admin
That's true. I see plenty of men with them.
Admin
Admin
Admin
The problem here is that Sturgeon's law applies to programmers, too.
*Ninety percent of in-house coders are crap.
*Ninety percent of consultants are crap.
*Ninety percent of code is crap.
Admin
FTFY. There are some very good doctors, and a whole lot of really stupid ones. The ability to grind your way through medical school and a residency may get you licensed to practice medicine, but it doesn't mean you're any good at it.
And while we're discussing professionalism, even if a doctor is good at medicine, it doesn't mean he's any good at running a practice.
Point is, going to professional school or getting some certification or whatever does not make you competent or any sort of a professional. As Richard Nixon was once told, what it takes to get through law school is an iron butt.
Admin
Back in '98 I had my first day at my first real job. My mentor was counting the days until retirement. He told me "the internet here is instant". I guess, compared to his dial-up at home, it appeared instant but it was slower than my home connection today.
Admin
Admin
Damn it, Lego, you missed the quotes around the word "it's".
Admin
So what happened, did your wife leave you for a government contractor?
Admin
9/10 developers who aren't me are the real WTF. I'm great at my job and do everything right, for my own definition of right, it's everyone else who doesn't agree with my conventions, idiom, and choice of architecture who is the real WTF.
Admin
Admin
Some contractors however might give others a bad rep, not because they can't code well, but because they just don't care. If a FTE willingly produces WTF-level code they're stuck maintaining the beast, whereas the contractor just packs up and go to the next job.
Then why don't you avoid them? WTF? Haven't you learn anything from Dilbert OR the real life? Oh wait, Fantasy Land, that's right.Admin
While the debate rages about "contractors vs employees" and all that, I'd like to take a minute to ask a terminology question. I currently work for a very small open-source software company which has a core product and writes custom extensions to our core product for a fee.
So I'd like to know if I fall under the umbrella of "bone-idle 9-to-5er subsisting on the back of a company's incompetence" or am I a "dumb as paint contractor who couldn't hack it at a real job and so drains an innocent company like a vampire before being fired and moving on to his next victim"? Because I really need to know what to refer to myself as.
Admin
Google is a better friend
but anyway, someone is one step ahead, almost
$ echo -n alexp | md5 b385c5b6899594b3aa220f34e493ab39 $ echo -n joeb | md5 afc7090be5e7b01296850e5436a88872
but wait
$ echo -n admin | md5 21232f297a57a5a743894a0e4a801fc3
Admin
UR doing it rong, Bert.
Admin
Oh, and remember that decisions that may seem incomprehensible to privates make perfect sense from the standpoint of a general.
Admin
Of course, that's because the only companies that hire you obviously have problems with their in-house development.
My company has never hired a contractor ever -- every line of code was written in-house, and while I won't say I've never found anything that made me cringe, it's certainly not very often. Even most of the issues I deal with in old code are choices that made sense ten or twenty years ago when the scope of our software was much smaller that ended up being inconvenient as that scope expanded.
Admin
Admin
I'm sorry, was someone actually saying that releasing code using Data::Dumper or whatever debugging thing Perl has is understandable? Or something you might actually expect someone to do? Man, that's unbelievably dumb. You have no skills, and are stupid.
Admin
Look, I might be "stupid, lazy, and a terrible cook", but I'm damn sure I didn't get hired because I'm pretty!