If the most effective method of improving your coding skills is to code, and the most effective way to increase productivity and software quality is to re-use code (i.e. not write it yourself), then can you improve skill and maintain productivity?

On the surface, the answer is Yes. Assuming that you're not close to 100% reuse, you'll still be writing code, and there are always opportunities to increase coding skill.

Let's raise this a level and ask a meta question:

Given a choice between increasing your coding skills while holding productivity constant, and increasing your productivity while holding coding skill constant, which would you choose and why?

This meta question is important, because it gets at whether you're answering the right question.

I approach this with two beliefs: First, that there is a point of diminishing returns on the coding skill curve. There is a place on the curve where you the effort one needs to apply to get better is effort traded off against other opportunities. (It might take several years to reach that place*.) Second, that coding skill is a means to and end, and not, tempting as it might be, an end to itself.

*See Peter Norvig's Teach Yourself Programming in Ten Years.


In reply to Re: Code re-use: productivity gains vs. skill deprecation by dws
in thread Code re-use: productivity gains vs. skill deprecation by Phemur

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.