Brett Rants

Town vs Gown

Are autodidacts better programmers?
Or do they just use fancier words?

Full Disclosure

As in, the boring full disclosure.

After spending a few weeks at UC Berkeley, my college education consisted of the local community college; and then, the low level state university.
In many ways, both were a joke. As always, individual results vary, and the times, they are a changing. But aspects of my educational experience included:
That last item is, perhaps, key. College (as with so many other things in life) ultimately boils down to what one makes of it. I, personally, did not make much of my college experience; the bar was not set very high.

Of course, that last sentence maybe deserves some qualification. I did not participate in extra-curricular activities. And I never considered reading extra books that might have gone over the subject material in a different way. I read. And I read a lot. But once I was done with the course work, I read mostly for pleasure (i.e. what I wanted) and not in some attempt to develop an expertise in any one subject area (like I do now).

So, anyway, the preceding is intended to be a sort of full disclosure and explain my personal experience, as this rant is (supposed to be... well, it was supposed to be way back when I started) about my perceived differences between self-taught programmers and those who go through a university course, keeping in mind that I never went through a university sponsored programming course and my college experience was a pathetic cake walk, which, of course, might not be how they do things at Big Name U... and in fact, one sort of hopes that it is not (how they do things at Big Name U).

But whatever. Maybe I should just look at things from my perspective and leave the other side hanging, an implied experience to which I can offer no first hand knowledge.

Yes, that does seem to be the better tact.

So, yeah. Turns out the foregoing was a long sort of aside that has very little do with the rest of the rant... outside of highlighting the fact that I know very little about what life is like inside a quality Computer Science degree program.

Random Thoughts Concerning My Self Taught Programming Experience

Because anything more structured than random would take too much effort...

Self Taught Programmer:
I could go on. In that, I could think about this for a few more minutes, hours, days, weeks, or whatever, but the gist of what I would be dancing around, might well be summarized by:
Outside of possible technical holes (and I like to believe corresponding summits), from a group dynamic perspective, this also means:

The Throw Down

In this corner, weighing in with a nothing sort of four year degree...

Of course, and as I am finding to be the case more and more lately, the preceding does not directly address why I started writing this rant. So, along with the rest, a traditional degree may have taught me to write better; but no, I have hundreds of units under my belt (many of which required writing a term paper), it's just that I've taken very few computer courses. Still, sometimes I wonder about my writing. But more so at the moment, I wonder:

Who is the better programmer?
How is programming skill determined?

And I would propose that an equation to determine the relative ranking of the same might look something like this:

Programming Skill = Decay(Time) * Decay(HandsOn) * Decay(Research) * Decay(Breadth*Depth)

Decay() is a time decay function, wherein more recent events are valued higher than those that happened long ago
Time is the total length of time spent in pursuit of the craft (beginning to end, less gaps)
HandsOn is the total clock time spent on practical applications (in coding, hands on keys).
Research is the total clock time spent reading books, solving maths, and so on.
Breadth is the extent of minimum knowledge awareness. It doesn't really matter how high or low this bar is, as long as it is consistent.
Depth is the maximum extent of specialized knowledge (a rating of best language).

In the academic world there is an influence rating metric (shame I can't remember the name) in which a researcher's importance is determined numerically by a recursive sort of formula in which a researcher must meet all the requirements for the previous rating and then have an additional paper that has been referenced f(x) times.

Rating 0 = No requirement
Rating 1 = Not using any papers used to qualify for a Rating of O, the researcher must have authored a paper that has garnered 1 citation
Rating 2 = Not using any papers used to qualify for a Rating of 1, the researcher must have authored at least one additional paper that has garnered at least 4 citations
Rating 3 = Not using any papers used to qualify for a Rating of 2, the researcher must have authored at least one additional paper that has garnered at least 9 citations

So, by Breadth * Depth, I mean some metric that reflects this sort of pyramidal (building upon itself) structure of competency.

And on the read through, it feels like this is an odd place to stop (hence, this little blurb). But that really is what I had to say. Mastery of most things can be quantified (abstractly if not completely accurately) by some Depth * Breadth metric. And as to how one quantifies that? Well, I suppose that explains all the complaints concerning the white-board interview process. Does it do what it is intended to do? Or would reading a programmer's mindless musings on a personal blog serve the purpose better?

next Brett Rants entry

Home Brett Rants Index

Brett's Blog Rating Formula

Best Blog Entry * Number of Blogs

Gads, I hope they don't take off for wrong answers.

Avoiding stupidity is not my strong suit...

Nor is throwing printed matter into the
Recycle Bin
no matter how far off perfection
the word copy might seem at the end...

Which is seeming to be the case
more and more lately...
I should probably take a break,
refocus what I spend my time on.

Still, thanks for reading!

© copyright 2016 Brett Paufler