This question previously had details. They are now in a comment.
Take these 23 essential actions.

I think the most important actions for codenewbies are #13 and #21 (pictured above).
1. Remember that motivation is fickle. You need to invest in self-discipline from the start, not motivation.
2. Stop looking for a secret trick. There is no shortcut that will help you miraculously learn to code in a short amount of time.
3. Understand that you don’t need 5 monitors. This isn’t the infamous hacker movie Swordfish. A normal laptop or desktop computer is more than enough to get started coding.
4. Recognize that you are actually smart enough to be a programmer. Programming is a broad field and there are a ton of different types of jobs.
5. Work with real-world tools. Codecademy and Treehouse are amazing resources for getting your feet wet. But eventually you need to work with real programming tools like the terminal and Sublime in order to really understand how everything works.
6. Ignore the social media scoreboard. On Instagram people share a fake version of their lives. By comparing yourself to other people’s fake lives, you’re naturally going to feel worse about yourself. Just focus on improving as a developer every single day.
7. Start with HTML/CSS. Without any previous coding experience, you can build a page from scratch and push it live on the internet in only a few hours. This is an incredible way to start feeling good about coding, and you can do it for free.
8. Then learn Ruby. Ruby teaches you to code in the right way and gives you the foundation to learn other languages later on.
9. Don’t count the hours. Becoming a programmer is about developing your skills every single day. It won’t take 10,000 hours to break into the field, so don’t discourage yourself by counting them. Just focus on coding right now!
10. Never forget to celebrate the small wins. Want to build iOS apps? Great. But there are a lot of steps that come before that. Find meaning in the smaller accomplishments that you’ll make along the way.
11. Pair program with more experienced people. There is no better way to improve your skills.
12. Say “I don’t know.” You’ll never learn anything if you claim to already know everything.
13. Overcome the imposter syndrome. I can promise you that you’re going to feel like you’re pretending to be something that you’re now. Remember that you are not an imposter, you’re a developer.
14. Write answers on Quora. It’s an amazing platform to share insights from your coding journey.
15. Always work on the edge of your comfort zone. You won’t make progress by sticking to the easy stuff.
16. Always use the right tool for the job. Developers work with tools like:
If you want to become a developer, you need to learn how to pick the right tool to solve every specific problem.
17. Learn more than programming language. It helps you understand programming at a higher level.
18. Master algorithms. Excelling at solving algorithmic challenges is a timeless skill that will carry you far.
19. When you get stuck, embrace the power of the 10 Tab Rule. Here’s what I mean:
Doing so will give you valuable insight into your problem.
20. Understand that you’re going to wake up in the morning thinking about code. When it happens, it’s pretty freakin’ cool.
21. Prepare for “The Dip.” When learning any complex skill, there is a moment where you realize that the rabbit hole goes far deeper than you ever imagined. Commit to moving past this stage. It’s where many fall off.
22. Find a mentor. A coding mentor will help you work right on the edge of what you understand and what you don’t.
23. Learn to love the process. Like any complicated skill, learning to code isn’t easy. But that’s exactly why you should do it.
The fact is...learning to code is a long and difficult journey. If you’re just in it for the money, you’re not going to make it.
But if you’re in it to learn an amazing craft that will enable you build amazing things for the world we live in, then...well, you’re off to a good start.
So…what are you waiting for? Get coding!
If you want to learn to code and become a developer this year but are unsure of where to start, check out The Coder’s Compass, a tool I helped build to help aspiring developers find their way.
If you liked my answer, I’d really appreciate it if you upvoted it by pressing the light blue button below.

