I was all set to write an informative post about HashSets today, but I'm not going to. Instead, I'm going to finally start what will be a new on-going series here on this blog. The series will cover the things you *shouldn't* do if you hold some sort of managerial stake in a software project. Sadly these tales will be from my own personal experience working for companies that have drifted into disarray. These examples will be embellished somewhat to drive the points home, but by and large, everything you will read in these posts will be true.
Before I begin, I want to be sure I explain why I'm doing this. It isn't because I'm bitter about what's happened (well, maybe I am just a tiny-bit bitter), it's because I hear tales like these all the time, and hopefully the stories here will help save future generations of developers from the same pain and torment that I and my co-workers have had to endure.
With that out of the way, let's begin with our first recommendation for running a software development company (into the ground)!
Show no respect at all for your developers
Your developers are lazy. They don't have the same passion or drive that you do. They don't care about the bottom line! In fact, they spend most of the day playing solitaire or something! Developers LOVE solitaire! No, they're lazy, dispassionate, and they don't even know what they're doing! Sure, most of them probably have been writing code for much of their lives. Many probably went to college and received degrees from respectable universities, but they practically give those diplomas out these days! Little Jimmie down the road can make a web page in Microsoft Word, and he's only 12, so there's really nothing special about the developers.
"Alright!" you're probably saying to yourself. "What can I do to show my developers that I don't respect them?" That's a great question! First, when you give them a task, and they come back after "looking at it" for a week and say it isn't feasible, or that it will take more than a couple of days to do, tell them that they're crazy! Explain to them how because it sounds simple when you say it out loud that it must be simple to code. They may counter at this point with some mumbo jumbo technical crap about how there are technical or legal barriers that you're not considering, but that just means that they're not as passionate as you are. Even if they do a mathematical proof showing you what it isn't possible, you can just ignore them. Math isn't important. If they were passionate, they'd find a way to bend the laws of physics and time to get it done!
Another great way to show your developers how much you hate them is to constantly bash them behind their backs. Talk trash about the development team to everyone else in the company. Devalue every little thing they do. When they do accidentally get something working right, be sure not to thank them. If they start to feel appreciated, they'll just go back to playing solitaire. When the developers ask you for feedback so they can try to better themselves, don't give them anything useful. Even better, don't talk to them at all! Why are they bothering you instead of working, anyway?
"Ok, those sound like good starts, but I still feel like my developers think they're normal people or something. What else can I do?" Try this: don't give them anything they say they need, especially not computer hardware. A modern $399 Dell desktop should last for at least three decades and has all the features needed to do software development. Don't buy them licenses to software either, at least not without making them set themselves on fire or something equally painful first. And definitely, DEFINITELY, don't listen to them if they want additional resources for maintaining production systems. Those systems are in production! They're finished! You don't need to spend any money or time on them. Servers can support an infinite number of users and an exponentially increasing workload. That's why they call them servers!
Remember, at the end of the day, even though your background is in raising cattle and you have trouble checking your E-mail, you actually know more about software development than your development team. They're an expendable asset; developers practically grow on trees! Show no respect for your developers! If you follow this simple advice, you will be rolling in money in no time!
That’s awesome. Thanks for the light reading.
LCS
Boy, it sounds you needed to get rid of some frustration. Where do you work?
Sadly enough that sounds awfully familiar. At a company where I once worked they had a HTML template set, consisting out of more then 6000 lines of CSS and HTML. Modifying it to get a page to look like the design was a true pain. The funny thing is that it took more time modifying the templates then building the pages from scratch. The template set was brilliant of course (according tot he person who invented it).
I feel your pain. And, it applies not only to programmers, but to any business where professionals are on salary.
Except for the comment about cattle, I’d think you were looking over my shoulder at some past gigs. 🙂
++Alan
It also helps a lot when you tell one of your best developers that you don’t trust them and that they need to prove to you that something is wrong before they "fix" it. Extra bonus points for trying to turn another one of the best developers against the first one by getting them to agree with you on your point. Never mind that the combined experience in years of the two developers is greater than your own age. Side Note: Be prepared for the second developer to tell you that you are wrong. 8^)
lol cool it is a really useful info mate thx
Thanks for all the feedback, everyone. And yup, I’m sure that all of us "peons", whether we be developers or otherwise, suffer through the same things.
Wow you must have been following my career! Sounds very very familiar….
Yeah, so true. I’m working for a medium size internet company. They started out as the cool, funky internet company. They’ve now gone really corporate and are now loosing their best developers. Three have left and they fired another one (for complete bull**** reasons). These are great developers, if treated right. Their code is fantastic, functional and perfectly documented.
The bosses just don’t understand at all. They don’t even know anything about positive reinforcement. One developer who has left was treated like complete sh*t just because one of the owners thought his code was terrible (oh and he didn’t dress nicely either, because all of those zero customers and other developers that will see him). Well, he left and is now working at Google. Google seems to think his code is alright.
I’m ready to quit and so many more are. I fear for the new guys they bring in, they’re boarding a sinking ship. (BTW, the new guys are "already used to the new corporate environment" aka programmers who work 9-5 and don’t put in an ounce more effort than required, unlike all those who have left and are about to). Its a shame.
you logo…the little sun thing is awfully close to walmart’s new logo, you may be on borderline copyright infringement. But good read :-p
@Anon
Not my design, this is one of the built-in themes for BlogEngine.NET. I’m still waiting on a friend to design a custom theme for me. He’s about as busy as I am though, so it may be a while…
I am going to remain anonymous (Because I am in this situation now). We have 10 Managers, 3 of which are sales managers (BTW which haven’t sold anything in 2 years and make 100,000 a year. We had 8 developers but are down to the last 2 now. But my favorite story is when the President of the company left at lunch on pay day which was on a Friday and failed to tell any of us that we weren’t getting a check. His excuse was that he isn’t our baby sitter and shouldn’t have to tell us every time were not getting paid. (But no worries because the CEO girlfriend(s) are being taken care of).
You are wrong: managers should prefer lazy programmers to stupid one that are very productive ;o)
@Anynomous
Ouch. I mean, ouch. One of my future posts in this series is going to deal with software development companies that are too "top heavy" as you are describing… but three sales *managers* and no sales?? Ouch. 🙁
@Franco
Very true, very true. Someone once told me that a good developer actually spends more of their day *thinking* about writing code than actually writing code (the logic behind that statement being that it takes time to think of elegant solutions). I’m not sure if that’s 100% true, but I have heard of places that reward developers based on code churn, and I think that’s a terrible, terrible idea.
[quote]Many probably went to collage and received degrees from respectable universities, but they practically give those diplomas out these days![/quote]
I’m not sure I’d take a degree from a piece of art seriously either. And yes – before folks flip out – I am aware it is just a typo ([i]that escaped spell check since it is a valid word[/i]).
@Chris
Whoops, thanks for catching that. Typing is HARD.
[u](BTW, the new guys are "already used to the new corporate environment" aka programmers who work 9-5 and don’t put in an ounce more effort than required, unlike all those who have left and are about to)[/u]
That happens after a couple of years working for corporate environments just to find out you’re not getting a raise because of your competence, and that other stupid "coder" that usually fucks things up (blames someone else, of course) is getting a promotion because he wears nice clothes, the manager that knows nothing about programming *or* management still gets yet another promotion, even though everything under his control lacks proper control, etc. You learn to detect environments that stifle creativity and encourage politics over competence. You learn to leave your hard work to your side/pet projects.
I think you may work with me. Seriously, the cattle comment really hit a little too close to home.
@zack
There’s not many of us left where I work anymore. All the smart devs jumped ship when things got *really* bad.
"constantly pester your developers" – give them a task and in 5 minutes ask if they are done yet.