Pinterest Stumbleupon Whatsapp
Ads by Google

A lot of people want to learn how to code these days, but they have no idea what they’re getting into. Sure, programmers can make good money How To Pick A Programming Language To Learn Today & Get A Great Job In 2 Years How To Pick A Programming Language To Learn Today & Get A Great Job In 2 Years It can take years of dedicated work to become a truly good programmer; so is there a way to choose the right language to start from today, in order to get hired tomorrow? Read More if they know what they’re doing, but too many people are hopping on the bandwagon without giving it proper thought.

Over the past few years, a deceptive mantra has developed — one that says that anyone can learn how to code, therefore everyone should learn a popular programming language. Newbies are tricked into thinking that a few months on Codecademy and FreeCodeCamp is all it takes to become a master coder.

But that’s simply not true 4 Reasons Why You Shouldn't Learn to Code from Codecademy 4 Reasons Why You Shouldn't Learn to Code from Codecademy What's wrong with Codecademy? For those who want to learn coding, the instructional site is one of the best to begin with. But does Codecademy teach you to think like a coder? Read More . In fact, many people who dive into programming end up regretting it, mainly because it’s not what they expected and they’re quickly overwhelmed. To avoid that, ask yourself the following questions and be honest.

1. Do You Enjoy Solving Problems?

Problem solving is the heart of programming. There are many aspects to the problem solving process, but at the very core of every successful programmer is an internal drive to create solutions and to fix things that are broken.

They say that a programmer spends 10% of his time writing bugs and 90% of his time fixing those bugs — and every person in the world who has done any amount of serious coding can relate to that. It’s truer than you know: programming is the art of debugging.

Anyone can learn the syntax of a programming language. Anyone can learn the nuances of an integrated development environment Text Editors vs. IDEs: Which One Is Better For Programmers? Text Editors vs. IDEs: Which One Is Better For Programmers? Choosing between an advanced IDE and a simpler text editor can be hard. We offer some insight to help you make that decision. Read More . Anyone can think of a cool new app idea. But to encounter bug after bug and not lose heart? That takes a special kind of personality.

Ads by Google

questions-before-coding-problems

The kind of programmer who succeeds is the one who can run into a weird compiler error, a buggy code library, or a confusing language feature and be self-driven enough to search for an answer. A successful programmer is one who’s not only willing but compelled to spend hours seeking a solution, and won’t be satisfied until it’s found.

Here’s another way to think of it: extrinsic versus intrinsic motivations. Do you want to be a programmer because you want the rewards? Or do you want to be a programmer because you love the process? If not the latter, then maybe it isn’t the right path for you.

2. What Do You Want to Create?

Most programming newbies quit within their first year. While there are many reasons for why someone would give up, perhaps the most important reason is that they feel overwhelmed by the learning curve and succumb to demoralization.

Programming is a vast field with hundreds of languages and areas to explore. Within each area, you’ve got dozens of different libraries and frameworks that you can use. And encompassing all of that, you’ve got higher-level paradigms and patterns that are applicable to different situations.

In short, you’ll never be able to learn it all, so it’s crucial that you decide what exactly you want to do. An amazing 3D graphics programmer could have zero experience making websites, while the best artificial intelligence coder may have no clue how to make mobile apps. And that’s fine!

questions-before-coding-goal

Before you learn how to code, sit down and think about what you want to make. If you want to make websites, then you should focus your energy on learning JavaScript. If you want to make OS X applications, maybe it’s best to learn Swift The Best Places to Learn Swift, Apple's Programming Language The Best Places to Learn Swift, Apple's Programming Language If you want to learn Swift, now is the time to dive in. The language has a bright future and the faster you learn it, the sooner you'll be able to reap the rewards. Read More . If you want to make video games, pick something like C# and Unity.

Not only that, but certain programming concepts are more important for X yet not useful for Y. For example, MVC architecture is almost necessary for web programming, while the Entity-Component pattern is super useful for game developers.

The main point here is that your end goal (e.g. websites, games, etc.) will dictate your path of learning, so it’s better to know this from the start. Sure, you can always experiment and switch paths later, but programming is easier to learn when you’re coding something you actually want to create.

3. Hobby vs. Career: Which One?

Another important consideration is whether you just want to code personal projects in your free time or if you want to enter the programming industry for full-time work. This, too, will have a big impact on what to study, how to study, and your overall path of progression.

Maybe you have an idea for a video game and you think it’d be cool to see if you can make it a reality. You love your day job as an accountant and have no desire to quit, so it would just be a project you work on during the weekends. Feel free to learn whatever languages and engines you want. As long as you have fun, what does it matter?

questions-before-coding-hobby

On the other hand, if you want to make a career out of video game development, then you’ll probably want to learn a serious language and engine, such as C++ and Unreal Engine 4 or Java and LibGDX. If you learn game development using Ruby and Gosu, you’ll never land a job in the industry.

