
Ask HN: What new development technology in the last 3 years is worth learning? - derwiki
For the last 3-4 years I&#x27;ve been working at a super small startup doing Rails, and basically just using my existing technical knowledge and avoiding the learning cost of new technologies. I know React has gained a lot of popularity -- what else is worth looking at as I take my head out of the sand?<p>Not limited to web programming; OpenCV and other technologies are neat too!
======
eranation
I would say the serverless model in general, is going to take off (it already
is) really fast. Infrastructure as code, security as code. Big data, machine
learning, neural networks/deep learning is taking off so without doing a PhD,
at least high level awareness of the field is definitely worth learning, from
Spark to Tensorflow, it's good to have familiarity with the field.

Understanding JWT and how it works as it seems to gain momentum.

Angular2, React, Vue I think are all worth learning and playing with as each
developer will have a different taste. It looks like React is getting a lot of
traction everywhere.

ES6, Promises, Async/Await, TypeScript, Babel, WebPack etc are definitely
worth getting familiar with.

~~~
donatj
I really hope to see TypeScript take off more outside the angular community.
It's life changing.

~~~
21stio
the vision is great, but last time I checked (september) it was dependency
hell.. definitions that didn't fit the actual code, definitions at npm,
github, definetlytyped and so on.. will be great once the ecosystem stabilizes

------
nerdywordy
React Native is gaining a lot of traction for cross-platform mobile
development. My company has started to transition to RN over Xamarin for our
enterprise app development.

Functional languages have begun to gain popularity and coverage as well.

On the frontend Elm is excellent. On the backend Elixir and the web framework
Phoenix offer top notch developer experiences.

If you have experience in the dot net world... Dot Net Core is shaping up to
be a revolutionary rewrite of the dot net ecosystem. It's fast and lean, as
well as cross-platform.

If you are into lower level languages, Rust & Go have picked up a ton of steam
in the past few years. Until recently they have been stuck in the systems
level programming niche, but Go especially is beginning to take hold for API
and more "front side of the backend" development.

~~~
jamesmp98
.Net core seems really cool, but I don't see it getting anywhere for a while.
Most of the enterprise is still using .Net standard. It is near to impossible
for me to get a job working on an ASP.Net Core codebase right now, because
everyone seems to still be using .Net standard.

