Live data from Hacker News

Learn to Code, It's Harder Than You Think

mikehadlow.blogspot.com

31–40 of 197 posts

Re: Learn to Code, It's Harder Than You Think

#31

I liken coding to playing a musical instrument. Some people are musically inclined, they can learn easily and fast and they tend to the best. But most people require some level of training complimented by the dedication of what amounts to mostly self-practice. So in a way, you're self taught. The vast majority of people are willing to buy an instrument, just to see if they are musically inclined, but when they find o…

I've always used this comparison too. Of course this same explanation can be used for many fields and career choices, but for technical fields I think it's easy to make this comparison. It's important to point out exactly what you just said though - "the hard way".

It's the whole nature vs nuture argument. I wish I could have told myself many years ago to focus more on my "nuture" side. It's amazing how far you can go when you previously wrote it off as being not naturally inclined.

Re: Learn to Code, It's Harder Than You Think

#32
I agree with the author that boot-camps and the learn-to-code attitude teaches people generally that they could easily "do it if they wanted". This is slightly different to the intended message which is "you should do it, we can help".

Historically for me, I'm sure that kind of attitude pushed my clueless bosses into thinking I'm some kind of semi-skilled lackey that can readily be replaced with outsourced staff or graduate hires. It's kind of a self feeding one, because if they do outsource it works for a while, until a kind of critical mass happens and it starts falling apart. The confirmation bias after making this call also makes it almost impossible to undo.

I'd disagree on one point - and that is that programmer is a synonym for software developer. It's one thing coding yourself up some scripts at home, another thing altogether building a reliable, scalable technical solution within a (possibly large) team. All software developers are programmers, but not all programmers are software developers.

Re: Learn to Code, It's Harder Than You Think

#33

I feel like the discussion around this post will suffer from a lack of specificity over what a 'software developer' is. Someone who works primarily on small javascript web applications has a really different job from someone who works on a large application built on a LAMP stack, or someone who writes complex iOS applications, or someone designs self-driving car software for Google, or someone who works on embedded s…

> Each of these jobs probably have a particular set of paths that lead to them.

I think the commonality is that at the minimum you need to be able to read English at a proficient level, which weeds out the vast majority of American adults.

Re: Learn to Code, It's Harder Than You Think

#34
The article makes good points but is a little harsh... of course mastery takes aptitude and practice and it is ridiculous to think that you could learn anything even remotely complex in an hour or a day.

But the "learn to code" efforts that are referenced serve the important purpose of exposing people who might have aptitude to the idea that they can realize that aptitude. I imagine that people without the prerequisite aptitude would just quit because it wouldn't interest them, and those who can cut it would continue on auto-didactically. I'm not trying to be too critical, but criticising those efforts with the idea that "it is hard, you probably can't do it" is unhelpful at best.

Re: Learn to Code, It's Harder Than You Think

#35

There's a big gulf between knowing how to code and working as a professional software developer. I'm a writer for a marketing agency, but I write Google App Scripts, JavaScript, and PHP on a regular basis to automate tasks, try out ideas I have, etc. There's no way I could work as a professional software developer, but I know how to code enough to help make my professional/personal life easier and more fun. Isn't the…

Err, yeah, you could work as a professional programmer if you wanted to.

You can code. The whole point the article is trying to get across is that a lot of people are simply unable to learn how to code. You've learnt. You CAN become a professional.

You just don't realize it.

The step you've taken is the hard one. In fact, there's another big dirty secret in programming.

A load of professional programmers aren't able to do what you can do, they can't make new programs. They can only modify existing programs. Making new programs is beyond them (or at least takes them an inordinate amount of time). Automating scripts to make their job easier is something that they would take weeks to do.

EDIT: I'm not sure I agree with the article though, I've heard several arguments that we simply teach programming badly. Especially in universities.

Re: Learn to Code, It's Harder Than You Think

#36
> All the evidence shows that programming requires a high level of aptitude that only a small percentage of the population possess.

No such evidence, at least not in any respectful sources.

> will do nothing to help the skills shortage

Who said that this is the immediate goal of teaching as many people as possible to code?

> Given the skills shortage one would expect graduates from computer science courses to have very high employment rates.

This logic is broken on so many levels that it's even embarrassing to comment. Let's start with a trivial nitpicking that Computer Science education got nothing to do with the Software Engineering.

> there are two populations: one that finds programming a relatively painless and indeed enjoyable thing to learn and another that can’t learn no matter how good the teaching

It is really embarrassing that the guy who wrote it calls himself a programmer - i.e., someone who is supposed to be logical and rigorous.

There are far more categories that these two. And the most important category, targeted by all the programmes he's mocking, is the people who do no even know if they'll find programming enjoyable, because they never tried.

