“Hire only for good reasons.” Well, yeah, that’s good if painfully obvious advice.
“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.
This being on the front page makes me question the standards that the HN community has for managerial advice...
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.
I think I understand what the author is trying to get at - people are sometimes clearly incompetent to do the role they're in - but firing them is a necessity, not an opportunity.
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
As an experienced software engineer, I did not find this to be particularly insightful. Some decent suggestions mingled into a whole bunch of bad ones. I also could not find info about who wrote this.
I didn't read the original, but the clarification evokes a reaction in me.
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.
People do appreciate when you fire the right people, but if you do the firing under the cover of a downturn or crisis or something, then ostensibly you’re not firing them for underperforming, you’re firing them due to the crisis. Which makes good people fear for their jobs and consider moving on. After all, as they see it, they may be needing to move on soon regardless.
> #9 Hire only for good reasons. Being overworked is not a good reason to hire. Instead, hire to be ready to catch opportunities, not to survive the current battles.
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.