Dev/Code/Hack

Which Programming Language Should You Learn To Make Money?

2 years ago

I often hear people ask what programming language they should learn first. But the question should be: why do you want to program in the first place? If you are interested in it because it seems fun, then any language will do.

But I have a feeling some of you have bills to pay, and you're thinking it wouldn't be so bad if programming could foot some of that.

Now the question is more specific: which programming language should you learn to make money? Now the question is ponderable, but be warned, the answer won't be the same for everybody.

The good news is that all popular languages are pretty fair in terms of compensation. The median pay today with 3-5 years of experience is around $60-80k/year, but that number can vary wildly, and can be much higher, particularly for folks on the east or west coast, or in consulting. YMMV.

The popular languages today are: Ruby, Python, PHP, Objective-C, HTML, CSS, JavaScript, Java, .Net, C/C++. Google all of those.

Each language has its popular uses:

LanguagePopular Use

Python/Ruby/PHP 

Server-side for websites and mobile apps.

Objective-C

IPhone

HTML

Client-side for websites. Markup language for building web sites, the 'building block' of websites.   

CSS

Client-side for websites. Presentation language for HTML.

JavaScript

Client-side for websites, used to manipulate HTML/CSS. jQuery is what you need to know here.

Java/.Net

Android programming. Server-side for websites, more popular with big businesses.

C/C++

High performance (stock trading) or graphics (video games).

Which programming language should you learn to make money? The bad news is probably not just one. The good news is you don't need to learn everything about every language, just enough to accomplish your goals.

So which one of these should you pick up first? As you can see, it really depends on how you want to make money.

If you don't care how you'll make money, then my opinion would be this, in order: Python, Objective-C, JavaScript, HTML, CSS. You'll also need to get some kind of database (MySQL, MongoDB), and learn how to program with it, although that's not a big problem.

If you want to program video games or high-frequency trading apps, then C++ is probably the way for you. If you want to make websites, Python, Ruby or PHP are great, along with HTML/CSS/JS. If you want to program IPhone then Objective-C is the way.

JavaScript, HTML and CSS are used together and is used for making stuff look good in your web browser. They will always be used in conjunction with a server-side language such as Python, Ruby or PHP.

In the job market, you would not likely not be using all the languages I suggested, rather jobs are generally broken out by skills:

Job RoleSkill Set

Back-end/Server-side Programmer 

Usually uses one of the following: Python, Ruby, PHP, Java or .Net. Has database knowledge. Possibly has some sysadmin knowledge.

Front-end/Client-side Programmer

HTML, CSS, JavaScript. Possibly has design skill.

Mobile Programmer

Objective-C or Java (for Android). HTML/CSS for mobile websites. Potentially has server-side knowledge.

3d Programmer/Game Programmer

C/C++, OpenGL, Animation. Possibly has good artistic skill.

High-Performance Programmer

C/C++, Java. May have background in mathematics or quantitative analysis.

Typically, there are folks who deal with the back-end and folks who deal with the front-end. These days there is a new crop of people who do mobile. Sometimes you can find people who do all of the above, but generally when you look for a job you will fill just one of those roles. 

When learning these languages, start small. Don't start by wanting to build the next Facebook, it's not going to happen. Start with small projects and find tutorials. Google 'hello world python' or 'hello world javascript' to find simple tutorials to get started. Once you can program projects for yourself and friends, then you will be ready to put a portfolio together to try to get a job, or start with some freelance work to build up that portfolio. You can definitely do it.

Also check out: How Much Money Do You Make Programming?

 

 

Tags: 101
Post a Comment

