7 ms·
How to Keep Crappy Programmers
- etherael 17y agoThe most depressing thing about this series is that they seem to be reflections of standard operating procedure at the median corporation.
- digitallogic 17y agoI've only worked for small companies/teams, and I've experienced everyone of those traits from various managers/team leads. A coralary to "You can write Fortran in any language" could be "You can manage poorly in any environment."
- euroclydon 17y agoI guess I'm a crappy programmer since I'm not always yammering on about wanting to test something
- Glide 17y agoI think it's mostly the yammer about testing to actual yammering ratio. You also have to look at how many conversations you can bring up testing in. If you can do it for at least 90% of your conversations you're doing pretty good. It's probably not worth it to cover 100% of conversations though.
- mattmiller 17y agoI disagree with part of #3. I really like being included in some of the business decisions, or at least being aware of why they were made. I don't want to spend 8 hours a day in customer meetings, but I do like having quick meetings with BD people on why I am doing what I am doing. A lot of times it gives reasons to tasks that seem stupid. (ie we are implementing this bad feature b/c it will give us some sort of negotiating advantage)
- LiveTheDream 17y agoBeing aware of business reasons behind decisions is very important. I can think of two main reasons. 1. Poor translation of customer intent/business goals can lead to some terrible software because the real purpose of it is obfuscated. 2. Ability to comprehend which urgent deadlines are actually important and which are exaggerated.
- GFischer 17y agoThe thing is, a truly great technical manager will sit in most of those meetings for you, and give you a digest. You still want to interact with the customer whenever possible, but not so much so that you can't get anything done!
- roundsquare 17y ago3. The ability to come up with an even better solution for a business problem. In my experience, a lot of business people don't really know what is possible so their solutions aren't always that good. Example: "I need to know if I own more than 3% of a company. Give me a report that tells me what percent I own of each company. " "How about a big flashing light or warning if you own more than 3% (or set it at 2% so you know when you are getting close) so that you don't need to spend time each day looking at the report."
- mjw 17y ago(Posted on the article too, but might be more use here) Nice set of articles, but a teensy bit one-sided in places. What about the programmer who comes across as being a prima-donna about introducing some flavour-of-the-month practise, but who isn’t able to justify it in terms of measurable impact on the bottom line to (say) a small business owner. Often they’ll be right, but frequently they’ll be wrong too. I’ve often been guilty of this as a programmer–I want to change some code to make the design more elegant, add more tests etc, but if pressed it’s hard for me to say whether the improvement adds any value for the business. Sometimes it will, sometimes it won’t. Sometimes despite its value the opportunity cost may be too high. Either way as a ‘good programmer’ I will feel strongly about the matter, and it’s my boss’s job to try and temper that programmer “I only want to work with good code!” gut feel with a bit of business-oriented practicality. So yes, the extent to which you indulge the 'great programmer' is always going to be a tricky call, especially for the non-technical, or even the technical-but-non-specialist. On the one hand you don’t want to piss off the talent–and let’s face it, some (not all!) of this stuff really is just that, in the same way a hollywood producer lays on whatever perks the best actors demand. On the other hand you need to have confidence that there’s real business value in activities that are being proposed. Or if not immediately demonstrable value, a way to measure reasonably objectively over time what impact they’re having. For example, Google (from what I hear) have an amazing system to measure (in some reasonably useful sense) the value of every test that gets written. On top of that, sad truth is that a lot of companies don’t actually need great programmers. Sure, all else held equal they’d like them, but they’re expensive, they often want to spend your money bringing you into line with the latest and greatest–and sometimes it really is sufficient just to keep some old ball of code ticking along. I wouldn’t really want to work for one of these places, and doubtless neither would you, but it’s an acceptable deal for some programmers and some companies, and there’s a more nuanced perspective available than just to patronise them. The other thing with great programmers is that if you don’t give us a sufficiently interesting problem to work on, we’ll often go and invent our own (whether consciously or not). That might be a plus for someone like Google, or sometimes for some kinds of start-ups, but not so much for some more pedestrian smaller businesses. Or perhaps behaving like this makes one not a great programmer, depending how you define it. It's not a one-dimensional quality I suppose.
- 17y ago
- hassenben 17y agoYou have to go through at least one company like that. It is often the only way to find out what type of "employee" you want to be. (environments, coworkers, projects, schedule etc.) Or, it will motivate you to become self-employed or launch your startup and do things differently :-)
- jrockway 17y agoHow to write bad blog posts: Make your readers understand 4 levels of double negatives.
- SandB0x 17y agoDid you mean How not to write a good blog post: Don't permit your readers to decipher the article without unwinding 4 levels of double negatives.
- WilliamLP 17y agoThe sarcastic tone of articles like this seems entirely unnecessary and detracts from their effectiveness to me. It should have been simply something like "Management mistakes that drive away good programmers".
- erlanger 17y agoSome weekend comedians think less is at stake if they make the joke easy. Going for the joke and accepting that many people will not get it takes some guts.
- steveklabnik 17y agoUgh, I just watched this happen to one of my friends. Actual quote: "I know we discussed that you like to come in at 11 and stay late at the interview, but the adjustment period is over now. I don't care how good your work is, I care that you're at the office by 8:30." Luckily he got the hell out of there. I'd fear for his sanity.
- ido 17y agoI had a boss (years ago) who would scream (!) at me if I came even 10 minutes after 9am. I would also occasionally notice him standing behind me looking at my monitor over my shoulder (he was a 'hands on' kind of manager). He was really surprised when i quit after a few months.
- dantheman 17y agoI'm surprised you lasted that long -- there is no reason for anyone to scream at anyone unless they do something incredibly dangerous or careless; you only do this so they understand the severity of their action. For example smoking next to flammable materials, improperly handling chemicals, etc...
- ido 17y agoHe had a lot of idiosyncrasies like that. Another example: one day he told me I shouldn't leave windows (on the computer, not physical windows) open when I go home at the evenings because it looks like I left work in the middle of doing something. After that I made sure I minimized all the windows before leaving.
- arethuza 17y agoA few months into my first job (20+ years ago) had me going out to a customer site to fix a problem at about 11pm, getting home again at about 3am. Next morning I got a bollocking from the same guy who had asked me to go onsite about coming in 5 minutes late! I managed about 7 months in that job before getting a research job. However, I did learn a lot about the politics of workplaces in that time.
- chc 17y agoThis applies to so much more than just programming. Almost any skilled production job has the same properties. Quality of output should be any manager's highest priority, and when it isn't, you've created a lousy work environment where the only people who will be happy are people who don't care. (Just to clarify, I'm not saying punctuality is unimportant. Something that isn't in on time to be useful should not be considered high-quality work. That that's different from requiring a specific set of ass-in-chair time.)
- alttab 17y agoThis sounds like everyone that was still at IBM when I left.
- SandB0x 17y ago"Use Lotus Notes"
- deleted 17y ago[deleted]
- synnik 17y agoHey, I've built an entire career on decommissioning Lotus Notes platforms. It is a lovely niche...
- trevelyan 17y agoThis was a sticking point for me in my last job as a programmer, where the owners had actually instituted a punchcard system I routinely ignored. I'm more sensitive to it now that I'm running my own business and hiring people though. The problem isn't generally having a single person come in late. It's that this can affect social perceptions of what general work effort should be. Especially in a small office it is easy for working hours to creep down and soon everyone is starting work an hour late and leaving half an hour early. It is easy to say, "I'm only going to hire self-motivated people and if they can't get the work done they're fired." But the reality is most people aren't like that. And it's a hassle to have to fire people if they can be productive with more management. So I'm not sure what the best way to handle this is, but I think HN would be better served by an actual discussion of practical solutions rather than rants by disaffected programmers howling with rage at being asked to keep regular hours. On the employee side, I still believe doing really good work solves pretty much all of your problems if you can effectively communicate what you're doing to the manager (and put in the required time). On the employer side, giving people a bit of slack (30 minutes), a fair degree of autonomy and coming down on them hard if/when they miss their deadlines is the best I've been able to come up with. I'd welcome a better discussion of this since as a manager I don't want to have to waste my time micromanaging this stuff either.
- mmt 17y agoEspecially in a small office it is easy for working hours to creep down and soon everyone is starting work an hour late and leaving half an hour early. This illustrates one of the attitudes I believe the OP is satirizing: that butt-in-seat time is equal to work time. Programming[1] isn't a profession where one stops being productive just because the keyboard isn't under the fingers. Even if it were, the office is far from being the only place a keyboard is located. [1] and perhaps all creative endeavors
- trevelyan 17y agoProgrammers aren't the only people in an office and there are social norms which affect general productivity. I don't give people deathmarches and don't ask people to work overtime (a social norm!). But I will get rid of someone if their behavior leads the rest of the team to slack off or miss targets. Personally, I think the poster is wrong to complain about not being allowed to work 30 hours a week when he has a fulltime job, but that's his issue with his employer. In my experience, if you want to rock the boat, you've got to be able to manage the communication and signaling problems that creates in the workplace. This guy is offloading that problem to his manager and doesn't seem to understand the issues he might be creating. So it isn't that I don't understand his point. It's that I don't think his sarcasm offers any practical advice for the people he's complaining about other than "let me do it my way".
- johnl 17y agoThe article might add that having lots of department meetings is also a excellent way to keep crappy programmers.
- dschobel 17y agoI'm surprised he didn't touch on "give your devs decent hardware & tools". This should be such a no brainer but it's far and away the most common complaint I hear. $900 on a workstation every 2 years -> happier, more productive devs.
- rythie 17y agoWhat if they want Macs though?
- xiaoma 17y ago6) Pay well above the market norm Crappy programmers are well-known for choosing money over career development, intellectual challenge and cultural fit.