Slashdot Mirror


Slashdot Asks: Are You Ashamed of Your Code? (businessinsider.com)

Programmer and teacher Bill Sourour wrote a post last week called "Code I'm Still Ashamed Of," where he recounts a story in which he was hired to write code for a pharmaceutical company. Little did he know at the time, he was being "duped into helping the company skirt drug advertising laws in order to persuade young women to take a particular drug," recaps Business Insider. "He later found out the drug was known to worsen depression and at least one young woman committed suicide while taking it." Sourour was inspired to write the post after viewing a talk by Robert Martin, called "The Future of Programming," who argues that software developers need to figure out how to self-regulate themselves quickly as software becomes increasingly prevalent in many people's lives. Business Insider reports: "Let's decide what it means to be a programmer," Martin says in the video. "Civilization depends on us. Civilization doesn't understand this yet." His point is that in today's world, everything we do like buying things, making a phone call, driving cars, flying in planes, involves software. And dozens of people have already been killed by faulty software in cars, while hundreds of people have been killed from faulty software during air travel. "We are killing people," Martin says. "We did not get into this business to kill people. And this is only getting worse." Martin finished with a fire-and-brimstone call to action in which he warned that one day, some software developer will do something that will cause a disaster that kills tens of thousands of people. But Sourour points out that it's not just about accidentally killing people or deliberately polluting the air. Software has already been used by Wall Street firms to manipulate stock quotes. "This could not happen without some shady code that creates fake orders," Sourour says. We'd like to ask what your thoughts are on Sourour's post and whether or not you've ever had a similar experience. Have you ever felt ashamed of your code?

6 of 280 comments (clear)

  1. Remember Mordin Solus by DdJ · · Score: 4, Interesting

    I've at times had to code up things I haven't been happy with, but rather than refuse to do it, I tried to modularize stuff so it could be fixed later when management changed.

    This is, I think, better than refusing, and having someone else code it up. To quote Mordin Solus, "someone else might have gotten it wrong".

    (And in at least one occasion, that worked -- for one product I worked on, we managed to safely and quickly kill the "phone home" DRM before it got out into the wild. Felt filthy working on it, felt good to bury it.)

  2. No but by Big+Hairy+Ian · · Score: 3, Interesting

    I am ashamed of some of the code that's been written in programming languages I've written

    --

    Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

  3. Re:cig sorter by justthinkit · · Score: 5, Interesting

    I worked (briefly) in a call center where we handled people who had called an 800 number. We asked a series of questions that we read from and filled out on an HTML page.

    I suspected something was fishy and looked at the source -- it was exactly like what Bill Sourour had coded -- it didn't matter how people answered, the same non-result in the end.

    People thought the number would help them, but it was used to harvest information, nothing else. One of the most screwed up environments I've ever worked in.

    --
    I come here for the love
  4. Realization... by west · · Score: 5, Interesting

    If we're talking about how are code was used, I remember in high school (many moons ago) writing Turbo Pascal programs and Lotus 123 macros for a shipping department of a sizable company that hadn't yet computerized. I was brought in by the manager of the shipping department because he could hire a high-schooler when he couldn't get authorization to computerize from within the internal IT department (which was busy sinking the company with some massively expensive software controlling the manufacturing).

    Anyway, I was very proud of allowing my boss to get all the data that he wanted, and he was very, very pleased that his department now had some means of seeing what was going on.

    I distinctly remember when he called me in and thanked me. Due to my program, he'd had enough data to improve efficiency 25%!

    I glowed.

    Now he'd been able to let go 2 out of the 8 drivers they had.

    I stood there speechless.

    There were real people underneath those numbers.

  5. IMO this is a problem of experience. by generic_screenname · · Score: 5, Interesting

    I've seen some shady things, and it was ALWAYS in a setting full of people too junior to ask questions. Junior people are sometimes naive, and will believe management when told that certain shady things are normal. Junior people may have no resume to speak of and are basically forced to look good at their first real job. Junior people may not be able to afford to quit without having something else lined up, and don't want to be marked as job-hoppers. Senior people have the marketability to leave, and the experience to see through BS. They may also have enough savings to quit out of principle and take a sabbatical, or the ability to shift gears to their side business. I don't really know how to solve the problem, given that young adults need to eat regardless of their ethics. I do know that the problem is hardly contained to computing. Maybe we gravitate to this field because we love logic, but the rest of the world isn't logical. We still have to deal with human nature in this field too.

  6. Re:Maybe we should mimic civil engineering by Culture · · Score: 3, Interesting

    As a practicing structural engineer for 30 years who also writes structural engineering design software, let me answer this for you. When an engineer signs/stamps a design, they are not certifying that it is perfect. In fact, it is generally recognized that no set of plans is ever error free. What you are asserting by your signature is that 1) You were in charge of and supervised all the work going into the design and 2) The design was performed in accordance with the standard of care for the work being performed. Standard of care is NOT a standard of perfection, by rather "that degree of care and skill ordinarily exercised under similar conditions by reputable members of our profession practicing in the same or similar locality." TL/DR; An engineer cannot sign/stamp shoddy work, but is not expected to perform perfection.

    --
    ----- There are two kinds of people in this world, my friend; those with loaded guns, and those who dig.