
Ask HN: My skills are aging.  Where can I go to try to keep up? - michaelcampbell
I was humbled at a job interview yesterday almost to the point of a beat-down and realized that although I know what I know, my skills are getting old and I'm getting to where I don't know what I don't know, which for a tech guy is a bad thing.<p>I was wondering if there were any sorts of "top 100" book lists for programming, development, architecture, or really just technical stuff. I don't know if I can keep current just doing my day to day job, so I need to make sure I at least know what's out there.<p>And/or, are there well known blogs I should be keeping up with for software development?  How about conferences?  I am going to try to hit No Fluff this year, but is that something I need to be investing in every year?  Java One?  Anything else?  I don't mind spending the time/money, but I want to know it's worth it.
======
ragmondo
Here's the cruel harsh fact that you need to know: You are not going to "keep
up".

Years ago, you might have been able to remember every parameter to your
favourite 20 shell or windows commands. Probably even the difference between
the differing version of that operating system. However, if you're anything
like me, one of your browser pages is permanently on stackoverflow or j2se
docs or pydocs etc etc, as I just can't remember the fluff (heh).

But here's the good news. You don't have to keep up. You don't need to know
the 200+ different ways of sorting a list. You just need to know that
different ways exist. Then .. JFGI ! You don't need to know what version of
java or python feature xyz was added or deprecated... JFGI !

My answer to any interview that has the question "what is the output of the
following program?" is always "Well let's ask the computer - that's far better
at this kind of thing than me and it will take a lot less time!". I remember
someone asking me about self-modifying C-code and what the output would be. I
said "one dead programmer - because if I ever met someone who wrote code like
that I would shoot them dead for leaving such a mess".

Don't learn the fluff, the parameters, the options, the function names, the
versions. Learn how to find them.

~~~
khafra
That's a good strategy for as long as you know what you don't know. The OP
said he's worried that he's getting to the point where he doesn't know what he
doesn't know.

~~~
ragmondo
Aha. Ok. In that case, my advice would be

"pick an industry leader (ie facebook, google, apple etc), research as to what
publicly available technologies they use, learn those as the rest of the tech
world will follow".

------
anujkk
As per my knowledge these technologies are currently being used and are in
demand according to type of application:

A)Large Enterprise Applications - .Net/Java(J2EE)

B)Web application

1)Server Side - Python+Django/Ruby+Rails/PHP+CodeIgnitor/node.js

2)Client Side - HTML5/CSS3/JavaScript/Ajax Libraries like jQuery, Yui,
Closure/backbone.js

3)Database : MySQL and any noSQL database like mongodb

C)Mobile Application

1)For iPhone - Objective-C

2)For Android - Android SDK/Java

D)Web APIs - Facebook,Twitter,Google,Google+(when available) and Amazon Web
Services

E)Desktop Application - Large companies like google, yahoo, etc still stick to
C++/Visual C++ but in general C# is also a decent choice.

Keep checking sites like HN, Stack Overflow, Quora, Reddit etc and be
genuinely interested about whats happening in technology and startup space.
Who are the emerging startups and which technologies they are using..etc
stuff.

Try to learn one technology per month in weekends.

I would also suggest you to read two books from 37signals - Getting Real and
ReWork.

------
struppi
Did you read "The passionate programmer - creating a remarkable career in
software development"? I really loved that book, it contains a lot of
practical tips and advice for how to improve your skills (among other things).

I read books on the commute to work (on the train) so this time feels less
wasted. I especially liked: \- Implementing lean software development \-
Implementing scrum \- Domain Driven Desing \- Head first rails \- The leaders
guide to radical management \- Presentation zen

This is not only technical stuff, but I think the non-technical books are
important too - they give you context and perspective.

------
cshipley
I don't think learning as much as you can about everything is possible, or
even necessary.

Instead, play leap-frog. Make an educated guess about where some portion of
the industry is going to evolve and start learning those skills _before_ they
becomes uber popular. Then after 4 or so years, do it again.

I did this recently (within the last 18 months) and jumped into mobile
development. That decision now allows me to freelance from home making just as
much money if I were in a cubicle.

------
kls
Learn a REST API, JavaScript, Objective-C/iPhone and Android. If you do people
will beat down your door. It is where the market is heading. What they all
have in common is the client manages the UI and REST is your link to the
programmable web.

~~~
michaelcampbell
Thanks. I think I'm asking a bit more meta, though; what you said is valuable
and I appreciate it, but it's valuable _right now_. What I'm trying to find
out is are there any outlets to find out what's valuable right now, for all
values of "now"?

------
brudgers
> _"I was humbled at a job interview yesterday almost to the point of a beat-
> down"_

Sounds like a workplace to avoid - either because it is part of the corporate
culture or they didn't bother reading your CV (malice or incompetence take
your pick).

~~~
rudasn
The same thing happened to me a few months back. I was just told I am "not
passionate enough" and although I am not sure what that means but I understood
that I didn't have anything "new" to bring on the table. Perhaps something
similar happened to the OP?

~~~
michaelcampbell
There were a number of factors.

* There were several interviews by teams of people. One of them was the "beat down" team, although I don't think by design; that guy was just hard. A later interview said that he's known for that, not to take it personally, that he actually thought I did pretty well, and he's known internally as the "Kobyashi Maru" interview (for you Trek fans).

* I have a lot of years experience on my resume. I think I've become someone not with "X" years experience, but "X/3 years experience, repeated 3 times." That was the humbling/humiliating part; to have that realization.

* The interviews were for a particular role, and by people who had OTHER roles that needed filled. So I was being interviewed by people with needs other than what was advertised; they interview in such a way that if I wasn't a fit for the particular role (I wasn't), that I might be good elsewhere. So there's still hope for me at that company. We'll see.