As for formal education, a college degree can help but isn’t entirely necessary. The Internet is home to a lot of great tutorials What Makes a Good Programming Tutorial? What Makes a Good Programming Tutorial? Not all programming tutorials are made equal. Some benefit you and others end up wasting your time. Here's what to look for in a quality programming tutorial. Read More , free programming books 9 Free Programming Books That Will Make You A Pro 9 Free Programming Books That Will Make You A Pro Calling all programmers, whether new, old, or aspiring: we've found a great selection of free (as in beer) books to boost your coding skills to the next level. Hop in and enjoy. Read More , and free programming courses Learn With Coding Projects: 9 Udemy Courses for the Beginner Programmer Learn With Coding Projects: 9 Udemy Courses for the Beginner Programmer The real difficulty is finding good programming tutorials and courses that not only teach you the necessary skills, but do so with practical projects. That's where Udemy steps in. Read More so you won’t be short on knowledge, but college is useful for networking, which can help you break into the industry.

But whether you pursue programming as a hobby or a career, be prepared to put in a lot of time and practice 8 Tried & True Tips For Learning How To Code 8 Tried & True Tips For Learning How To Code Skilled programmers have been in high demand for years now, and it doesn’t look like that demand is about to go down anytime soon. But even if you don’t intend to make a living as... Read More .

4. How Much Do You Want It?

Programming is tough. Not that it’s hard to learn how to code (because it isn’t much harder than learning anything else) or that bugs are notoriously hard to solve (because most bugs are pretty straightforward), but the whole process of programming can take a toll on your mental stamina.

Any given coding project has some mixture of planning and debugging, two processes that are way more mentally draining than you might expect them to be. Every project is a marathon of problems to be solved, and as the problems become more and more complex, it becomes easier and easier to sag under the weight of it all.

And even though I just said that learning how to program isn’t particularly hard, the sheer amount of knowledge that you need to learn can loom over you like a mountain. Programming is a never-ending treadmill of new concepts, new paradigms, new languages, and new tools. It’s a lot of fun, but also quite exhausting.

questions-before-coding-determination

But the hardest part of all, at least for me, is that you’re always going to feel like you aren’t good enough. Even after thousands of hours of experience, you’ll probably still feel like you don’t know much. Mentors and peers can help you through these dark times, but you’ll also need an iron will.

Which is why perseverance is a programmer’s greatest trait. Despite how stressful programming can be How To Learn Programming Without All The Stress How To Learn Programming Without All The Stress Maybe you've decided to pursue programming, whether for a career or just as a hobby. Great! But maybe you're starting to feel overwhelmed. Not so great. Here's help to ease your journey. Read More , you need to be determined. For every new language you learn, for every mind-numbing bug you encounter, for every project that seems too much to handle — you have to be able to grit your teeth and trudge on through it.

Without perseverance, you’ll burn out Programming Burnout: How to Regain Your Lost Motivation Programming Burnout: How to Regain Your Lost Motivation Writing all those lines of code can be draining physically and emotionally. All you need to get back up is the awareness that motivation can be regained. Read More , and unfortunately that happens quite often. The good news is that burnout doesn’t have to be permanent. In fact, if it ever happens to you, know that there are ways to overcome it 5 Ways to Beat Programmer's Block Right Now 5 Ways to Beat Programmer's Block Right Now Every programmer encounters an array of negative emotions over the course of their journey, and if left unchecked, these emotions can have a profound impact on progress -- even causing some to give up entirely. Read More .

Coding Isn’t for Everybody

Depending on how you answered those questions, you might feel like programming is the perfect match for you — or you might feel like it’s the complete opposite of what you expected. Probably the latter, which is normal because most people aren’t meant to be programmers 6 Signs That You Are Not Meant To Be A Programmer 6 Signs That You Are Not Meant To Be A Programmer Not everyone is cut out to be a programmer. If you aren't completely sure that you're meant to be a programmer, here are some signs that may point you in the right direction. Read More .

If it turns out that it isn’t for you, you may want to consider these other tech jobs that don’t involve coding Coding Isn't For Everyone: 7 Tech Jobs You Can Get Without It Coding Isn't For Everyone: 7 Tech Jobs You Can Get Without It Don't be discouraged if you want to be a part of the tech field -- there are plenty of jobs for people who don't know how to code! Read More . Yes, it’s quite possible to be a tech-savvy worker who doesn’t pump out code all day!

How did you answer? Are there any other questions that one should ask before learning how to code? Share your thoughts with us in the comments below!

