Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Prove/Improve your Self/Skills

by defyance (Curate)
on Oct 17, 2002 at 16:12 UTC ( #206060=perlmeditation: print w/replies, xml ) Need Help??

Soooo, you finally got the chance to prove yourself in one or more of your endeavors.

When you near finishing, you ask yourself; Did you accomplish all of your desired goals? Did you follow the outline which you designed, or were given on how to accomplish the goal? Did you meet the requirements needed for a positive outcome?

There are so many other questions involved in such a situation, but the most important question is:

Did you learn anything??

I have been meditating on this today due to a recent situation. I was recently asked to accomplish something that I knew beyond a doubt I could do in a short amount of time. The outline was simple:

  • Create a tool that will make lives easier, therefore benefiting everyone involved.
  • Do it simple
  • Do it cheap

    I had a working model within a few hours, and presented it. Feeling good about it, but feeling like something was missing at the same time. I quickly forgot about it, finished up the project and let the requester do with it what they pleased. By the end of the day, this "lack of feeling" so to speak was bugging me. So I went back, reviewed the project to make sure I didn't screw something up, and make sure it wasn't sloppy. Having already done this once, I realized what the problem was. I didn't feel that I accomplished anything. I hadn't taken anything from that quick little project. In other words, I didn't learn anything. Working on this feeling, I grabbed the project, and looked to see if there were any ways to improve it, or go about it differently. After a day or so, I had re-worked the project and felt that I had improved the results, and felt satisfied that I had learned something.
    I proved myself and improved my skills in this situation, and that gives me a wonderful feeling..

    Why I didn't do it that way the first time is another matter ;-)~.

    I'm sure none of you really care about my story, however I thought it might motivate some of you to share a story of how Perl helped prove/improve your self/skills.

    -- Can't never could do anything, so give me and inch, I'll make it a mile.

  • Replies are listed 'Best First'.
    Re: Prove/Improve your Self/Skills
    by Tanalis (Curate) on Oct 17, 2002 at 17:07 UTC
      A couple weeks back at work I was given responsibility of a script that's responsible for generating a fairly fundamental report. It ran once a month, and took the best part of two-and-a-half hours to do its' job.

      Not great, when all it does is numbercrunch.

      A colleague suggested I look into distributing the work over a larger number of processes (the script did the same job, many times, sequentially). This initially put the fear of God into me - I'd never touched distribution before, bar theoretically.

      I did much research into how best to distribute using Perl and c-shell. Finding that Perl supported a C-style fork relieved me a little - and I ended up coupling that with a system call to a c-shell script on a remote computer.

      Two weeks, and a post or two on here later, I had a working prototype. It looked good, having a quick Tk GUI to make it vaguely user-friendly, and could take in the list of processors our overnight batch used and ship each iteration of the script out to one of them.

      I think that I managed to prove myself during the project - alongside learning a hell of a lot about Perl and Unix. That felt good.

      I feel, though, that the feeling of "I just did something I didn't think I could pull off" - the feeling everyone has when their first ever program runs and works properly, even if it just prints "Hello" on the screen - gets harder and harder to achieve. As you learn more and more, and get more experienced, I think it gets more difficult to feel good about the outcome of projects, simply because they don't stretch you as much as they once might have. That's a shame, in my opinion, and it's important to try and keep the feeling alive, even years down the line.

      *shrug* Just my quick thoughts ..

        I agree with Foxcub's statement, in that it can be difficult to continue in leaps and bounds, learning something new with each app written. There are just $x number of ways to process a file.

        But I'm finding other ways of improving, that aren't as drastic/exciting as before, but which are much more satisfying. Like optimizations for speed or system efficiency, making use of compression for network transmissions (Thanks Compress::Zlib). I'm no guru. I've taught myself shell scripting, Perl, and C over the last 3 years. But here at work, I truly make a difference. Things which took a long time, now take fractions of the original time due to perl. Things which relied on random notification methods, with no standard across the board, are now centralized as well as standardized. When things come up that are akward or repetetive people come find me.

        What I'm attempting to state is that I think I have the basics worked out (code style, modules I use frequently, etc..) and I get statisfaction from the code sometimes, but nowadays the satisfaction I get isn't so much the coding itself, as the ability to scratch other people's itches to their satisfaction (which is key, I've found, as opposed to how I would scratch it for myself).

        It's also nice that now it's a fairly frequent occurance that my boss or a co-worker to walk up and start a conversation with "I need a script to....". Peer respect is a Good Thing(TM). This has led to all sorts of new possibilities with the code, and new frustrations :P, but hey ain't that life/code.

        /* And the Creator, against his better judgement, wrote man.c */
          it can be difficult to continue in leaps and bounds, learning something new with each app written. There are just $x number of ways to process a file.

          Hmm, but there are more ways to write that in Perl. So, is that why TIMTOWTDI makes Perl so appealing to so many who feel passionate about it?

    Re: Prove/Improve your Self/Skills
    by robartes (Priest) on Oct 17, 2002 at 22:53 UTC
      Good point.

      I think this is something a lot of us on here can relate to. We do not get the same satisfaction and sense of accomplishment and even personal fulfillment (sp?) from "proving" ourselves and our abilities (or lack thereof) to other people than we do from pulling off something we for whatever valid or invalid reason previously thought too difficult to pull off.

      IMHO, a common thread in many a techie's (insert your own favourite species name) psychological makeup is the fact that they are basically self-motivators. We don't get much oompf out of doing what we're told are asked to do and doing it well, but rather out of doing something that challenges, improves and broadens our skills (or, again, lack thereof). This does not only apply to programming BTW, but to any skillset a techie is commonly called upon to exhibit.

      The lucky ones among us are those who can routinely combine "proving" themselves with "improving" themselves, as you have done in this particular project.

      Oh and, just to put an end to my rambling incoherecy, there is probably a point to be made that this principle is valid for just about anybody, not only techies. In fact, it is probably this very principle that inspired some nameless heroes in our collective ancestry to go out and kill the first mammoth or tame the first camel (forgive me the use of 'tame' and 'camel' in the same sentence), thereby setting humanity firmly on the path that lead us to such wonders as TCP/IP, Perl and chocolate covered cheese cake. :)


    Re: Prove/Improve your Self/Skills
    by LEFant (Scribe) on Oct 18, 2002 at 03:02 UTC

      Skill-building has always been a primary motivator in my career. I encourage everyone I work with to challenge themselves by trying new techniques and technologies. Just recognize that you can always grow in any project, even if is not in your perl or whatever technical prowess you are applying. Perhaps the trick is to realize how you have grown.

      When the task is actually mundane or a simple permutation of a familiar solution it may be senseless to demand of yourself a technically novel "personal growth" solution. Itís OK, even sometimes best, to repeat the proven familiar solution. Sometimes the way I have needed to grow is to recognize that my technical growth is not the immediate primary goal of my team or organization. I may need to sacrifice my personal technical criteria and grow by strengthening my character. How, by suppressing my own personal desires and showing my commitment to my organization's reaching a larger combined goal with greater ultimate shared satisfaction.

      Certainly our own needs are important for us to recognize and strive to satisfy. As professionals we have to balance them against the demands of our projects. Often I must choose an effective solution rather than most efficient or the most elegant. Credit yourself for making better choices in the heat of the daily battle.

      Bob...who has been at this since every computer had impressive arrays of blinking lights and shiny rows of toggle switches...and is still learning.

    Re: Prove/Improve your Self/Skills
    by jordanh (Chaplain) on Oct 18, 2002 at 01:03 UTC
      This is one of the best reasons to use Perl. Easy things are so easy, you can always take the extra time to make something reusable or learn about some new facility or technology.

      And... making something reusable, makes that easier thing even easier next time and means you can explore even more exotic and interesting ways to do something later. Is it any wonder why CPAN (and the other freely available Perl code out there) is so rich and varied?

    Log In?

    What's my password?
    Create A New User
    Node Status?
    node history
    Node Type: perlmeditation [id://206060]
    Approved by JaWi
    Front-paged by JaWi
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others contemplating the Monastery: (5)
    As of 2018-05-24 18:53 GMT
    Find Nodes?
      Voting Booth?