[Guide] The best way to learn programming


#1

Hi, I would like to talk about the most effective way to learn programming.

I used to be confused about how to learn programming and have tried several method to learn programming or computer science in general. I am still learning right now but I want to talk about method that is the best for me.

The obvious method is of course using Google, duh. But I want to talk about what to do when you face roadblock since I used to be so pissed off when I face roadblock

For me, the best way to learn programming is by learning directly from experts solving your real life problem (you pay them obviously). I use Upwork to look for the experts. You can use other website such as Codementor or Freelancer. But for me, Codementor is overpriced it costs $35 just for 15 minute session and I never try Freelancer but I hear the freelancer quality is lower but it is cheaper so you can try it if you are still beginner at the field you plan to learn.

Right now, I am learning from expert in Upwork for $15/ hour (so much cheaper than codementor). I don’t post that I need tutor actually. I simply post about my real-life problem and then select from the candidates. I pay him per hour instead of fixed price. That way I can ask him to teach me in addition to solving my real-life problem.

Think about it this way, In college you pay tens of thousands just to attend it but using this method you can get customized teaching from expert for cheap instead of you customize yourself to suit your teachers. Isn’t this amazing?


#2

I like udemy.com very much. Courses can be expensive sometimes. But when you register and don’t buy anything they will start spamming you with E 10 offers for each course.
https://www.udemy.com/the-web-developer-bootcamp/ is for example very nice if you just start programming. 339 lectures and 40+ hours of video for E 10. I just bought it for my son. And if you do not understand something you can ask in the forum or on https://stackoverflow.com


#3

Nah, I prefer my method more. Using my method, I can directly confront my real-life problem instead of textbook problem.


#4

I thought that you were looking for the most economical way. Paying $15 an hour will cost you thousands of dollars.


#5

No, it is still very economical. Don’t I mention Google? Use Google to learn first then when you face roadblock, go look for help from Expert. It is far better than asking in StackOverflow in my opinion


#6

Maybe you can accept advice from someone who is a developer for over 25 years already ? Google is not the best way to learn. You will miss structure, will miss important things because nobody tells you what is important to learn, and if you are just starting there are too much outdated things on the internet.


#7

Okay, maybe google is not the best way to learn but Google opens a lot of gate. In fact you can search Udemy course with Google :smiley:


#8

I learned all my programming “skills” from google. Also i never needed to ask a question on stackoverflow. I do read them tho to solve my problems.


#9

Try www.teamtreehouse.com - I did it that way and it worked wonders.


#10

You always find answer on StackOverflow??

I sometimes do not find answer on it especially if the problem is very specific

And I would rather pay for answer rather than frustated for being unable to find answe


#11

To give a simple example about google… You have a webpage, with a form. You need to check and filter the input before putting it in a database. If you use google you will find a 100 different solutions. Some of them dated over 10 years ago. Some of them recent. Some of them are dated over 10 years ago, but posted last week. Some of them completely fail to do it right. Some of them are even dangerous to use. You pick one which works. And you are happy. Because it works. You feel like being a real developer.

But later you will pay the price. WIth the next PHP update your new program will not work anymore, because you used a dated technique which was already obsolete for 10 years when you used it last week. Or someone will hack your website and steal your database.

These is nothing wrong with paying E 10 for a course, if they explain things right. Google is like a jungle. There is too much false and outdated information.

I see no moderators here to tell us that this topic is completely offtopic on this forum :wink:


#12

Well I put it on Tools of the trade for a reason.

Still I believe learning by failure or experiment is important.

Or Otherwise people will start to implement certain code because everyone is doing it that way. They are unable to think out of box. I believe it is important to learn why certain code is implemented that way (And I am still so far away from that).

So, implement your code directly in real life scenario will teach you a lot of experience and failure which in my opinion is better than learning through courses for several months or even years


#13

Yes, you need to improve your google skills :wink:


#14

Disclaimer: I’m not a programmer of any kind, in fact, I am not very confident about my programming skills but when I need them whenever, I can put together an automation software or two for my personal use.

I focused on practicality. Never really wanted to master programming (it’s not my thing) but I wanted to be able to do the things I want to do that involves coding, be it web dev, web design, or automation.

80/20 rule. I focused on the common factor across any of the most used programming languages. So what’s true among all of them?

