http://qs321.pair.com?node_id=598183

sanPerl has asked for the wisdom of the Perl Monks concerning the following question:

I am sorry for asking this OT question. Since long time, I am working in a company whose core business is Not a Software Development. I opted this job to get a quick career growth. They have a Software Development Department and I am leading it.
Over the period of time I realized that my knowledge is getting rusted, also employer is Not providing enough training to my team and me. Since begining I collected all the perl knowledge from mailgroups and sites like PerlMonks (I am grateful to all the Gurus using this site, who have unknowningly trained me and tolarated my silly questions :-)). I built/trained my programmers from scratch and stabilized all the perl projects. Today I am leading a good team of programmers, but I have lost most of the technical touch (yes, I am ashamed of it, most of my time I spend in managing Programmers and Not programs)
I know few sites, who help you knowing your Perl knowledge, but they charge for such testing. I can pay this charge only if I am confident of attending these tests. Do I get to know any sites where I can test my Perl knowledge,Free , anytime?

Replies are listed 'Best First'.
Re: Free online Perl Practice tests
by chargrill (Parson) on Feb 04, 2007 at 17:05 UTC

    planetscape has compiled a nice list of nodes to answer this kind of question here - hope that is of some use.

    Also, feel more than free to post some of your solutions (to any problems you might find) here at the monastery where you're quite likely to receive advice on the three or four best ways to accomplish something, with the intent of learning how some of the great minds here might approach the problems.



    --chargrill
    s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)
Re: Free online Perl Practice tests
by OfficeLinebacker (Chaplain) on Feb 04, 2007 at 17:25 UTC
    That's great. I would love to have your job. Since this is OT after all, I am going to continue your tangent away from Perl.

    In my mind, the job of a manager or leader is not to work, but to motivate and coordinate the work of others. The main point being, if you supervise a team of five coders, your team should be able to create output exceeding the output of a group of six coders each coding independently (if not a little more, since I would imagine your salary is probably higher than a coder's).

    I don't know how much work you do managing and how much extra time you have, but if I were a manager, I would be reading management books and websites. How do you attract talent? How do you help the employees which are slipping? How do you attain and then mantain a high level of work? How does your team fit into the grand scheme of things at your company? etc. I'd be way more worried about those questions than, say, what's the -T switch for?


    I like computer programming because it's like Legos for the mind.
      The main point being, if you supervise a team of five coders, your team should be able to create output exceeding the output of a group of six coders each coding independently...

      Good theory, but I think the numbers are a bit unrealistic. I would hope that a manager with a team of five coders would be able to create the output of about three coders working independently. Okay, maybe four, but that'll be tough.

      The trick is that if you actually have three or four coders working within the same group without a manager or other organizational scheme, it'll be a complete mess. They will be doing redundant work, then spending time integrating their work and eliminating redundancy, then deciding how to interface their pieces together, and so forth. The point is that unless you have truly independent projects, there's no way for your coders to work completely independently. (And if you do have several truly independent projects, your company probably ain't gonna make it. It's spread too thin. Focus on what you do differently, and beg/buy/borrow/steal the rest.)

      Ok, so maybe the numbers aren't quite right, but you get the idea. Think of it as parallel processing, which it is. The ideal would be linear scaling, but dependencies between processors (coders) always drop the speedup below that. One job of a manager is to eliminate as many dependencies as possible, and minimize the disruption of the rest. That may mean scheduling first the pieces that need to be resolved to avoid blocking others, or it may mean setting some things in stone to make sure the parts work together while leaving other things loose and flexible so they can adapt to their circumstances.

        I like your analogy, and it's true to a large extent. There's more to it than that. A manager is more than a scheduler for processors. CPUs don't break up with their mates. CPUs don't request (?:p|m)aternity leave, don't have 'bad hair days,' don't overclock themselves when you pay them a sincere compliment about their work. A good manager not only schedules, coordinates, and plans, but motivates, congratulates, and inspires. I think I can state categorically that there are not enough good managers in the world.

        I like computer programming because it's like Legos for the mind.
Re: Free online Perl Practice tests
by badaiaqrandista (Pilgrim) on Feb 04, 2007 at 21:58 UTC

    I agree with the other poster about needing to learn more about management. Doing it right is as hard as coding, might be harder. And if you want to keep your skill up-to-date, you can do a little side project or something. Contributing to open source or CPAN would be very rewarding experience as well.

    -cheepy-

      If you believe that the market for labor is efficient, then managing is harder than coding. Otherwise there would be more managers than coders and/or the coders would be paid more than their managers. (Neither of which is generally true, though there are exceptions to the latter).

      I love coding. If I had to give up coding in order to give managing a try, I'd take it.


      I like computer programming because it's like Legos for the mind.
Useful tech management stuff
by pemungkah (Priest) on Feb 05, 2007 at 00:16 UTC
    Since at the moment you're a manager, though you sound like you'd prefer not to be any more, I'd like to point you at http://www.randsinrepose.com as a great place to learn more about being a good tech manager.

    I'm not a manager myself, but I find the insights very useful.
    (updated: minor correction to the URL - thanks kyle!)

Re: Free online Perl Practice tests
by samizdat (Vicar) on Feb 05, 2007 at 12:53 UTC
    One of the hardest tasks of management (it seems to me) is learning to be an advocate for your group to get the resources it needs in the face of every other group's needs. If you can learn just one more management skill, let it be this one! :)

    Start by getting approval for a set of Perl books to share and time to use them. I'd also be a smart guy and get your team to learn some management-friendly presentation or documentation tools that you can spiff up your group's output with, like doxygen or OO Presents (or Visio if you're stuck in Dozeville).

    As for refreshing your coding skills, I heartily agree with the previous poster that doing some project coding is a far better refresher than any testing or rote-learning website. The challenge of coding is far more about solving the problem at hand than it is about knowledge of syntax and function calls.

    At my current job I've dropped into a (large) nest of embedded C programmers, and I am somewhat embarrassed at how much better most of them are than I because I've never been a straight-line C programmer. Besides my day job coding, I've found that coding a C extension library to be open sourced is highly rewarding both in terms of my own happiness at making a contribution and as a different perspective on the use of the language. The same can apply to Perl and CPAN.

    Finally, let me agree that managing coders is nothing to be ashamed of!

    Don Wilde
    "There's more than one level to any answer."
Re: Free online Perl Practice tests
by zentara (Archbishop) on Feb 05, 2007 at 12:39 UTC
    If you want "practical testing and review", you should just go thru the daily questions and answers posted for free on the internet everyday. Good sources are:
    newsgroup comp.lang.perl.misc maillist perl.beginners web perlmonks question nodes
    The benefit of doing it this way, is you encounter real world problems, rather than some dry, abstract theoretical usage like you would get from a book. Read the questions, see if you can provide a solution, then read the best solutions offered by the experts.

    It is sort of the same idea as the old teaching technique called "story problems" (IIRC), where instead of asking you to prove the Pythagorean Theorem, you are asked something like " find the height of a mountain, if you are 5 miles away and the angle to the top is 15 degrees". They are both essentially the same problem, but one is "more realistic" than the other.


    I'm not really a human, but I play one on earth. Cogito ergo sum a bum
Re: Free online Perl Practice tests
by zeno (Friar) on Feb 05, 2007 at 21:54 UTC
Re: Free online Perl Practice tests
by jesuashok (Curate) on Feb 05, 2007 at 02:56 UTC

      You could, as long as the OP wasn't really serious when they said "free".

      Because BrainBench isn't.



      --chargrill
      s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)