views:

212

answers:

8

For example...

  • I'm learning Java and have started working on a tetris clone to help consolidate my new knowledge.

  • I'm also slowly working through Project Euler to help beef up my problem solving and basic ability to cut some code.

  • I've just started reading through Robert Lafores, Data Structures and algorithms in 24 hours to get a basic understand of the subject.

Does anyone have any more suggestions to add to my list? If you could go back to the beginning of your programming career, what are some of things you might have done to give yourself the edge?

+1  A: 

Read Structure and Interpretation of Computer Programs, including solving the chapter problems.

fatcat1111
+1  A: 

Programming, programming and programming. Learning the other stuff becomes much easier once you are completely confident about writing code.

Lukáš Lalinský
+1  A: 

I'd concentrate on figuring out what kinds of programming you particularly enjoy, and learning to do those things well.

Jerry Coffin
+4  A: 

This article describes the correct approach: Teach Yourself Programming in 10 Years

Roman
I believe this is a good article, though it doesn't focus on answering the question. It only states "it will take a lot of time before you're a good programmer", but doesn't tell you how to start being one
Samuel Carrijo
+2  A: 

Try out as many programming languages as you can to find the ones you like and want to continue working with.

Definitely don't corner yourself in a single or just a few areas. Constantly diversify your abilities (within your interests) by practicing new technologies so that when one of your favorite technologies dies or becomes obsolete, you have something else to work on.

I try new things in programming as much as I can. Many times I find I don't like the new technologies (or practices, etc), but very often I find something intriguing and want to continue learning. This is how I find new things that I like and how I become proficient in many different areas.

Aaron
+1, excellent answer!
missingfaktor
+1  A: 

Make sure you start good habits now, it's easier than trying to change once you've developed bad habits

Read Clean Code by Robert Martin.

Chad
+1  A: 

Take a look at these questions. You will find a lot of nice and helpful similar questions, useful answers, tips and ideas.

mropa
You can do this? How about that.
Stefan Kendall
missingfaktor
@Rahul Thanks for the add
mropa
+1  A: 

Do not limit yourself to one language. Try to learn new languages.

Learning some functional language like Haskell or OCaml would help in intellectual enrichment and will teach you new ways in which you can tackle the problems.

Remember, languages dictate the way you think. So learning multiple languages (with different paradigms) always helps!

EDIT :

...and it also increases your chances of getting hired. ;-)

missingfaktor