I recently received an email from a reader asking me for advice about
improving his developer skills.
I am not sure there is any straight answer to this question but let me throw
a few random ideas.
- I have certainly found that reading (a lot of reading) is certainly a
great way to accelerate your skills and to force your brain to expand its
horizons.Reading Java books is one way of doing it but the most important thing to me
is to try and vary the books I read as much as possible.
- Studying other
languages is also a fantastic and fascinating way of learning new concepts
that change the way you think. Somebody once said "learn a new language every
year" and I can’t agree more. And just like natural languages, the more
languages you know, the easier it becomes to learn new ones.Things can get really interesting when you start "cross-pollinating":
mixing concepts read in several books. For example, trying to apply
concepts that are particular to a language (e.g. closures) to a language that
doesn’t support them (e.g. Java).Also, don’t be afraid of marginal or complex languages. I see this
practice similar to mathematics: it’s something that you study not
because it will be directly applicable to you, but for all the wonderful
benefits it will indirectly bring you. For example, the complexity of
C++ is daunting and you might not want to be involved in such a language as
long as you don’t really need it, but that would be a mistake. Pick a
book by one of the gurus and look at the amazing things they can do just by
tweaking the concept of templates (partial specialization, traits, etc…).Similarly, more abstract languages such as Dylan or CAML are quite confusing
at first but they will reshape your way of thinking in interesting ways. - It is very rare to find "curious" colleagues. What I mean by
curious is simply what I just described: people who are not only good at
their job but who also like to explore other areas and discuss them. If
you happen to have somebody like that in your work environment, take every
opportunity you can to have lunch or coffee with them. There is nothing
more exciting than two curious spirits bouncing off ideas. Separately, you
and him will spark interesting ideas, but if you put both together, the total
knowledge will greatly exceed the sum of its individual parts.
- Of course, all this would be useless if all you did is read and never practice.
At all my jobs, I have always saved some time every day to do something "on the
side", something that doesn’t pertain to my work directly. Working on side projects is definitely a way to sharpen your skills, especially
if you can be involved in a project for a long time, which will allow you to go
through all the cycles involved in the development process. If you can do
this, it’s worth it. Don’t forget to have a life and enjoy your hobbies,
though, this is a lot more important than it may seem. If you are not
balanced, you will quickly plateau at work, no matter how dedicated you are. - Finally, there are a lot of books I could recommend. I try to maintain a
list of books I read, feel free to take a
look.
How do you guys "stay sharp"?
#1 by Anonymous on August 8, 2003 - 10:08 am
All agreed 😉
I’d add one thing though: how do you know what new things to study? how do you know where the cutting edge is moving to?
One great way to continuously open your mind to new stuff is to read selected blogs regularly (aggregating them).
And C
#2 by Tobias Rademacher on August 8, 2003 - 10:08 am
Nice list. I want to learn some ruby, too. But I’m also interested in programming something native for my OSX. 😉
Just a few comments: What do you thing to add PEAA or CoreJ2EE 2nd edition? Both books offering alternatives for the EJB way and PEAA
#3 by Pierre CARION on August 8, 2003 - 10:51 am
I also to try to read something about a topic I completely dislike …
Two possibilities eventually :
1) you know for sure that you really don’t like this topic
2) you’ve killed one of your prejudice and you have learned something new
Most of the time, the latter applies 😉
#4 by Marc on August 10, 2003 - 5:27 pm
Make learning a life-long habit is wise advice – and not simply restrictly limited to learning computer languages – ideas and insights can come from all sorts of unexpected sources! Being a developer is a multi-faceted career. Hanging out with smart and curious people is particularly good advice!! In all of this though, remember to make effective use of your time (particularly at work) – time has value and a sense of purpose (goals) helps to make the best use of time.
#5 by Thierry Janaudy on August 11, 2003 - 6:52 am
One thing though: in order to stay sharp, you have to be sharp in the first place.
That might be obvious, but only smart people have the capacity to acquire and apply new knowledge.
If you always had this nice aptitude to learn since your youngest age, staying sharp is a piece of cake. Learning natural languages depends of what happens between 0 and 6 years old. If your brain is used to recognize different sounds and that you keep it trained, you will not have any issue to learn new natural languages (like this Blue Elephant restaurant manager I know who speaks 11 languages ranging from French, Thai to Arabic!).
I believe it is the same for all the different categories, not only natural languages, but also science, management, culture,
#6 by Stas Kubasek on August 27, 2004 - 9:17 am
Very good list. I can’t agree with you more. Where do you start, though? I think by reading “Pragmatic Programmer” and “Code Complete” will put you on a right track: it will give you guidence to stay sharp — it definitely put me in a driver’s seat. 🙂
BTW, I have great interest in “Staying Sharp,” as I have a blog called “Stas on Software-Eng: becoming a software craftsman” (the URL) where I’m basically explaining what I think will help me and others get to the top and stay there. Stay sharp, that is. 🙂
(Nice list of books read.)
#7 by zone diet extreme on November 4, 2004 - 12:18 pm
Hi – I was looking for some political sites with articles on the recent US election and found your nice site. The comments from others on here are pretty good so I just thought I’d add my thoughts also!
Elaine Cooper
#8 by Ming HoLee on November 8, 2004 - 11:46 am
Does this form work like a guestbook?
#9 by Jenn C on November 9, 2004 - 1:37 pm
I stumbled on this from Google and wanted to say hello
#10 by natural & big on November 13, 2004 - 6:02 pm
I’m just browsing around your site for the first time, interesting read
#11 by TheGrace / النعمة on September 5, 2006 - 9:57 am
Warm welcome to Alnemat TheGrace Arabic Christian Internet Magazine, We love you! Please visit us at:
http://www.TheGrace.com
http://www.TheGrace.net
http://www.TheGrace.org
سلام لكم في محبة الله.نتأمل زياراتكم الكريمة لموقع النعمة موقع مجلة النعمة يقدم كلمة الله الكتاب المقدس الإنجيل رسالة السيد يسوع المسيح قراءات مختارة مواضيع مصيرية قصص واقعية شهادات شخصية ترانيم ممتازة ردود مؤكدة كتب بنّاءة رسوم تسالي تأملات يوميات
Bible Read search in Arabic Studys Stories Testimonies Acappella Hymns and Poems Answers Books Links Daily devotions Acappella Music Graphics /Alnemat Journal Arabe Chr
#12 by All Else Failed on September 13, 2006 - 8:37 am
I love music!
#13 by mansour salahmand on November 3, 2006 - 12:15 pm
Nice site. Keep up the good word.
I would just like to add that in addtition to reading, you should play some games also. Activities such as playing chess, board games, card games, etc tend to stimulate the brain as well.
#14 by mansour salahmand on November 3, 2006 - 12:16 pm
Nice site. Keep up the good word.
I would just like to add that in addtition to reading, you should play some games also. Activities such as playing chess, board games, card games, etc tend to stimulate the brain as well.
#15 by azar baradar on December 20, 2006 - 3:40 pm
Staying abreast of the law is another way to be informed. Learning about the nuances of the law can be a great brain booster. Learn about the eviction process.
#16 by xmkibvqr on March 10, 2007 - 9:30 pm
pnwfahty tmzsvdyt http://jpepsnhs.com wwkfwdop bvinfwpq [URL=http://ijantxqx.com]clanbyda[/URL]