Can Everyone Program?

by john76
14 replies
I study C programming in college and it was hard. I barely pass my class. Now I'm trying to teach myself Javescript and again I find the logic problem solving aspect to be very hard.

Programming is two parts the scripting and the problem solving aspect. Some programming language like ruby tend to be more user friendly base upon the script or syntax but still you have to problem solve in order to fix codes or create codes.

For those of you who are professional programmers is it more talent to be a great programmer or just something you just keep plugging away at?

I mean for javascript I was doing some programming problems and I would spend days literal days trying different methods to solve it. I realize I'm not meant to be a programmer because in the real world you would deal with much more complex problems.
#program
  • Profile picture of the author Joe Ray
    I think it comes down to motivation. Just like anything else, if you're motivated, you keep learning.

    Motivation must be connected to creativity. The creative has to trigger the receptive. If it's the other way around, it won't work.
    {{ DiscussionBoard.errors[10856289].message }}
  • Profile picture of the author element121
    A large part of programming is being able to break complex problems down into simpler components. That's how you solve the complex problems.

    Before you start coding, think about how the problem can be broken into parts, what each parts needs to do, how the parts are connected. You should be able to work back from the solution to the problem, then you can start writing code.
    {{ DiscussionBoard.errors[10856874].message }}
  • Profile picture of the author Claire Anderson
    Every fresh developer pass through this problem in the beginning but as they code their logic building skills get better and better. If you will solve problems then your problem solving skills will become better with time. Developing applications is a difficult task. All the experienced developers have one thing in common that they do not give up. Because the issues always arise when developing applications.
    Signature
    {{ DiscussionBoard.errors[10857368].message }}
  • Profile picture of the author CarloD.
    It's not talent, it's like anything.

    Take learning guitar, some may be natural in picking up the concepts and therefor it seems easier ( natural ) to them, however some of the greatest guitar players have spent years and years to be able to play just 1 of their solo's how it sounds today.

    While the natural guy looked up the music/tabs and learns it over a weekend.
    ( however they did not create the original music )

    It's all about practice, and keeping at it.

    For programming, for me, it's all about just starting to write the code ( maybe after some pre planning ) breaking the script, looking at the errors and fixing them.

    The more you do the more you learn, google everything. Try what people suggest in other threads and tweak if you see a smarter or more efficient or simpler approach.

    I mean for javascript I was doing some programming problems and I would spend days literal days trying different methods to solve it. I realize I'm not meant to be a programmer because in the real world you would deal with much more complex problems.
    Done this many times, and sometimes it's the simplest thing that was causing everything to go wrong the whole time. Put it down for a bit, and revisit later.

    Or start fresh with a new approach, maybe you can skip the initial problem with a new approach.

    I've built myself multiple web apps that will never see the light of day that took 100, 200+ hours to build.

    However, today if I were to revisit said web apps, I bet i could do it in half the time, with a smarter approach and more features.

    I would never be able to do such things had i not took the valuable time to problem solve on my own.

    GoodLuck!
    Signature

    {{ DiscussionBoard.errors[10858120].message }}
  • Profile picture of the author john76
    I tried to take an assessment exam for this coding course .(ex Full Stack Academy) I failed miserable. For some of these programming course they only let in the naturally talented for programming.

    For those of you that program know sometimes on job interviews they give a complex programming problem to solve and it's not like you can google it or have days to figure it out.

    Don't get me wrong I'm not saying I'm going to give up but I realize I don't know if I could make a career out of it.
    {{ DiscussionBoard.errors[10858407].message }}
    • Profile picture of the author Joe Ray
      Originally Posted by john76 View Post

      I tried to take an assessment exam for this coding course .(ex Full Stack Academy) I failed miserable. For some of these programming course they only let in the naturally talented for programming.

      For those of you that program know sometimes on job interviews they give a complex programming problem to solve and it's not like you can google it or have days to figure it out.

      Don't get me wrong I'm not saying I'm going to give up but I realize I don't know if I could make a career out of it.
      You should take a look at this article: "Why Can't Programmers.. Program?":
      blog.codinghorror.com/why-cant-programmers-program/

      It's kind of hard to believe, but this article claims that in an interview candidates were giving an easy coding task and only 1 out of 200 candidates could actually write code live without looking up stuff. 199 out of 200 failed because they couldn't write code.

      BTW: I don't think you should think that others are "naturally talented for programming". They may or may not be but that shouldn't concern you. You just learn and try to have fun with it. Don't compare your self to others. If someone is better than you, you ask them to teach you stuff. Learn from them!
      {{ DiscussionBoard.errors[10858899].message }}
  • Profile picture of the author sunsetcoder
    I dont think everyone is good at programming, you can learn the syntax and functions from books and tutorials but logic can be developed by your own.
    {{ DiscussionBoard.errors[10859574].message }}
  • Profile picture of the author PaulE Falcon
    Hi,
    In the initial stages of programming, we may find it difficult but later practice makes you perfect. One person becomes a good programmer my writing codes even when it goes wrong in the beginning. A program has to split into different parts and each part has to evaluate to obtain an expected result. Studying all the syntax and error free coding is another step. While doing so we should make sure that the errors which occur in each of the parts have to be rectified by ourselves. Also, you can review your codes at times which will bring a good result. Finally, practicing data structures, algorithms and design will help you to improve your skills. Hope this gave you an informative idea.
    Thanks you
    {{ DiscussionBoard.errors[10862580].message }}
  • Profile picture of the author wayfarer
    Programming is both skill and knowledge based. The skill part is the patience and problem solving ability, and is more innate than not. For those of us (myself included) that started programming when we were children, the ability to program is much like playing a musical instrument: you never really lose the ability; though the instrument (language) may change over time, the essence remains the same.

    For the rest of the world, who did not start when they were very young, it usually comes down to aptitude, and unfortunately most people just don't have what it takes to be a good programmer. That said, even those without the natural aptitude can make up for it if they just work like dogs to improve. I'm a big fan of the 10,000 hours rule, though it's not hard science, it gives a good idea of the amount of time it takes to truly master a craft.

    The web and bookshelves are filled with material and courses suggesting you can become a programmer in a matter of weeks or months, but this is very misleading and frankly disturbing. It also makes it very difficult to hire good people!

    Read this if you want to learn how to program:
    Teach Yourself Programming in 10 Years
    Signature
    I build web things, server things. I help build the startup Veenome. | Remote Programming Jobs
    {{ DiscussionBoard.errors[10863017].message }}
  • Profile picture of the author javrsmith
    Getting a background in any language is a must. Like wayfarer said, 10K hours of experience is extremely important. More than that, tons of experience in separate languages is often needed. I have over 10,000 hours in each of several languages. Still I doubt I could pass the programming test except for the languages that I'm using today.
    {{ DiscussionBoard.errors[10865494].message }}
    • Profile picture of the author Joe Ray
      Originally Posted by javrsmith View Post

      Getting a background in any language is a must. Like wayfarer said, 10K hours of experience is extremely important. More than that, tons of experience in separate languages is often needed. I have over 10,000 hours in each of several languages. Still I doubt I could pass the programming test except for the languages that I'm using today.
      While I agree that you need solid knowledge and experience in a couple of languages, I do believe that this idea about the 10,000 hour of experience is really "old school".

      You said "I have over 10,000 hours in each of several languages". That's about 20 years, assuming "several" means at least 3.

      Today, the reality is that if you use any tool or library that is older than 2 years, your stuff is so outdated that no one would hire you. The 18 years of experience before that, using ancient, outdated tools is completely irrelevant today.

      Today, you have to be an expert with the absolutely latest technology, otherwise, you're out of the game completely.

      These days some of the top software engineers are still in their 20s. So, this 10K hours per language doesn't make any sense today.

      I am the founder and organizer of a Data Science group with over 300 programmers and data scientists. Most of them are working in prominent positions in the industry. More than 60% of them are under 30 years old. They definitely don't have 20 years of experience.

      My experience is that today, no one is paying us to write code. We are getting paid to solve a problem. And, if you're trying to solve problems with tools from even 3 years ago, you will be 100 time slower and significantly less efficient than the other guys who are using the new tools.

      There is no "one size fits all" 10K hours of experience requirement. You just have to keep learning and solve problems. That's all.

      The future is not like it used to be.
      {{ DiscussionBoard.errors[10865779].message }}
  • Profile picture of the author john76
    That's why I think not everyone can program. It's one thing to write a script and say "hello world", but another to actually develop a complex programming system .

    That's why gifted software developer makes lots of money. Saying that keep learning but it be hard press for a less gifted person to make actually career out of it.
    {{ DiscussionBoard.errors[10865518].message }}
  • Profile picture of the author Mike46
    I think it's natural talent. I tried to learn coding, but find it hard to learn, so I quit it. Not everyone is good at coding.
    {{ DiscussionBoard.errors[10865943].message }}
  • Profile picture of the author Hatuko
    I do believe that to be a good programmer you have to have some talent for it, like for anything else. I have met many programmers who could remember any syntax or whatever by memory and still produce really bad work
    {{ DiscussionBoard.errors[10870160].message }}

Trending Topics