8 ms·
Cute. Nice fake list. Nice writing. The "true" list at the end, like a Hollywood ending, was probably not necessary. Now my list: 1. You don't "work with" sof
by edw519 14y ago
Cute. Nice fake list. Nice writing. The "true" list at the end, like a Hollywood ending, was probably not necessary.
Now my list:
1. You don't "work with" software engineers. We don't even "work with" each other. If you don't learn anything else from this, get this: we work alone. Always. Even when we think we don't. Sure, we occasionally get together to plan, analyze, discuss, white board, even "pair program" whatever that means, but sooner or later, we all sit down alone and do what we do. With that in mind...
2. Leave us the fuck alone! If you see a software engineer looking at a screen and typing, that means we're BUSY. Do not interrupt. Do not call. Do not text. Do not IM. Do ask if we're busy (WE are!). Do not tap us on our shoulder. And whatever you do, don't just stand there waiting for us to stop typing (We won't; that's a test of wills you will lose). Just send an email. That's it. When we break, we'll check email and reply. If you don't write well enough to communicate with us, then learn how to.
(If my language seems a little strong, it's because I feel so strongly about this. Nothing is more frustrating to us than having work to do and being kept from doing it when we want to. We often need large blocks of time and room to focus deeply.)
3. Don't try to understand how we work, what makes us tick, what turns us on, or the "secret" to making us more productive. a. All those things are different for every one of us. b. We don't even know what they are ourselves.
4. Don't patronize us. Sure, we all appreciate beer, donuts, chocolate, and foosball, just like everybody else, but don't bother trying to get something from us with a gimmick. It may work once or twice, but then never again. That shit doesn't even work on your dog. Why do you think it would work with us?
5. Provide us with the resources we need. This is pretty binary. Do this and get results. Don't do this and don't get results. For the most part, we're fairly easy. A comfortable chair. A decent machine. Good lighting. Fresh air or HVAC. Peace and quiet. Decent facilities. Specs or requirements > 50% accurate. (Forget about 100% accurate; none of us has ever seen that; we'll live with 50-80%.).
6. When we tell you we need something, believe us!.If we need clarification on something, get it. If we need more time, give it to us. If we need access to someone/something, make it happen.
7. Never lie to us. We are used to our machines always telling the truth. We insist on no less from other humans.
8. Contrary to common belief, we do not hate the following classes of things, we just hate idiotic instances of them: meetings, status reports, timesheets, processes, procedures, policies, mission statements, motivational posters, HR, reviews, interviews, reports, specs, and team-building exercises.
9. The best thing you could possibly do for us: everything you must and not one thing more.
10. Top ten lists suck (except this one).
- michaelochurch 14y agoExcellent list. 7. Never lie to us. We are used to our machines always telling the truth. We insist on no less from other humans. I've started to think of this as an impedance mismatch between engineers and managers. Our "subordinates" (computers, compilers) tell us we fucked up at our jobs by giving them nonsensical instructions. "Your brackets don't match and I don't know WTF to do. Line 87, fix your shit or I'm doing nothing." Being nonsentient machines, they don't fear getting fired so they tell the truth. We get a kind of feedback from "subordinates" that managers never, ever get. We program them to come to us speedily with bad news. Managers, on the other hand, program us (by having temper tantrums and occasionally turning off peoples' incomes) as well as each other to do the opposite.
- tsunamifury 14y agoI understand where you are coming from but... ...this attitude is indicative of a lot of engineers that end up being resented by the rest of the team -- expecting to be treated differently than others, secretly believing their skills make them superior.
- rys 14y agoIt's not about superiority. It's about time not being wasted and the act of engineering requiring unbroken long periods of concentration. It's not an attitude. It's just the harsh reality of being in an environment where you work most efficiently when you're not being interrupted.
- chris_mahan 14y agoOur skill is intense concentration. Imagine a soloist violinist mentally rehearsing his performance for later that evening. On the outside he looks sullen, near sleep. Inside, however, there's a 120 piece orchestra with the crazy Russian conductor, and the German harpist is plucking strings, and the soloist is counting in his head, watching the conductor, trying to perfectly time the moment when he begins moving the bow's horse hairs across the fourth string, vibrating his wrist, ring finger on the high e, indicating the moment of the hero's death and ascension to heaven, in the emotional denouement of the 45 minute piece. Just as there are many people who neither appreciate classical music nor the skill, talent, and concentration required to play it well, so there are many people who neither appreciate computer programming nor the skill, talent, and concentration required to do it well. As an aside, if you want to hear some fantastically good classical music, head over to youtube and search for the Vienna Philharmonic's rendition of Rimsky-Korsakov's Scheherazade conducted by Valery Gergiev at the Salsburg Festival in 2005.