What languages to focus your time learning?
I'm in the job market right now looking at Web developer openings. In my area it seems that each opening has a different set of technologies they use. (I'm in the Oceanside, CA area.) How do you know what languages to focus your time learning? Right now I know HTML5, JavaScript, Java, PHP, and Python. Learning AngularJS and NodeJS. Just finished a contract job as a Web Developer at Life Technologies that lasted two years. What languages do you know and use at your job that are in demand?
3 comments
Well you've covered most of the standards for Web. Nobody's going to ask you to write a web app in C. I'd say learn your databases, CSS and then maybe pick up Ruby and C# (in that order). Employers are typically looking for accomplishments, i.e. projects you've created or worked on rather than just a list of languages. If the job calls for a language you don't know, buy that language's reference manual, learn it, and then say you know it. Once you've picked up one language, other ones are usually just a matter of syntax.
The Systems Programming side of things is different, of course. I'm a mechanical engineer by training so as a consequence I know some embedded languages like Assembly for certain chips, Tcl, as well as C/C++ and a little bit of Fortran. If you stay on the web side it's unlikely you'll encounter these very often. My Javascript kung-fu is weak because I pretty much never do web stuff.
It's all about having a relevant portfolio of demonstrable skills.
The Systems Programming side of things is different, of course. I'm a mechanical engineer by training so as a consequence I know some embedded languages like Assembly for certain chips, Tcl, as well as C/C++ and a little bit of Fortran. If you stay on the web side it's unlikely you'll encounter these very often. My Javascript kung-fu is weak because I pretty much never do web stuff.
It's all about having a relevant portfolio of demonstrable skills.
I know CSS and SQL also.
Mkay, well I'd suggest Ruby and C#.
If you already know Java, C# should be a snap as they're very similar.
If you already know Java, C# should be a snap as they're very similar.
I'm going to buck the trend and say that you've got an impressive list of popular tech that will get you a web developer job. Adding Ruby might give you a few more options, but nothing discernibly different than what's already available to you.
If you really want to do something different, start learning Clojure, ClojureScript, and React.
If you really want to do something different, start learning Clojure, ClojureScript, and React.
Is your goal to learn languages that are in demand? Or is it to become a good programmer -- even if the languages that can make you a good programmer aren't in demand?
Don't look back years later to the answers in this question only to realize you had set a goal you wish you hadn't.
Don't look back years later to the answers in this question only to realize you had set a goal you wish you hadn't.
My goal is to be a better programmer. I started learning web development so that I could make websites of my own that earn my money.
That doesn't actually clarify much. Is your goal to make money, or to be a better programmer? (I realize, better programmers in the end make more money. But which one's the real goal?)
It would be to make money. I enjoy programming. I have spent most of my time (+4 years) learning all I can about it. I also have a background in New Media Compositing, Authoring and Distribution.