So You Want To Learn How To Become A Freelance Programmer?


Everyone wants to be a programmer and design their own web based startups. 1WD is your one stop resource for web design, programming, inspiration and everything else that’s related. So, we thought why not compile a one stop article for those who are beginning to learn coding. Without further ado, let us all learn how to program.

There is quite a bit of information in this article that you may find useful, I highly recommend bookmarking it for later reference.

Why do people want to learn how to program?

This is an interesting development actually, similar to when blogging started becoming popular. There was a chunk of people who wanted to start a blog of their own because it looked like anyone could do it. Similarly, these days there seems to be a rush towards non-programmers wanting to learn how to program.

What Language should I Learn?

There are so many different programming languages that sometimes it’s hard to figure out where to start. This is what I think:

  • Start with C.
  • Learn python.
  • I am a Ruby expert and I can tell you that Ruby is probably the easiest to learn. Learn Ruby to learn programming.
  • Go for Java. The world runs on Java!

These tips are for programmers who go into hardcore programming, if you are more of a designer and want to focus on creating converting websites to be able to charge more, read this article about must learn languages in 2015.

How should I learn to Program

Programming, like everything else, is easy once you know what you’re do. You just need to start programming to learn how your language of choice works. Once you’ve made some mistakes and had some success it will start to come easier to you.

  • Programming is an art and there is no ‘right way’ to learn it - C, C#, C++, Java, Ruby and all other programming languages are tools that will teach you programming. They are just tools. So now, ask yourself how do artists become artists? Well, they just start painting or drawing whatever they are passionate about. At the end of the day the journey makes them the artists. So, start trying and stop thinking.
  • Got it, Sir! But, I still need to start somewhere, right? WHERE? - There will be a list of resources at the end of this article that you can use to start learning programming.
  • How long will it take me to become a ‘real’ programmer? - This isn’t a question I can answer. If you really want to be an expert then be rest assured that it’ll take at least a decade! If you think you’re going to be the next Mark Zuckerberg remember that Zuk started programming as a child. It even took him a decade to create something like Facebook.
  • ENOUGH! Which programming language? Tell me, NOW! - Any, really. I mean it. Write each language you’re interested in on a piece of paper, put them in a hat and start with whatever language you pull out. Trust me when I say that the core of all programming languages is the same. The syntax changes and that can be grasped in a couple of weeks. The most important thing about learning a programming language is to CODE. Don’t just read books and watch video tutorials. CODE the stuff yourself. Don’t copy the program and execute it as explained in those tutorials. Type the codes yourself and then execute them. Make changes in and do your own thing. Make sure that you have started to feel and understand those programs.

Now, how do I pick a project?

Actually, you should have an answer to this question. You have learned programming and now you want to create your own web application. Then why think? Just pick anything and DIY (Do It Yourself). Sound good? Go ahead, create a chess program in your programming language or a calculator. Just code something!

Resources that teach you how to code and learn a language

Enough talking. Let us all get rolling now. Here are some of the best resources that you can use to learn programming:

  • W3Schools - This was my go-to website while I was in school. It has been an amazing experience learning programming from W3Schools. They start from the basics, stick to basics and even the complex explanations on the website are pretty easy to understand. In short, it’s a perfect place to start learning programming.
  • RockingCode – 1stWebDesigner’s own video course teaching you how to build a website from scratch to fully responsive and flat WordPress website.
  • Try RubyGot 15 minutes? Go, give Ruby a chance in those 15 minutes. The on-the-fly editor helps you learn Ruby in no time. At least it will introduce you to Ruby very quickly.
  • Code SchoolThis is another one stop website for those who want to learn programming. They are loaded with video based tutorials and on-the-fly coding tools that help you understand programming even when you know nothing about it.
  • Try Bloc - Another great member and teacher in the Ruby community.
  • Codecademy - Another site that is loaded with amazing and helpful information. It has been appreciated by its users and I know that it is worth it. One of the rare, interactive ways to pickup JavaScript.
  • jQuery Air - This tool helps you learn jQuery in the browser itself. This tool will help you learn jQuery in the most practical way. Don’t miss it.
  • Hackety - Well, they won’t actually teach you how to hack, but they will teach you how to program.
  • TeamTreeHouse - Team Tree House has received praise from around the planet and the Internet community for the amazing work they have been doing. Try them if you are beginning to learn any new programming language.
  • PHP Know HowYou didn’t think I’d forget about PHP did you? PHP is the language that WordPress relies on to function.
  • Lifehacker’s Learn to Code - Lifehacker has compiled an amazing article that teaches you the basics of coding. This article is a great starting point for anyone that wants to learn more about programming.