1.) Every language has its own syntax. There’s no escaping this.
2.) Every language involves variables (integers, strings, boolean, etc.)
3.) Each language has its own specific use/s.

This is my thinking. There is NO standalone language in today’s world. At least with the purposes I have in mind. So what I learn on one language MUST be transferrable to another. Otherwise, I won’t be practical and that defeats my purpose.

So what I did…

  • I learned fundamentals. What is programming? What are variables? Syntax? Semantics? (Lynda.com)
  • Bookmarked cheat sheets for all the languages I would need.
  • Depending on the problem I want to solve, I will look at real-life examples of codes on the languages that I’ll most likely use. (Exposure, so I know what I’m dealing with)
  • Code it, debug, then repeat if there are problems. If I’m stuck, I’ll google it. If I’m really stuck, I’ll ask around. If no one knows, StackOverflow.

If I’m feeling funky, I’ll get on a coding project myself. Already made a text-base RPG that I’m not very proud of but happy about. But most of the time, and I suggest that if you can, outsource it. Pay someone to code for you. There’s no shame in that.

Everybody wants to learn how to code nowadays but almost nobody really treats it as a passion, something to master and do for the rest of your life (including me).

But if you really are serious about programming, there’s no better way than to learn it at school. Huge perks for being able to do projects together with people.

Some people claim to “self-learn” when in reality, they learned off of others. Either with others’ works or working with others on projects. I wouldn’t call that self-learning. Self-learning is when you run codes that you think would work, debug, and edit it using your own wits (which is kind of stupid, IMHO, since there’s a thing called the internet now).


#15

I don’t think you have to go to school to learn coding. Going to school is such a waste of resources. Resources that can be so much better allocated such as hiring expert to teach you. You can get all resource that a school can give you for free. There is libgen.rus.ec if you want free college book. Stackoverflow or other forum if you want to look for peer. And Upwork, Freelancer and other freelancing website if you get stuck in a problem (This one need to be paid obviously)


#16

“I don’t think you have to go to school to learn coding.”

I am wondering a little bit… Are you here to discuss what is best, and to learn from others ? Or just to push your faulty way of trying to learn programming? :slight_smile:

Believe me… There is nothing better than 5 years technical university if you really want to learn.


#17

I am just speaking my opinion. We are all entitled to each of our own opinion. :slight_smile:

You can get textbook for free from Internet.

And even then, solving real-life problem is so much more interesting than solving textbook problem


#18

Seriously. Opinion is ok. But saying that you do not have to go to school to learn coding… While you use google and some freelancers without any structure… Nothing is better than 5 years of technical university, where they push you to your limit fulltime, where you have to work together on bigger projects… That beats your studying. Saying that this is a waste of resources sounds so… Ok, I will forget about this discussion. I stopped believing that it will make any difference.


#19

You can also work to your limit fulltime and work together solving real-life problem without going to university buddy :slight_smile:


#20

Depends. Usually, I see this from people who were bullied, the unpopular ones, or the ones who didn’t get a girlfriend. #MyOpinion

Kidding aside, it depends if you’re going to waste it cutting classes and all the BS. But if you are going to learn, completing Computer Science is the best way to go IMHO.

Yes, you can get those textbooks from the internet (piracy). Yes, you can get on any forums. Yes, you can talk to people. But having a professor, someone who have been teaching the subject for years with defined lesson plans and learning techniques, there’s no better alternative. Plus you get to learn with people on the same level.

I’m not a fan of school myself – with the crappy system currently in place. But if given a choice when learning programming seriously and as a passion, I’ll definitely enroll on a university. If you don’t like the teaching style, make your own curriculum while absorbing everything else that gets thrown at you.

No man is an island. Arrogance will never get anyone anywhere. I think the flow of life is just like that – you have a mentor, you get to be a mentee, soon, you’ll be a mentor and you’ll have your own mentee.

Trying to be superman, calling yourself a lone wolf is only cool for your ears. Unconventional is great. Unconventionally stupid is… well… stupid.

BUT!!! Props to you.

Going back to your own suggested method, I might actually give it a try. Hire someone to help me become better at programming. That is brilliant and would really be helpful.

BUT, again, in my opinion, if you’re a highschool guy reading this, thinking whether you should learn programming at a school – YOU SHOULD!