Image Credits: Pointing at Code by welcomia via Shutterstock, Web Script by Timofey_123 via Shutterstock, Hobby Programmer by Solis Images via Shutterstock, Exhausted Programmer by Issarawat Tattong via Shutterstock

  1. Fatima Darweesh
    July 25, 2016 at 12:44 pm

    this is very helpful ....thanks for sharing ....
    I'm 16 years old and I do like coding and I'm looking to study IT in the college I have taken some course and I felt lost there is multi languages and multi software I was just disappointment . Like when should I learn all this languages, I have taken some of java , JavaScript , HTML5 and CSS . And work on multi software like MyEclipse , Android SDK and IntelliJ . So a big thanks for this advices , all I have to do now is to follow your steps .....

  2. Ryan
    June 11, 2016 at 9:03 pm

    This was very helpful and eye opening in many ways.. Problem is I'm now on the fence if this is for me or not?

    • Joel Lee
      June 14, 2016 at 12:42 pm

      Thanks Ryan, glad it was helpful! I'd say that if you're on the fence, then you should give it a shot and try watching a few free courses on YouTube or maybe pay $25 for a month of Lynda.com and take as many of their courses as you can to see if you like programming.

      As long as you've considered the questions in the article and still feel like you might enjoy programming, then you should taste and see for yourself. Worst case scenario, you decide you don't like it and move onto something else. :)

  3. lt
    February 26, 2016 at 2:26 pm

    As an accountant, autohotkey is the most practical "coding" tool for me.

    • Joel Lee
      February 27, 2016 at 3:33 pm

      AutoHotkey is awesome! In what ways do you use it to bolster your coding? That sounds interesting.

      • lt
        February 27, 2016 at 3:40 pm

        I don't use it bolster coding. I use it as the coding program. I use it to fully automate much of my processes at work...often shrinking two hour manual processes down to less than 10 minutes of automated processes.

        • Joel Lee
          March 1, 2016 at 3:06 pm

          Ohh, I see! Yeah that makes more sense. AutoHotkey is fantastic for that kind of stuff. :D

  4. Eissa Ibrahim
    February 23, 2016 at 2:51 pm

    Thanks for sharing Jeol Lee :)

    • Joel Lee
      February 25, 2016 at 2:52 am

      You're welcome. Thanks for reading!

  5. Andrew Hockley
    February 23, 2016 at 1:16 pm

    Excellent advice.

    I've been in this business for over 40 years and I do not want to let it go.
    I have done just about all the kinds of jobs you can think of in IT but I always return to hands-on techie stuff.

    There is a huge range of activities and specialities out there so yes, initial selection and focus is essential.
    Development/programming/coding is the place to start and maybe stay.
    Where you go from there is your oyster and depends on opportunity and serendipity in large measure but most importantly aptitude.

    Almost all gifted techies have at least some Aspergers-like attributes.

    • Joel Lee
      February 25, 2016 at 2:56 am

      Funny you say that, but now that I think about it, I suppose Aspergers-like attributes do make for gifted techies. No offense, of course.

  6. Paul Moriarty
    February 23, 2016 at 3:31 am

    You left out aptitude. There are people who shouldn't even THINK of a career coding computers. In my experience, people who can take something apart and put it back together again show one facet of a programming aptitude. My two best programming students (over 25+ years of training programmers) were transfer students from the Automotive Technology program. They were able to see how systems worked, and were able to see the components and how they functioned and interacted. They both went on to successful computer programming positions. I cringe with the idea of teaching young students to code.

    • Joel Lee
      February 25, 2016 at 2:55 am

      Aptitude definitely plays a role. It's hard to tell though, because sometimes it just takes a while for things to click, and when they do, you can't be stopped. For others, it never clicks, in which case... yeah, probably best to find a different path.

  7. Kenneth Stephens
    February 22, 2016 at 11:17 pm

    Your advice is excellent. I learned machine-language programming in the 1960's. Even though that was not my ultimate career (Management), I still remember those days.

    • Joel Lee
      February 25, 2016 at 2:54 am

      Thanks Kenneth! It's funny how programming stays with us even long after we've moved on. :P

  8. 1TB Cloud storage
    February 20, 2016 at 2:13 pm

    That is right. Others can do literature which coding is substituting. Everyone has done story telling in his or her life . That is what coding seem to be today. some will make use of it while others will just enjoy it like i did during Literature classes

  9. fcd76218
    February 20, 2016 at 12:47 am

    "a college degree can help but isn’t entirely necessary"
    For a career in programming, a degree in Computer Science is not necessary but some kind of a college degree is essential. With Human Resources drones using the lack of a degree as an additional criterium to disqualify applicants out of hand, even a degree in Basket Weaving or Creative Sandbox Will get you past them and to an interview with your prospective boss.

    • Joel Lee
      February 25, 2016 at 2:53 am

      Yeah, you make a good point. Unless you're going to start your own company, a college degree is probably needed. Basket Weaving, though? That's funny. :)

Leave a Reply

Your email address will not be published. Required fields are marked *