The best thing you can do is to just go ahead and get started. If you're reading this, and you're serious about starting, then I recommend you do exactly what I say in this post and you'll be well on your way.
As long as you really learn to understand these resources, and you are dedicated and don't take any shortcuts, you're guaranteed to have a very prosperous and exciting life as a programmer both professionally and personally.
To learn programming follow these steps:
Firstly, pick up a language of your choice. There is no best choice, choose any. Although, for beginners I would recommend C++/Java.
Secondly, You have such a great resource with you, THE INTERNET. Exploit it to the fullest or buy some book related to required programming language you want to learn.
Now coming to learning part. To learn a programming language go through the following concepts step by step:
Learning to program is not about reading about it from internet or book. Its about implementing what you read. So as you learn about each one them, get your hands dirty and practically apply each of the concepts you learn. First, solve trivial questions and then keep on increasing difficulty level.
At this point of time you would have learned about programming language. Next , learn about different data structures like linked lists , stacks, queues etc. and various algorithms.
Best way to learn is to form study groups with your friends and keep small targets as you learn bit by bit. In all to master programming, all you need is INTERNET and loads and loads of practice. It may get intimidating at times. Whenever you are stuck google your doubts or search for your questions on stack overflow. I am quite certain that as a whole programming is fun!
Happy programming!
Because of my writing on Quora, many people come to me asking how to learn to code from scratch. So I looked at how I learned to code back in 1995 and came up with a method that matches what worked best for myself, and also many of my friends who are excellent programmers.
Back in 1995, the internet was AOL, actually it was America Online and the AOL shorthand wasn’t totally a big deal yet. And compared to now, it wasn’t the best place to learn how to code.
There weren’t a ton of great tutorials. There were no videos or screencasts. The internet back then was a terrible and wonderful place to hang out.
I decided I wanted to program video games, so I begged my mom to get me a programming book so that I could someday make my own video games.
It’s funny because for some reason I figured out that the language that professional programmers used was C, so I got a copy of Teach Yourself C in 21 Days.
That was really just a clever way of selling a 21 chapter book, but I liked it anyway and that was my gateway drug into the wonderful world of programming.
Now, books are cool and all, but I wanted to make video games, not read books. So, I set out to make my own games.
I started with little text based games because all I knew was how to print text, loop, and get text input. So, number guessing games and so on were where I lived for a few years.
Eventually, I found a graphics library called Allegro which was great for 2D game programming.
That took everything I did to the next level. Now I could put graphics on screen and so on and it was amazing.
I set out to make my own version of Pong and after a few months of daily effort, I made my own very simple version of Pong and IT WAS AWESOME!
Seriously, I loved that game.
And more importantly, I did what I set out to do. I made my own video game, but now I wanted more. I was hooked on programming.
So I kept giving myself these interesting little projects to do. I made my own tile based map editor. I had a bad version of tetris that never quite got finished. All kinds of weird little projects.
By the time I got to college there wasn’t much left to learn in terms of writing code, so I kept giving myself weird little projects to work on. I got into web development with PHP and MySQL and all of that kind of thing.
I still have bizarre little side projects. Last year I started building my own operating system from scratch with Assembly. So yeah, weird stuff like that I guess keeps me going.
And after careful consideration, I found a pattern in all of this that I call The Simple Learning System (<-full explanation linked).
It works like this:
The excitement of a project you care about combined with making a little bit of progress each day becomes this amazing engine of learning that seems to be much more effective than any traditional approach I’ve seen.
Yes, courses are good and you can learn a lot with them. Yes, books are great too. So are screencasts and blog posts!
But, it’s the habit of writing code every day that I’ve seen make the biggest difference in my own growth as a programmer and the same with the best programmers I know.
Also, along the way, I find that it’s easier to pick up important concepts as I need them to solve problems in front of me than it is to learn them in a purely abstract setting like a classroom. Everything is easier when I have a problem you care about solving.
So, I would suggest if you want to learn to code from scratch, decide what you really want to build and then work your way towards that. There are so many great languages and tools out there now that it’s so much easier to learn than it’s ever been before.
But like it’s always been, you have to be willing to put the practice in to develop the skill. Just like guitar, martial arts, or any other skill. It takes practice. So…
Write code every day!
-Brian
P.S. I write about code and career issues elsewhere too…
To start coding from scratch,choose first a language you would like to master upon. You can choose java,.net,C/C++ anything you feel you would like to learn. Start learning the very basics. You have a lot of open sources available to learn all the coding stuffs. Start with first program of addition of two numbers or “hello world!” itself. Have the concepts cleared in your mind. You can refer tutorialspoint or codeacademy for learning the very fundamentals. It would be good to refer books but still it would be better if you get good hands-on for the language you chose.
Look on all tutorials from the beginning-like installation, writing out the first code, running and execution everything. Slowly start building up on your basics, This will surely take time, so if you are planning to learn all by yourself , that won’t be a good idea. As a java programmer, I would suggest you to join some institute which teaches you from scratch and gets you certified after an exam.
First of all, I’d like to point out that by “coding” or “programming” you probably mean “software engineering” - i.e. the science of building software applications. Persons new to the field often confuse knowledge of a specific programming language (e.g. Java, C++, PHP, Python) with the skill of software engineering. A programming language is a simply a means of achieving the goal of building an application.
That being said, if you’d like to embark on a career of software engineering, I recommend you arm yourself with:
As far as instructional material goes, your best bet is to sign up for a course (free or otherwise). Whether instructor led or self-paced video training, there’s nothing like a formal course to help you get started with the basics. If you choose to teach yourself by buying one or more books, find those that cover the following syllabus:
The basics (how bullets work):
Object oriented programming (how weapons work):
Design patterns (how machine guns work):
GUI programming (how to fight a war):
Windows programming (how to fight a battle):
Sounds like a lot? It is. But remember this: every ocean starts with one drop of water.
I wish you luck and encourage you to embark on this wonderful journey of software engineering. I hope it brings you as much joy as it has brought me. There is nothing else in life I ever want to do but build useful, robust and usable software.