by kuahyeow on 4/5/18, 11:28 AM with 15 comments
by jacquesm on 4/5/18, 11:55 PM
Being overworked is an excellent reason to hire. It shows that you are about to lose your team due to burn-out or extended sick leave. Good managers know that the work load has to be such that there is some built in 'down time' in the schedule and no amount of pressure cooking or death marching is a substitute for bad planning. Overworked employees are a management failure and if you are reading this to get actionable advice that means you.
> #32 Delivery dates…
The lesson learned should be to release incrementally, rather than in one go.
> #8 Fire people whenever you can. There’s often someone to fire, but not many opportunities to do so. When you are given a lot of opportunities to fire people, it is often due to a crisis situation and you’ll likely fire or otherwise lose the wrong people. People appreciate when you fire the right people, so don’t worry about morale.
No, fire people when you have to, and for the right reasons, definitely not 'because you can'. If you fire without having a good reason it will affect morale and in the worst possible way.
> #2 Don’t be prudish. If you fear that people will lose faith in you because of the foggy goals and dire situation statement you are painting yourself in a heroic corner.
I can't even parse that in the current context.
by scottie_m on 4/5/18, 10:08 PM
“Fire people whenever you can.” Don’t do this. “There’s often someone to fire, but not many opportunities to do so.” I thought you were hiring for good reasons, why the bloat?
“it is good to at least apply a low-frequency filter when passing along the “news”, so that good and productive people can carry on without too much hassle.”
Only if you’re their only connection to the real world, otherwise you’ll be quickly spotted for the bullshitter you are.
This is a weird article.
by ravitation on 4/5/18, 10:02 PM
Anyway, bad hiring/firing advice is a lot like a bad hire/fire... Really bad. And this is almost entirely bad hiring/firing advice.
This is with the caveat that there are a lot of other good learnings in the original post.
by strken on 4/5/18, 10:38 PM
In fact, taking every available opportunity to fire people is biased by the metrics you use. No metric of developer productivity is ever as good as actually working in the same team, and so you'll probably lose:
- anyone who writes tests and refactors code, for being slow
- anyone who maintains the profitable parts of your software, for not having a list of impressive new features they worked on
- anyone who takes time to help their co-workers, because they'll look less productive on paper
- your most senior, most multidisciplinary, and most intelligent employees, because they'll appreciate the first three groups the most, because they can get another job faster, and because firing competent employees sends the message that the business is struggling
by tripnine on 4/5/18, 8:59 PM
by mikekchar on 4/6/18, 12:53 AM
I'm very much in agreement with the idea that you shouldn't hire just because you are overworked. However, I would rephrase it in the positive: Hire when you are in a position to incorporate more people. Avoid hiring when you are not, even if you are over worked. Hiring someone because you are doggedly trying to hit a deadline and you think that bringing on more people will help you is one of the classic ways of torpedoing your team. Integrating new people takes time, attention and resources. You will have less capability for a surprisingly long time immediately after you hire someone. Make sure that you hire when you have the capability of dealing with that. If you don't have the capability, then focus your activities until you do.
With respect to time synchronisations, logic would have me agreeing, but experience compels me to disagree. I've never had "ship when it's ready" work. That sounds horrible, but it's true. The main problem is that "ready" usually has a very loose definition and without anything to constrain it, it often expands over time. I'm sure there are ways to get it to work (by imposing other constraints), but I have not personally experienced that. Instead, I have had great success with using time to constrain what we deliver. The trick to this is to have very good tracking and to be flexible in reducing scope as you arrive at your arbitrary release date. By having very short releases, you can kind of approximate the "release when ready" approach (to an extreme, you can have "internal only" releases and then have an "external release" when you think it is "good enough" -- but you have to be very careful of the "creeping good enough" even still).
The other stuff is hard for me to comment on because I have yet to form firm opinions (after 30 or so years on the job!) I've definitely changed my mind a lot and I suspect most other people will too, given enough time in the industry. Possibly it's hard to make a general statement because it is to sensitive to the context.
by draw_down on 4/6/18, 2:39 AM