1. Don’t be passive aggressive

When asked to do something “impossible”, consider it permission to schedule yourself 10 or 15 minutes of surfing the web to see if it actually has been done before, or to entertain some wild-ass ideas by looking for tools that might actually make it possible.

2. Be passive aggressive

Respond to requests for difficult things by thinking out loud honestly and contemplating the worst bits first. Either the request will be withdrawn when they see the solution is going to cost too much, or somebody will overhear you and help. EG: “Well, we could transfer a copy of the database to a faster server if we halt access to it for a few hours while a dump is made, then after it’s imported on the new server we can try the query again and see if it goes faster. If not, there are some books on query and index optimization that we could purchase and begin studying, and then there’s the consultants we tried last year…”

3. Stop apologizing for mistakes, unless it’s to a customer

Assume everyone understands that mistakes happen and just explain what happened. People get tired of being apologized to and just want to know how they can help without having to read paragraphs of apology in a groveling email.

4. Stop asking for permission to pee

If you think of a good way to do something then just do it. Don’t ask for permission to commit new code, either, that’s why we have versioning source control systems. If initiative isn’t wanted at your firm then they’ll tell you about it after your first offense.

5. Don’t go to a human with a question that can be answered faster by the computer

Part of why “adding more programmers to a late project makes it later” is because of the exponential increase in communication channels. If you ask your coworkers “will it work if I change the Doohicky Constant to 5.5?” they’ll waste time trying to answer when you could just… like… try it.

6. Premature translation to layman’s terms is the other root of all evil

Use the principle of richest communication: always use the technical term and educate the listener if they don’t understand it. Premature translation is not just lossy, it can completely screw-up meaning.

    Categories

    Wait, does the nav block sit on the footer for this theme? That’s bold.

    Software Engineering Tips

    Yet another collection of rubbish mostly focused on C# and IT development

    Explore the style variations available. Go to Styles > Browse styles.