Live data from Hacker News

Ask HN: How do you keep up with changing technologies?

news.ycombinator.com

1–10 of 38 posts

Ask HN: How do you keep up with changing technologies?

#1
I was late to the game and have roughly 5 years of experience with SQL Server and around 2 to 3 years of experience with ASP.NET and OOP concepts. I'm still learning new things on regular basis and only recently truly discovered the wonders of interfaces, after nearly 3 years of working in ASP.NET and C#. I still write all of my object database mapping code manually (and kind of enjoy it), but I know the way of the future is Linq to SQL, Linq to Entities or NHibernate and 2 of those technologies have been around for at least a couple of years now. I just took a new job and while I think I've upgraded in terms of the caliber of people I'll be working with, it's an established shop so I'm still looking at interacting with veteran technologies on a daily basis - with no real hope of integrating the newer that's out.

I suppose if you're building products and apps that work and the end result doesn't become obsolete, then it doesn't really matter if the tech you built it with is older, but I can't help but feel like I'm falling behind. How do keep with up all changing technology and how do you force yourself to step outside your comfort zone of doing things the way you know how and trying something new? I just don't want to put in another 4 years at a job and find myself unemployed and 7 or 8 years behind the field.

Re: Ask HN: How do you keep up with changing technologies?

#2
Don't. Learn the concepts and ideas behind the "technologies" and work with them instead. Then it just comes down to messing around with the details of implementation. This way, whatever happens to be "the way of the future" next will be easy enough to pick up (unless it's something absolutely horrid which no sane business should use).

You aren't falling behind, don't worry.

Re: Ask HN: How do you keep up with changing technologies?

#3
I believe that if you are real good with your concepts - Algorithms, Data structures, OOP concepts, etc. there is no reason to worry about the technology. The job remains the same- giving right set of instructions to process the data. Moreover, I personally believe that it's hard for anyone to be even familiar with so many technologies that are coming up everyday.

Re: Ask HN: How do you keep up with changing technologies?

#4
I was late to the game [...]

What game?

Newer technology isn't always better. It's just... newer. What really makes you think you have to keep up with the latest technology? Are you just trying to keep up with the other code monkeys, or do you really want to learn something?

[H]ow do you force yourself to step outside your comfort zone of doing things the way you know how and trying something new?

If "step[ping] outside your comfort zone" is what you want, then you don't need anything that is new in absolute terms, but only something that is new to you. Here's a suggestion: learn Lisp. It's fifty years old, and yet the main dialects (Common Lisp, Scheme -- 20-30 years old themselves) contain interesting features that are only beginning to make their way into "mainstream" languages.

Re: Ask HN: How do you keep up with changing technologies?

#5
There 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.

I do Big Freaking Enterprise Web Apps at the day job. I do not want to be doing BFEWA in a few years, so I convince my day job that I can deliver projects on schedule and under budget if they give me more latitude with respect to the technologies I'm allowed to use.

This started with the kind of one-off "We don't really care what you do to accomplish this as long as you get the job done" projects and snowballed from there.

A key component of my process was, after saving them a truckload or two of money, I would rigorously document what I did, how much we saved (metrics METRICS metrics), future places we could employ the technology/technique/whatever, etc.

After iterating this a few times, a) when I say "Hey boss, that will work, but I can do it two man-months cheaper if you let me do it my way" they tend to listen to me and b) other people come to consult with me about How To Implement X issues because they've found that I often know what I'm talking about or, in the alternative, can rectify my ignorance with a few weeks of studying and rapid prototyping.

When I'm building stuff for the day job, usually I want to be leaving them working systems or system improvements which will continue to generate value long after I am no longer there (as opposed to daily firefighting). I also want to be building personal capital which will continue to generate value long after I am no longer there (as opposed to daily firefighting).

Note that if you have a small side business, you can create opportunities to use a new technology without having to bring anyone else into the loop at all. Earlier this year I wanted to do some work with NoSQL to see what all the fuss was about. So I picked one of the upcoming tasks that looked like it would be a good fit, and did it. (Presumably you can do the same with OSS if you don't have a business handy.)

Re: Ask HN: How do you keep up with changing technologies?

#6
A long time ago, I used to jump on every bandwagon that seemed interesting. That lead to lots of wasted time and effort with technological dead-ends. So I over-reacted and only bothered with technology that had been around a minimum of 2 years (or if a "for dummies" book on the subject came out).

Some of our shipping products are based on VB6, while some of the others are .NET 3.5. Generally, if some new technology adds an edge, like Entity Framework (the shiny new name for "linq to whatever"), then we use it. Also, for internal tools, any new technology is fair game. So our internal tools have all sorts of bizarre stuff in them, and if that new stuff is useful, we end up using it elsewhere.

I don't blog, but I'm thinking of doing it for some educational projects. Making a public promise to do something generally makes you more likely to go through with it and do it: whether it is a project or losing weight. One example is the "build your own CAB" [composite application block] series. http://codebetter.com/blogs/jeremy.miller/archive/2007/07/25... Something like this project might be what you're looking for to push yourself out of your "comfort zone."

Re: Ask HN: How do you keep up with changing technologies?

#7
The technology does not change as fast as it claims to. There are new languages, frameworks and even concepts all the time, but most of them are the old things with a twist and most of them do not even catch on. So if you don't want to be living on the bleeding edge, there is a good strategy: stick to the stuff that has been time proven. An indicator that something is good and works is that it's considered old and uncool. Keep an eye on technologies that are being widely used and when they become practical standard (there should be lots of documentation, tutorials and books around this time) - learn if you could use it and if so then learn the technology.

Re: Ask HN: How do you keep up with changing technologies?

#8
I have been dealing with similar feelings lately.

It's not so much the "new", rather what's "hot" that makes me nuts. When a non-techie Client asks me if my stuff is in Rails, but he has no idea what he's asking, I get very frustrated.

Lately I've been lost trying to grasp what new technologies are going to matter: Go, Lisp, Closures, Python, Rails, JQuery, NoSQL, Linq, etc, etc? I'm exhausted from trying to keep up.

I think the best course is just to master those technologies I know and am comfortable with.

Re: Ask HN: How do you keep up with changing technologies?

#10

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.

Open source has the huge advantage that you can study it to your heart's content. If you want, you can replace Linux's scheduler with one of your own devising, or write your own code to optimize GCC's ARM output, or read just how Erlang does garbage collection.

I really fell in love with open source when I realized that it's a huge playground, and the only real limitation is me.

Post reply on HN