Keeping up with blogs and technology.
There is a lot of things going on in the tech world, Steve Ballmer retiring, node.js growing at frantic pace, css3, html5, native vs html5, android studio, objective c for iOS, MVC4, .Net 4.5, and all of those JavaScript frameworks, angular, ember, kendoui, extjs/sencha, jqueryUI, backbone, knockout, etc...
How do you keep up with all of it? The truth is, you really don't. Anyone who claims they know all of that is lying, or if by some stretch they are not lying, you wouldn't want to work with them due to the lack of balance in their life. :-) The important key is to keep up with the trends, and do some investigation. Find some good blogs that do the research for you. Although, you don't really learn unless you do it yourself. So let me share some tips that I have used to stay current, interested, and passionate.
Setup a time once a week, to play with a new technology
Saturday mornings I try to play with a new technology... CSS3, Node.js, Create a new plug-in, Create a new website using MVC4 with a web service. Now, what time is that? Usually from 6-10am. Sometimes that doesn't happen, sometimes it is only an hour... but it is something I continue to try to do to play with something that I am interested in.
Don't try to know everything
I have embraced JavaScript as my new favorite. I have forgotten most of my Java skills. I am lucky to have the job I do which allows me to play with .Net, JavaScript, and SQL daily. I am not a network guru, but I know about load balancing, performance tuning, and how to improve sql, page load times, etc... There are some basics that I think every developer should know, and the first thing is how to debug. Debug performance, debug defects, trace code to learn. That is something useful but I openly admit that I know better SQL developers, .Net Developers, and JavaScript developers. I do know all of those areas, but I don't know everything, which means I learn from others and love working with others who have new ideas.
Repetition, Repetition, Repetition
If you find a technology you like, then practice it daily. If you don't practice, then you will forget it. I often document my process (which is why I originally started this blog) so I can review how to do things I did before. When I say practice, I mean it is important to cover the entire process... from checking in code, creating a build, and publishing it to production. Regarding daily, it may only be 1/2 hour but enough to say, I know what I am doing again and I like this. I often refactor something at that time too. It helps improve my code quality as I go along and when I keep the following the process, I keep improving my code, my efficiency, and from an agile standpoint, my velocity.
There are many different ways people learn and retain things also. Visual, auditory, and kinesthetic learners have different approaches to learning. Some people can watch a video and comprehend the topic, some can listen to a podcast, and some need to do it to see how it works. I think the combination of all three help make the knowledge stick. I don't have a masters in education, although my wife does. :-) But there is always a new process, a new method, or a new technology. Try things, figure out what works for you. As I have said before, there is NO silver bullet that works best for EVERYONE. We are unique and my methods may or may not work for you. However, I have tried several methods and what didn't work for me, may work for you. Feel free to contact me on any questions you may have on how you can improve your process.
Thanks for stopping by. :-)