• The programming talent myth
    76 replies, posted
[video=youtube;hIJdFxYlEKE]http://www.youtube.com/watch?v=hIJdFxYlEKE[/video]
I know this is going to sound a bit mean, but can you give us a rundown of what this video is about? I'm a programmer, but I don't know if I want to spare 35 minutes of my day for something vague.
[QUOTE=Stopper;47624136]I know this is going to sound a bit mean, but can you give us a rundown of what this video is about? I'm a programmer, but I don't know if I want to spare 35 minutes of my day for something vague.[/QUOTE] Basically saying that too many people have a mindset of "shit or godly programmer" and nobody recognises the group in the middle. The "perfectly adequate" programmers which make up the large majority of programmers aren't trying to get jobs because they're worried they don't fall into that top 10% of super programmers.
To be honest, I'm a shit programmer; to program ANYTHING, I have to look up the API. Always. When I do, I can program near anything though. I don't know where I was going with that.
[QUOTE=TheNerdPest14;47624420]To be honest, I'm a shit programmer; to program ANYTHING, I have to look up the API. Always. When I do, I can program near anything though. I don't know where I was going with that.[/QUOTE] Uh, that's what most programmers do. To build something you gotta get the blocks to do so, and only those with supreme memory or those who have been programming in a language for a long time can do it without an API.
[QUOTE=TomoAlien;47624454]Uh, that's what most programmers do. To build something you gotta get the blocks to do so, and only those with supreme memory or those who have been programming in a language for a long time can do it without an API.[/QUOTE] This is also why most programmers have 20+ tabs open in their browser for Google and StackOverflow. It's normal to have to look things up; we're human programmers, not machines.
[QUOTE=lilguy;47624497]This is also why most programmers have 20+ tabs open in their browser for Google and StackOverflow. It's normal to have to look things up; we're human programmers, not machines.[/QUOTE] Heck my course had a python exam and we could use any websites for help, we just couldn't talk to people in the room or online.
kind of relevant but when i had my review at work, my reviewer had a chat with me about his thoughts on soft skills and being socially competent. in his words 'shit hot programmers are a dime a dozen around here, we would rather have someone well balanced and can do a good job in all aspects rather than the best programmer in the world that breaks into a nervous sweat whenever anyone talks to them, or has a nervous breakdown if they need to present something to a room of people'
Well, that made me feel better about entering the field of programming.
[QUOTE=TheNerdPest14;47624420]To be honest, I'm a shit programmer; to program ANYTHING, I have to look up the API. Always. When I do, I can program near anything though. I don't know where I was going with that.[/QUOTE] That's normal. The more you use an API, the more comfortable you'll be with it and have to look things up less. [QUOTE=ScottyWired;47624663]Heck my course had a python exam and we could use any websites for help, we just couldn't talk to people in the room or online.[/QUOTE] While you can look up things, you should still know enough to not have to look up everything.
I don't know, I tried playing around with C# scripting in Unity and I was just staring at the example code as if I was brain-dead. I completely lack the understanding of the basic theory of coding. I mean how does the virtual code I type in get interpreted, how to organise your project, and how to make all of the systems work together not to mention the crazy math algorithms needed to create the most basic of things. Maybe I'm just stupid.
After almost a year of programming in Java I came to accept the fact that you have to look up stuff all the time, memorizing all this stuff either requires you talking in Java in real life or having photographic memory. I believe its normal. The only thing that matters when you want to be a good programmer is critical-logical thinking.
[QUOTE=Buck.;47625042]I don't know, I tried playing around with C# scripting in Unity and I was just staring at the example code as if I was brain-dead. I completely lack the understanding of the basic theory of coding. I mean how does the virtual code I type in get interpreted, how to organise your project, and how to make all of the systems work together not to mention the crazy math algorithms needed to create the most basic of things. Maybe I'm just stupid.[/QUOTE] I think that part of the problem might've been that you jumped straight into Unity. I've never messed with Unity scripting before, so I might be wrong, but usually working within another system adds a whole load of stuff specific to the engine or whatever on top of the existing language that you need to understand and deal with. It's like trying to learn Java by programming an android app: Possible yes, but probably annoying and with more "leap of faith" moments where you've got no idea what the things you're typing do. I'd suggest looking up a tutorial for raw C# or some other beginner-friendly language and then following that until you're comfortable, then taking a look at Unity again. Like any other skill, programming takes time to master, and sometimes a lot of that time is spent on really "baby steps" things in the beginning. But it's IMO one of the most rewarding things you can do once you start getting things to work. So many "Aha!" moments that just feel so great.
[QUOTE=TheNerdPest14;47624420]To be honest, I'm a shit programmer; to program ANYTHING, I have to look up the API. Always. When I do, I can program near anything though. I don't know where I was going with that.[/QUOTE] OH NO you don't know the unique names for procedures for a unique api! That's like being afraid to go to a new city because you don't know the street names and where each building is
[QUOTE=Dark RaveN;47625154]After almost a year of programming in Java I came to accept the fact that you have to look up stuff all the time, memorizing all this stuff either requires you talking in Java in real life or having photographic memory. I believe its normal. The only thing that matters when you want to be a good programmer is critical-logical thinking.[/QUOTE] How I got into programming when I was confused by everything else: I started learning C in vim in my first computing class in college. We went from basic input and console output, to working with text files, and then going over pointers, arrays, etc. I haven't left console windows yet, but it's a good place to start the basics.
It's the same thing with drawing though, if you put your mind to it and practise alot you will be good at it eventually. I hate the word talent, it's like you haven't put effort to achieve the skills you got.
[QUOTE=Dark RaveN;47625154]After almost a year of programming in Java I came to accept the fact that you have to look up stuff all the time, memorizing all this stuff either requires you talking in Java in real life or having photographic memory. I believe its normal. The only thing that matters when you want to be a good programmer is critical-logical thinking.[/QUOTE]Especially if you know more than one language.
It's actually a prevalent problem in most fields based around mathematics and most other things based around intellectual power. I think it's mostly a problem with the elitism deeply rooted in what we call modern day "nerd culture".
[QUOTE=TheNerdPest14;47624420]To be honest, I'm a shit programmer; to program ANYTHING, I have to look up the API. Always. When I do, I can program near anything though. I don't know where I was going with that.[/QUOTE] I think your literally what the video is talking about. You think your shit because you haven't memorized an API. Thing is, you would go absolutely batshit insane if you memorized an API of any large size, like the Windows API. That's what MSDN is for. Its meant to be used as a reference. On top of that, there is no "the" API. The API you use is entirely on a case by case basis. I'm really reaching here, but I think part of the problem is that the education system revolves around memorization. That's all we are trained to do and place a ton of emphasis on it so in order to be a good student, you need to memorize. In reality, in fields like programming, memorization is a very small part of it (you have to memorize the basics, but that's really it). Its all about problem solving and critical thinking. If you can solve the problem at hand effectively, you are at least a competent programmer IMO.
[QUOTE=kirederf7;47625928]It's the same thing with drawing though, if you put your mind to it and practise alot you will be good at it eventually. I hate the word talent, it's like you haven't put effort to achieve the skills you got.[/QUOTE] Not entirely. You could be the most technically skilled painter ever but if you lack the creativity your art won't be on the same level even compared to someone who's not as skilled with a brush but has a really creative mind. Hell, a lot of artforms require creativity and out of the box thinking more than actual skills. To me talent is the ability to put your skillset to use to create amazing things. Talent is not the ability to just pick up a tool and be really good at using it. For example two equally skilled(which can't be measured really) people are competing, one has talent but other does not, the one with talent will produce a much more impressive result compared to the one without it even if their skills are evenly matched. [editline]30th April 2015[/editline] [QUOTE=Demache;47628603] I'm really reaching here, but I think part of the problem is that the education system revolves around memorization. That's all we are trained to do and place a ton of emphasis on it so in order to be a good student, you need to memorize.[/QUOTE] Yeah, schools should shift away from memorizing and instead teach how to find relevant information efficiently. Most of the shit you memorize for tests you forget anyway. Information gathering is a much more valuable skill than memorizing said information.
I learned when I started programming is that it's more about what you can google and not what you know. :v:
[QUOTE=Buck.;47625042]I don't know, I tried playing around with C# scripting in Unity and I was just staring at the example code as if I was brain-dead. I completely lack the understanding of the basic theory of coding. I mean how does the virtual code I type in get interpreted, how to organise your project, and how to make all of the systems work together not to mention the crazy math algorithms needed to create the most basic of things. Maybe I'm just stupid.[/QUOTE] to put this in perspective, let's treat programming as though it were physical art and illustrating to make a simple script/program is to draw some kind of illustration or concept art on a regular piece of paper. there's a lot of concepts you already inherently understand about that environment and what you need to do to accomplish it, so although your first drawing will be shit, you'll at least know you *made* something using Unity and trying to get into C# scripting is like walking into a propmaker's workshop and handed all these shitton of tools you don't recognize nor know how to use, then look at the example code and trying to implement it is like given a blueprint and trying to make a sculpture with all these unknown tools. programming is a long journey that takes years and decades to master, and even a seasoned programmer will still be confused initially by a new IDE(integrated developing environment). the concepts you described are in fact basic and integral to programming, but the fact is that they're hard and difficult to learn on your own. there's a bit of a difference between learning it on your own and actually attending courses and constantly being challenged to scrap up what you can to reach a solution. don't feel bad if you don't understand any of those -- a beginner to programming is expected to make a simple computing script at best. [editline]30th April 2015[/editline] also just extra info but i'm a software engineer in the Bay Area, been in this industry for 2 years but gonna leave school very soon. it takes a while to get into it.
Also having good IDE's with intelligent autocomplete negates most of the need to memorize APIS. I can hack away and it will show me exactly what I need to see.
As an amateur programmer myself, this really is motivating.
I'm doing a CS degree atm and I completely agree. An exam i have next week requires us to learn the entire Ada specification and recite bits on demand. What on earth is the point?
[QUOTE=lilguy;47624497]This is also why most programmers have 20+ tabs open in their browser for Google and StackOverflow. It's normal to have to look things up; we're human programmers, not machines.[/QUOTE] Totally agree. It's really not about memorizing and you should forget even trying. It's about being able to find what you need quickly and efficiently. Good researching skills will allow you to do just about anything. I've only been programming for a few years and I don't have much work experience (which ironically is making it difficult to find a job and get experience yay?), but I've been building and repairing computers for over 20 years. Grew up with them. And one of the first things I learned about software bugs and driver issues is that [B]it pays to know where to look[/B]. Treat programming the same way and you will seriously improve your chances of success. [QUOTE=Occlusion;47630851]I'm doing a CS degree atm and I completely agree. An exam i have next week requires us to learn the entire Ada specification and recite bits on demand. What on earth is the point?[/QUOTE] That is unbelievably useless and an incredible waste of time and energy. Please tell me whoever is making you do this is not a programmer/engineer...
[QUOTE=itisjuly;47628742]Not entirely. You could be the most technically skilled painter ever but if you lack the creativity your art won't be on the same level even compared to someone who's not as skilled with a brush but has a really creative mind. Hell, a lot of artforms require creativity and out of the box thinking more than actual skills. To me talent is the ability to put your skillset to use to create amazing things. Talent is not the ability to just pick up a tool and be really good at using it. For example two equally skilled(which can't be measured really) people are competing, one has talent but other does not, the one with talent will produce a much more impressive result compared to the one without it even if their skills are evenly matched. [editline]30th April 2015[/editline] Yeah, schools should shift away from memorizing and instead teach how to find relevant information efficiently. Most of the shit you memorize for tests you forget anyway. Information gathering is a much more valuable skill than memorizing said information.[/QUOTE] The things is you can learn to be creative, good art school can teach you that. So yeah. I have seen great artists who lacked both skill and creativity and just got there by working their asses of.
[QUOTE=kirederf7;47625928]I hate the word talent, it's like you haven't put effort to achieve the skills you got.[/QUOTE] I don't really understand this sentiment. When I hear that someone is really talented I just envision them as being really good at their craft, but that doesn't mean they were born really good at their craft - they had to work for it.
I'm sorry but while talent is not all it's hyped up to be, it certainly exists and is a factor This applies to any skill, not just programming
[QUOTE=FlakAttack;47631486] That is unbelievably useless and an incredible waste of time and energy. Please tell me whoever is making you do this is not a programmer/engineer...[/QUOTE] I probably wasn't being fair, it's a loose spec. But still, learning exactly how a language handles every caveat is an immense task, and i'll just have to immediately forget it for my next exam 2 hours after :/ The guy is Andy Wellings, leading expert on Real Time System development, knows what he's talking about. Just a bit of a shitty exam.
Sorry, you need to Log In to post a reply to this thread.