A lot of the principles of being a parent apply equally well to being a sysadmin/support guy. Wrangling users and wrangling kids is actually disturbingly similar…
Don’t rely on technical solutions to administrative problems.
- If you lock them out of things, you just encourage them to work around your restrictions.
- Use technical solutions as a backup – but your first lines of defense should be policy, supervision and a review of the needs driving the problem behaviour. What are they seeking, and why aren’t they getting it from what they are allowed to do? How can you provide it in a safe and appropriate manner?
Don’t rely on security through obscurity.
- If the only thing preventing them from doing something is not knowing about it, you are fucked. Not only will they find out, but they’ll find out from exactly the kind of people you don’t want them learning things from.
- Tell them about it, and then tell them why they shouldn’t, so they can’t get blindsided or scammed. Tie it into the policy-and-supervision methods above, and you’ve got your best chance of controlling the outcomes.
The more orders and rules you throw at them, the less attention they’ll pay to any of them.
- Nagging is the first thing to get filtered from their awareness, and resentment obliterates compliance.
- Keep the rules as simple and as few as possible.
- Wide latitude with iron boundaries works a lot better than micromanagement with wiggle room.
- Make their needs a fundamental input to policy formulation; if you have to keep giving them a hard time about things, your system is a bad fit, and you’ll both have stressful lives.
- Every time you give instructions, you reduce the effectiveness of your communication. Work towards a target of zero interventions under normal conditions, and build systems that contribute to this.
The more requests they throw at you, the less capable they become and the more stressed you get.
- While you need a degree of control in order to enforce policy and usefully manage resources, you should treat authority as a cost, not a benefit. Don’t hardwire yourself into every decision loop, or you’ll just end up resenting each other.
- Instead, facilitate their independence as far as possible – and try and design the system towards this end.
- If you find yourself proxying or rubber-stamping requests, you’re doing it wrong. Hook them up directly, or give them the authority to do it themselves.
When you’re acting in a support context, don’t be a grouchy, judgy asshole.
- This is your job, and they are people too. Yes, they can be frustrating as hell, but they’ve come to you for help, so look at the problem through their eyes. What do they need out of the experience?
- Yes, this is the Nth time you’ve told them not to do X, or Y would happen, and they’ve gone and done X again. Yes, you need to teach them – but acting like a dick about it won’t make them remember, it’ll just make them less likely to report the problem in future.
- Being jaded, cynical and frustrated at how useless they are at everything is feels good at the time, but it’s unfair to them and corrosive to you. Avoid this trap, and just be helpful and cheerful instead.