~~~
tboyd47
Interesting. What is preventing them from upgrading? I ask because I was
thinking of picking up .NET Core as a stepping stone to one day transitioning
to a Microsoft-based skillset (I'm a Ruby dev). If it's proving to be
unpopular within the .NET community then I may reconsider.

~~~
artimaeis
Enterprises generally don't upgrade anything unless someone convinces them
it's necessary. They don't want to follow the bleeding edge of tech, they want
to follow the most stable/secure tech with the largest pools of talented
workers. Hence the popularity of Java and .NET at the enterprise level.

Picking up .NET core would make a great start to transitioning to a Microsoft-
based skill set. That's generally the way those skills are gained - by
starting with the latest available to the platform and working backwards as
necessary. I started down the path with .NET 4.5 and don't think I've had but
a small handful of opportunities to utilize the features in it because most of
the servers I work with have .NET 4 as the latest version.

------
ryandrake
It depends on your definition of "worth learning". People are replying,
rattling off laundry lists of technologies that are "taking off" and "getting
traction" but that doesn't necessarily mean they are worth learning.

To me, learning is a time / long-term-benefit trade-off. You're giving up your
precious and valuable time now to get something that you believe will pay off
in the long term. I'd love to learn everything under the sun but I only have
time to learn a few things. So, I will spend the time where I think the
biggest payoff is. A bucket of 30 slightly-related but "hot this month"
technologies is a lot of cost for unknown benefit.

If you asked this question 20 years ago, there was a similarly-sized laundry
list of hot technologies one could have learned, but I'd argue only a few
really would have resulted in lasting long-term benefit. C++ was probably one
of them. Linux was probably one of them. HTML probably. WebTV? Probably not.

------
modeless
If you're interested in computer vision, rather than using OpenCV you should
learn about convolutional neural nets. The field is exploding right now and
anything you learn is potentially applicable to a wide range of problems, even
outside of computer vision.

You may get skeptics who scoff at the new approaches and say you should learn
traditional computer vision or machine learning first. I strongly believe
these people are wrong.

~~~
derwiki
Are there any resources you recommend for learning convolutional neural nets?

~~~
kiloreux
I would love to recommend this Stanford course,very beneficial.

[http://cs231n.github.io/](http://cs231n.github.io/)

~~~
modeless
Agreed, cs231n is a great course. For neural net information less specific to
computer vision I would also recommend looking up video lectures from Nando de
Freitas and/or Hugo Larochelle.

I also have to put in a plug for Geoff Hinton's Coursera course. It's not for
the faint of heart. It's essentially a graduate level college course with the
commensurate required time investment. It's getting a little old now but it
was my introduction to neural nets and if you want to learn from a pioneer in
the field it's still a good option in my opinion:
[https://www.coursera.org/learn/neural-
networks](https://www.coursera.org/learn/neural-networks)

------
nunez
From an infrastructure perspective: Docker, Ansible or Chef, Kubernetes, any
public cloud (AWS), the HashiCorp stack (Terraform, Packer, Vagrant, Vault)

------
rocky1138
The Unity game engine married to HTC Vive is really easy yet powerful. I'd
recommend that.

~~~
eranation
What are the best resources to learn this? I got a vive and downloaded Unity,
and gave up after I realized how much work it will be for a simple game. I got
to a point where I see the controllers and can grab a ball and drop it. But
that required a couple of you tube videos and tons of snippets... Did it
mature since it just came out? any good resources / starting kits (I don't
mind paying a little for good courses / starter packs / game engines /
plugins)

~~~
adamnemecek
You have to remember that game development is really programming + 3d
modeling. Idk if you know 3d modeling but I feel like some programmers (mostly
game hobbyists) ignore this part of game making and then are surprised why
their games look the way they do.

~~~
cmac2992
+1 on this. I had taken catia classes in college and have built a number of
models in different programs for 3d printing. But building models for games is
WAY more difficult. a AAA level gun can take weeks to build and model.

------
Entangled
Swift.

The best tool in your toolbelt. You could easily build apps for the desktop,
mobile, server, watch, tv, linux, etc. It's the digital clay to build whatever
you want to build. Your imagination is the limit.

~~~
overcast
Is there still no official compiler for Swift on Windows? How are the
unofficial ones?

~~~
adamnemecek
Official compiler? What's wrong with
[https://github.com/apple/swift](https://github.com/apple/swift)

~~~
overcast
Sorry, meant for Windows.

------
silasb
React Native, Tensorflow, ESP8266, Elixir/Phoenix, Discord, Docker/Kubernetes.

~~~
adamnemecek
I'm not a HW person, how do you use ESP8266 (this is the first time I'm
hearing about this)?

[https://en.wikipedia.org/wiki/ESP8266](https://en.wikipedia.org/wiki/ESP8266)

~~~
jerknextdoor
We use the ESP8266 and ESP32 at my company for really quick, cheap prototypes.
It started out as a way for us to add wifi to a microcontroller, but now we
just use it as the microcontroller itself. We use it for all kinds of small
hardware devices, sensors, and actuators. Its pretty fantastic to be able to
prototype cheaply in microPython and then later port the board and code to
C/C++/Rust when we need to go to production.

~~~
tomascot
How often do this microcontrollers fail at HW level? You buy always from the
same provider? Which one? (If you can share it, no problem otherwise)

~~~
jerknextdoor
I'm not an EE on our team, so I can't be sure, but I do know it happens. I
don't know what they do to keep quality up. Even if they do fail, they're
cheap enough that its not a problem to replace the whole sensor. There are
also fail-safes so that nothing mission critical can happen if a few things go
down.

------
linuxlizard
To start on OpenCV and deep learning and image recognition you should check
out [http://www.pyimagesearch.com/](http://www.pyimagesearch.com/) I've found
his tutorials and books to be very good.

------
throwaway2016a
\- Serverless architecture

\- Immutable architecture via Docker & containerization in general

\- React & React Native

\- Most of the fully-managed services on AWS... a lot of them are turn-key for
things that used to take a lot of overhead

\- Blockchain

------
headcanon
Here's our stack, I like it a lot and I feel like its fairly progressive
without being too hip-for-hipness-sake:

Android: Java -> Kotlin

iOS: ObjC -> Swift

Web App: React + Coffee -> React + ES6 (Backbone models)

Website: React/ES6/Redux/Babel/Webpack with server rendering

Backend: Clojure at the core; Python for heavy number crunching

------
bandrami
Speaking as a sysadmin, definitely ansible. (Yes, it's over 3 years old, but
it certainly blew up in the past 3 years.)

~~~
blakesterz
Sometimes it's hard for me to believe we run everything on Docker and Ansible
now. These things barely existed a few years ago, and here we are running full
on production with them. Blew up indeed.

So yeah, I guess I'm seconding Ansible, and adding in Docker as well as many
have done.

~~~
alphor
Is there any discussion about replacing Ansible + Docker with Nix? As someone
looking to get into DevOps it seems like Docker solves the
namespace/dependency-isolation problem, Ansible solves the reproducibility
problem. Nix seems to solve both.

~~~
bandrami
I haven't messed with nix, but I've used guix, which I think nix is a similar
concept to. It's basically ansible on steroids, with every aspect of the
system defined declaratively. Guix at least isn't quite "there yet", but it
probably will be before too long...

------
fantasyui-com
[https://nodejs.org/en/](https://nodejs.org/en/) and
[http://electron.atom.io/](http://electron.atom.io/) Node is the server-side
of JavaScript and Electron the cross platform desktop app (also JS and
compatible with node). People have a lot to say on the subject of what is
worth learning. I learned ASP/Perl/Java and I am not using them today, I still
love them to bits, but there is no time/space for it today. Worth learning
just may mean "what will be fun to use", meaning "what can you grow with
today, that will take you to fun places in 2027". Can you see a future without
the Web Browser? Can you see a Web Browser without the language that enables
the Browser today? To be fair, ask is JavaScript evolving? And it is. ES6 is
OK, it is the right path to take. Promise/let/const/Class and the arrow
functions have fixed a lot of it. HN had RxDB on the front page today:
[https://github.com/pubkey/rxdb](https://github.com/pubkey/rxdb) I paused when
looking at "..for these plattforms" which listed: browsers, nodeJS,
angular/ng2 (TypeScript), react, react-native, ionic, cordova / phonegap,
nativescript, electron.

TLDR: ES6 and its surrounding environment.

------
owebmaster
Clojure & ClojureScript (over React)

------
pizza
\- tensorflow

\- ESP8266

\- ethereum

\- software defined radio projects

\- ketamine as an antidepressant

\- [https://www.addgene.org/vector-database/](https://www.addgene.org/vector-
database/)

^ note, I just think these are all technologies that have yet to reach their
true potential

------
Xcelerate
Julia. I've been using it the past four years for my research, and I love it a
lot more than Python. It's a very well-designed language that was intended to
be high performance from the beginning.

~~~
tutufan
But that 1-based array indexing. It's like the 60s never ended...

------
EliRivers
C++14 and C++17.

------
johnnydoebk
Looks like, most people here answer to the question "What tech stack are you
excited about right now?".

------
nnn1234
I would second the serverless idea as well. Also one thing that is going to be
of incredible value, getting a friendly UI to the crypto currency / smart
contracts world. Tough selection but will pay off dividends if you get it
right

------
jcahill84
On the front-end React and Redux would be excellent to learn. I'm also a big
fan of EmberJS. If you don't already know Java, adding that to your toolbox
could be very helpful if you ever want to end up in the enterprise world.

