Slashdot Mirror


Ask Slashdot: Should Developers Fix Bugs They Cause On Their Own Time?

Bizzeh writes "Today my boss came to me with what he thought to be a valid point and analogy. A builder builds a wall. A week later, bricks begin to fall out of the bottom, but he continues to build the wall higher. In most cases, he would have to replace those lower bricks at his own expense and on his own time. Comparatively: A software developer writes a piece of software. When bugs are discovered, the developer is paid to fix them by the employer and on the employer's time. I didn't know how to refute the analogy at the time, but it did make me think: why are bugs in software treated differently in this way?"

12 of 716 comments (clear)

  1. what if... by Chadster · · Score: 5, Insightful

    developer's B bug only existed because of developer's A bug? Who fixes B's?

    1. Re:what if... by TechyImmigrant · · Score: 5, Insightful

      The brick builder charges accordingly. Since 90% of programming is debugging and testing, you could concur and demand a 1000% pay rise.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    2. Re:what if... by Anonymous Coward · · Score: 5, Funny

      The builder was probably commissioned specifically to build the wall, as well.

      The developer was probably commissioned to build something with nebulous requirements like "keeping the Huns out", and this was the only idea his boss could understand to sign off on.

    3. Re:what if... by noh8rz10 · · Score: 5, Insightful

      If the builder has a fixed price or not to exceed contract, then he has to deliver the goods at that price, and anything else is out of pocket. Same for contract work for software. But also note the difference between a builder company and an independent contractor. If the building company goes over, it still has to pay its employees.

      The submitters analogy sounds like bull poop.

  2. Your boss knows fuckall about construction by Anonymous Coward · · Score: 5, Insightful

    "In most cases, he would have to replace those lower bricks at his own expense and on his own time."

    LOLWHAT. What construction company says "turns out there was a flaw in our design, or maybe you made a mistake. Come back after hours and fix it on your own time." I'm pretty sure that has happened 0 times in legitimate construction. It would be chalked up to a mistake and would be rectified by the construction crew, not one dude with a bucket of bricks and some concrete at 8pm the following night.

  3. developers don't cause bugs, QA does by RichMan · · Score: 5, Funny

    Bugs are escapes from the QA process. The QA people can fix them on their own time as the fault is in the QA process not the developer. :)

  4. Re:Bad Analogy by Anonymous Coward · · Score: 5, Insightful

    This is Insightful, not "Interesting". In most sane nations, there are things called laws that govern how employers must treat employees. In almost all cases,

      1. mistakes by employees are owned by the employer
      2. the employer must pay employees for their time, irrespective if they are correcting their mistakes, others, or whatever.

    If the employer does not like the work of an employee, they can fire them. But they cannot demand employees work for free. Money flow is always one way, even if employees were negligent.

    The sad thing is, there are plenty of shitty employers that take advantage of complicit or mostly ignorant employees. The bottom line, if there is an employment contract and there is employment law that can trump contracts. Employees would be well advised to understand both.

    So for the original question, if an employer is telling you to "fix problems for free",

      1. start looking for a new job
      2. document all time you've spent fixing stuff on your own time (or better, refuse to work for free)
      3. after you get new job, contact a lawyer regarding local labour laws.

  5. Guarantee by Roger+W+Moore · · Score: 5, Insightful

    The brick builder charges accordingly. Since 90% of programming is debugging and testing, you could concur and demand a 1000% pay rise.

    Actually the builder offers a guarantee that the wall will be built to industry standards. Since there are lots of people who can build walls without serious flaws the industry standard is that the wall has no serious flaws and the builder will usually offer a guarantee to that effect - or at least the contract will not contain any exceptions for serious flaws. Indeed nobody would hire a builder who's contract stated that they offered no guarantee.

    In software it is not possible in practice for someone to write a non-trivial program without any bugs. Hence it is not common practice to expect completely bug-free code and contracts usually have stipulations to that effect - just look at all the exceptions and explicit non-guarantees in your typical EULA. Essentially the cost of offering a guarantee like the builder's would be so astronomical that nobody would hire you.

    1. Re:Guarantee by NoKaOi · · Score: 5, Insightful

      Actually the builder offers a guarantee that the wall will be built to industry standards.

      Actually, if you want to follow the analogy, the employee is not analogous to the builder. The employee is analogous to the builder's employee, while the builder is analogous to the company, and the homeowner is analogous to the company's customer. The builder would be paying his employee by the hour. If the employee messed up, whether it was a reasonable mistake or even if he was negligent, when the employee fixes his mistake he'd still be on the clock, getting paid by the builder. Of course, the builder could fire the employee and hire another employee to fix it, but he can't make the first employee fix it off the clock.

    2. Re:Guarantee by Anonymous Coward · · Score: 5, Funny

      > An old truck of mine died one day on the highway, leaving a toll booth.

      Please send my condolences to the toll booth. The loss of a parent can be devastating.

  6. Tell your boss... by king+neckbeard · · Score: 5, Funny

    Tell your boss he should be fired. If he's going to make bad analogies, they should at least involve cars.

    --
    This is my signature. There are many like it, but this one is mine.
  7. Prgramming/compiling vs Engineering/construction by Elfich47 · · Score: 5, Insightful

    Very simple difference:

    In construction the design is cheap (5-10% of the building cost) and the compiling is expensive. In construction you only get to compile once. In addition anything that leaves an engineers or architect's office that has been stamped and signed is certified to provide a working structure, building or system; assuming the builder follows the plans correctly. Everything must be installed in the correct order and location. Deviations from the plan (we are assuming the plans and specs are good) involves and expensive reworking, redesign and law suits.

    In programming, the expense is in the design of the system, compiling is cheap. In computer programming you compile as often as you need. One can test run sections of the code as needed to see what works and how it interacts.

    The labor requirements are flipped between the two industries. Trying to compare the two can lead to some poor analogies quickly.

    --
    Architectural plans are like computer source code with a couple of differences: You only compile once.