It’s important to be able to maximize turnover and confusion while minimizing employee retention. This is by no mean an exhaustive list, but it will, without a doubt, be successful, unlike your business.
Eliminate all privacy. Employees should feel like they’re being watched at all times. Ideally utilize an open floor plan, which can maximize distractions. If an open room isn’t available, cram as many people into small rooms as humanly possible. Employees should be able to smell the breath of everyone in the room at all times.
Force push your own changes, without code review, into master. You don’t need code reviews, you’re the boss. Pick the person on the team with the least backbone and get them to merge in thousands of lines of unreviewed code that the rest of the team objects to.
Interrupt people regularly for status updates. Ask for an ETA, then interrupt them again before the time has been reached. Continue to interrupt them about the issue even after they’ve finished.
Make sure to get on a doom loop. Start by rushing out software in 3 weeks that really needs 3 months. Complain about bugs, missing features, performance problems. Demand people “just hack it together”. Continue this cycle till the software is unmaintainable. Plan a rewrite, with the goal is “we’ll do it right this time”. Restart doom loop by rushing out rewrite.
Hire people for positions like “Sr. Architect” then make a bunch of architectural decisions right before they show up. Make sure they disagree with your technology choices but stuff it down their throats anyway. Bonus points if you have never used this technology, extra bonus points if you don’t even have a clue how it works. It’s important to stick with this choice, even if zero code has been written, despite any expertise someone else brings to the table regarding said technology.
Change issue tracking software and means of communication regularly. It’s important to relearn how to talk to people and make lists every few months.
When hiring, find people that have at least a one, preferably two hour drive. Let them know working remotely is part of the culture. Once they’re hired, disallow working from home.
One day, without notice, fire off an email demanding that, going forward, everyone now report to work an hour and a half earlier, starting the next day. This works best if you’re in the middle of a high traffic area. Do not change the time people go home.
Make sure everything is on fire all the time. Ask someone to fix a bug, then interrupt them as soon as possible with a new bug. Make sure to do this on a regular cycle. At the end of the day get angry when most of the bugs were not fixed.
Deny your team decent hardware. It’s important that they be frustrated with their 5400 rpm drives. Act like it’s Christmas when new hard drives finally come in. Let the employees know how lucky they are. Tell them to replace the drives on their own time, at home.
Log into production infrastructure and make changes that circumvent whatever system is used to manage production. Don’t tell anyone what you did.
Establish dominance by staring at people, never blinking. People should be uncomfortable thinking about how dry your eyeballs must be.
Stand behind people and ask constant questions while they’re trying to fix issues in production.
Humiliate people in public. Make sure to call them out for their mistakes, and never praise them for any reason.
Put arbitrary, impossible deadlines in place. Threaten people if they’re not met. When they aren’t met, repeat. If the team stays late to work, do not, under any circumstances, stay with them to help, or buy dinner. Go out drinking and post how much fun you’re having on every social media outlet you can find. Bonus points if you’re drinking with anyone on the executive team.
Be sure to announce your disgust with the entire team regularly, especially if the rest of management thinks everything is going great.
Spoon feed people bits of information. No one should be able to figure out your grand plan for the project. If they managed to puzzle it altogether, public shaming should be used liberally.
Disallow people from writing in their personal blogs for any reason at all. Everything the employee does or knows is property of the company, even if they knew it coming in, or it has nothing to do with what the company is doing.
Give estimates without consulting the people that are actually doing the work. When they disagree with the deadline, shrug your shoulders and explain that it can’t be changed and people are expecting it to be completed on schedule. Repeat every time.
Break the above cycle when everyone is about to quit. Get estimates down to the hour for every single feature. Assume no slippage. Add features but do not adjust schedule.
Be months late in paying out a performance bonus. If an employee happens to leave after the evaluation window, make sure you punish them by either reducing the performance bonus, or eliminating it altogether. In fact, use any opportunity to punish employees as if they were children.