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.

This question already has an answer here:

I'm a newcomer to StackExchange and this seems a very good place to ask my question, that's been wandering in my head for a few months.

Currently I'm 22, I'm studying a BS of Computer Science in the UNED (Spanish Distance University) and I'm doing well. I have a job as well, doing web programming (PHP, SQL, CSS, HTML, Apache, that kind of stuff) in a company, but working from my home.

I've tried those last few years to accomplish success in other programming languages. I started with C++, Java, Perl & Python and although I can say I have a decent level on it, it's difficult for me to find some projects where I can use them. And I mean real projects where you can drive the language level to its cap.

I think the lack of motivation is one of the reasons behind this. Its like after a full day repetitive programming, my brain is exhausted and it is hard to achieve something. Also, I have problems with my learning methods. I read a lot of forums (like this one), a lot of books and websites talking about programming, but I don't know how to apply the knowledge acquired. It's like I need a different approach to learning, a more practical one.

So, the question is:

How do you find the motivation to keep programming after a full day at the job? How do you find a more practical learning method? (It's easy to keep reading about programming after all, but it's another to actually code something big).

Thank you in advance.

PS: I'm not a native speaker, so don't mind me for lexical and grammatical errors.

share|improve this question

marked as duplicate by gnat, MichaelT, mattnz, BЈовић, GlenH7 Aug 25 '13 at 12:17

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.

2 Answers 2

up vote 4 down vote accepted

It is all about the project, at least for me.

I was totally bored with my job (same programming language I used for years, ancient workflow-paradigms and so on.) for some time, already pondering switching employers. And for a long time I didn't have the motivation to code something at home at all although I was so bored with my work.

But then some day I had an idea for a project which motivated me enough to work on it for months after work. And now that it is nearly finished my thereby accumulated expertise (I learned a new (at least to me) programming language in the process) is becoming interesting to my employer and I get a chance to use it in my daily work which makes this job exciting again.

So, find yourself a tool you want to code and you'll motivate yourself. And consider this: Every completed tool is something you can show off to potential employers or to your own for that matter. That can be motivating as well.

share|improve this answer
That's a good point. I think my mistake is too much theory, too little practice –  Alberto Fernández Apr 8 '11 at 12:41

Code Kata

What makes a good practice session? You need time without interruptions, and a simple thing you want to try. You need to try it as many times as it takes, and be comfortable making mistakes. You need to look for feedback each time so you can work to improve. There needs to be no pressure: this is why it is hard to practice in a project environment. it helps to keep it fun: make small steps forward when you can. Finally, you’ll recognize a good practice session because you’ll came out of it knowing more than when you went in.

Code Kata is an attempt to bring this element of practice to software development. A kata is an exercise in karate where you repeat a form many, many times, making little improvements in each. The intent behind code kata is similar. Each is a short exercise (perhaps 30 minutes to an hour long). Some involve programming, and can be coded in many different ways. Some are open ended, and involve thinking about the issues behind programming. These are unlikely to have a single correct answer. I add a new kata every week or so. Invest some time in your craft and try them.

...remember that the point of the kata is not arriving at a correct answer. The point is the stuff you learn along the way...

Find a project that interests you. Do it in every language.

share|improve this answer
I think its about time to buy The Passionate Programmer :P –  Alberto Fernández Apr 8 '11 at 12:35

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