Learn to Code, it's Harder than You Think

  • (2 Pages)
  • +
  • 1
  • 2

19 Replies - 6479 Views - Last Post: 26 December 2015 - 05:28 PM

#1 Curtis Rutland   User is offline

  • (╯°□°)╯︵ (~ .o.)~
  • member icon


Reputation: 5104
  • View blog
  • Posts: 9,283
  • Joined: 08-June 10

Learn to Code, it's Harder than You Think

Post icon  Posted 09 December 2015 - 11:06 AM

*
POPULAR

Saw this on Reddit about a week ago, and thought it was worth sharing:

http://mikehadlow.bl...-you-think.html

The gist is, lately there's been a movement to try to expose everyone (or as many people as practical) to programming. We've seen books that claim to be able to teach you to program in anywhere from a few days to a few weeks, and lately there have been a lot of "code bootcamps" that claim to be able to do the same thing.

This author posits that programming is not something anyone can just learn to do. I think we've all seen this ourselves; no matter how much effort you put into teaching someone, sometimes they're just not going to get it.

Some highlights:

Quote

We are left with a very strange and unexpected situation. Formal education for programmers seems not to work very well and yet the majority of those who are successful programmers are mostly self taught. On the one hand we seem to have people who don’t need any guided education to give them a successful career; they are perfectly capable of learning their trade from the vast sea of online resources available to anyone who wants to use it. On the other hand we have people who seem unable to learn to code even with years of formal training.


Quote

If we accept that programming requires a high level of aptitude, it’s fun to compare some of the hype around the ‘learn to code’ movement with more established high-aptitude professions. Just replace ‘coder’ or ‘coding’ with ‘doctor’, ‘engineer’, ‘architect’ or ‘mathematician’.

  • “You can pick up Maths in a day.”
  • Start surgery this year, it’s easier than you think!
  • skyscraper.org aims to help demystify that architecture is difficult.
  • “The sons and daughters of miners should all be learning to be lawyers.”


I don't necessarily agree with all of his conclusions, but it's a very interesting article nonetheless.

Is This A Good Question/Topic? 7
  • +

Replies To: Learn to Code, it's Harder than You Think

#2 jon.kiparsky   User is offline

  • Beginner
  • member icon


Reputation: 11392
  • View blog
  • Posts: 19,432
  • Joined: 19-March 11

Re: Learn to Code, it's Harder than You Think

Posted 09 December 2015 - 11:33 AM

Amen - I've been sounding off on this for a few years. In my view, the only use for "bootcamp" programs is to identify imbeciles so you can more easily avoid hiring them.
Was This Post Helpful? 1
  • +
  • -

#3 Curtis Rutland   User is offline

  • (╯°□°)╯︵ (~ .o.)~
  • member icon


Reputation: 5104
  • View blog
  • Posts: 9,283
  • Joined: 08-June 10

Re: Learn to Code, it's Harder than You Think

Posted 09 December 2015 - 11:43 AM

If it's a bootcamp on a particular subject, they're not too bad. I went to one for ASP.NET MVC when it was a new thing, but it wasn't billed as "Learn MVC From Scratch", it was for people already familiar with ASP.NET.

But the ones that claim to take a "non-programmer" and give them all the skills they need to get a job are all bullshit.

But I've long believed that there are "personality types" that will help or hurt you learning various concepts. Programming is just a concrete application of logic. If you can formalize your ideas into logical expressions, programming is just learning new names for things you already know. If you're not one of those people, you can try to learn for as long as you want; you'll memorize things, but you won't be able to extend on most of the concepts.

I believe the same thing for most kinds of learning. Learning to play a musical instrument, for example. You can drill, drill, drill until you can play a song by heart, but if you don't have musical inclination, that drilling isn't going to make it easier to play other songs. If you are inclined, you'll be able to expand on those concepts.

That's not putting programming on a pedestal; it's not implying that we have to be "smarter" than everyone else. It's just literally the way our brains are wired. I'd make a terrible businessman, but I do pretty well programming. Our sales people and traders would make terrible programmers.
Was This Post Helpful? 3
  • +
  • -

#4 AdmSteck   User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 61
  • Joined: 26-November 05

Re: Learn to Code, it's Harder than You Think

Posted 09 December 2015 - 12:22 PM

Personally, I agree with Curtis that bootcamps or "learn x in a day" are better suited for those who already have the background. That being said, I do think there is a need for non-programmers to get a basic understanding on what goes into writing a program and how computers work. Even the most basic knowledge makes it much easier to troubleshoot issues or at least explain the issue to someone doing the troubleshooting for you. As we use computers more and more, this becomes even more important.

