At the risk of being downvoted, I'd say to look at other stacks besides MS (esp. Linux, OS X, Iphone, Android). With the noted exception of Stackoverflow, most innovation in tech today does not involve MS.
A quick meta-tangent: "at the risk of being downvoted" adds little to the discussion in the best of times. "At the risk of being downvoted for criticizing Microsoft" adds little to the discussion and requires about as much courage as an American presidential candidate taking a principled stand strongly in favor of apple pie. A good portion of the innovation taking place these days is on the web, and the stacks at iss…
Ask HN: How do you keep up with changing technologies?
31–38 of 38 posts
Re: Ask HN: How do you keep up with changing technologies?
#32Re: Ask HN: How do you keep up with changing technologies?
#33Now to the first point. The most important part of learning is the process itself: ie learning the thing itself is less important than becoming good at learning. Once you have a sound grasp of the basics, the more diverse your curiosity and the deeper the insight you are able to gain into each specific technology, the easier it will be for you to pick up new ones. There's no excuse for ever becoming obsolete. Read widely, maintain your curiosity and keep learning.
Finally, the technologies you have picked may or may not be the way of the future. The future has a way of being unpredictable. Don't be so sure that you know what is going to happen that you close your eyes to what is actually happening.
Re: Ask HN: How do you keep up with changing technologies?
#34Re: Ask HN: How do you keep up with changing technologies?
#35If the thing you're working on is modular enough, you should be able to use new technologies in new modules if it significantly improves any aspect of how you write code (maintainability, performance, time-to-market, etc..). You'll have to convince your team-members that using a new technology is worth it, but that's a good thing because you'll be more inclined to actually research the benefits of a new technology instead of just going with the latest fashion.
Re: Ask HN: How do you keep up with changing technologies?
#36There are two facets to this question: what you can do as WesleyJohnson and what you can do within your organization. Your motivation is making sure WesleyJohnson has a job four years from now. Your organization's motivation is selling more $FOO at lower costs. You need to start identifying or creating happy synergies which align your organization's motivations with your personal motivations in terms of career growth…
How do you generate the difference between the project that you got done with your method versus the project that wasn't done using a different method? Is it real cost of your way versus estimated cost of doing it the other way, are you re-writing a project that has already been written by a different team, or what? If the cost of the other way was an estimate, are the metrics trusted because you have a great track record with your estimates, or do you have some sort of estimate-aiding tools that your employer relies on and trusts?
Re: Ask HN: How do you keep up with changing technologies?
#37Experiment with small pieces when you can. I'm working on learning a bit about REST programming with Ruby for a small web app/service I'm deploying at work. For someone who has been a back-end code guy, playing with the web frontend is . . . interesting.
Re: Ask HN: How do you keep up with changing technologies?
#38Vendors of software have an interest in what you learn, as it helps their products work better. And it can be useful to you as well. But if you rely on vendors to set your horizons, it won't necessarily work to your enlightened self interest.
Additionally, employers are not always going to have the same objective regarding what you learn. A medium or large company is interested in getting their projects done on a likely slipping schedule. They are not necessarily going to be aligned with your educational self-interest.
One defense against this is to see what other vendors are offering. If you are working on SQL Server learn what you can about how Oracle does things. If you are working in .net, learn a bit about Java (although that is not exactly a vendor-driven environment in the same way).
Another step is to look outside the vendor-influenced areas. Look at how things are done in the open source world. Understand some of the ideas behind the nosql movement. What is hadoop? memcached? For some of the technologies discussed on HN (which is certainly filled with talk of more recent technologies), dive into some of them a little. Expand your comfort zone.
If you have spent a lot of time in the OO world, check out some of the functional languages and why they might solve some problems more easily than the OO approach.
And perhaps find an interesting open source project and read lots of code.
I have been in the business several decades and am still learning new things constantly. While this sounds like a lot, perhaps develop a habit or routine of doing a little of this each day. If you have in your mind the goal of expanding your technical horizons, then you will see opportunities to learn.