Earnie: Sure ... done.
.... time passes ....
Bert: Earnie. z is broken again! Why does this keep breaking!?!
into
Bert: Earnie, can you fix/implement x please?
Earnie: Sure ...
Earnie: Oh, doing that breaks z
.... some minutes pass ....
Earnie: ... fixed, done.
.... time passes ....
tumbleweeds
Use your imagination, test your limits.
I write a lot of code - and most of it now is thankfully obsolete1. However, along the way various ideas were tried out, tossed out, massaged, refined etc. Having a side project - especially if it's in a language that you do not work with for your day job will allow you the freedom to find your boundaries and continue to grow professionally.
Don't be afraid to make mistakes.
If you have a full time programming job, getting stuck in a comfort zone is quite easy, don't let yourself professionally stagnate - don't allow yourself to live a 9-5 existence with the risk of, at some point in the future, looking back and realizing you learned nothing in the recent past. If this describes 2011 for you - do something about it - get hungry, get foolish. That doesn't mean quit and live like a hippie - simply ensure that something in your regular programming week involves something you are not familiar with.
If you do not have a full time programming job (but want one) - start a project that you're interested in, something you'll enjoy working on. If you can't think of such a project (where is your imagination!) look for a project and contribute.
But don't get taken for a ride. Especially if you're a productive kind of guy - at some point in your professional career someone is going to ask you to help them out for free/cheap and do something that turns out to be massively more work than initially described. When this happens - google "sunk costs" and get yourself out of that situation as professionally as you can.
Whatever your opinion - don't be afraid to share it.
Don't be like me from time to time - don't be too loud about it - but state your opinion. Be open to the opinions of other's. Listen, you don't have to agree, but listen. Be humble when you're proven wrong - in keeping with the previous point, don't be afraid to make mistakes.
On the other hand, don't be an empty fanboy opinion. Have an informed and balanced opinion. Love cakephp? Why? What do you dislike about it? I like it because of the sheer simplicity. What do I dislike? Quite a lot really, there are still bits that could be done better - starting with the bit I'm most known for writing.
If you have any additional advice you'd like to give the next generation - feel free to leave a comment.
HNY!
Most of the code I've written solved problems for cakephp <=1.3. These problems are solved by the framework or otherwise don't exist any more with the release of cakephp 2.0 ↩