Here is a great article that talks more about programmers specifically, but I think the example at the end drives my point home. It is much easier to do a task, like parallel park, if you understand the basics of how things work. The steering of a car in this case.
http://www.hanselman...rogramming.aspx
Was This Post Helpful? 0
  • +
  • -

#5 floppyspace   User is offline

  • D.I.C Regular

Reputation: 48
  • View blog
  • Posts: 256
  • Joined: 04-February 10

Re: Learn to Code, it's Harder than You Think

Posted 17 December 2015 - 02:51 AM

View PostCurtis Rutland, on 10 December 2015 - 02:43 AM, said:

Programming is just a concrete application of logic. If you can formalize your ideas into logical expressions, programming is just learning new names for things you already know. If you're not one of those people, you can try to learn for as long as you want; you'll memorize things, but you won't be able to extend on most of the concepts.


How beautifully put.

From when I was young I spent many hours playing around on the 64 and Amiga writing small codes and seeing what they would do, now I spend time learning in my spare time for something that may be far fetched; yet I still chase the dream.

For me transport logistics is my forte and the money is for my taking; but to code....

Yes, I have written a few programs but they are nothing worthy of been called a programmer.

*reminisce over*

That is a marvelous statement, I have never seen it written so well.
Was This Post Helpful? 0
  • +
  • -

#6 baavgai   User is offline

  • Dreaming Coder
  • member icon


Reputation: 7382
  • View blog
  • Posts: 15,312
  • Joined: 16-October 07

Re: Learn to Code, it's Harder than You Think

Posted 17 December 2015 - 05:59 AM

View PostCurtis Rutland, on 09 December 2015 - 01:43 PM, said:

I believe the same thing for most kinds of learning.


Completely agree. Curiously, I often offer my experience with playing a musical instrument as an example. Saxophone, band, marching band, etc. I could do what was expected of me. Given enough time and repetition, I could do it reasonably well. But, frankly, I sucked at it. For years. Meanwhile I got to observe people who were very good at it. They also worked hard, probably harder than I, but more at getting better than struggling for mediocrity.

First year college I ran into a brilliant senior. She was dual major biochem with a minor in mathematics. I ended up tutoring her so she could get through a computer science 101 class and keep her 4.0 GPA! It was interesting in that she immediately understood everything I showed her but had issues getting from A to B on her own. It wasn't about intelligence or even just logical thinking, she beat me in both qualities. Rather, her thought processes and programming didn't mesh well.

Of note, I've found Engineers ( who I work with frequently ) are generally crappy programmers. They're smart, they understand, they can figure out someone else's code, but they just don't seem to think it a way that makes programming come naturally. Actually, I find engineering types a fascinating contrast to programmer types. There are a lot of similarities, which makes the differences striking.
Was This Post Helpful? 1
  • +
  • -

#7 turboscrew   User is offline

  • D.I.C Lover
  • member icon

Reputation: 171
  • View blog
  • Posts: 1,104
  • Joined: 03-April 12

Re: Learn to Code, it's Harder than You Think

Posted 17 December 2015 - 07:06 AM

Maybe the "intelligence" vs. programming comes from the thing that programming is more like linguistics than mathematics. Of course programming languages look a lot like formal languages, but they also have object language that abstract formal languages (math) - by definition - don't have.

I think programming a bit like modeling and the description of a model is written in the programming language.
Was This Post Helpful? 0
  • +
  • -

#8 felgall   User is offline

  • D.I.C Regular

Reputation: 68
  • View blog
  • Posts: 365
  • Joined: 22-February 14

Re: Learn to Code, it's Harder than You Think

Posted 20 December 2015 - 01:43 PM

View Postbaavgai, on 17 December 2015 - 10:59 PM, said:

Of note, I've found Engineers ( who I work with frequently ) are generally crappy programmers.


Engineering is mostly science while programming is mostly art.

