Live data from Hacker News

If you had to start over, what technologies would you learn in 2014?

hanselman.com

111–120 of 182 posts

Re: If you had to start over, what technologies would you learn in 2014?

#111
post #105

This idea that a software engineer picks a language as his "favourite" and becomes a "Ruby developer" or a "JavaScript developer" ever since is completely misguided, and I'm sad to see it cherished further in this article. Languages are tools, and tools should be picked depending on the project: its application domain, performance requirements, availability of libraries for important subproblems that have been identi…

Languages and frameworks are tools, but they're tools that require significant time investment to master and there are too many of them to master every one. There are many, many cases in which a given person's "optimal" language to use for the task is different than the "optimal" language would be if the user were somehow equally skilled in all.

Obviously, if the project is far outside the sweet spot of a given programmer's favorite language, it's worth it to learn a different one. The larger the project, the more often this is true. If for example, a Java specialist wanted to build a webapp, it would likely be worth it to invest the effort to learn how to do so with JavaScript instead of sticking to the familiar GWT. But for a smallish text manipulation task, it's just not worth it for an expert user of Ruby (a pretty good text manipulation language) to learn Perl (a language really designed for text manipulation).

The sweet spot, in my opinion is to work at getting very good at one language per major domain area and change focus only for large projects, for projects far from the sweet spot of any already known languages or for fun.

Re: If you had to start over, what technologies would you learn in 2014?

#112
If I could start over and pick one language, it would be Java. If I could pick two or three I'd add Python or Ruby but let's stick with one.

Everyone knows Java is great (or at least pretty good) for "building large systems" like the article said. You can learn a lot about software engineering from all of the practices that have built up in the Java community over the years. Note that I'm not talking about gross JavaEE stuff, but just good, solid OO programming with an incredible about of libraries for whatever you need.

The real reason I'd push for Java is Android. Android programming is an incredible way for a newcomer to get non-trivial code in front of a large audience in a production environment. Writing an Android app has a decently steep learning curve, but once you get the hang of it you can really make progress quickly. Then you can publish to the Google Play Store with no app review, no $99 fee, and no Mac required. You'll get some downloads and real feedback on almost any app.

The first app I ever made was a total piece of shit and it got 50,000 downloads. It had a ton of bugs that people asked me to fix and it taught me how to make something that people actually want in an environment where I had nothing to lose. Even ended up making a few hundred dollars on ads which 18-year-old me thought was pretty damn cool.

There is an intoxicating feeling when you realize that a few hundred or few thousand people out there are running your code in their pocket, and it makes you want to create even more. It's the same with iPhone/ObjC I'm sure but I think Java has more other uses and Android is definitely a less intimidating platform for a beginner to just put something out there.

Re: If you had to start over, what technologies would you learn in 2014?

#114

Earlier quoted context omitted.

> "In the browser is like 500 if we were to do things on javascript." That's more like 1.5x: http://asmjs.org/ http://www.unrealengine.com/html5/ https://hacks.mozilla.org/2013/12/gap-between-asm-js-and-nat... > "Android is not web for a reason. It sucks for lots of things. It is not that Google has not tried, as it is in their best interest to do so." Google hasn't tried deep integration of web apps with Android. Th…

It is odd that the Chromebooks are best-sellers. I have never ever seen one "in the flesh" here in the UK. Perhaps I am not visiting coffee shops enough? Anyone else seen one?

I'm in the US, and I've never seen one. I suspect Chromebooks will go the way of netbooks before them.

Re: If you had to start over, what technologies would you learn in 2014?

#115
post #105

This idea that a software engineer picks a language as his "favourite" and becomes a "Ruby developer" or a "JavaScript developer" ever since is completely misguided, and I'm sad to see it cherished further in this article. Languages are tools, and tools should be picked depending on the project: its application domain, performance requirements, availability of libraries for important subproblems that have been identi…

You have to start somewhere.

Re: If you had to start over, what technologies would you learn in 2014?

#116
post #105

This idea that a software engineer picks a language as his "favourite" and becomes a "Ruby developer" or a "JavaScript developer" ever since is completely misguided, and I'm sad to see it cherished further in this article. Languages are tools, and tools should be picked depending on the project: its application domain, performance requirements, availability of libraries for important subproblems that have been identi…

