Live data from Hacker News

The 2 Biggest Mistakes I Made When Learning to Code

suneelius.com

31–40 of 90 posts

Re: The 2 Biggest Mistakes I Made When Learning to Code

#31
YMMV But I typically do #1 when learning / starting anything I don't know about. That is I some proportional amount of time googling/wiki reading/pinging friends for all the info/standards/tools/libs around subject. Review* them for worth, spend more time with ones that pass.

It is very helpful to have a idea of the breadth of and resource for a subject.

Review typically means "experimental coding". The 2nd point "start coding now" is a Truism. Just don't start coding "production". Learn some, think, first.

Re: The 2 Biggest Mistakes I Made When Learning to Code

#32

Congrats on learning to code but the biggest mistakes new hackers are making is diving right into learning a specific lang. Learning programming fundamentals is a better way to go. That way, you can jump from lang to lang. Starting is hard so congrats again.

We all have different ways of learning. When it comes to programming, learning the fundamentals first can save a lot of time and frustration. Not everyone can pick a language and start learning right away.

I think a better way to start is by learning the fundamentals like: - variable declarations - if statements - loops - functions

Those fundamentals are the same whether you're doing backend coding or frontend javascript.

Remember, it's all syntax.

Re: The 2 Biggest Mistakes I Made When Learning to Code

#33
post #14

Congrats on learning to code but the biggest mistakes new hackers are making is diving right into learning a specific lang. Learning programming fundamentals is a better way to go. That way, you can jump from lang to lang. Starting is hard so congrats again.

I disagree. You didn't learn to talk by studying rhetoric. You imitated sounds and words that people made around you. Then you started being able to express your own ideas. Then, maybe, you learned how to say things well. It's the same with computers. While some people may enjoy learning deductively about abstractions like algorithms and paradigms, studies have shown that most people learn inductively, by having some…

Human speech is a bad analogy. A better analogy would be grammar and spelling, which would make OP's argument stronger. The very argument you disagree with.

Truth is, you first learn the basics of speech communication. You understand sounds come from your mouth and given a specific cadence and tone you can form words to get what you want. This is no different than understanding the basic principals of computer programming. Principals all computer languages use. Specifics of the language (syntax, grammar, spelling) is something that can be mastered later, but without the principals, you're not going to master anything. This is a major reason why there are so many bad PHP examples out there. People don't learn to program, they learn to write PHP code poorly.

Re: The 2 Biggest Mistakes I Made When Learning to Code

#34

Congrats on learning to code but the biggest mistakes new hackers are making is diving right into learning a specific lang. Learning programming fundamentals is a better way to go. That way, you can jump from lang to lang. Starting is hard so congrats again.

I agree to an extent, but this shouldn't be construed to mean what I think is a bigger mistake that new programmers[1] make: bounce around from language to language when you're still trying to learn how to program. I made the same mistake when I was learning. The language is (largely) irrelevant, so by trying to learn Ruby when you've barely learned C (vice-versa, whatever), all you're doing is overloading yourself with syntax, when you should be focusing on nailing down the syntax of some language, (essentially) any language, so that you can begin to focus on learning how to program and not what the asterisk means in that context.

[1] Tagent: am I the only one who hates "code" as a verb and "coder" as a noun? It makes it sound so rote, and reminds me of "code monkey." I'll take programmer/developer/hacker/engineer.

Re: The 2 Biggest Mistakes I Made When Learning to Code

#36
post #9
post #5

Great insight. Every time someone says, "I want to learn to code." They should have a project/task in mind and just go. The stack that Suneel lays out is a good foundation for web dev, but as he admits, he like many others invested more time than was necessary in books/documentation/tutorials. More people need to just jump in. If you get to a point that you want a feature from jQuery, look it up and implement it, but…

>Every time someone says, "I want to learn to code." They should have a project/task in mind and just go. If there was a list of software projects somewhere, ordered by difficulty, with tips on how to get started and how to extend it later, I would be very interested. I can code (somewhat), but I find that any time I have an itch to scratch, it's much easier to google it and solve it through existing software and con…

What do you wish existed and build that?

Oh, it's too big?

Build a piece of it.

Oh, that's too big?

Build a piece of it.

The problem you're probably having is that you're saying, "I want THIS" and THIS is too big for you to imagine. So, just write a small subset, maybe 3% of that. Then you'll realize you can easily build this next little bit over here or over here and eventually get there.

Re: The 2 Biggest Mistakes I Made When Learning to Code

#37
post #19

Earlier quoted context omitted.

I agree and disagree... Learning the fundamentals is important, but one must put the theories in to practice by learning a language, writing some code, making mistakes, correcting them, and learning how the fundamentals work in practice.

thats why cs courses has projects, to test the theories in to practice, the good thing about fundamentals is that it teaches you that the language its not an end for it self instead its just a tool to express yourself

Speaking only for myself, I "learned to code" six years before I got to college to study CS. CS taught me a bunch about what I was doing right and what I was doing wrong. My first paid programming job, as a senior/first-year master student taught me what all that meant when applied to what a business operation needs from its coders.

Learning to code, means being able to write a o(n^2) sort, not necessarily being able to tell why that algorithm is bad, or what O(n^2) means.

Re: The 2 Biggest Mistakes I Made When Learning to Code

#38
I think the problem is a lot of people jump in, start coding and then never go back and learn about the nuances of a language.

Case in point was myself when I was learning Javascript. Sure, I could get the JS to do what I wanted, but it was clunky, used a lot of memory and was slow. Fast forward a few years and I've gone back and read Crockford's books several times, and with more studying, I've gotten much better at writing JS. I now try and make my JS as lean and as fast as possible. It's a totally different approach then when I started.

The problem is thinking once you know how to do something, you're done. Like a friend once told me, "You don't learn to be a programmer, you learn to be a student of the language you choose."

Re: The 2 Biggest Mistakes I Made When Learning to Code

#39
post #7

Best quote in the article: There are so many benefits to jumping right in. You’ll quickly get over any fear you may have of programming. You’ll start seeing the fruits of your labor right away.

This did it for me. I've been having this exact same thought for the past two weeks. After hitting development bottlenecks on my last project, I committed to learning to code to the point where I could hack together functional prototypes. I've been training by manual, and was just speaking with a friend about how dry it is and the fact that I'd be more fulfilled working on a project and couldn't wait for that. We hav…

This is such a nice comment and I'm glad my post could help! Good luck hacking on that project. Let us know how it goes. I'm sure you will learn a ton :)

Re: The 2 Biggest Mistakes I Made When Learning to Code

#40
post #29
post #24

Earlier quoted context omitted.

I suppose it depends on how started is defined, but yes - having an understanding of the topics I mentioned preceded working as a junior developer.

What was the order of learning for loop, function and class? Did those proceed architecture, algorithms, data structures, etc...? Personally, the challenge of learning the more base knowledge and gaining a deeper understanding of computer science is that until you are really good at making things, you honestly cannot tell the difference.

We can certainly agree to disagree, but I don't think that being "really good at making things" is a pre-requisite to understanding some of the principles underlying said "things". In many ways they are related-yet-distinct disciplines (Computer Science vs. Software Engineering).

I readily admit that I may suffer from some bias in this regard, since I find more abstract topics to be a lot of fun. There are many roads to Rome, however this is one that I personally found to be useful.

Post reply on HN