706 reputation
bio website
visits member for 3 years, 9 months
seen Jul 7 at 12:00

Author of Beta's Rule: "Never add to code that doesn't work."

comment How do you handle your Project Manager
An estimate is not a promise, it's an estimate. It should be as accurate as you can make it it, and if you calculate it correctly the actual time will be higher or lower about equally often. A promise should be higher, so that the work will rarely run over. If a boss/client asks for an estimate, but will hold you to as if it were a promise, then calculate it as a promise (e.g. estimate, then triple). A boss who demands that estimates for complex six-month projects always be accurate to the day is just a mentally lazy, technically incompetent PHB trying to steal credit and shed blame.
comment Name for this antipattern? Fields as local variables
I would say "If you see it in production code, it is a sign that you should reexamine your hiring process"
comment Why can't the IT industry deliver large, faultless projects quickly as in other industries?
Do you understand programmers who don't make every effort to produce error-free code, because that would take twice as long and management is breathing down their necks to implement these new features yesterday?
comment Do you plan your programs out on paper to avoid injurious amounts of typing?
It's not how long you type, it's how you type. Get a good keyboard, practice good form, and maintain a relaxed, steady pace. It's when you're wired on caffeine and ripping away under an urgent deadline that you tend to crank your wrists without noticing.
comment My boss wants a narrated line-by-line English explanation of our code
@Frustrated: So whose voice are you imagining? I can't decide between Sean Connery and Morgan Freeman.
comment How can I comply with Open Source licenses, and yet protect my own work + App Store
Your guideline #1 seems to cover #3.
comment Completing a project successfully despite hostile management?
I can't add much to the answers already given except-- if you're asking how to complete the project despite hostile management, you're asking the wrong question. You will wind up hurling yourself against impossible deadlines, hoping for miracles, and failing. Note that most of the answers below involve leaving the project, or not meeting the requirements your bosses currently demand. Success is not an option. Abandon that idea and you can start to distinguish good tactics from bad.
comment How do you handle your Project Manager
@omouse: good advice for the manager, but he's not the one we're trying to advise.
comment Keep permuting a vector until it is ordered
@Peter Taylor: Cool, thanks!
comment If I post my source code on a public site, does that automatically make it open source or do I still preserve my rights?
This is a question of law, not of software engineering. "The arguments of lawyers and engineers pass through one another like angry ghosts." --Bohm, Gladman, Brown.
comment What can programmers learn from the construction industry?
No? You think it was independent invention?
comment How do you handle your Project Manager
@Gabriel McAdams, you are assuming that the boss will not impose a deadline without the developer's consent. See #6.
comment How do you handle your Project Manager
@Vecdid Estimating time is an art-- I'm not very good at it. If a meaningful estimate is impossible, you could try hitting it back to his blind side: "I can do it in four weeks, but I'll need X." Make X a little too expensive, logistically impossible, or something that sounds easy but he'll fail to deliver, like "an off-the-shelf C++ parser". Be firm: it's not something you want, it's something the project needs. Put it in the graphs. They refuse you time to set up MS project? Hell, you're the one who's there late; don't ask permission, just do it. I must learn MSP too, similar reasons.