They don't even try to teach one half of programming - problem solving - in almost all programming courses because either the person has the ability or they don't. Learning a given programming language syntax is the easy part of programming (and of course many people have trouble even understanding that part because they can't think logically).

Those who don't have a talent for programming can end up with a program 50 times longer to achieve the same result simply because they don't have the ability to "see" the way to solve the problem directly. The most difficult part of explaining a program to most people is to be able to backtrack and work out an explanation of why the solution works.

A good programmer needs both intuition and logic and while some logic can be taught, most people don't think logically.

This post has been edited by felgall: 20 December 2015 - 01:44 PM

Was This Post Helpful? 1
  • +
  • -

#9 turboscrew   User is offline

  • D.I.C Lover
  • member icon

Reputation: 171
  • View blog
  • Posts: 1,104
  • Joined: 03-April 12

Re: Learn to Code, it's Harder than You Think

Posted 20 December 2015 - 02:58 PM

Quote

...most people don't think logically.

I agree 100%.

And it's easier to teach/test something tangible than abstract stuff.
Even if the abstract stuff is much more important.

It's also different thing to write a working program or to engineer software. In the first case pretty much any trick goes, but in the latter case one must think of robustness, maintenance etc.
Was This Post Helpful? 2
  • +
  • -

#10 felgall   User is offline

  • D.I.C Regular

Reputation: 68
  • View blog
  • Posts: 365
  • Joined: 22-February 14

Re: Learn to Code, it's Harder than You Think

Posted 20 December 2015 - 03:06 PM

View Postturboscrew, on 21 December 2015 - 07:58 AM, said:

It's also different thing to write a working program or to engineer software. In the first case pretty much any trick goes, but in the latter case one must think of robustness, maintenance etc.


Definitely. Often a properly written program ends up with over half the code validating the inputs.

This is even more common with good programmers who have good problem solving skills. Actually solving the problem in the most effective way can require very little code at all and then the vast majority of the code ends up being the input validation.

Input validation is also something that tends to get skipped over in most classes that tend to concentrate on teaching the syntax needed for the actual processing part but only briefly if at all mention the rather repetitive input validation part. This is particularly common with the books and web sites that most self taught programmers use - resulting in most amateur programmers leaving out the most important part of the code and then wondering why they have so many security issues.
Was This Post Helpful? 0
  • +
  • -

#11 turboscrew   User is offline

  • D.I.C Lover
  • member icon

Reputation: 171
  • View blog
  • Posts: 1,104
  • Joined: 03-April 12

Re: Learn to Code, it's Harder than You Think

Posted 20 December 2015 - 03:15 PM

Also teaching the paragigm of the language is usually left out.
Worst I've seen this far was a Pascal-program written in Lisp.
Not even Common Lisp, but Franz-Lisp.
Iteration through a table in Lisp is not for the eyes of children. ;-)
Was This Post Helpful? 1
  • +
  • -

#12 NeoTifa   User is offline

  • NeoTifa Codebreaker, the Scourge of Devtester
  • member icon





Reputation: 4403
  • View blog
  • Posts: 18,883
  • Joined: 24-September 08

Re: Learn to Code, it's Harder than You Think

Posted 23 December 2015 - 07:40 AM

I was onboard until I read this

Quote

Take Object Oriented programming for example. In the 2000’s, it seemed to be establishing itself as the default technique for enterprise programming, but now many people, including myself, see it as a twenty year diversion and largely a mistake.

Was This Post Helpful? 1
  • +
  • -

#13 jon.kiparsky   User is offline

  • Beginner
  • member icon


Reputation: 11392
  • View blog
  • Posts: 19,432
  • Joined: 19-March 11

Re: Learn to Code, it's Harder than You Think

Posted 23 December 2015 - 08:25 AM

I agree, Neo, that's a strange aside. However, I think the main thrust of his argument is sound. The idea that "anyone can learn to write code" is not completely insane, of course. I managed it, after all, and I'm not that much smarter than anyone else. However, the "...and they can do it in three months" part, the bootcamp idea, is completely insane and the people pushing that should be metaphorically shot in the metaphorical head. There's a huge demand for programmers, and we need to get more people learning how to be programmers, but that's not about learning to fiddle around with bootstrap. People who don't understand algorithmic complexity are worse than useless to me, they're a positive liability on my team.
Was This Post Helpful? 0
  • +
  • -

#14 astonecipher   User is offline

  • Senior Systems Engineer
  • member icon

Reputation: 2737
  • View blog
  • Posts: 10,909
  • Joined: 03-December 12

Re: Learn to Code, it's Harder than You Think

Posted 23 December 2015 - 10:45 AM

The idea that the bootcamps will work as proposed is exactly the rhetoric put out by profit colleges. You too can do X in only 9 months. At the end of the 9 months, best case you make $10 and didn't actually need school in the first place. Worst case, you are not hirable with no actual experience. Yet, the school still got their $20 - $30k for pushing you through.


I would NEED someone with more experience then a few months of learning syntax on my dev team to actually feel they were not a hindrance.

Quote

see it as a twenty year diversion and largely a mistake.

Seems very set in his ways!
Was This Post Helpful? 0
  • +
  • -

#15 ben255   User is offline

  • D.I.C Addict

Reputation: 39
  • View blog
  • Posts: 510
  • Joined: 09-September 13

Re: Learn to Code, it's Harder than You Think

Posted 26 December 2015 - 04:14 PM

its not that hard to learn imo, the hard part for me anyway is to make something happen with the knowledge you have. working for years makeing apps and games, yet never really happy with what you have made, you learn something new and just trash the current project and restart. the motivation flickers and when you get back up again, trying to work and make something good and something you are proud of that maybe could bring in the dollars.
still going at it round 200-+ something.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2