Wednesday, January 15, 2014

Continuous Learning: Keeping up-to-date and acquiring new skills

Hard work has been the reality of humanity during known history, however things got worse recently: Everything we know, including our professional skills, is rapidly becoming obsolete. This means that it's not enough to work. We must be constantly updating our knowledge and acquiring new skills.



A recent article in the New York Times, entitled "", discusses the problem of obsolete professional skills. According to them, "virtually everyone whose job is touched by computing are being forced to find new, more efficient ways to learn as retooling becomes increasingly important not just to change careers, but simply to stay competitive on their chosen path".




This situation is particularly problematic for software developers. I have been working as a programmer for more than 8 years. I got my Master degree in Computer Application in year 2006. Almost everything I learned then is now obsolete. And almost all technologies I'm using now has been upgraded OR did not exist then (one exception are C, C++ & UNIX).Now the question is: How do I keep up-to-date? How do I learn new skills?Below are some strategies that I have been applying to keep constantly learning:MAKE SURE YOU ARE LEARNING AT WORKThe best place to learn is at work, by putting your knowledge in practice. However, even in the most dynamic workplaces it is easy to get too accommodated by becoming an expert on some field while ignoring new developments. Thus, to be constantly learning at work, you should either join new projects from start or apply new technologies in existing projects.In the worst case, if you feel you do not have the opportunity to learn anything relevant in your current job, you should consider seriously moving to another company. Then, you should investigate and select potential workplaces according to the technologies being used at these companies. Very often it is more interesting to apply to a job in which you will have the opportunity to learn new skills than looking for a position in which you will mostly use your current knowledge.DEVELOP YOUR OWN PET PROJECTSIf there is some technology that you really want to learn and if you do not have the opportunity to apply this technology at work, then you should invent your own project to use it and develop this project during your free time. Luckily for you, for almost all technologies that you may be interested in, there should be Open-Source platforms providing it. Also, your personal computer at home certainly is strong enough to develop interesting projects.LEARN FROM ONLINE COURSESToday there is a great diversity of free online courses. Sites such as ,and ,offer many interesting courses organized by known professors of some of the best Universities in the world. These courses are completely free, and besides material such as videos and slides they may include real home works and programming assignments. They are planned to extend during several weeks, and thus are able to cover the proposed subjects in relative depth.GO TO TECHNICAL MEETINGSProgrammers like to meet to discuss new technologies and share their experiences. If you live in a place with a big concentration of hi-tech companies, you certainly will be able to find groups of software developers organizing such professional meetings. Besides the interest in discussing technical issues, these meetings are a great opportunity for networking and allow you to learn what is being done in other companies. You can search for meetings in sites such asand .PARTICIPATE IN ONLINE FORUMSOnline Forums are a great way to communicate with other developers that may be located very far from you, but even so they share exactly the same interests. These forums are the ideal place to promote discussions, exchange opinions and ask for advice. For example, there is a great diversity of interest groups on . In the most active groups you can find new discussions every day, and even job announcements. Another great place for debate is , in which discussions are organized as questions and answers.READ TECHNICAL BLOGSYou are already reading this blog, but: is reading technical blogs a habit? Ideally, you should reserve some time every day to read posts from your favorite blogs. Now you can ask: "Where can I find relevant blogs to read?" Of course you can always use a search engine, but it is a good idea to follow software development gurus on , as well as enthusiastic programmers that like to share their favorite posts.SEE PRESENTATION SLIDESGood presentation slides are a very concise way to transmit information. If you want to get some initial idea about a technology or platform, and if you do not have much time to invest on it, then finding introductory slides is an easy and fast solution. Sites such as have a huge quantity of such professional slides. After you get an introduction, you can decide if it's interesting to look for more in-depth material.WATCH VIDEOSFor the more popular subjects, it is easy to find videos onor . These may be recorded lectures in Universities, presentations in conferences or talks in group meetings. Videos are very suitable to get a first taste of new subjects, sometimes giving you the opportunity to get out of your comfort zone. For example,talks are known for their ability to provide inspiration and make watchers think.USE QUESTION-AND-ANSWER COMMUNITIESIf you have a technical problem, then it's very probable that someone before you already had the same problem. Thus, you should try Q&A Communities such asto search for a solution. If you cannot find an existing question that fits your needs, you can always ask a new question yourself. And sometimes, even if you do not have your own doubts, you can learn a lot by checking what other people have been asking recently.IN SUMMARYToday, thanks to the Web, it is very easy to find material about any subject you may want to learn, and it is also easy to contact other professionals that share your interests. There is absolutely no reason you should become obsolete: with dedication and discipline you can continuously acquire new skills by following the strategies above. Ah, and of course you can always read an old-fashioned book as well. Good luck!Do you have other strategies for continuous learning? Please share your experience in the comments below.
Full Post

No comments:

Post a Comment