"The trouble with computer science today is an obsessive concern with form instead of content."

Interestingly, literature has the same problem.

Re: If you had to start over, what technologies would you learn in 2014?

#117

If you're looking to maximize your choice of companies to work at, one piece of advice could be to focus on front-end instead of back-end. I'm equally proficient at front-end and back-end, but the last time I did a whole bunch of interviews, I advertised myself as a front-end programmer (since there aren't too many full-stack positions around). Why? As a back-end developer, you're limited to picking companies that ma…

>It's just JavaScript, JavaScript, JavaScript. No it's not. Because JavaScript the language is so bare-bones, you need to supplement language deficiencies with frameworks and libraries. So you go and pick from a menu of Backbone/Marionette, Angular, ExtJS, Ember, Kendo, jQuery or etc. - some of them work together, some of them don't. Most of those get you part of the way there, you may still need to pull in things li…

So... javascript, javascript frameworks, and javascript variants. I think "Javascript, Javascript, Javascript" was accurate enough. And Bootstrap is easy.

Re: If you had to start over, what technologies would you learn in 2014?

#118
post #105

This idea that a software engineer picks a language as his "favourite" and becomes a "Ruby developer" or a "JavaScript developer" ever since is completely misguided, and I'm sad to see it cherished further in this article. Languages are tools, and tools should be picked depending on the project: its application domain, performance requirements, availability of libraries for important subproblems that have been identi…

Becoming a "JavaScript developer" surely pigeonholes you, and that is not good, but early in your learning process it can be good to pick a bread-and-butter language to master first.

That way, you aren't spread thin as you learn everything for the first time, and when you learn new languages you can relate them back to your first language, of which you have a complete grasp.

Naturally in the long run you want to be totally language agnostic, but early on I think that's putting the cart before the horse a bit.

Also, you have guys like me, who code as an ancillary function to our actual job. For us, one or two workhorse languages are all we really need to invest our time in. Think of a physicist who knows Fortran, for example. He is a "Fortran guy", but that's ok. He's a physicist, not a developer.

Re: If you had to start over, what technologies would you learn in 2014?

#119

Earlier quoted context omitted.

> "In the browser is like 500 if we were to do things on javascript." That's more like 1.5x: http://asmjs.org/ http://www.unrealengine.com/html5/ https://hacks.mozilla.org/2013/12/gap-between-asm-js-and-nat... > "Android is not web for a reason. It sucks for lots of things. It is not that Google has not tried, as it is in their best interest to do so." Google hasn't tried deep integration of web apps with Android. Th…

It is odd that the Chromebooks are best-sellers. I have never ever seen one "in the flesh" here in the UK. Perhaps I am not visiting coffee shops enough? Anyone else seen one?

Not sure where he got those numbers for the Chromebook:

Not in this list: http://www.lptps.com/best-selling-laptops/

Not in this List: http://www.biggone.com/2013/03/01/top-10-best-laptops-to-buy...

Not in this list: http://notebook2013.com/top-10-laptops-2013/

Not in this list: http://topbestprice.com/top-20-best-selling-laptop-notebook-...

But it is #1 this list however: https://sites.google.com/site/top10bestsellinglaptops/

Go figure huh?

Re: If you had to start over, what technologies would you learn in 2014?

#120

If you're looking to maximize your choice of companies to work at, one piece of advice could be to focus on front-end instead of back-end. I'm equally proficient at front-end and back-end, but the last time I did a whole bunch of interviews, I advertised myself as a front-end programmer (since there aren't too many full-stack positions around). Why? As a back-end developer, you're limited to picking companies that ma…

>It's just JavaScript, JavaScript, JavaScript. No it's not. Because JavaScript the language is so bare-bones, you need to supplement language deficiencies with frameworks and libraries. So you go and pick from a menu of Backbone/Marionette, Angular, ExtJS, Ember, Kendo, jQuery or etc. - some of them work together, some of them don't. Most of those get you part of the way there, you may still need to pull in things li…

It's javascript, angular, and jQuery.

Seriously, jQuery > all the other "low-level" libraries out there combined, and Angular > all the other frameworks out there combined, several times over.

If you want to interview practically anywhere, learn those three and you're solid.

Post reply on HN