Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicate:
I’m having trouble learning

I've been working as an IT consultant for 1½ years and I am very passionate about programming. Before that I studied MSc Software Engineering and had both a part time job as a developer for a big telecom company. During that time I also took extra courses and earned a SCJP certificate. I have been continuously reading a lot of books during the last 3½ years.

Now to my problem. I want to continue learning and become a really, really good developer. Apart from my daytime job as a full time java developer I have taken university courses in, for me, new languages and paradigms. Most recently, android game development and then functional programming with Scala. I've read books, went to conferences and had a couple of presentations for internal training purposes in our local office.

I want to have some advice from other people who have previously been in my situation or currently are. What are you guys doing to keep improving yourselves?

Here is some things that I have found are working for me:

Reading books I've mostly read books about best practices for programming, OO-design, refactoring, design patterns, tdd. Software craftmanship if you like. I keep a reading list and my current book is Apprenticeship patterns.

Taking courses In my country we have a really good system for taking online distance courses. I have also taken one course at coursera.org and a highly recommend that platform. Ive looked at courses at oreilly.com, industriallogic, javaspecialists.eu and they seem to be okay. If someone gives these type of courses a really good review, I can probably convince my boss. Workshops that span over a couple of days would probably be harder, but Ive seen that uncle Bob will have one about refactoring and tdd in 6months not far from here.. :) Are their possibly some online learning platforms that I dont know about?

Educational videos I've bought uncle bobs videos from cleancoders.com and I highly recommend them. The only thing I dont like is that they are quite expensive and that he talks about astronomy for ~10 minutes in every episode.

Getting certified I had a lot of fun and learned a lot when I studied for the SCJP. I have also done some preparation for the microsoft equivalent but never went for it. I think it is a good when selling yourself as a newly graduated student and also will boost your knowledge if your are interested in it.

Now I would like others to start sharing their experiences and possibly give me some advice!

BR Sebastian

share|improve this question

marked as duplicate by haylem, JB King, Jim G., gnat, Walter Nov 16 '12 at 18:27

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1  
Might want to head over to I'm having trouble learning, Learn programming backwards and many others. –  haylem Nov 16 '12 at 17:22

2 Answers 2

Start a blog and invite others to read, critique and generally offer feedback and challenge you. I'm a firm believer in the notion that it's one thing to be able to read and even do something, but true mastery comes when you explain it to others and can answer questions about it on the fly.

You'll find interesting things that you wouldn't expect in blogging. You really have to clarify your thoughts and prepare yourself to defend your positions. People will come along and humble you in the comments by pointing out that the 100 lines of code you posted about could be reduced to a single line if you just had better tooling. You'll also find that posting drives you to do research. It's not enough to know that, say, operation X is a bottleneck -- you need to understand why to provide that background and context.

Of course blogging is just one (very good in my opinion) way to put yourself out there and get used to defending and clarifying your ideas. My broader point here is that you can only go so far being a more or less passive assimilator of information. At some point, you'll wear that out and then leadership/teaching/debate/interaction will be the next logical step for challenging yoursel and improving.

share|improve this answer

You look quite loaded with state of the art theoretical knowledge. Being you I'd take a break from learning, and devote this time to coding. You shouldn't worry about a break in the learning. Coding always leads to learning new things.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.