5 ms·
This seems like a form of elitism very specific to programming. I graduated with a degree in Electrical Engineering, and barely did programming until I began m
by xkjkls 12y ago
This seems like a form of elitism very specific to programming.
I graduated with a degree in Electrical Engineering, and barely did programming until I began my first job out of college. In many people in the programming space, I see contempt that coding was something I didn't start until later in life. When I interviewed for Electrical Engineering positions, no one ever scoffed at me, "you haven't been computing the impulse response of a filter for 4 hours a day since you were 12? There's a massive difference between engineers who have done that and those that haven't."
- exstudent2 12y agoI don't think it's elitism, it's just that programming offers a unique opportunity to do this stuff from a very early age from home and the end results is some people end up being very good at it "early" in their career. Unfortunately you couldn't start "computing the impulse response of a filter" when you were 12 but if you could, and you continued to practice it daily, you would be very capable compared to people who just started in university.
- sulam 12y agoYou're demonstrating the exact syndrome the story discusses: conflating the ability to write code "well" with all the other things one does as a software engineer. The article goes into more detail, but I do a fair number of things every day that do not involve typing in code on a keyboard. Going further, I would argue that most people I know who've been programming since they were 12 weren't even writing very good code at 22 (or whenever they left college and entered the working world). It's vanishingly rare that people were writing flexible, maintainable code in their teens. It's much more common that they were coding to scratch an itch, and that their code only solves the pieces of the problem they cared about, and probably not very well. Note: I've been programming since I was 12.
- fizbin 12y agoThis - that it's extremely rare to even be able to think the right things to produce maintainable code at that age - is why I've long thought that 12-15 is the right age to teach assembly language. At that age, your code is going to be a mess no matter what tools you use, so you might as well have an excuse. (Seriously: there's some brain development that doesn't happen until the close of puberty, and I believe that some of that is necessary for most people to plan and write maintainable code)
- derekp7 12y agoI think it really comes down to how much enjoyment one gets out of programming. If you thoroughly enjoy the process, you are more likely to put in the time and effort (in fact it will feel effortless), and you will be thinking about it all the time. Then there are those who don't mind programming, or maybe even see it as a chore, but choose to do it anyway.
- JoeAltmaier 12y agoYes! Like musicians that have tunes running through their head constantly. Or poets that turn every phrase over in their minds. Did you ever dream of debugging your children? That if you could only find the right breakpoint to set, you could adjust them and fix something? Then you are truly a programmer.
- fapjacks 12y agoExactly. My dad is a musician, and I always wanted to make music, but I just don't have that thing where I'm always thinking of new melodies or beats or whatever. I know that I could not make music on par with the people in the world that do this like my father. Unless I have some previously undiscovered stroke of genius with music. But that is very unlikely, and still the standard comes down to "How much do you enjoy doing X?" that really determines how good you are or will be at X. I fucking love programming. That means I've got the capacity to excel at writing code. But I'm only okay at making music, and I only really listen to music when I code. So there is diminished capacity for me to be a rock star. Sufficiently diminished capacity that I probably will never be a well-known musician, let alone Michael Jackson.
- cafard 12y agoI have programming dreams from time to time. But I'm not sure that "programmer" is the first word I'd find for somebody dreaming about debugging his children.
- JoeAltmaier 12y agoI think its a good word for somebody that has a head so full of programming, that it leaks over into other parts of their thinking. Like musicians that see a rainstorm and think of music.
- fizbin 12y agoIt's specific to programming, but not exclusively to programming; there are a few other areas where "you haven't been doing this since you could walk? Too late to be truly good": - Mathematics (at the extreme high levels) - Musical composition - Classical music performance - Painting/Visual arts - Speaking most languages - Jedi Knight
- muddyrivers 12y agoI agree to the list except painting/visual arts. And I wouldn't put programming along with them.
- rektide 12y agoFor the most part companies doing EE work seem to rely on the big three companies making EDA software to do tech development. On the web and in app development, there's a far greater variety of technical bases to begin building atop, and a lot of web fundamentals that have developed culturally (rather than out of scientific or mathematic bases, where it can be clear your tools are helping). A sometimes seen result is that those communities of developers that are "well served" by platforms perhaps "shielding" them from the sticky intertwingulated overwhelmingness of choices and protocols and systems often can't relate, don't relate to the wider body of codecrafters. Ability to harness the best or biggest slices of culture well is a huge part of programming, and that requires more than being really good or really smart: it requires a will and energy to chase, and to always be chasing, keeping yourself unrooted from what you merely know or how you've done it. That doesn't justify a bimodal view, because there are certainly all kinds of ways people come about to programming, but I think in programming it really is different- since everything is made up and abstract, we're still figuring out general shapes. It's all a social milieu, and it requires paying attention to establish and keep authentic roots and identity, roots you'll need to contextualize what it is you do and what's coming down the pipe. Calculating impulse response is a hard task, but it has a mathematical fixity with no compare to the computer arts we use. It's also been an extremely exciting time watching programming's recent decades. So there is some elitism of simply- why haven't you been here, enjoying the hell out of this? I think it's ok to feel that inside in a general way, I don't think that can be stopped or avoided, but how we reconcile that with the world without falling into the abundant moral hazards, how we still be good- it's doubly hard to reconcile yourself when the feeds are rife with people berating and assaulting tech culture, when you can get lost in these other people fights. As a programmer, keep an open mind and accept many types of people as peer. As a person in the world, keep an open mind and accept that programmers are still quite high on some cyberspace utopianism and a precambrian-esque explosion of capabilities, and that just as much as you feel alienated by them, they feel alienated that a wider world excuses itself from recursing the depth and breadth of what enraptures the techie. 'The weirdo is just as scared of the normal person as the normal person is scared of the weirdo'
- SomeCallMeTim 12y ago>This seems like a form of elitism very specific to programming. In my experience it's not at all specific to programming. Other domains have their "rock-star" experts: The brain surgeons, the rocket scientists, the literal rock stars (or at least the true masters of one or more instruments, amazing songwriters, gifted vocalists), the Olympic athletes...the masters of their skill who are so good at what they do that they make it look easy. They've put in the metaphorical 10,000 hours of practice and self-improvement. They are awesome, and the rest of us mere mortals by comparison. Programming is different from many disciplines, though: * In programming, everyone from the student who is copy-and-pasting JavaScript into an HTML document to the amazing expert is a "programmer." There's no term for the ones at the top of the scale, no "Olympics" label, no "brain surgeon" specialty that distinguishes the top from the rest. * World-class skill in one domain or language translates to a very short learning curve in just about any other domain. I've hopped between native apps, games, high performance servers, networking, security, drivers, web apps, embedded, IoT and machine learning, for example, and have used just about every mainstream language (and some trendy ones). * Programming as a discipline has a 10x-20x measured productivity between practitioners with similar experience -- and the real difference can be infinite (there are tasks that I have accomplished that I know would never have been completed by some people I've worked with in the past). Though some will claim it's unique in that respect, it's not: It shares that trait with (for example) the creation of art and music. I can spend 10 hours working on something artistic, and I know artists who can produce a better result in 30-60 minutes. * Programming can be learned with a computer and 100% free tools. You can start when you're 12 and have access to a computer, and you are limited only by your skill and imagination in what you can create. So those who have an aptitude can spend thousands of hours in practice for only the cost of electricity (after they have a computer). It may be that Electrical Engineering doesn't have the 10x-20x relative skill effect, or maybe it does. I don't feel qualified to argue one way or another. It does seem like practitioners will specialize in a particular area, though, and tend to stick with it; correct me if I'm wrong? Also, it's rare for someone at 12 to feel the need to compute Ohm's Law (well, I used Ohm's Law as a 14-year-old, but I'm odd that way), much less the impulse response of a filter, so for most you're learning those equations at the same time, and the difference between the best and worst students isn't measured in thousands of hours of previous experience. >"you haven't been computing the impulse response of a filter for 4 hours a day since you were 12? There's a massive difference between engineers who have done that and those that haven't." For the record, if you're one of those people who did start coding at 12 or earlier, it's not hard to spot another "native programmer", any more than, as a native speaker of a language, it's easy to hear when someone has learned a language as an adult. Sometimes late-learners with particular aptitude for languages can speak without an accent, but most of the time it's easy to tell. There are documented brain organization differences (fMRI) between people who learn a language before they're 12 vs after they're 14, and I suspect the same may be (statistically!) true for people who learn programming early vs. late. I'm teaching my 10-year-old now, just in case. ;)