you know what is the fucking bane of my existence (besides PMs)??? lazy fucking developers. if i can pick any single word to describe the culture of software development, it's lazy. this is a problem. to be honest, this disease is not just limited to software developers, it also infests PMs, analysts, clients, and just about any other moronic cocksucker who is too fucking stupid too avoid this kind of work. regardless of the situation, leave it to laziness to fuck things up beyond all belief. by the way, i was a professional musician for a long time, and i naively thought that musicians were the laziest fuckers on the planet...boy oh boy was i in for a fucking surprise...
why don't we look at some of the more prevalent scenarios (in no particular order)...
source control disaster man
this lazy piece of shit comes in three flavors:
- the fucker who only checks his code in every other month
- the shithead who checks in code that won't compile
- and both of the above combined
i'm going to stretch here a little bit and assume that this is something that most of you have run into at one time or another. This behavior is just COMPLETELY FUCKING MINDBOGGLING!! why does it exist? who works like this? let's break this down a bit... we'll use visual studio for simplicity's sake:
- to build a solution, you need to press the ctrl-shift-b key combination. now i don't know about you, but at most, this is only 3 ...only 3 fucking keystrokes. (most of you press these keys simultaneously, so it's really only 1, but i'm doing a worst-case scenerio here.) that's all it takes to make sure you can at least get the damn thing to compile. i don't know about you guys, but 3 goddamn keystrokes just doesn't seem like a whole hell of a lotta work to me (carpal-tunnel syndrome excluded of course). also, because microsoft is sooooo wonderful, it'll build a solution regardless of how many projects are in it!! throw 100 of 'em in there, it'll build them all (or at least try to)!! for FREE!! imagine that!!
- ok, now to check something in, you can just right click the file in the solution explorer window, and select the check in option from the context menu. it even works for project and solution files... at most, this is 2 mouse clicks. one right handed click to bring up the context menu, and one left handed to select the check in option. again, this doesn't seem like a whole lot of work to me (but i can just be completely fucking off my rocker on this one...)
now there are other ways of doing the above, but that's not important. what's important is that between the two actions above we have a total of 3 keystrokes and 2 mouse clicks. 3 KEYSTROKES AND 2 MOUSE CLICKS. you mean to tell me that at least once during the day you are too fucking lazy to do this?? are YOU FUCKING KIDDING ME?!?!? pure unadulterated LAZINESS!! these people should be taken out back and disembowled. ironically enough, most of the einsteins that exhibit this kind of behavior have no idea of the amount of work this would actually save them later on. alright, just thinking about this is giving me diarrhea like you wouldn't believe...let's move on...
the plagiarizer (very similar to something i wrote earlier here)
amazingly enough, my buddy bill just blogged about this here. There is nothing wrong with cut and pasting code. However, there is a shitload wrong with cut and pasting code and then not reviewing it carefully for mistakes, not making sure there are no irrelevant bits and pieces, not checking to see if additional code is needed, and finally not checking if the code you just cut and pasted even makes sense for what you need (like cutting and pasting ratfor code into a managed c++ source file). friends, this is just beyond laziness...it is the fucking height of stupidity. most of the code out there on the web is usually used for illustrative purposes, and is rarely ready to be integrated into any type of production codebase. it's usually missing such non-important things as error handling and security checks, among others. how can you just blindly fucking cut and paste code like that?? how many times have you had to fix somebody else's shit just because they couldn't get the fucking code they just cut and pasted working??
unfortunately, this is just a prelude to a whole new realm of laziness. with the internet, it is becoming more and more fashionable to just blindly start looking for code and than cutting and pasting as necessary. who gives a fuck if i don't understand what it does...just get it off the internet and away you go!! this kind of shit is becoming an epidemic. it's turning into this lazy as fuck version of software developer's instant gratification. pretty soon all you'll ever need on your resume is a listing of all the web sites you can rip some code off of. who cares about problem solving skills, experience, and the ability to communicate well?? instead of building systems out of re-usable components (or services for all you buzzword types), the reality is we're going to get so fucking lazy that the only thing we're going to be building systems out of is cut and pasted code from the fucking internet...
the half a unit tester
this is the fucking lazy moron that thinks along the lines of, "well...most of it seems to be working pretty well, do i really need to test those last two methods?...i'm sure they're fine too." holy shit! this guy is completely oblivious to the world of pain he has just entered...this is the dipshit that writes a couple of unit tests see's that everything is going fine, and then decides he doesn't need to write tests to cover the rest of his code. poor miserable excuses abound for these lazy wankmasters. everything from i didn't have the time to those methods don't really do anything are just some of the more creative, original, thoughtful excuses as to why you're just a fucking low down, good for nothing, piece of shit, puke-inducing lazy fuck (let me tell you how i really feel...).
a little while ago, there were all sorts of shit going around the web as to what and what wasn't unit testing. people were saying things like:
- i only test public methods
- i test all the methods in each class
- this unit testing shit is all a bunch of bullshit to just make me do more work, so fuck it
(here comes a small digression) let's get something straight...i don't know about you people, but this testing shit is not all together too difficult. let me give you the causticphil definition of testing:
testing: making sure the shit works properly
that's it. short and simple. like the c language, most is left up to you... all this simply boils down to is use your fucking head when it comes to shit like this. if you have a private method, but there is some insidious piece of logic in it, guess what...write the fucking goddamn test for it and make sure it is working properly. pure and fucking simple. get off your lazy ass and do it, you lazy fuck!! who the fuck cares if it's not a public member? if i were you buddy, i'd be more concerned about making sure the shit works, than about following some blind dogmatic bullshit just because, "oh, so and so said do it this way..."
the bottom line with this is that testing is not fun. i don't know anybody who said, "oh rapturous joy...let's write some unit tests and test cases!!" this shit is fucking tedious. sometimes it's difficult. make no mistake, it's also a serious pain in the ass. that's why to do it well, it often takes a good sense of discipline, experience, and will-power. which are qualites most lazy fucks like yourself just don't have.
also, before moving on, i would just like to point out there is also the laziness associated with the fact that just because your code made all your little fucking circles green, that it actually does what it is supposed to do...but that's another story...
(here's the last one for today)
the spec skimmer
this is the bastard that is just too lazy to read the fucking spec properly. "oh, you mean it was supposed to do this???" yeah, i do you lazy, incompetent, fool. IT IS RIGHT THERE ON PAGE 2345 OF THE SPEC!!! Guess what...most specs that are written are complete and utter pieces of shit, that require many iterations for them to be even remotely comprehensible (even for the poor bastard writing it). However, this is no fucking excuse. if there is something that you can't make sense of, don't fucking ignore it pretending that it will just fucking go away!! don't just start blundering into writing code based on what you assume it might mean. you can call this whatever you want, but again...it's laziness, pure and fucking simple. unfortunately it is your job to figure out what this shit means, and if it's not 100% clear, than you need to bug the living shit out of the person who wrote this miserable piece of shit. i don't care if i have to ask the same fucking question 8 million times and people think i'm a complete fucking nincompoop. i just want some understanding. it's no big fucking secret that putting in the time, energy, and effort to make sense of these things can actually create less work for you in the end, regardless of whether you're using something like RUP or more agile methods.
believe it or not, these or just the top 4 cases that immediately came into my head without requiring any thought at all. i'm not saying that laziness is the ultimate cause of the industry's complete inability to write bug-free software, but it is definitely right up there with the best of 'em. unfortunately laziness is so fucking rampant in this industry that there are also people who are too fucking lazy to comment code properly, work on documentation, use appropriate algorithms, etc... (i know this is shocking, huh?) now i know how much you love doing this shit, but trust me...it's having the self-discipline to do all the tedious, boring garbage that often separates a good developer from a bad one.
by the way, if you're going to cleverly point out that i'm too fucking lazy to use the shift key for capital letters, you would be quite correct. the reason i know about all this laziness is because i happen to be the biggest, laziest fuck of all...so go fuck yourself!
A fucking men brother! And the best part of half testers - "Go ahead and bang on it, I mean, really, hit it as hard as you can because I REALLY want to make sure it works" Translation - I didn't test it and I'm not very confident in it - please waste your time testing my shit for me. Every damn time it takes usually two method calls tops to break the crap. "Ooops, I uhhh, well, gimme a minute". Then you get in a fucking recursive loop with the shit, two methods, kaboom. Any time you hear bang on it, run for your life. Sure, REAL professionals will have you bang on their shit because they tested the fuck out of it and want to make sure it works. But the REAL Professional to "I read Teach yourself VB in 24 hours so I call myself a Software Engineer" developers is like 1/100 on a good day. And every 1/2 asser talks like a professional so that means 99 times out of 100, when you hear this, you just changed job titles to Software Tester until you show them every fucking thing the overlooked. And that assumes that you don't have to fix the shit. Hmmm, I guess Normalizing tables isn't so fucking overrated after all is it there einstein? I guess modular code isn't just trendy bullhsit after all is it? I guess unit testing isn't all bullshit is it?
You know, in all the time I've worked in development, I've never heard one person tell the HR person on payday "You know, I really kind of slacked off for a few days and cut corners - please take back some of this pay you gave me" yet they BITCH loud when someone in India with some self-respect and talent does their job for them. I mean seriously, if you asked every developer out there ,"Are you lazy and do you have a lot of bad habits" - only the good developers would probably say yes - trust me on this one, the sum of their answers would be much less than the sum if you asked "How many lazy people have you worked with and/or people that had terrible habits they refused to fix" (Yes, I know there'd be double counting here, but even if you factored that out it'd still be a huge discrepancy!
Again Phil - you knocked this one out of the park!
Posted by: Bill | October 13, 2004 at 11:57 AM
oh.
you're back.
great !
WM_CHEERS
thomas woelfer
Posted by: thomas woelfer | October 13, 2004 at 12:18 PM
thanks guys...i'm glad to be back
Posted by: causticPhil | October 13, 2004 at 01:29 PM
Nice one Phil, and good to have you back!
One thing that lazy coders do that I hate would have to be formating their code! or rather NOT formating their code...
sub foo
dim x as integer
if x < 1 then
dothishere
else
dosomething
end if
end sub
Brilliant.
Posted by: skicow | October 13, 2004 at 01:34 PM
Hey, a fucking nitpick here: the three keystrokes just tell you the code compiles or not, it doesn't make it compile. This was a bit too oversimplifying, but otherwise the post was cool. Slightly too fucking harsh language, but that's just me, I guess. 8-)
Posted by: Jacek | October 13, 2004 at 03:23 PM
I've never been a fan of "Thinks VSS inside VS.NET is trustworthy source control man"
Posted by: Damian | October 13, 2004 at 09:36 PM
Phil, take this a part answer "why laziness?" and also perhaps a good topic for you to unload some heavy ammo later on. Here is a head start for ya:
here is what happens every other week in this great fucking industry. you post your 20+y exp resume and do the rest of this little dance to show your willingness to spread the cheeks. meet that MBAs with no trace of anything resembling experience of intelligence or few ex-farmers from Bangalore area for some reason running the software shop and who finally a getting a clue that they will need a bit more then their parent fortune to actually *create* some of that strange shit called “software”. you’d show them few UMLs of big architectures you done, key screenshots of all that dozen or so shipped products with couple millions install base, personal refs which glow so fucking bright they ought to give 1rd degree radiation burns to anyone who reads them. After they eyes glaze over enough to say "great", they’d offer you some welfare just to afford interest payments on housing in one of this ridiculous areas like Silicon Valley. Of course they also will give you some some self-masturbatory toy to keep your hands busy during long nights - like "software architect" or "team lead" or may be even double-phalled "XYZ Evangelist and Chief Architect".
the real anal penetration part begins when you take a good hard look on stock allocation. if you are one of this little fucking morons wasting your best years in poorly lit cubicle, best you can hope for in startup is like 0.1-0.2% of stock if you are DAMN LUCKY. if you already smart enough to invest in fancy sexy labels in advance, may be you will push it to 0.5% as (audience laughter here) "architect".
Reality is, chances to go IPO is about 1 in 10 000. Google is great success story to excite halfwits, and it does happens once per generation, but Google already is *that* statistical one, you have to live and work in the rest of 9999 startups. So what you and your brilliant MBAs and VCs can hope for? Acquisition of course. Nowadays you hardly can get more then 200-300M if you are DAMN LUCKY again. VCs side of things needs no comments for anybody over age of 10. Company probably will get to split 100M after deal close after VC prefered common and preferences play out. Your management sits tight with 5-10% stock slots *each*, and will go home with something like 5 to 10M *each* after few years of *your* hard work. If you get this dick cap called “Architect” or “Lead” you can hope for something like 500-700K out of it, which will be just enough for you to payout good chucnk of the fucking house you ALREADY LIVE in, and you are back on the street again, lubing your anus for next customer. Your MBAs will send you a greeting card from every stop they make on their yacht. And of course if you are one of this cubicle-fucked morons, you will get your lame 100-200K and go tell the other half-wits like yourself how great it is to change the world in startup where you will spend your entire life, untill of course carpal tunnel or fucked up eyesight will move you to well deserved soup-kitchen, hopefuly before you can incendentially leave any offspring.
So taking it all together, simple answer to this is: WHY THE FUCK SHOULD I BOTHER with all this quality, responsibility and professionalism? Save the time and energy for your own startup to build with couple of your bright friends at night in garage, and give these fuckers at dayjob just as much as they sorry cheap asses deserve. And when you get the money to hire cubicle developers, do try to find for that unique breed of cretins who allow themselves to be fucked with elephant dick and yet will honestly try to do something for you for virtually ABSOLUTELY NOTHING.
Posted by: Anonymous Architect | October 14, 2004 at 02:11 AM
44 'fuck's! Great return. Nice to have you back...
Posted by: HG | October 14, 2004 at 03:06 AM
and the only thing that fucks me off worse than the truth inherent in Anonymous Architect's rebuttal, is that there's an entire community of self-righteous open source zealots who are willing to skip the whole 'getting assfucked by an inept CEO' phase and just whore themselves out from the beginning, sacrificing their eyesight and wrists and working hours and fruits of their labor for sweet fuck all. And jump all over the people who think they should make a few bob for wasting their lives in front of a screen.
caustic, I wish I could buy you a pint for this classic post, and AA, I'd sort you out with one too. fuck it, while we're on the subject of being bent over and forgetting to gird outselves up, how bout I just say the whole night's drinks are on me.
Posted by: Anonymous Wanker | October 14, 2004 at 07:31 PM
Anon A & Anon W: i couldn't agree more. developing corporate software has to be the most painful fucking way to force all motivation out of a human being...
anon wanker...i think i'm ready for that pint now!
Posted by: causticPhil | October 15, 2004 at 09:34 AM
Good to see you back in action Phil.
Posted by: Andy | October 16, 2004 at 03:57 PM
PHIL! Welcome back!
Posted by: Scott C. Reynolds | October 17, 2004 at 10:26 PM
glad to see marriage has calmed the ire!
If we're going to rant about lazy a*seholes, then how about the t*sser that, even though they check code in, finds it too much effort to actually write a comment to help others determine WHY they've been altering code - odds are that the muppet that doesn't bother adding a comment is the same muppet that checks in broken code.
Posted by: martin | October 19, 2004 at 06:17 AM
At least there was nice italic and bolded text!
Posted by: Thunder | October 22, 2004 at 02:18 PM
Glad to see you back Phil. Loved the last comment. Couldn't agree more. I think we all get lazy from time to time.
I like to think of programming like an art form, although sometimes it can be work. Most of the time I feel like I am creating something very beautiful, until some moron decides he/she wants the program to do something that I don't agree with. At that time I could give two shits about what the code looks like anymore and that laziness comes right out in me. As long as it is still art to me, I am very proficient in what I am doing, but when it becomes work, I begin to get lazy about it.
Posted by: Robz | October 24, 2004 at 11:22 PM
..these lazy rants are caustic? I find them whiny.
..you might wanna google for "Sissy Boy George". ;-)
Posted by: Arnt Karlsen | November 18, 2004 at 06:39 PM
Wow.
Anonymous Architect has got to be the whiniest fucktard tugger I've read this week! Maybe AA should go have this conversation with the support staff at his company who won't even see anything but a pink slip after the buyout-and-quash of yet another up-and-coming tech company?
Bitching over only getting a half-mil at the end and 200K a year? At least Phil was complaining about unprofessional attitudes. You're complaining about how someone isn't paying you as much as you want for your self-overvalued skills? Seriously.
If your resume "glows so bright", why aren't you the CEO getting the 5% stock slot instead of lead technician, sorry 'architect', with 0.5%?!? Here's a clue, and I'll make it free so that I don't tap into the last $500K you made: CEO's get the 5-10% stock slot because they get off their asses and START SOMETHING.
So, START SOMETHING and cut yourself the 5, 10 or 90% you think you deserve for your pure-genious work. Maybe CEOs aren't the technocrati elite like you might consider yourself being. However, you glom on for the ride and bitch that you should get more?!? Like most technical types, you think that demonstrable knowledge is enough to deserve a big piece of some pie. If you want a big piece of pie, you gotta grab it yourself.
Better yet, bake the damn pie. Don't wait to be served...
Posted by: Tired Of Whiners | December 03, 2004 at 11:26 PM
Tired, thank you for sharing your imbecilic naivety with us. Apparently you either have no fucking clue how software industry works in the Valley or haven't read my post attentively. Or, most likely, as common telltale sign of mentaly retarded individuals with short attention span, its both.
VC placed CEOs haven't founded anything in their lives. They are fucking pets who happen to be be in Ivy League when their VC pals was there, or have even more exotic backgrounds, like grown up in certain top caste in India and then decided that own family castle with 200 servants is nice (true story) but lots of US emploees in cubicles make way cooler slaves, so they moved their asses over here.
These clowns coudn't possibly start anything creative if they lives dependent on it. But after enterprenours of a kind you apparently admire have broken their backs creating company out of nothing, so now its healthy enough so even clueles moron at helm can make money with it, then VCs are moving in their professional CEO pet in. Afterwards, all founding team is kicked out as fast possible (faster == less of their stock vest == more stock for VCs & friends) they actually need to bring in some technical people back to do the actual work.
If your undeveloped brain hadn't grasped that yet, this whole process happens because VCs have that ability to swap technical talent controling big amount of stock (30%) with talent for 1-2% stock. This industry will remain fucked up and ruled by brainless MBAs and they pals, as long as we will have such clueless morons willing the sell their technical, and ofter real brilliance chaper then 2$ whore without reasoning of 8 year old "why the fuck i'm doing this? where i will be in 4 years with this company if they offer 5'x5' cubicle imprisonment for these potential scraps in cloudy future?" Then read my prev post from begining, again and again untill you see few rays of light pentereting through that thick scull of yours.....
Posted by: Anonymous Architect | December 09, 2004 at 08:27 PM
The word "sour grapes" comes immediately to mind. I have worked with many startups that don't suffer from what you've stated.
Also, your gross over-generalizations and the belief that your limited personal experiences constitute the sum-total of reality is a product of your self-demonstrated overweening ego.
The fact that your crap doesn't stand the light of day should be evident that the first thing you had to do was back-off from your generaliztion of "all CEOs are retarted" to "all VC-placed CEOs are retarded". If we continue, you'll eventually get to "all one or two VC-placed CEOs I've worked with" and then what you say will actually be respectable and believable.
Whiners always think the rest of the world is the problem. It's called narcissism. Look it up and then get some help...
Also, while you are at it, look up supply-and-demand. Looks like you need an education there too...
Posted by: Tired Of Whiners | December 23, 2004 at 03:08 PM
I find it amazingly ironic that someone so disturbed by laziness would be too friggin' lazy to correctly capitalize damn near anything in his rant.
Classic...
Posted by: Amused | January 05, 2005 at 05:18 PM
You forgot:
AnalRetentiveProjectManager:
This twerp's last line of code was written when Boy George and Flock of Seagulls were at their heydey.
This pain in the ass wants all the complexity of a teams development all wrapped up into a nice little Microsoft Project chart with a big fucking red bow.
Your mother died? Does that mean you will be two days off schedule? Your appendix burst? Does that mean you will be 3.7987 days and 2.6 hours behind schedule?
This douchebag is a clerk with a title. He's the one that prints all his emails and writes on them in pencil since he's too uncomfortable with modern technology.
The Pontificator:
This guys NEVER shuts up. He wanders from cubicle to cubicle looking to debate anyone on anything. He'll even follow you into the bathroom when you try to escape his rambling. Management is clueless as to his value on any project yet they never fire him but instead transfer him to unsuspecting bastards in another area.
Posted by: All Things Dave | January 05, 2005 at 10:00 PM
GO BACK TO YOUR CUBICLES HAVE A STARBUCKS AND PRETEND YOU HAVE A REAL LIFE.
STOP WAISTING PRECIOUS KEYSTROKES.
GO HOME AND PLAY D & D SOME MORE WITH YOUR GAY FRIENDS.
ARENT YOU SAD THAT SARAH MICHELLE GELLAR GREW UP ALL YOU BUFFY PERVS.
I'M DONE.
Posted by: Mad mike | February 22, 2005 at 12:45 PM
Could you help me. Dance is the hidden language of the soul.
I am from Mali and also now teach English, give please true I wrote the following sentence: "They also must understand that allergy relief or long term allergy cure is not provided by taking anti histamines.Summing up approaches to allergic treatment kyo et al."
Thank you very much 8). Monika.
Posted by: Chanel | May 31, 2009 at 03:51 PM
for some reason that is so fucking completely beyond me
Posted by: Chanel Purses | July 27, 2010 at 04:36 AM
I wish Phil will gonna update this blog like he used to be.
Posted by: coach outlet online | August 04, 2011 at 05:08 AM