Tonight I'm packing up the personal stuff in my office, and have been scrubbing personal effects from the computers I've been using for the past year+. Tomorrow I leave this job behind. Along the way I'd written a number of scripts that were for my personal use, but which remain my soon-to-be-former employer's property, and so will be left behind.

There is one script in particular that I shall miss.

This particular script is about three pages long, and is rather mediocre Perl, but it got the job done. The script would get fired off once a day in the early hours of the morning. Using OLE, it would first log into Outlook; find my Inbox; and inventory it, noting time stamps, and whether a message had been read or not. Then it would use OLE again to create an Excel spreadsheet, which it would populate with a summary of the inventory. Finally, it would reach out and massage Excel, causing Excel to create a bar chart.

This chart showed the amount of unprocessed email in my Inbox for each week I'd been on the job, including any email that I had never gotten to. (My habit is to move a message into a separate folder once I've dealt with it.) I could stand back, look at the chart, and see quarterly cycles. (The flow of email picks up towards the end of quarters, as Sales tries to co-opt Development into the Sales force to close deals.) I could also point to the blips on the chart where various hiccups happened (e.g., "Sales sold them WHAT?"). The graph rises steadily over the course of the last year, showing an ever-increasing pile of unprocessed (and some unread) email. The mail flows on, and on, and on. Some weeks I could dig through most of it, but those weeks have been fewer and farther between. The overall effect is depressing. The specifics of the mail flow are particular to this company, but the gurgling sounds of people drowning under their email piles can be heard from many companies.

I will miss this script. But I won't miss the reason for it.

Replies are listed 'Best First'.
Re: On Leaving a Script Behind
by footpad (Abbot) on Jun 08, 2001 at 08:48 UTC

    It's hard to walk away from stuff you're (even slightly) proud off, even if it's not stuff you're overly proud of--if you catch my meaning. It sounds like, if I may be so bold, that you devised your script as a way of maintaining your sanity in a bad position. Personally, I wouldn't mind seeing a derivative work based on the knowledge you learned while developing it. The original version may belong to your former employer, but there's nothing preventing you from re-writing it to be less "mediocre." I know I would be interesting in seeing good examples of using Perl as an OLE Automation controller. I may be in the minority, but I suspect there might be one or two others would be interested, too. At the very least, it would give me a starting place to begin translating some of my current skills into a new language.

    Nevertheless, it sounds as if you're walking into a new opportunity. Embrace that and move away from the drek you're leaving behind. This is a new gig; enjoy it while its fresh, existing, and wonderful.

    --f

      Seconded.

      I did some OLE with Oracle and Excel and *shudder* VB - it was horrible. I'd love to see some code and what modules you used - assuming you've got the time.

      Good luck with the new job!

Re: On Leaving a Script Behind
by Maclir (Curate) on Jun 08, 2001 at 07:38 UTC
    So both you and I finish our jobs today. My reason is I am leaving Australia, and fly to join my (new) wife in Dallas.

    I hope your reason is just as happy as mine is.

Re: On Leaving a Script Behind
by Anonymous Monk on Jun 08, 2001 at 19:18 UTC

    *boggle* Do you really think your (now former) company plans to sue you for using a 3-page script that only you use?? Of course you don't. Then why aren't you taking it with you?? Now, if you took this script to another company and ended up developing it into a product that the new company sold, then I'd start to think you were in a "#f4f4f4" (as in, "not very grey") area.

    Just taking it in hopes that you might have some use for it at your next job is a "#fefefe" area to me.

    The company paid to send you to training. Have you surgically removed that part of your brain? Did you make a solomn vow to never use that information again?

    When I leave a company, I take with me nearly all of the books that they bought for me. Why? Because 90% of them won't be of any use to the guy that replaces me (if there even is one). (If there are some books that have more to with my job than with me, then I leave those.) Just because the company paid for them doesn't mean I have to let them throw them away!

    On the rare occasions when the company buys software that only I used (because it worked for me, not because it was particular to the job that only I did), I take that with me too for the same reasons.

    And the code that I write for my personal use, I also take with me.

    At my previous job, I wrote some code for my personal use. I ended up extending and using it as part of the build procedure for "our" product. I took it with me and it has been of great help for me and some friends in fixing problems with the computers on our desks at work.

    My former company has now thrown away the years of work that went into that entire product, including my code. Does anyone really expect me to even feel bad about the fact that I kept that code??

    [ Posted anonymously because I didn't want it indexed to my name for eternity, not because I have any moral qualms about this practice nor that I think there are any legal problems with any specific cases of this, but because I don't want some lawyer some day to worry that some case might be a legal problem... Somehow I suspect some will be able to guess the author, which is fine. Just please don't post your guesses here. (: ]

Re: On Leaving a Script Behind
by cacharbe (Curate) on Jun 08, 2001 at 17:03 UTC
    First dws, good luck. It's always hard to move after you get comfortable, even if it's comfortable in sh!t (I know full well what this frame of mind can be like).

    As an aside, I've always made monthly or bimonthly backups to cd of ALL my work. I understand that this is intellectual property (both mine and my companies), but what is peoples take on just taking your backups with you when you go? Should we be allowed to 'reference' old material as we develop new code? No two applications are the same, but, let's face it, many of us are coding for portability and reusability.

    C-.

      What is peoples take on just taking your backups with you when you go?

      I'm pretty careful to keep personal stuff segregated from work stuff. That means that I generally don't install personal scripts at work (unless the personal stuff is publicly available as open source). That also means that if a company expects me to work at home, they'd better cough up equipment, because I'm not going to "taint" my personal equipment with their licensed software or intellectual property. I figure that keeping a strict separation is a good way to ward off problems. Am I going overboard? Perhaps. But I witnessed a couple of ugly incidents early in my career, and keeping a wall between job and personal work has just seemed like the safest, most ethical way to go.

      The other benefit of leaving work stuff behind is that if I ever write the script again, the result is generally better. Rather than reusing something that I'd probably written in a hurry the first time, my subconscious has had a chance to watch out for new tricks and techniques that could be applied to a rewrite. Ever found yourself looking at a snippet and thinking "Oh wow, I wish I'd known that when I wrote XYZ!". By leaving work code at work, I'm giving myself the chance to take advantage of those insights.

        The other benefit of leaving work stuff behind is that if I ever write the script again, the result is generally better.

        What happens if you use a bit of code that's identical to part of the original? If you came up with a great method of doing something, does that mean that you'll have to deliberately code it badly if you ever rewrite the script at another employer?

      That sounds like a pretty hazy area. Most likely, you could do it, and get away with it, but if some higher-up were to find out about it, things could get hairy. It is, after all, their property (depending of course on what sort of agreement you have with your employer).

      I also know that some of the scripts that I've written at work could be seen as containing sensitive information; something that might be useful to a competitor or whatnot. Another mess that you just don't want to get into.

        Granted. I know what kind of situation I'm in here. My question really goes to people's opinions on the topic as a whole. Should we be ensuring that we can take our work and learning with us? If for nothing more than the processes we've learned? If I come up with a faster sort algorithm that is being used for high-speed data collection, does that mean I shouldn't be able to use it at my next job? Many of us sign non-competition agreements anyway, so it's not like we're going to the nearest competitor, getting a job and doing a core dump. If we are, then that's another ball of twine...

        Thoughts?

        C-.