Name:
75 Comments

  • Great article, thank you.

    Nic 3 days ago   Reply
    Name:
  • With JavaScript (JavaScript, jQuery, jQuery Mobile, Backbone.js, Underscore.js, Parse.com, Phonegap) you can do front-end and back-end development for web and native applications.

    Peter 3 weeks ago   Reply
    Name:
    • yes I agree, this article is pretty old though. I wrote this before the node js heyday!

      par 1 week ago   Reply
      Name:
  • Thanks a lot! This is very helpful!

    richard 1 month ago   Reply
    Name:
  • wow your question implies you only have to learn one language, the reality is you need knolwedge of about 10 languages and 50 million frameworks before you can be employed and earn just enough money to pay rent, if your unlucky you'll end up with a huge uni debt and no job

    drew 8 months ago   Reply
    Name:
  • Thank you so much, am a student of EEE but normaaly confused which language fit me well.

    JOSEPH OUMA 8 months ago   Reply
    Name:
  • we have some world class programmer. if you face any problem for your Programming Language,please visit http://www.taoteapps.com & learn more.

    Jimmy 9 months ago   Reply
    Name:
  • Languages are mostly irrelevant. Any Tom, Dick or Harriet can learn them. The skill is to be able to write algorithms. You can learn every programming language under the sun and still write rubbish code. If I am looking for a developer/programming I look for someone who is strong in 1. Mathematics 2. Ability to state a problem. 3. Can understand complicated and ambiguous things. 4. Works from the perspective of the user (it is amazing how easy it is to spot a program written by programmers without taking into account how the user might use it) 5. Constantly questions the specifications 6. Doesn't make assumptions. 7. Oh, and knowing some programming languages is an advantage!

    Brian 9 months ago   Reply
    Name:
  • This is a damn relevant read. Thank you very much.

    Richard 9 months ago   Reply
    Name:
  • Quite informative. Thank you very much!

    Cameron 10 months ago   Reply
    Name:
  • There's still a ton of VB work out there, and wth the amountof legacy code out there it'll be years before this demand falls. You wouldn't think it looking online though. That's why I wrote http://www.visualbasictutorial.net. Take look and let me know what you think!

    Chris 11 months ago   Reply
    Name:
  • Your post is a definite motivation I'm new in programming and I'm falling in love with it. I'm learning VB.NET at college but I feel like I needed something more filling or rather challenging so I've recently started learning(Self-teaching) C++ which is fun even though sometimes it kind of makes me feel like I have an endless way to go but after reading the post it made me think I can get there which I will. Thanks a lot for the break down.

    Zweli South Africa 12 months ago   Reply
    Name:
  • Oh man I've been looking for a post like this for days. Thank you sir!

    Jim 1 year ago   Reply
    Name:
  • Thanks a lot for sharing this. It covers a lot of questions that were bugging me for some time. I started a blog recently about my journey to become a professional programmer, decided that it might be cool for people to see the entire process. Please let me know what you think: www.syntaxthis.com.

    Syntax This 1 year ago   Reply
    Name:
  • Thanks man i am inspire with this because first i was confuced that which language i should choose but now u makes it's easy for me all of above accourding to me php, and java both are best .once again thanks

    Laxman parmar 1 year ago   Reply
    Name:
  • Thanks for ur encouragement i luv programming. i was confused on how and where to start from but today u gave me hope. i pray dat God will help me achieve my goals and gimme d strenght to push on. thanks once again u made my day.

    Amalu victor 1 year ago   Reply
    Name:
  • Im thinking of creating a programme for PC's.which one wold you recommend?

    Soulja 1 year ago   Reply
    Name:
  • This is generally accurate. Although, python and higher level languages tend to pay less since there is less of a learning curve (less 'barrier' to entry).

    Dr Truth 1 year ago   Reply
    Name:
  • I've just started to learn C# from the very fundamental basics and I'm wondering if that could help me earn money in developing apps for mobile. Some help please?

    Hassan Rashid 1 year ago   Reply
    Name:
  • node.js is would probably recommend as something to watch for.

    harshit 1 year ago   Reply
    Name:
  • good post, some nutters in the comments

    backspace 1 year ago   Reply
    Name:
  • its good to see people like u guiding students in right manner thnks a lot masy god bless u

    omkar 1 year ago   Reply
    Name:
  • Thanks for a very useful information.

    mubeena 1 year ago   Reply
    Name:
  • love this post!

    Newbie 1 year ago   Reply
    Name:
  • Thanks a lot! Very very helpful for me!

    Noman 1 year ago   Reply
    Name:
  • fuck you. (quiet voice). Hehehehe. - Egg.

    Egg 1 year ago   Reply
    Name:
  • Thank you so much! I'm 14 and want to be a programmer some day.

    Zack L 1 year ago   Reply
    Name:
  • I Have To Say That This Is By Far One Of The Best Articles I've Read As An Amateur Programmer :) ... Two Thumbs Up :) ...

    Knox 1 year ago   Reply
    Name:
    • thank you!

      par 1 year ago   Reply
      Name:
  • I have been working in the IT(storage and virtualization) but hardly any programming experience except for college. The next step I want to take is to add a programming language under my belt. And i think you really have put it into context. I was not sure which one...well between scripting or a full blown language.....thank you

    teddy 1 year ago   Reply
    Name:
  • Nicely said..sensible advice

    tweeterr 1 year ago   Reply
    Name:
  • Thanks man that was a good way for me to get started and no i need to learn the languages from the books. And i choose objective C for Apple apps because the country i come from there game apps for the store there.

    Ian Mubangizi 1 year ago   Reply
    Name:
  • Good

    sakthivel 1 year ago   Reply
    Name:
  • Great article thanks!

    Anonymous 1 year ago   Reply
    Name:
  • I liked this article because it was short and it helps simplify the process of becoming a successful programmer. After reading this, a complete beginner can then decide what it is that they want to do. beginner web developers, or people interested in it - check out this collection of important blogs related to the industry. http://devurls.co

    bj 1 year ago   Reply
    Name:
  • 9i'i9 yghkuh ouihoji uhij iojh

    my 1 year ago   Reply
    Name:
  • Thanks for this article! I have a background in Graphic Design for 5 years and I'm comfortable with HTML & CSS. JavaScript & jQuery are next on my language list

    Hiten 1 year ago   Reply
    Name:
  • wow....thats the best info ave ever had

    fletcher 1 year ago   Reply
    Name:
  • This article is really nicely organized.

    Bre Roz 1 year ago   Reply
    Name:
  • Most of the information in this article is wrong. Python and Ruby are not for developing apps, neither is PHP and CSS is not even a language. My guess is the author has not learned any of them and is just repeating some half done internet research.

    Bewildered 1 year ago   Reply
    Name:
    • CSS stands for Cacade Styling Sheet.Its not a language, its for customising and better look to the web sites. DHTML cobines all those in one..

      nitish 1 year ago   Reply
      Name:
    • It is for the server side of the moble apps retard.

      Yoursostupid 1 year ago   Reply
      Name:
  • Most of the information in this article is wrong. Python and Ruby are not for developing apps, neither is PHP and CSS is not even a language. My guess is the author has not learned any of them and is just repeating some half done internet research.

    Bewildered 1 year ago   Reply
    Name:
  • bhgj

    1 year ago   Reply
    Name:
  • TANKS MAN

    DREY FROM NIGERIA 1 year ago   Reply
    Name:
  • Man! what you have gave that I was searching for 10months. Within 500 words you gave 555555555555555555555555555555555555555555555555 words' information. Thanks man

    Syed 1 year ago   Reply
    Name:
  • languages to learn (in this order) assembler erlang prolog lisp algol languages to use fortran ada apl a+ j languages to ignore c java everything microsoft

    eh 1 year ago   Reply
    Name:
    • lol not sure I would recommend most of those.

      wut 1 year ago   Reply
      Name:
  • thanks

    tawfik 1 year ago   Reply
    Name:
  • Great article. BTW, I don't think Onur can read. You certainly did mention .Net, which to my knowledge includes C#. ;) Thanks for writing and sharing.

    William 1 year ago   Reply
    Name:
  • Thanks for the great information! I've looked at several blogs to answer the question "what programming language to learn first" and yours is the first to answer so thoroughly with my needs in mind. Thank you!

    Dan Oliver 1 year ago   Reply
    Name:
  • Hi Thanks for your nice instruction about freelancing I found a good way to make money too a good place to exposure yourself as a freelancer to employers any skill's in programming or designing or any other skills are Good to make money this is my weblog: http://howcanifindwork.wordpress.com/ I wrote something about that in there. something to share experiences in this work with others.

    aveyond 1 year ago   Reply
    Name:
  • I'm happy. Thanks. Now, I'm ready to learn my first language. C/c++

    David 2 years ago   Reply
    Name:
  • and no single word of C# and .net, lol you surely live in another planet or a parallel universe

    Onur 2 years ago   Reply
    Name:
    • He DID mention .net, which includes c#.

      dumbbutt 1 year ago   Reply
      Name:
  • Try VBA and VB.Net to be specific....I've seen more job opportunities avail themselves than any other language - period.

    Brice Richard 2 years ago   Reply
    Name:
  • I'm inspired. Thanks. Now, I'm ready to learn my first language.

    Jean Frederique 2 years ago   Reply
    Name:
    • Thanks for useful info . GREAT !!!

      T S 1 year ago   Reply
      Name:

About

Dev/Code/Hack is a technology and business blog by Par Trivedi. Par is a software engineer and has been writing code for over a decade. This blog serves as a way to share thoughts and ideas about the tech/startup community, and also to educate newcomers to software development.

You may also find posts about video games, music, anime and nostalgic crap from the 80's and 90's.