[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)