Re: Learn to Code, It's Harder Than You Think

#37
I think a large number of your 'self-taught' results come from the fact that developing software is a profession where you always have to be learning, or you won't be good. I have not met any programmer who has said competently (and who actually are) I know everything about X. There is always learning to do in this world, and in most cases, you are either learning as a group, on the job training, or self taught. To an extent, being self taught will fall into all of those categories. The people who show up to meet ups to learn are the ones who want to go home and experiment with new things and practice their craft. The programmers who expect to just learn something then shut off and treat their day job as a 9-5 gig are the ones who fall behind quickly and become 'bad'. This is not the industry that allows for that. For example, the Web right now is the wild west, 6 months ago you built something yet now, that's no longer the best way to do it.

Many other professions are the same way, even the doctor example. They constantly have to be learning to be great and the ones who stop 'learning' and teaching themselves are the doctors I wouldn't want to treat me.

I also see, across many professions, the ones who are at the top of their profession are the ones who have the ability to teach themselves. In college, you learn very quickly how you learn. Some students have a very hard time learning new concepts on their own, they must attend a lecture and have interaction with the professor. However, on the other side of it, some students get very little benefit from lecture. I would know, I was that way. In a lecture I would always be doing something else, that's if I even went to the lecture. I much preferred to teach myself, and when I run into something I didn't understand, I found the resources that made sense to me to understand something. This is what you have to do in the real world. Every student needs to have the ability to do this in any profession. There is no, 'I finished school, I'm done learning...'. You will be mediocre at your job at best if you have that mentality.

So yes, programming is hard, being a doctor is hard, being the top percent of ANY profession is hard.

Re: Learn to Code, It's Harder Than You Think

#38
" The majority of the population can not learn to code at all, no matter how much training they receive."

What an arrogant, false, and self-aggrandizing fiction. Stop over-valuing yourself -- coding isn't some ultra-difficult natural selection process equivalent to winning an NBA Championship.

Designing complex services, scaling and maintaining them on a server stack is hard. Developing, training, and shipping a useful deep-learning network and making it into a useful product is hard. Coding is not hard.

I get sad when engineers, especially ones who's tone seems vaguely threatened, start writing up these discouraging blog posts belittling 'noobs'. Its a pleasing fiction that software engineers are just 'naturally better' and therefor their jobs are ensured. I think that anyone who says this has likely not been in the industry for very long -- because they would have seen scores and scores of devs left behind due to not training up and getting beaten out by upstarts who teach themselves and do well.

Re: Learn to Code, It's Harder Than You Think

#39

There's a big gulf between knowing how to code and working as a professional software developer. I'm a writer for a marketing agency, but I write Google App Scripts, JavaScript, and PHP on a regular basis to automate tasks, try out ideas I have, etc. There's no way I could work as a professional software developer, but I know how to code enough to help make my professional/personal life easier and more fun. Isn't the…

Err, yeah, you could work as a professional programmer if you wanted to. You can code. The whole point the article is trying to get across is that a lot of people are simply unable to learn how to code. You've learnt. You CAN become a professional. You just don't realize it. The step you've taken is the hard one. In fact, there's another big dirty secret in programming. A load of professional programmers aren't able…

Definitely. Maybe not a senior level dev at Google, but if you can do enough to automate tasks, you can almost certainly do enough to get hired as a junior dev somewhere.

Re: Learn to Code, It's Harder Than You Think

#40

I feel like the discussion around this post will suffer from a lack of specificity over what a 'software developer' is. Someone who works primarily on small javascript web applications has a really different job from someone who works on a large application built on a LAMP stack, or someone who writes complex iOS applications, or someone designs self-driving car software for Google, or someone who works on embedded s…

Someone who works primarily on small javascript web applications has a really different job from someone who works on a large application built on a LAMP stack, or someone who writes complex iOS applications, or someone designs self-driving car software for Google, or someone who works on embedded software for pacemakers, or someone who writes operating systems or designs programming languages.

Do they?

If your job is primarily about taking other people's work and writing code based on it then, in my opinion, you don't really build software. You write code. There's nothing whatsoever wrong with that, but it's definitely different. Building software is much more than writing code.

Software development is working out what a problem is, what the solution to the problem is, and how to implement that solution on a computer. There should be time spent talking to users, gathering requirements, writing specifications, designing a user experience, developing a test strategy, thinking about stuff, writing documentation, and, at the end, a bit of coding. The non-coding side of software development isn't especially different between specialisms. So, really, software development in the sense of everything necessary to make a piece of software does require approximately the same set of skills.

That said though, the knowledge required in any given part of the software industry is very different. A web developer needs to know very different things to someone doing graphics or embedded development.

Post reply on HN