Live data from Hacker News

The 2 Biggest Mistakes I Made When Learning to Code

suneelius.com

21–30 of 90 posts

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

#21
My biggest mistake was trying to decide which language was most suitable. I kept reading article after article about the advantages of ruby over python, or why nodejs is better than anything else.

In the end I just ended up writing my prototype in PHP (ironically the language that no one recommended - and most hated) simply because it was so simple to jump right in and get started. More so because PHP ran on the server I used to host my static HTML/CSS files.

My first side project is www.youfm.org and its doing great (150k hits, 40k uniques, hundreds of people spending over 5 hours on the site).

So the most important advice I can give is to just pick a language and dive right in. Don't worry about the right language, don't worry about which is the easiest to learn, or scales the best, or anything like that. Just pick any one and start coding.

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

#22

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.

Agree.

Learning the fundamentals doesn't mean not doing actual programming at the same time. You have to code to have a better understanding on the fundamentals.

My personal experience is that after many years of programming, the fundamentals I learned in school still help me get better. There were many such moments that you were digging into some interesting technical topic and you suddenly realized that some fundamentals had another layer of meaning or application you didn't know or I didn't fully understand before.

Also, understanding different types of programming languages, like OOP, FP, logic programming, declarative programming, etc. help improving one's programming skills, no matter what programming you primarily use at work.

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

#23
post #10

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.

Agreed. I am largely self taught as well, and have found a lot of value in reading texts on CS / programming fundamentals : * Computer Architecture * Operating Systems * Algorithms * Data Structures * Database Fundamentals * etc. In addition, more seminal-yet-not-directly-practical books such as SICP are quite valuable. I've been meaning to read TECS (a copy of which is staring at me as we speak), however I have not…

Are these things that were helpful or got you started?

I don't think anyone is challenging the value of studying those topics. It just seems to be general consensus you don't start with them.

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

#24
post #23
post #10

Earlier quoted context omitted.

Agreed. I am largely self taught as well, and have found a lot of value in reading texts on CS / programming fundamentals : * Computer Architecture * Operating Systems * Algorithms * Data Structures * Database Fundamentals * etc. In addition, more seminal-yet-not-directly-practical books such as SICP are quite valuable. I've been meaning to read TECS (a copy of which is staring at me as we speak), however I have not…

Are these things that were helpful or got you started? I don't think anyone is challenging the value of studying those topics. It just seems to be general consensus you don't start with them.

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.

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

#25

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.

That might or might not be ideal theoretically - but it requires an enormous amount of self discipline and persistence if your're on your own.

But I think all self-taught programmers (of which I am one) should set aside some time for the fundamentals once productive in one language.

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

#26
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

True. I think there may be two camps though. It depends on if you want to learn and be able to master the fundamental theories that ground everything or have a more pragmatic approach where you accomplish things using tools you doesn't fully understand.

My example would be: when was the last time you implemented your own merge sort?

True that my knowledge of algorithms benefits me, but maybe all I need to know is that it sorts an unsorted array.

In the end, the best approach most likely depends on the person. Some people need to understand things fully, at the lowest level before they can build on them. Others need to see something in use and be able to play with it to wrap their minds around it. I know I'm personally a combination of the two.

Regardless of the type of person you are though, I think everyone is advocating that you do something to get the ball rolling.

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

#28
As much it pains me to admit it, Nikes' "Just Do It" applies here (and in life) as the author has learned. The procrastination and anxiety that comes with tackling something new can be overwhelming. The task oriented approach narrows focus and makes you think about what you need to learn. Fear is also a great motivator especially when your lead is breathing down your neck with a 'JGID - just get it done' attitude. :)

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

#29
post #24
post #23

Earlier quoted context omitted.

Are these things that were helpful or got you started? I don't think anyone is challenging the value of studying those topics. It just seems to be general consensus you don't start with them.

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.

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

#30

Yeah, away with all that crap, just use Django already! Good decision.

I'd be wary of recommending Django to a beginner, unless their project definitely required it.

Flask is lightweight, simple, and you can understand most of it in a very short period of time. I'd say it taught you to code more, whereas Django teaches you to use Django.

Post reply on HN