[HN Gopher] Practicing Programming (2005)
___________________________________________________________________
Practicing Programming (2005)
Author : sonabinu
Score : 49 points
Date : 2021-12-26 12:56 UTC (10 hours ago)
(HTM) web link (sites.google.com)
(TXT) w3m dump (sites.google.com)
| srvmshr wrote:
| > _[..] I doubt we or any company is likely to set up organized
| daily practice for their engineers. In fact I personally don 't
| think it should be necessary._
|
| Yes. Fortunately the only nail hit right on the head. Company is
| different from varsity. They aren't here for your skill
| development. Companies pay you to work whereas you pay the
| colleges to work towards your academic development. You are your
| own responsibility anyway.
|
| > _[...] look for SDE resumes from people with 20 to 30 years of
| experience. Well hey looky, they 're mostly Fortran and Cobol
| experts, on IBM mainframes, and they've never done any web
| programming (or in fact anything you've even heard of before.)
| They don't even know Unix, which is only like 100 years old now,
| in dog years anyway_.
|
| People with 30 years experience are mostly doing C or C++, and
| some Java - if and only if they are still contributing. Most good
| ones are in technology leadership or owning their businesses &
| consultancies. Some of the ones I know personally (and still
| employed in dev teams) are extremely talented kernel engineers or
| project architects running a whole division in FAANGM-ish
| company. My eldest uncle worked in COBOL. That was late 60s -
| early 70s. (Still more than 30 years by 2005 timeline). By 2000
| nearing his retirement, he was not making cool webapps, but
| making compilers better. In no way, irrelevant or a
| archaeological specimen. They were working on different class of
| problems belonging to different times utilizing their knowledge.
| It is fair to similarly wonder: "Why wasn't Steve Yegge doing
| anything about AR/VR in 2005 instead of writing this post". You
| had no idea AR/VR will be big 10 years later. By his own argument
| he would be an archaeological specimen today, unless he is making
| cool Oculus headsets
|
| > _Those folks, alas, are obsolete dinosaurs, and their
| programming knowledge is formally classified under "archaeology".
| They never pass our interviews, and they're becoming less and
| less able to find jobs._
|
| I cannot find a more ridiculous statement in this rant post. Ever
| wonder why senior developers are paid higher in general than a
| college grad? Experience. That comes with time & handling scores
| of problems, over dozens of projects. You pay for their
| experience which they have accumulated over the years. If a
| process is filtering out well-rounded engineers, who have seen
| the contemporary shifts in computing, they aren't the ones in the
| red. The selection process is then flawed in choosing only
| currently hot skills. What kind of mistakes have such companies
| made? Wonder no more & read about internet companies that hired
| hotheaded college dropouts & highschoolers in the dot-com bubble.
|
| Parting shots: Solving Leetcode/Hackerrank won't solve real
| engineering challenges.
| sonabinu wrote:
| The post is from 2005. A lot has changed since then and
| interestingly a lot hasn't.
| davidrupp wrote:
| Spoiler alert: This article is from 2005, written by Steve Yegge
| and typical of his trademark blend of perspicacity and prolixity.
|
| At the time, "people with 20 to 30 years of experience" would
| have started their careers in the mid-70's to mid-80's, and might
| well have been entrenched in Cobol, Fortran, mainframes, and the
| like. As of today, when people would have started in the
| late-80's / early-90's, it seems much more likely that they would
| have had opportunities at least for modern web development.
|
| I myself started in the late 80's, programming IBM/370 mainframe
| assembler for System One, which was Eastern Airlines' computer
| reservation system. I have colleagues from my training class who
| will retire soon, having done nothing but that for their entire
| careers. I saw -- and rejected -- that possibility for myself,
| and instead actively sought opportunities to learn new
| technologies as they came along. I learned Java in 1997, and took
| a job at iXL, an early Java consultancy in Denver, just in time
| for the "dot-bomb" of the early 2000's. I started paying
| attention to Ruby in 2005 and worked primarily as a Rails
| contractor in 2006 - 2007. I started paying attention to Clojure
| around 2010 and became the first technical hire at a Clojure-
| based startup in 2011. I currently work as a Senior SDE at Amazon
| (opinions my own, obvs), having been here for nearly seven years
| and having written code in Java, Ruby, Scala, Python, etc. for a
| number of Amazon-scale systems.
|
| "It's not the years, honey; it's the mileage." -- Indiana Jones
| yucky wrote:
| >perspicacity and prolixity
|
| These sounds like prescription drugs that could cause a long
| list of side effects.
| stackbutterflow wrote:
| How do you avoid being seen as an eternal beginner by hiring
| managers?
| capableweb wrote:
| Why would they been seen as a "eternal beginner" by anyone?
| Learning a language for 1-2 years and then working with it,
| while having general programming language for 10-20 years
| would come anywhere near "beginner" for me and many I know.
| Once you've picked up one and mastered one object-oriented
| language, most of them mostly look the same, and same goes
| for the other paradigms. A lot of knowledge transfer between
| languages, so if they see you as a beginner after 20+ years
| of experience, their loss.
| davidrupp wrote:
| You'd have to ask them. I don't do anything deliberate myself
| to avoid that perception. Fortunately, 30+ years gives you
| time to go broad _and_ deep, if you care to.
| [deleted]
| Zababa wrote:
| From the article that he quotes at the start:
|
| > But it's not just team sports. Anywhere there's competition,
| there's practice. Musicians, golfers, skiiers, chess players,
| martial artists -- everyone who practices some difficult art or
| craft, practices it.
|
| > Even where there's not overt competition, professionals still
| study and practice. Doctors and pharmacists have to continue
| their education throughout their careers. Writers, painters,
| composers and other artists practice their tools and techniques,
| and they keep abreast of the trends in their profession.
|
| > Virtually all professionals start by attending school to
| receive education in the theory, history, and practice of their
| profession. Many do an internship, apprenticeship, or residency
| as part of their education. In some professions, the education is
| required, and some even make you pass a test (e.g. the Bar exam,
| the CPA exams, etc.) in order to be a member of that profession.
|
| > I have trouble thinking of any modestly difficult profession in
| which continuous study and practice aren't the norm. Fighter
| pilots train in simulators before getting into the latest jet.
| Actors and politicians practice their lines and their smiles.
| Opera troupes do mock performances before public appearances.
| Writers, poets, and artists attend workshops, and study the work
| of the Masters.
|
| > Everyone practices -- everyone, that is, except for us. We just
| grind stuff out, day in, day out. Are you as embarrassed about
| the state of our profession as I am?
|
| This is mixing lots of things together to say "everyone practice,
| except programmers", which I think is wrong. First, what is meant
| by practice? For doctors and pharmacists, it's "have to continue
| their education throughout their careers". I, and most
| programmers I know, do this at least every week. Not in a formal
| way, but it's built into my and our workflow. For example, I do a
| bit of work with JavaScript promises. I struggle a bit, more than
| I think I should, because my mental model isn't good enough. I'll
| spend some time learning more about promises. Another example:
| someone at work writes some code that accesses a property that
| might be undefined (still in JS). There's a comment on the PR
| that it might throw an exception (the way it works in many other
| language). I'll take a bit of time to correct that, and point
| people to documentation (usually MDN) and the Ecmascript
| standard. Doing this, I familiarize myself a bit more with the
| standard, and everyone learns something. We even learn a bit
| about how and where to look for information, which looks like
| meta-learning to me.
|
| Then there's another type of practice: "Musicians, golfers,
| skiiers, chess players, martial artists -- everyone who practices
| some difficult art or craft, practices it.", "Fighter pilots
| train in simulators before getting into the latest jet. Actors
| and politicians practice their lines and their smiles. Opera
| troupes do mock performances before public appearances. Writers,
| poets, and artists attend workshops, and study the work of the
| Masters.". That type of practice is close do the idea of "plan to
| throw one away", from the Mythical Man Month. The thing here is
| that there is a big difference between what is considered a
| "performance" or a "piece" from a programmer and from professions
| with live performance. When you do a live performance, you have
| to do it all from the beginning. When you prepare something, you
| can cut and mix different parts. The original rails presentation
| is an example of live performance, talks in general are.
| Programmers often practice their talks so that they will be
| smooth. Demos are another example of live performance. They're
| often practiced too. But this practice is not the same as a
| doctor going to a conference to hear about the state of the art
| on treating X.
|
| As for the first line of the essay:
|
| > Most programmers have only a vague notion of how competent they
| are at what they do for a living.
|
| That seem to be true for most professions that don't involve
| competition as in sports. In chess you have an elo, in golf you
| have championships. But who's the best singer alive? The best
| bassist? How good is the drummer from your favorite band? In the
| top 10%? Top 50%? Top 1%? I have no idea how to evaluate that.
| How good is your doctor? How would you go about evaluating them?
| How would they go about evaluating themselves?
|
| It's also weird that the essay has "This isn't just true of
| programmers, of course." near the end, only for the other to
| start with "Back in October I wrote an essay in which I compared
| programming to other professions. In it, I made the
| unsubstantiated claim that programming is unusual, in that most
| programmers don't practice their craft -- at least, not in any
| disciplined or regular way.". The initial claim of "Most
| programmers have only a vague notion of how competent they are at
| what they do for a living." seem true, but I think it applies to
| most of the population.
| haho6 wrote:
| He compares programming to the NFL and how practice is needed in
| both. This is horrible analogy. The NFL specifically sets aside
| more 80% of its time to practice so that they can play for a
| total of 20 minutes a week.
|
| He then says programmers need to practice on their own time.
|
| The analogy falls apart.
| sokoloff wrote:
| NFL players are working out and practicing on what most would
| consider "their own time" from Feb through July.
| cpach wrote:
| Past discussion:
|
| https://news.ycombinator.com/item?id=8864176
|
| https://news.ycombinator.com/item?id=4434991
|
| https://news.ycombinator.com/item?id=2833
___________________________________________________________________
(page generated 2021-12-26 23:01 UTC)