

Ask HN: What technologies one should learn? - grep

What are the most recent technologies being used by startups and other companies (e.g: Facebook, Twitter, Google, etc) ?<p>e.g: MongoDB, Cassandra, etc
======
mahmud
Going about it all the wrong way. You need fundamentals, not technologies.

Get yourself a list of buzzwords; read each one out and ponder for a minute
how it might be written, how it might work given the limitations of the
platform(s) it runs on (you know your Posix/java/win32, etc internals, right?)
If you can't mentally visualize how that thing works internally, or how it
might be implemented, do some research until you have a firm understanding of
how it functions internally. If you don't still get it, research the
underlying _techniques_.

As a programmer you're not required to implement every tool you might use, but
you sure as hell need to grok its form and function at the lowest level.

This frothy trend-hopping is just pure wankery. Don't be one of those suckers.
Learn the primitives of _everything_.

You also need that tireless spark, the desire to figure things out and learn
their innards; so you don't have to poll others for what you should hack on.

(btw, am I the only one who finds the question irksome in a very personal
carpet-bagging way?)

------
ergo14
You should learn first trusted technologies that are here for long time.
Because they despite what people say they wont disappear - there just are no
alternatives for them.

I would suggest you start with a good RDBMS system - like Postgresql, for
programming language Python and Java are good picks - all purpose ones - it
pays off to know something that has libs not only for webapps. Ruby is also
not bad pick - but python has better more mature libraries for general work.

If you insist on nosql - i guess any key-value store would be good, I suggest
Redis for memory based + couchdb/mongodb. But seriously real world is not like
"lets do something with new shiny tech". If you want a good job you need to
know "standard" things well, you need to learn how to scale applications - and
no scaling is not about using noSql, it's the architecture of whole thing that
scales not like some magic formula that will solve everyones problems. What
i'm trying to say there is no such thing as set of "recent technologies used
by startups", every person you ask will have a different answer for you - but
basics will always be necessary.

------
moby_duck
Coming from a hardware designer, I would say just focus on mastery of Python
and C. As far as technologies go, only learn what you need to do the job in
front of you. You can spend years reading books and online documentation about
this or that framework and never turn any of it into useful output. Remember
Kipling: "think... but do not make thoughts your aim."

As far as fundamental knowledge goes, I would recommend for any software guy
to do a rigorous study of computer architecture. Wrapping your head completely
around how digital computers actually compute things will serve you well
throughout your career.

------
bigohms
Tech will change but the core of computing science will not. If you haven't
done this already: Immerse yourself (even briefly) in the fundamentals of comp
sci with Java, database structures (RDBMS) and healthy amount of maths. No
matter the platform, I always seem to revert to what I learned back then.

------
postit
Please study computer sciences before stucking yourself into a endless quest
for the best technology. I can tell you that every new tech is fully based on
existent CS concepts.

------
nl
Learn everything, but become a true master of..... Javascript

------
arzvi
perl and ruby for dynamic languages, MongoDB and Redis for nosql

------
delano
Redis.

