5 ms·
I would love for more people to code and I would love for veterans for find work but .... My impression is those who excel at coding (like everything else) lov
by greggman 9y ago
I would love for more people to code and I would love for veterans for find work but ....
My impression is those who excel at coding (like everything else) love doing it. So, I would expect the majority to fail. It's doesn't seem like a skill like riding a bike where you learn it once and then it's just this thing you can pull out whenever (or maybe it just takes longer to get to that point).
My point is, whenever I see programs like this it appears the majority of the students are just going through the lessons. The moment the class is over they're back to whatever their real love is. They're basically learning by rote and it's a superficial learning not because they aren't smart but rather because they're disinterested. They're just doing it hoping to get a job, not to scratch an itch / pursue a hobby.
As such it feels like they're unlikely to ever become the kinds of people that actually get the jobs they're taking the classes to get.
Is there a way to solve that? Is there a technique to evoke a passion for coding in the majority of students or is it more up to the student to bring / discover their own passion? I know a bad teacher can ruin passion and interest. The majority of math and computer teachers seem to not really know what they're teaching and just teaching from a book. I don't know that a great teacher can spark passion an interest though. Maybe they can it a larger percentage of their students but that percentage will being small?
- philippoi 9y agoI'd suggest most people who excel at bike riding approach it with the same enthusiasm and drive as you attribute to the programmers who excel (to your credit, you mention "everything else" is the same, which would include cycling until you pick it out as an anecdote at the end of the paragraph) and that's before achieving a level where they can actually make money on their cycling ability. To run with your analogy though: if programming were like riding a bike, that could do great things for society. There would be a significant portion of the working population that understood the idea of what their computers were made to do and improve their ability ability to leverage these machines to assist them in achieving their tasks even more efficiently. That would be the equivalent to the majority of people who can ride a bike and could use that skill to improve their mobility while saving money for themselves and their local society, improving health,..., reaping all of those benefits that can be achieved from knowing how to ride a bike even if most people who can ride a bike will never be able to live off of their bike riding ability.
- macspoofing 9y ago>There would be a significant portion of the working population that understood the idea of what their computers were made to do You don't need programming for that. A good mental model of modern computing is important but programming is overkill. >improve their ability ability to leverage these machines to assist them in achieving their tasks even more efficiently. Ok but it doesn't work like that. I don't know what kind of utopia you are imagining but it is a pipe dream. I can one up you, society would be far better off if they were more financially literate. Or even better if we got the literacy rate up - you would be surprised by the vast number of people who are functionally illiterate (and I'm not speaking about those for whom English is a second language)
- philippoi 9y agoI agree! Good points. Financial literacy is next on my list, personally (any recommendations?). As charged, it is a utopia I was picturing, but I often like to mentally dabble in that terrain as I find it can expose potential paths forward. Sure, the envisioned Utopia won't be the actual destination, but its artificial brightness makes bumps that I normally easily miss suddenly salient.
- jpttsn 9y agoIs it easy to get to a good mental model of computing, without programming?
- macspoofing 9y agoYes. What I meant by that term are things like the user understanding enough about modern file systems that when they download a file they understand where it's stored as well as typical file CRUD operation. They know enough of the web to reasonably protect themselves from malware and are able to distinguish between a valid site and a generic phishing attempt. They understand the point of a browser or mail client and not think that IE and Internet or Outlook and Email are interchangeable. They are able to diagnose and debug the most basic issues (print job failing to print because the wrong print target was selected, able to understand network connectivity issues vs. application not working). You'd be surprised how many people fail at those very basic computing tasks, and those are the kinds of things people need to know to get their jobs done. Knowing how to program in Python isn't going to do anything for the VP of Business Development.
- hasenj 9y agoIt's not just the passion but the ability to excel at it. I believe it's correlated with IQ. Most people want to believe it's teachable, because stating otherwise sounds cruel and elitist, but I see no reason to believe that it's not innate. If you have it, then learning and practicing can help bring it your potential. If you don't have it, you'll just be frustrated all the time trying to wrestle with the computer.
- psyc 9y agoAs a teacher, I think of innate ability and teachability as separate issues. Innate ability almost certainly (imo) sets an ultimate limit, but there's plenty of room for accomplishment before it's reached. I actually do believe that every programmer is ultimately constrained by individual neurological factors. But I've also taught 'normal' people to code. They may not have what it takes to independently arrive at using BSP tree traversal to solve visibility in a twitch FPS at age 23, but I doubt most working programmers do, either.
- metaphor 9y agoI fail to see the relevance of comparing most working programmers to John Carmack.
- psyc 9y agoProgrammers don't abandon all hope because they aren't John Carmack. For the same reason, people below some IQ threshold shouldn't abandon all hope of contributing to software. There is a lot of different kinds of work needed, and a minimum intelligence level to contribute anything at all hasn't been established, to my knowledge.
- ilaksh 9y agoWell there's built-in cognitive ability and then there are practical skills and knowledge in particular areas. The built-up wiring often factors in more I think. The main feature of intelligence is actually compression. So its like judging the performance of a compression library in the case where you need to add one file to an archive -- you need to factor in the size and contents of the existing archive. https://www.quora.com/Information-Theory-What-is-the-relationship-between-intelligence-and-data-compression-algorithms https://www.quora.com/Information-Theory-What-is-the-relatio...
- snarfy 9y agoI've often felt this way in the past, but with experience I have to disagree. There is a large range of skill needed for various jobs. I've met plenty of people writing software for a living that don't care about software. It's just a job to them. You don't need a PhD to hide in a corner writing test automation for mega corp.
- kochthesecond 9y agoI have to agree here. We must be able to find room for all the people coding to have a job. I love writing code, live and breathe software, but I can't demand that everyone must have this passion. However, a team consisting only of job coders tend to stagnate. We must find the room for both.
- pharrlax 9y agoOn the flip side, even if fixing motorcycles is what you love to do as a hobby, doing it for forty years professionally might be soul-killing and might not pay well.
- denzil_correa 9y agoYou are always going to be at least good enough IF you are good at it.
- FLUX-YOU 9y ago>It's doesn't seem like a skill like riding a bike where you learn it once and then it's just this thing you can pull out whenever (or maybe it just takes longer to get to that point). Sure it is, you just need to see it as a skill that you need to work on and be disciplined about it. There are still a lot of places that can use daily automation that also don't have time/money to go looking for a product. Plenty of people are good at things and do not necessarily love doing that thing. I'm sorry, but having a bleeding-heart passion about programming is not a prerequisite for doing well and people that make it a prerequisite can turn into toxic, snobby elitists when working with others. The people that go back to their real love just need more time to reach a given plateau compared to someone who does this stuff for 10-16 hours a day and gets a shot of dopamine every time they compile something. Nothing says you can't reach the top without loving it, it's just going to take a lot longer. A lot of businesses just do not care about the extra quality you can put into a code base and when you try to put your passions into something and realize how little people care for anything beyond mediocrity, it can end up killing your passion.
- deleted 9y ago[deleted]
- abuani 9y agoTalent Is Overrated spends a considerable amount of time talking about this topic. Over the past few years, the more I began to reject the notion of passion being a prerequisite to growth, the more adapt I was at switching perspectives to continue to drive growth. There are a remarkable amount of times at work where I have zero passion for my current task, but I can surprise myself with a beautifully written solution. If we remove the phrase passion from being a prerequisite to being a highly competent developer, we can begin to view this problem in a proper context. The issue is we're failing to adequately define how to go from being an apprentice through being a master developer. This gets even murkier when you consider job roles in organizations that do not care about this distinction, but we aught to do our best to define a general framework that anyone interested in could use and apply. We could look at finer art fields and see what principles we could apply. For instance, from music, I learned to love music by playing just difficult enough music to keep me interested, but not hard enough to get frustrated enough to quit. I never had personal teachers because my parents didn't have enough money, but I used my resources the best I could. There came a point after playing music for a number of years that the patterns started to emerge that I began asking the right questions and got lead into music theory. This happened a decade after playing, but within a few months my view of music was forever altered. I called it "just in time learning", and it's something I've tried to do with mentors of my own. There are quite a few topics in computer science that are better learned over time through rote memorization, but the part that I think we're failing to address is giving students a platform to build off of on their own. Every reputable fine art program makes extensive use of studio time where students are given ambitious projects with loosely defined parameters in conjunction with their theoretical courses. The supplement each other and provide the bedrock for a young artist to grow on. What I'm failing to articulate is, passion is not mandatory to learn. In fact, I would say if used inappropriately, it can be destructive to a new learner of a skill. Once they hit their first brick wall and have no one to turn too, they might feel they aren't passionate enough and give up. When in reality, if they were given a different perspective, they might have easily overcome the challenge and moved on. Not every skill set can be sexy, and not every task can be passionate. The man that is responsible for tuning concert pianos with a live crowd are extremely talented, but most are not passionate about tuning pianos. We are looking at this as a problem with students, when in reality the problem is with the program and the teachers.
- zamalek 9y agoI'm pretty sure that anyone could learn to code. However you need an atypical mind (not superior, just different) to truly excel at it. I'm not sure if that comes about due to nature or due to nurture, but both could be out of reach of adults depending on which developmental theories you subscribe to.
- inopinatus 9y agoI think you're perceiving a dichotomy between "excel" and "fail", and then compounding this with conjecture that this is a) correlated to enthusiasm and b) something that needs fixing. From my experience - I've seen many different programmers in many different situations over the last three decades - I think I can recall enough counterexamples to suggest all three points are misperceptions. > "They're just doing it hoping to get a job...." Why can't it just be a day job? By the same token, I suck at programming even though I love it (and have enough experience to fake it).
- pmarreck 9y agoThe folks who do not have an "absolute" love of programming often bring valuable/important things to the IT table that those who DO have that love, do not. They have useful perspectives that end up working in IT in ways that even they probably didn't expect. That's what I've found, at least. They are also less prone to "programming fashions" and behavior such as begging the boss to let them use the latest language on some new project (with associated risk). I say this as a person who DOES have an irrepressible desire to learn more computer languages. I've come to respect those in IT who just get the job done and are less prone to "shiny-thing syndrome"