What Computer language should I master to reach a 60-80k salary?
October 27, 2010 6:56 PM Subscribe
Most profitable computer language to learn in 2010/11?
I'm fairly good in XHTML, have some exposure to CSS and understand basic SQL querying. But what I really want to get into Application and/or Web Application programming.
My goal is to reach a 60-$80k job the quickest way.
From my research I have found that Java, C#.NET and PHP are most thought after.
So my summary question is What computer language is my quickest rout to an $60-$80k salary?
I'm fairly good in XHTML, have some exposure to CSS and understand basic SQL querying. But what I really want to get into Application and/or Web Application programming.
My goal is to reach a 60-$80k job the quickest way.
From my research I have found that Java, C#.NET and PHP are most thought after.
So my summary question is What computer language is my quickest rout to an $60-$80k salary?
So my summary question is What computer language is my quickest rout to an $60-$80k salary?
If you are asking quickest route to a higher salary (Except web application programming) try ABAP.
Can start at 75K or 125K in places with high rent expenditures like Calif. (working for HP for example)
posted by iNfo.Pump at 7:11 PM on October 27, 2010
If you are asking quickest route to a higher salary (Except web application programming) try ABAP.
Can start at 75K or 125K in places with high rent expenditures like Calif. (working for HP for example)
posted by iNfo.Pump at 7:11 PM on October 27, 2010
XHTML is not a computer language, nor is CSS. SQL has some elements of a computer language but is not as such.
Normally my advice to someone who wants to learn a first computer language would be to learn Python (and then learn about Django if you are interested in Web applications).
However, given the basic skills you have, I would suggest that you start by learning javascript which IS a computer language and would fit in nicely with your XHTML/CSS knowledge. Then I would add PHP which is considered to be an easy language to become reasonably proficient in... This suggestion coincidentally fits in with the information given in this PHP tutorial.
I would advise against starting with either Java or C#.NET as their learning curve is more daunting.
posted by aroberge at 7:12 PM on October 27, 2010 [4 favorites]
Normally my advice to someone who wants to learn a first computer language would be to learn Python (and then learn about Django if you are interested in Web applications).
However, given the basic skills you have, I would suggest that you start by learning javascript which IS a computer language and would fit in nicely with your XHTML/CSS knowledge. Then I would add PHP which is considered to be an easy language to become reasonably proficient in... This suggestion coincidentally fits in with the information given in this PHP tutorial.
I would advise against starting with either Java or C#.NET as their learning curve is more daunting.
posted by aroberge at 7:12 PM on October 27, 2010 [4 favorites]
Knowing all of them and being able to knowledgeably discuss their weaknesses and strengths, the runtimes of their implementations of various data structures, sorting and search algorithms, and being able to work out the details of complex problems will get you high salaries at top-notch workplaces. The languages are almost secondary to actual implementation at the best workplaces.
posted by Blazecock Pileon at 7:15 PM on October 27, 2010 [1 favorite]
posted by Blazecock Pileon at 7:15 PM on October 27, 2010 [1 favorite]
This question is a bit like asking which brand of wrench you should buy to become a plumber. It's not about knowing a particular language; if you truly understand programming in a language like Java, picking up its near relatives like C# is basically trivial. An interviewer who knows what they're doing is not going to as interested in the fact you checked off a PHP box on the application as they are whether you seem competent in more than just a language but the concepts and experience that go into being a good application developer. Things like:
- Have you worked in a nonacademic environment developing real code before? It's one thing to do a toy app for a class, it's another thing to do a real world project.
- How well will you work as part of a team of developers?
- Do you have experience using the appropriate approaches to common problems? That is, do you understand the appropriate place to use a hash table versus a linked list?
- What is your approach to testing your code to try to reduce the number of bugs introduced by code changes?
These are just a few things right off the top of my head, there are many more I'm sure.
posted by axiom at 7:18 PM on October 27, 2010 [10 favorites]
- Have you worked in a nonacademic environment developing real code before? It's one thing to do a toy app for a class, it's another thing to do a real world project.
- How well will you work as part of a team of developers?
- Do you have experience using the appropriate approaches to common problems? That is, do you understand the appropriate place to use a hash table versus a linked list?
- What is your approach to testing your code to try to reduce the number of bugs introduced by code changes?
These are just a few things right off the top of my head, there are many more I'm sure.
posted by axiom at 7:18 PM on October 27, 2010 [10 favorites]
By "quickest route", I hope you understand we're talking three or five years of personal and opensource projects before you even get your first job. I say this because you clearly don't have a compsci or related degree, and so you're going to need contributions to a bunch of public projects for anybody to take a chance on hiring you.
And, even with a degree and about five years of experience, I'm earning toward the bottom end of your range. I could do much better if I weren't at a startup; but I think you'll have trouble getting into a big company without the degree, anyway.
The language you choose is irrelevant. What really matters is your ability to design and implement software. A new language is something that a competent programmer can pick up in a week or two, and be fluent in within a month.
I'd pick a language that's easy to learn, elegant, and has been heavily adopted heavily by the web industry (since you already know the presentation-layer web stuff). In short, I'd choose ruby.
But, honestly, I don't think you understand what's really expected of a programmer. Knowing the syntax of any particular language is absolutely the least important skill a programmer has. In fact, I got my last job after starting the interview with, "I don't know ruby. But, lemme tell you about my projects. And, if you hire me, I promise I'll know ruby before I come in."
posted by Netzapper at 7:20 PM on October 27, 2010 [6 favorites]
And, even with a degree and about five years of experience, I'm earning toward the bottom end of your range. I could do much better if I weren't at a startup; but I think you'll have trouble getting into a big company without the degree, anyway.
The language you choose is irrelevant. What really matters is your ability to design and implement software. A new language is something that a competent programmer can pick up in a week or two, and be fluent in within a month.
I'd pick a language that's easy to learn, elegant, and has been heavily adopted heavily by the web industry (since you already know the presentation-layer web stuff). In short, I'd choose ruby.
But, honestly, I don't think you understand what's really expected of a programmer. Knowing the syntax of any particular language is absolutely the least important skill a programmer has. In fact, I got my last job after starting the interview with, "I don't know ruby. But, lemme tell you about my projects. And, if you hire me, I promise I'll know ruby before I come in."
posted by Netzapper at 7:20 PM on October 27, 2010 [6 favorites]
Actually here's a loop the best language to learn that will fit your skill set and get you mucho money is .... Javascript (and a framework like Jquery)
Right now there's a dearth of straight front-end web developers. Its a bit of a second class skill, but screw that - its a highly sought after niche where money can be made. So I'd concentrate on front end CSS/HTML/JS and just a little bit of the backend templating systems with php/python or rails.
posted by bitdamaged at 7:31 PM on October 27, 2010
Right now there's a dearth of straight front-end web developers. Its a bit of a second class skill, but screw that - its a highly sought after niche where money can be made. So I'd concentrate on front end CSS/HTML/JS and just a little bit of the backend templating systems with php/python or rails.
posted by bitdamaged at 7:31 PM on October 27, 2010
If you still live in the area that your question history implies, where cost of living is high, I think you could demand a whole lot more than $60K for mastery of Java or C# ... so I wonder if we're not all on the same page for what your goals are.
posted by tantivy at 7:40 PM on October 27, 2010
posted by tantivy at 7:40 PM on October 27, 2010
PL\SQL developers in my area (DC) can make up to 100,000, senior developers over that.
You can actually create the entire site through database packages and have the HTML\CSS\JavaScript\Jquery wrapped in PL\SQL. It's pretty powerful and a ton (understatement) of companies use Oracle.
posted by zephyr_words at 7:43 PM on October 27, 2010 [1 favorite]
You can actually create the entire site through database packages and have the HTML\CSS\JavaScript\Jquery wrapped in PL\SQL. It's pretty powerful and a ton (understatement) of companies use Oracle.
posted by zephyr_words at 7:43 PM on October 27, 2010 [1 favorite]
One good way to make a lot of money is to work with languages that are heavily in demand but which have few developers. Ruby is a current example of this. I'm always getting asked to recommend people for Ruby jobs or freelance work and all of the people I know (who are good) are booked solid ages in advance and mostly charging $100-150 an hour (or in full time terms, are earning $100-150k).
Long term, though, more "enterprisey" technologies might be a better bet.
posted by wackybrit at 7:51 PM on October 27, 2010 [1 favorite]
Long term, though, more "enterprisey" technologies might be a better bet.
posted by wackybrit at 7:51 PM on October 27, 2010 [1 favorite]
I've been looking for jobs recently, and there are a good number of front-end developer jobs available right now. This might be a good fit for you. Here's what you do:
posted by !Jim at 7:52 PM on October 27, 2010 [5 favorites]
- Get really good at HTML and CSS, including HTML5 and CSS3. Know what XHTML is and what it isn't, and why most people aren't really quite working with XHTML. You should be able to build really cool stuff in webkit that gracefully degrades in IE.
- Learn javascript. Not copy-and-pasting, not jQuery, learn javascript. Then, learn jQuery (there are other perfectly awesome frameworks, but if it's a job you want, it's tough to go wrong with jQuery).
- Read about usability. There are books and websites. I don't know usability that well, but a few classics are: Design of Everyday Objects, Don't Make Me Think, useit.com
- Alright, now build something really cool using some combination of steps 1-4. It could be a neat html5 game, or a blog with strong, but well-reasoned opinions, or some cool library or framework.
- Now you can get a sweet job doing awesome UI/UX stuff
posted by !Jim at 7:52 PM on October 27, 2010 [5 favorites]
JavaScript, and node.js for game development. It's the fresh hotness.
I'll also second Ruby.
posted by Cool Papa Bell at 8:15 PM on October 27, 2010
I'll also second Ruby.
posted by Cool Papa Bell at 8:15 PM on October 27, 2010
And my clients in SF are all hiring for PHP. So it varies. Pick something, and get really good at it. There are plenty of jobs for excellent developers.
posted by judith at 9:16 PM on October 27, 2010
posted by judith at 9:16 PM on October 27, 2010
Response by poster: Thanks for the detailed replies from everyone!
posted by wildrain2008 at 9:34 PM on October 27, 2010
posted by wildrain2008 at 9:34 PM on October 27, 2010
You can also keep an eye on the TIOBE index to see which languages are most popular.
BTW - some people have mentioned that the actual language you learn is irrelevant, really, and that's true for a professional software developer. However, no matter how many times I try to explain that to recruiters and HR people, I inevitably end up in this exact same scenario:
===
Recruiter: SO IT SAYS HERE YOU'VE USED C# AT YOUR PAST TWO JOBS.
Me: Yes, that's right, I designed this system to do X at my last job, and we used .NET...
Recruiter: SO WHY ARE YOU APPLYING FOR A JAVA POSITION?
Me: Well I've used java in the past and really, it's not the language that's import-
Recruiter: HERE LET ME TRANSFER YOU TO OUR C# RECRUITER, ONE SEC HEY JASON! PICK UP ON LINE TWO WILL YA??
===
So my point is, it shouldn't matter, but sometimes it does. :P
posted by Terheyden at 10:16 PM on October 27, 2010 [1 favorite]
BTW - some people have mentioned that the actual language you learn is irrelevant, really, and that's true for a professional software developer. However, no matter how many times I try to explain that to recruiters and HR people, I inevitably end up in this exact same scenario:
===
Recruiter: SO IT SAYS HERE YOU'VE USED C# AT YOUR PAST TWO JOBS.
Me: Yes, that's right, I designed this system to do X at my last job, and we used .NET...
Recruiter: SO WHY ARE YOU APPLYING FOR A JAVA POSITION?
Me: Well I've used java in the past and really, it's not the language that's import-
Recruiter: HERE LET ME TRANSFER YOU TO OUR C# RECRUITER, ONE SEC HEY JASON! PICK UP ON LINE TWO WILL YA??
===
So my point is, it shouldn't matter, but sometimes it does. :P
posted by Terheyden at 10:16 PM on October 27, 2010 [1 favorite]
i would say learn how to program in flash because facebook games are hot right now and not many people know how to do it so flash developers are in INSANE DEMAND (i work at a company developing fb games that REALLY needs more flash developers)
apparently PHP people are also hard to find and in demand around here.*
*for context, i live in the bay area
posted by raw sugar at 11:00 PM on October 27, 2010
apparently PHP people are also hard to find and in demand around here.*
*for context, i live in the bay area
posted by raw sugar at 11:00 PM on October 27, 2010
BTW - some people have mentioned that the actual language you learn is irrelevant, really, and that's true for a professional software developer. However, no matter how many times I try to explain that to recruiters and HR people, I inevitably end up in this exact same scenario...This isn't just an HR person thing. I recently had a round of interviews with the engineering staff at a startup company who ultimately decided not to go with me, because I didn't know the languages they used. For some companies, the time it takes you to get up to speed with the language + their codebase is just too much. This is especially true for junior candidates and for languages that are very common.
posted by !Jim at 11:59 PM on October 27, 2010
There was a recent survey here in the Netherlands about hourly rates in the computer industry, and iPhone/iPad developers come out on top.
(and, of course, I can't find it online right now)
this has to do with the fact that every company appears to want to have an iPad app to promote their shit, and since Objective C isn't as big as any of the languages mentioned above this comment - the shortage drives up the prices...
I don't know if the same is true where you live.
posted by DreamerFi at 5:51 AM on October 28, 2010
(and, of course, I can't find it online right now)
this has to do with the fact that every company appears to want to have an iPad app to promote their shit, and since Objective C isn't as big as any of the languages mentioned above this comment - the shortage drives up the prices...
I don't know if the same is true where you live.
posted by DreamerFi at 5:51 AM on October 28, 2010
You could probably learn COBOL and make a shit-ton of money. Legacy code is everywhere.
posted by jasondigitized at 6:38 AM on October 28, 2010
posted by jasondigitized at 6:38 AM on October 28, 2010
I've been in the industry a decade, and worked for Endeca, which powers more than half of the top 100 eCommerce sites and tons of behind-the-firewall applications.
I'll echo that Java is by far the most widely used language out there. Ruby is useless from a salary perspective, except in some niche businesses. I love Ruby, so it's a shame, but that's just the case. PHP isn't worth learning since those jobs are outsourced most of the time. Python is probably the best bet of those, but Java easily, easily beats Python for usage in the real world and earning potential.
The big trend right now, however, is towards mobile. You can easily make $100k as a developer if you have experience building mobile apps, and I can introduce you to the people that will pay you that much. Seriously. Get a Pragmatic Programming book on Android development, and one for iPad development, and go nuts. Put out some simple apps yourself to show that you can do it, and then hunt for jobs. The world is your oyster.
posted by kryptonik at 7:36 AM on October 28, 2010
I'll echo that Java is by far the most widely used language out there. Ruby is useless from a salary perspective, except in some niche businesses. I love Ruby, so it's a shame, but that's just the case. PHP isn't worth learning since those jobs are outsourced most of the time. Python is probably the best bet of those, but Java easily, easily beats Python for usage in the real world and earning potential.
The big trend right now, however, is towards mobile. You can easily make $100k as a developer if you have experience building mobile apps, and I can introduce you to the people that will pay you that much. Seriously. Get a Pragmatic Programming book on Android development, and one for iPad development, and go nuts. Put out some simple apps yourself to show that you can do it, and then hunt for jobs. The world is your oyster.
posted by kryptonik at 7:36 AM on October 28, 2010
Seconding the mobile apps idea. Every company wants to build them these days.
posted by ilike at 8:13 AM on October 28, 2010
posted by ilike at 8:13 AM on October 28, 2010
A friend of mine who runs a very profitable consulting business was saying that cross-platform, mobile development was very hot right now, and recommended that I learn Adobe AIR. (Not that I want to code for a living...)
posted by pombe at 9:57 AM on October 28, 2010
posted by pombe at 9:57 AM on October 28, 2010
In part it depends on your location and the market. For example, someone making 50k in Manhattan KS would need to earn 100k for the same lifestyle in Manhattan NY. Where I live, that salary range is for experts only. I.e. not you, maybe not me. If your frame of reference is NYC, it might not be so hard.
If you look at computer history, there's a curve to big money in consumer software: sales start low with a small user base, but a few people make breakout killer apps. The media and developers notice this and target the new hot platform (PC, Web, Iphone, etc). The market gets flooded with lots of apps, which attracts a lot more users (as well as declining hardware costs). Eventually it's too hard for small businesses to break even. Unfortunately, it takes time to develop software. If everyone you know is saying mobile is the new hot thing, it may be too late to bring a program to market before the rest of the world.
So the safer approach is enterprises. Lots of places need software that the market isn't selling, because they'd be the sole buyer. Think insurance companies, telcos, banks, call centers, etc. Places cowboy coders consider boring as hell. Certainly you'd be exposed to a lot of regulatory compliance buzzwords. But it's an option. It's hard to say which language is better for them. Many use Java, many use ASP, some use C#. SQL is basically mandatory. In fact, probably the most useful general language you can learn would be SQL plus anything. But the Javascript idea isn't bad, and given your background, it's a natural fit. Not sure about wages though.
posted by pwnguin at 10:22 AM on October 28, 2010
If you look at computer history, there's a curve to big money in consumer software: sales start low with a small user base, but a few people make breakout killer apps. The media and developers notice this and target the new hot platform (PC, Web, Iphone, etc). The market gets flooded with lots of apps, which attracts a lot more users (as well as declining hardware costs). Eventually it's too hard for small businesses to break even. Unfortunately, it takes time to develop software. If everyone you know is saying mobile is the new hot thing, it may be too late to bring a program to market before the rest of the world.
So the safer approach is enterprises. Lots of places need software that the market isn't selling, because they'd be the sole buyer. Think insurance companies, telcos, banks, call centers, etc. Places cowboy coders consider boring as hell. Certainly you'd be exposed to a lot of regulatory compliance buzzwords. But it's an option. It's hard to say which language is better for them. Many use Java, many use ASP, some use C#. SQL is basically mandatory. In fact, probably the most useful general language you can learn would be SQL plus anything. But the Javascript idea isn't bad, and given your background, it's a natural fit. Not sure about wages though.
posted by pwnguin at 10:22 AM on October 28, 2010
Like everything else, it depends on both supply and demand. There are lots of jobs for PHP, but you could learn everything there is to know about PHP in a couple of months so there are tons of people available for those jobs. There aren't tons of job openings for C++, but it would take 2-3 years to learn C++ inside out starting from scratch, so those positions pay a lot more. And for something like PL/SQL or ABAP, the barrier to even getting started is really high, which further reduces supply.
posted by miyabo at 11:40 AM on October 28, 2010
posted by miyabo at 11:40 AM on October 28, 2010
This thread is closed to new comments.
note: if mastering a programming language in a few months was a quick, sure-shot technique to making 60-80k, then everyone would do it. most of us geeks are self-taught, but started early and have had the interest required to learn quickly.
posted by tmcw at 7:08 PM on October 27, 2010 [5 favorites]