What Language Should I Start Learning?

Gosh! How many times will I have to tell you this. ANY! Just check out any of the resources listed in this article and start learning how to program. Let me know if you found the resources beneficial.



  1. Ama

    Can I use Adobe Dreamweaver only to develop PHP web applications or its better to do it with a editor?


    • Ama, Dreamweawer usually put’s a bit too much unnecessary code, but it’s great to help for beginners. I would suggest to use advanced code editor, not Dreamweaver one you can. Hope it helps!

  2. Darssh

    [off the flow]

    If someone asks me, “which language do you choose for your new project?” or “What are the criteria for selecting a programming language for software solutions?” then I simply give this answer:

    “Selection of a programming is dependent on the software company’s standards(Which type of programmers they have in their team), client’s BUDGET, and requirements.”

    For example, if a client want a custom firewall to be developed on their bank, the software company may go for JSP for this software because it has high security concerns.

    [A nice slide on further explaination about language selection is here:

  3. Álvaro Carneiro

    I recommend to use C++ and Java, with C++ you have the power to do anything you want and with Java you have the power of the portability.
    I’m a PHP programmer who knows something about Python and I really recommend that languages, with PHP you can do awesome web apps (like wordpress) and with Python you can do software and web apps (with django).
    I don’t code using Ruby but I see cool projects that use it, some day I will start with it :)

  4. saurabh saxena

    Well, The only thing i want to say is C is Mother language of all language,And guess who is father? Yes It’s HTML

  5. Learning to code is an challenge but like most things in life some people are born to code and you need to find out early on if your natural skills and aptitude suits coding.

    • Salman Siddiqui

      True! Especially when you dream of being the next 14 year old who launches his own million dollar startup.

      But, this does not mean that you cannot learn coding. Anything is possible with the sort of tools and guidance available these days..

  6. Stephen Martin

    I agree php is quite easy to learn. Even for someone like myself who is not a brilliant programmer. And you can get some really good websites up and running quickly using php.

  7. Christian Lavie

    Sorry, but this article is a joke, isn’t it ? Seriously, C/C#/C++ is a language nobody who does websites never ever needs, python is an old, exotic language nobody needs & uses and Ruby is probably the most unintuive, nerdy, stupid thing ever. Why are all the people commenting positive on this article ? I mean, 1stwebdesigner is a killer blog, but this article simply leads people in the totally wrong direction.

    If you want to learn coding, learn the language that fits the platform you want to work with:
    You do websites ? Learn PHP [75% of sites run on PHP] or Java (20%). PHP is easy to learn, Java is hard (not the language, but the annoying things around, even after 10 years of coding it’s hard to set up a Java IDE).

    You want to do mobile stuff ? Learn PHP and strenghten your html/css/js skills. I would recommend Java to start with, but it’s simply too hard to get into it. If you know the PHP stuff, specialize on a platform (iOS, Android, etc) and learn the language therefore (Cocoa, Objective-C, etc).

    You want to desktop stuff ? Learn Java/PHP or/and get deep into js/html/css. Most desktop apps will run in emulated browser windows in 5 years.

    You want to create Games ? Learn C#/C++ or – if you don’t want to do the big games – learn JS/HTML5 !

    Seriously, learning a language is a big thing that needs years, so you shouldn’t waste your time with things you ll never need.


      • Sabsy

        I use Aptana Studio 3 for PHP development, quite cool, based on eclipse and it is open source.

    • Salman Siddiqui

      Finally, someone found it wrong :)

      Chris – The first programming language that I learnt was BASIC. This was around 14 years back. Then came C, C++, Java, PHP, Python, Ruby and sooo many of them. You know what happens WHENEVER anyone suggests me a new language? I don’t feel afraid because I know that the basic flow of the language is going to be the same. It will be the syntax which will change. So, when I say learn any language then I really mean it. One can directly start with JAVA and this a good advice but even if someone starts with C or C++ then he/she will get an idea of how things were done back then. And, trust me even today some Forture 50 IT industries use C,C++ to deliver projects to their clients. I have friends who work in such IT industries so I know these facts.

      The idea of this article was to motivate readers for programming and to let them know that the first step is to start. Rest will easily come as a byproduct.

      By the way, I can use python and shell scripting to create scripts at my webserver level which keeps a track of when my website when down, when it came up, with what PID, what was the old PID. I can also you the functionality of “wget” command to keep track of when my website stops working and use “sendmail” service to instantly send a mail to me on my smartphone. I have done such stuff so I know it. Even shell scripting and python can be worth it.

      No programming language that you learn will ever be a waste. None of it … :)

      Also, you are right when you say that it takes years to learn a programming language but with the sort of tools/information available these days…it can be an easier task for many.

      • Eric

        I agree with you in response of Chris. The person who well hand over C/C++ can learn any language and very easily. Coz these are the basic of Languages.

        So, follow this Article if you want to learn something.

    • Ama


      Then according to you, the way to go is: html, css, jquery, and php… Maybe Java…

      • Ama, sorry to jump in, but I agree to Lavie. HTML and CSS is must have in starting skill set and jQuery and Php will help you to land even better jobs :) I would say – do not push so much on quantity though. Learn HTML and CSS really well and you’ll do very good just with it. Add too many skills and you will struggle to keep up with changes and learning all little details!

    • Salman Siddiqui

      I am sure Google’s Algorithm will never let this website come up on the top for keywords related to “coding” and “programming” because of that other keyword which they use. lol

      Anyways, and amazing website that is. Bookmarked! :)

  8. Cat

    Good article! Thanks for this – I had all these languages in a “to-learn” kind of list and had no clue which one to dive into first….C it is!! (=^_^=)

    • Salman Siddiqui

      How has the journey been? C seems to be the language since stone age :P

      I remember creating a HUGE programming for my chess project in my high school..

  9. Seriously though – which do I start with? :-P

    I’m sort of joking, but let me rephrase the question and see if you change your answer “start anywhere.”

    If a total noob such as myself has a specific idea for a project they want to learn to code for, might that influence their decision on where to start? Do certain languages work better in certain situations? For instance, if I wanted to create chess app for iPad with better 3d graphics (because all the free ones kind of suck) – any recommendations on where to begin?

    Or does it still really not matter?

    • I’ll hijack Salman’s post and comment! If it’s my choice, I’ll definitely go for C#! Quite a lot of mobile games are written in C#. I’m not really sure what the difference is among the lot, but I’m just jumping on the wagon. And you mentioned 3D, why not try Unity3D? It has built-in support for C# and JavaScript and others if you want to build a serious game.

    • “If a total noob such as myself has a specific idea for a project they want to learn to code for, might that influence their decision on where to start?”

      – Yes.

      “Do certain languages work better in certain situations?”

      – Yes.. some languages are built for web design… others desktop applications.. some for specific hardware and others to use in conjunction with another application.

      “if I wanted to create chess app for iPad with better 3d graphics (because all the free ones kind of suck) – any recommendations on where to begin?”

      – Yes, start by doing some research!

      if you want iOS development – start poking around their website!

      You’ll see that ipad apps are generally one of three languages: Objective-C, C, or C++. Right there you took a general concept and now have a language selection. I would then toodle over to your local book store and find something that says “making an ipad application with X”.. more than likely objective-c. Pick it up and follow along!

      Side note I came across this article from alltop, and I mostly hang out at ‘’.

    • Kei

      I had the same questions which is why I started my website I think a good place to start is look at the languages and then look at the resources for that language. For example as a beginner I took a course that required us to use Haskell. There were hardly any beginner resources for Haskell. I feel like I didn’t learn as much because there were little resources I had outside of the class. For a language like Python and Ruby there are tons of resources for beginners.

  10. Malik

    I just happened to run into this article and I just started learning C yesterday, guess I’m on the right track (I hope so). This is a perfect inspirational article.

  11. In my opinion, if you want to learn object oriented programming you should skip C and go for C++ or Java. If you want to learn programming for the web then Php or Javascript would be most useful. Ruby is still immature compared to the others…