The Entrepreneur Forum | Startups | Entrepreneurship | Starting a Business | Motivation | Success

Want to learn programming. Where to start?

Mimi Phan

New Contributor
Dec 5, 2017
8
4
16
San Diego, CA
Hi all,
I am looking to learn programming, particularly for web developing. I know bits and pieces of HTML, CSS, Javascripts from my schooling years (like 15 years) ago and would like to update my knowledge on them and/or learn new language. I work at a regular (dead end) job in a research lab at a biotech company (yep, that's right, dead end job!). I have a lot of free time since I am scheduled to work 10hrs/day. I can do all my work in 3-4 hours and have the rest of the day sitting around. I am not lazy, just very efficient at my job since I have been here for 5 years. I think it would be great if I can utilize this free time to learn new thing and maybe doing a side gig when I become good at this.

Good day and thank you all
=)
 

Don't like ads? Remove them while supporting the forum. Subscribe.

DennisDuty

Mini Media Mogul
Read Millionaire Fastlane
Speedway Pass
Jun 16, 2012
1,476
3,191
886
31
Bali, Indonesia
Great. I'm into it.
Extra time in a dayjob is a great way to get started working for yourself.

I always highly recommend anything practical.
I play minecraft anyways so I used that to learn Lua (there's a mod called computercraft that lets you program a robot in game).

I really liked it, so I went on to learn C# and made my first (just for fun) game in Unity3d.

I've never taken the course, but there was one I REALLY wanted to get called "Coding for Entrepreneurs" or something of that sort. I based one of my own video courses on its structure.

Basically they take you step by step through different PRACTICAL projects. Along the way, you learn to code. I don't remember the specifics but it might be something like:

Project One: Creating a social media platfrom similar to twitter.

Project Two: Creating a teaching platform similar to Udemy

Project Three: Creating a crowdsourcing platform similar to kickstarter.

Each one teaches new concepts so you learn the practical way with actual usable things at the end of each module.
 

lowtek

Platinum Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
Summit Attendee
Speedway Pass
Oct 3, 2015
1,570
4,993
1,130
37
Phoenix, AZ
What do you want to do with programming? that's the place to start. It will dictate the first language to learn.

If you want to build web apps, then javascript is a great place to start. It's obviously front end, but with Node.js you can do some backend processing as well.

If you want to do games, you're going to need C# or C++.

If you want to do blockchain stuff, probably C/C++ and maybe Python or javascript

If you want to do artificial intelligence, then python is going to be the language to use.

Once you know what you want to do, run through code academy (as per @Longinus suggestion) or a similar set of tutorials to quickly learn the syntax. Don't spend too much time on that part as it's the least valuable.

Once you have a basic grasp of syntax, then @DennisDuty 's suggestion of project based learning is spot on. Pick a project related to what you want to do, and then do it. DO NOT look up tutorials. Get a theoretical understanding of how the project works, and then try to implement it. Struggle. Then struggle more. Then keep struggling. Then after you've spent at least 20 hours struggling with it, go find some tutorials and see which particular details you missed.

This last part is absolutely key. Working through tutorials before you have tried to code it on your own are an action fake. Trying to code something, failing, and then looking up the solution to find the particular detail you missed, is the process to learn programming.

Final note, if you're terrible at math then I would stick to web stuff. If you haven't taken a class in math in a while, then I wouldn't assume you're bad at math, rather I'd try to learn some advanced stuff and see how far you get. That's because programming is algorithmic thinking, it is not writing code.

Algorithmic thinking is precisely what you need to get through algebra and calculus. If you really can't grasp those, then perhaps it's not in your wheelhouse. Doesn't mean you can't make lots of money being a detail oriented web app developer, but it probably means you're not going to push the bleeding edge of artificial intelligence or the blockchain.
 
OP
OP
M

Mimi Phan

New Contributor
Dec 5, 2017
8
4
16
San Diego, CA
What do you want to do with programming? that's the place to start. It will dictate the first language to learn.

If you want to build web apps, then javascript is a great place to start. It's obviously front end, but with Node.js you can do some backend processing as well.

If you want to do games, you're going to need C# or C++.

If you want to do blockchain stuff, probably C/C++ and maybe Python or javascript

If you want to do artificial intelligence, then python is going to be the language to use.

Once you know what you want to do, run through code academy (as per @Longinus suggestion) or a similar set of tutorials to quickly learn the syntax. Don't spend too much time on that part as it's the least valuable.

Once you have a basic grasp of syntax, then @DennisDuty 's suggestion of project based learning is spot on. Pick a project related to what you want to do, and then do it. DO NOT look up tutorials. Get a theoretical understanding of how the project works, and then try to implement it. Struggle. Then struggle more. Then keep struggling. Then after you've spent at least 20 hours struggling with it, go find some tutorials and see which particular details you missed.

This last part is absolutely key. Working through tutorials before you have tried to code it on your own are an action fake. Trying to code something, failing, and then looking up the solution to find the particular detail you missed, is the process to learn programming.

Final note, if you're terrible at math then I would stick to web stuff. If you haven't taken a class in math in a while, then I wouldn't assume you're bad at math, rather I'd try to learn some advanced stuff and see how far you get. That's because programming is algorithmic thinking, it is not writing code.

Algorithmic thinking is precisely what you need to get through algebra and calculus. If you really can't grasp those, then perhaps it's not in your wheelhouse. Doesn't mean you can't make lots of money being a detail oriented web app developer, but it probably means you're not going to push the bleeding edge of artificial intelligence or the blockchain.
Thank you for the tips. I co-own a frozen yogurt store with 2 friends, and I am looking to create a fun, and hopefully useful, website for our store. For a yogurt shop, i can't think much of the content to put there, except that I want to generate a form for catering so potential customers can submit catering request. I want to be able to link our social media contents to the site and have a sign up page to collect customers' emails to send out promotions. We are currently looking into Wordpress right now, cost about $100 a year to host a business website but I feel like it's limited in functions (I'm not sure, since they have template for everything).

I'm okay with math and programming logics. It's just the syntax I need to learn. And like you said, I probably need to do project-based learning.
 

ChrisV

Platinum Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
May 10, 2015
2,441
4,535
1,152
Islands of Calleja
What do you want to learn to program for if you don’t mind me asking?

What do you want to do with programming? that's the place to start. It will dictate the first language to learn.

If you want to build web apps, then javascript is a great place to start. It's obviously front end, but with Node.js you can do some backend processing as well.

If you want to do games, you're going to need C# or C++.

If you want to do blockchain stuff, probably C/C++ and maybe Python or javascript

If you want to do artificial intelligence, then python is going to be the language to use.

Once you know what you want to do, run through code academy (as per @Longinus suggestion) or a similar set of tutorials to quickly learn the syntax. Don't spend too much time on that part as it's the least valuable.

Once you have a basic grasp of syntax, then @DennisDuty 's suggestion of project based learning is spot on. Pick a project related to what you want to do, and then do it. DO NOT look up tutorials. Get a theoretical understanding of how the project works, and then try to implement it. Struggle. Then struggle more. Then keep struggling. Then after you've spent at least 20 hours struggling with it, go find some tutorials and see which particular details you missed.

This last part is absolutely key. Working through tutorials before you have tried to code it on your own are an action fake. Trying to code something, failing, and then looking up the solution to find the particular detail you missed, is the process to learn programming.

Final note, if you're terrible at math then I would stick to web stuff. If you haven't taken a class in math in a while, then I wouldn't assume you're bad at math, rather I'd try to learn some advanced stuff and see how far you get. That's because programming is algorithmic thinking, it is not writing code.

Algorithmic thinking is precisely what you need to get through algebra and calculus. If you really can't grasp those, then perhaps it's not in your wheelhouse. Doesn't mean you can't make lots of money being a detail oriented web app developer, but it probably means you're not going to push the bleeding edge of artificial intelligence or the blockchain.
Yea, this. I mean honestly if you’re just starting Harvard’s famous CS50 is obviously great. It’s one of the most famous Computer Science courses of all time.

You can take it for Free.99 off edX ;D

Harvard CS50's Introduction to Computer Science

Crash Course Computer Science is amazing too. If you don’t want to learn about physical computers (although i recommend it) you can skip to the 3 videos they have for programming.

Crash Course Computer Science - YouTube

When I was learning programming it was for Data Science, and this guy made a few EPIC posts:

He use sweet sweet irony and used Data Science to analyze the best Data Science courses on the web. But he Also analyzed the best Intro to Programming courses so I’d start there

I ranked every Intro to Data Science course on the internet, based on thousands of data points

If you want to learn Data Science, start with one of these programming classes
 

DVU

In Progress
Read Millionaire Fastlane
Speedway Pass
Sep 24, 2016
256
584
253
21
Croatia
Go with WordPress or Shopify for that.

Way too much learning and hassle for those simple features you need.
 

lowtek

Platinum Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
Summit Attendee
Speedway Pass
Oct 3, 2015
1,570
4,993
1,130
37
Phoenix, AZ
Thank you for the tips. I co-own a frozen yogurt store with 2 friends, and I am looking to create a fun, and hopefully useful, website for our store. For a yogurt shop, i can't think much of the content to put there, except that I want to generate a form for catering so potential customers can submit catering request. I want to be able to link our social media contents to the site and have a sign up page to collect customers' emails to send out promotions. We are currently looking into Wordpress right now, cost about $100 a year to host a business website but I feel like it's limited in functions (I'm not sure, since they have template for everything).

I'm okay with math and programming logics. It's just the syntax I need to learn. And like you said, I probably need to do project-based learning.
For all that stuff, just learn javascript + PHP and you're good to go. Don't need to mess with algorithms for much of that. If your business starts to scale out to millions of users, then performance would be an issue and you would have to up your game. But you could just hire someone, at that point.
 

garyjsmith

Bronze Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Jun 28, 2017
184
351
174
34
Northern VA
Also check out SoloLearn.

Fastest way to grow is to take the code you learn in a day and implement it into your project, even if you don't need a scrollbar or button that opens up Blank. Get started this minute
 

ChrisV

Platinum Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
May 10, 2015
2,441
4,535
1,152
Islands of Calleja
I think CS50 is a good start no matter what you what to learn because they start with the basics. They start with Scratch (a programming language for kids to learn coding) then C (an very old language good for learning) and you work your way up

My other recommendation? Go on edX and Coursera search ‘programming’ and sort by reviews.. you can even do Udemy.. people knock them since they’re not academic but there are some decent courses
 

ChrisV

Platinum Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
May 10, 2015
2,441
4,535
1,152
Islands of Calleja
Thank you for the tips. I co-own a frozen yogurt store with 2 friends, and I am looking to create a fun, and hopefully useful, website for our store. For a yogurt shop, i can't think much of the content to put there, except that I want to generate a form for catering so potential customers can submit catering request. I want to be able to link our social media contents to the site and have a sign up page to collect customers' emails to send out promotions. We are currently looking into Wordpress right now, cost about $100 a year to host a business website but I feel like it's limited in functions (I'm not sure, since they have template for everything).

I'm okay with math and programming logics. It's just the syntax I need to learn. And like you said, I probably need to do project-based learning.
For all that stuff, just learn javascript + PHP and you're good to go. Don't need to mess with algorithms for much of that. If your business starts to scale out to millions of users, then performance would be an issue and you would have to up your game. But you could just hire someone, at that point.
Oh sorry.. just saw this

you don’t think that there are plug and play solutions that may be better for your needs? I mean you can create a website on Wix or other website builder and not have to reinvent the wheel. People use Wordpress but imo using wordpress to make a website is like using a hammer to unscrew a screw... I’m sure you can get it to work it’s just the wrong tool

45+ Website Builders That Are Better Than Wix

Website Builders
 

Don't like ads? Remove them while supporting the forum. Subscribe.

ChrisV

Platinum Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
May 10, 2015
2,441
4,535
1,152
Islands of Calleja

Rabby

Gold Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Aug 26, 2018
750
1,863
549
Florida
There are programming classes from universities on iTunes U and elsewhere. I learned the basics of iOS programming through the Stanford University classes, when that was a fairly new thing. Once you have the basic concepts though, you need to make up prjects and try to implement them. Get experience solving your own problems, and search sites like Stack Overflow for best practices.
 

Nick M.

Bronze Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Jul 13, 2018
96
139
129
I personally used Codecademy to learn web development. I took it several years ago before they started the paid tracks, but I would consider that.

Additionally, if all you are wanting to do is basically have a static website with a couple forms for submission and are willing to code it yourself, I would look into using Github pages. With them you can get reliable and free hosting. As for the forms, you can use a third party service like Formspree. For the mailing list, use Mailchimp. I've used this route to do pretty much what you are looking at for free (plus domain).

As several people have said, though, it's faster and easier to use a website builder like Wix or Wordpress. I've coding sites from scratch, and I can say either using a website builder or hire someone is your best bet.

Coding from scratch is not the quickest and least expensive path, especially when you factor in the time it will take.
 

ChrisV

Platinum Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
May 10, 2015
2,441
4,535
1,152
Islands of Calleja
I honestly don’t think you need to learn Web Dev. Leave Web Dev to the Web Developers. Listen there’s a joke in economics about hoe economists never mow their own lawns. Why? Economists are good at Economics. Landscapers are good at mowing laws. By wearing all the hats and being a jack of all the trades you stretch yourself thin. Do what you’re best at, fk everything else. I mean unless your company isn’t in a financial position to hire a designer.. then that’s a different story. But even then, I’d just use a website builder. You’re going to literally learn programming for one task? That’s like learning to be a chef to cook one meal. Just let someone else cook the meal. Or get something that just needs to be heated up. Learning programming is a big task and the costs to benefits.. i just don’t see them in this scenerio
 

holmzee

Silver Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Jul 2, 2014
386
708
304
24
I honestly think Automate the Boring Stuff is one of the best intros to programming due to its immediate applicability to real life practice. Also, it's python which is one of the simplest programming languages to grasp the basics of.

With what you learn, you can start automating small, receptive tasks at your day job and then leverage that extra time to continue learning more advanced topics like web development. Get the fundamentals down first, then foray into web development if that catches your interest. I wouldn't recommend starting with web development if you have no other foundation, as the concepts won't stick as well if you just copy what others do from tutorials.
 

Ninjakid

Platinum Contributor
Speedway Pass
Jun 23, 2014
1,848
3,887
891
Buddy Guy Eh
Okay you want to learn programming?? You want to know where to start?

I am going to teach you how to learn programming.

You can almost think of this as a miniature Tao of Programming.

You're going to learn the way the masters learn.

You can always pay someone an exuberant amount of money to program for you, but there is nothing like being able to do it yourself!

Programming is like a martial art. And with it, you will go on to make a lot of money with your own skills.

At the very least, people will pay you a F*ckload of money to make cool shit. And there is no ceiling to the possibilities. You could build a billion dollar empire maybe, and that all depends on you!!

To embark on this journey, you must first understand this:

1. IT ALL STARTS WITH YOU

When people start out learning programming, they always focus on everything outside themselves. Which language to learn, which field to specialize in, having dual monitors etc. etc.

And of course, these will be helpful tools on your journey. You do need to become proficient in one or more languages, and you need to have an idea of what you want to do with them if you hope to build anything.

BUT, you will come back to the realization that everything you make is an expression of you!!

Down to it's fundamentals, programming is pure logic. Logic is realized in our minds. Without the human logic, we program nothing.

The language we use is not as important as our grasp of what we can do with it. Become proficient with a language without being attached to it. It is ultimately a means to an end.

As Bruce Lee said, "the best style is no style."

The reason I'm telling you this is because you need to have an open mind. You need to be willing to learn new concepts.

This is why people who go through coding bootcamps suck at programming. They learn in a very defined way, and get attached to that method. They never have to figure anything out for themselves and put the pieces together.

Technology changes so fast. Languages update, elements become obsolete. So don't get attached. Become aware.

If you need further proof that it's all about you, look at Petr Mitrichev, ranked No.1 on TopCoder. When he was a kid, his family couldn't afford a computer. He taught himself through reading and would practice writing pseudo-code on paper!

Be willing to read books, watch videos, and above all else, build projects and experiment! I will give you links to resources I've tried and tested.

2. LEARN A LANGUAGE

You said you already know some HTML, CSS, and JavaScript. But if you haven't touched it in 15 years, a lot has changed and you will need to jog your memory.

I recommend doing the Python course on Codecademy. Python is a relatively easy language, and you will be refreshed on programming concepts like variables, conditionals, for-while loops etc. etc. Python is also a common backend language for websites.

Python Tutorial: Learn Python For Free | Codecademy

You don't need to become a master, but you should aim to be relatively proficient. Build little programs for fun, perhaps even try a framework like Django or Flask.

It doesn't need to be Python, you could do JavaScript (or both, if you're extra determined). JS also has a course on codecademy.

Now here's something to keep in mind. You could go straight to doing a tutorial on building a website. But I'll tell you why this isn't a good idea if you hope to learn programming.

  1. Those tutorials will likely assume you already have a basic understanding of the languages they use and programming concepts.
  2. If you just copy the code they show you, you won't understand why they write what they do. You won't know how to debug or make modifications.
Learning the language will be the tricky part, but once you do that, you'll be able to pick up others even quicker, perhaps even within a few days depending on how fast and intense you learn.

3. HAVE AN INTENTION

Which means know what you want to do with your ability to program. In your case, web development.

Because you have a language or two under your belt, you'll be able to learn the others with relative ease.

Some great resources are:

| Codecademy

Once again, they have tutorial on building websites

Login | The Odin Project

An extremely thorough and comprehensive guide to learning web development.

Also, check out various YouTube videos as well. Coding for Entrepreneurs provides decent tutorials.

4. SUPPLEMENT YOUR LEARNING

Even though you may not apply it as much, I found it helps to have a basic understanding of computer science and math. Again, if you're just looking to build a website, it may not be necessary. But if you're serious about becoming a programmer, I highly recommend it. Because you work in biotech, I highly doubt math is an issue for you.

Harvard has a good online course for computer science here:

CS50's Introduction to Computer Science

You can also read books such as The Art of Computer Programming which deals a lot with algorithms and the logic behind programming.

* OTHER IMPORTANT POINTS TO CONSIDER

  • Take advantage of the internet. If you're stuck on a problem, Google it. Chances are someone has solved it.
  • Look at other people's code. Know the difference between good and bad coding practices. For example, know how code can be compressed and the same thing can be written with fewer lines.
  • Code every day. Even if only for 15 minutes, put your knowledge to use every day. You can read about code all you want, but it's useless to just keep it all in your head.
  • Take care of your physical health. It's not good to sit in front of a computer all the time. Take as many breaks as you need. Take care of your wrists. I've gotten wrist injuries from too much typing, and it can turn serious
If I remember anymore tips I will add them.

Good luck in your training.
 
OP
OP
M

Mimi Phan

New Contributor
Dec 5, 2017
8
4
16
San Diego, CA
Wow. Thank you all for the useful tips. I am sure will look into all the recommendations. I know many of you have mentioned that it's probably faster (and better) to hire a web developer to do our store website or just use Wordpress or Wix. It is not my sole reason why I want to learn to do web programming. Going back to my many reasons, I feel I need to use my spare time to learn something useful while I'm clocking in at work. There were times, I was thinking about being a virtual assistant or doing something online to generate more income while sitting around at work. Many of you might have asked why don't I find another job? Why sticking to this dead end position. My answer is, and many of you might not like it, this job is VERY flexible and my boss is SUPER understanding and easy. As long as I finish all my work, he doesn't care much about what I do. I just HAVE to clock in the hours because I'm getting paid hourly. This job allows me to run errands for my yogurt shop business when needed. The business does not generate enough income yet for me to quit my full time job since I am just part owner.

Again thank you all!
 

Rabby

Gold Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Aug 26, 2018
750
1,863
549
Florida
If the boss is ok with paying you the extra time, and it's flexible, it sounds like the right kind of job to be in, while you're trying to start a business.

I have an employee who only needs to be working some of the day - like when someone calls or orders something. She could run an international enterprise while she's not answering the phone and packing orders, for all it matters to me.

I think in actual fact she plays solitaire on the desktop, but everyone has their thing :)
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.


Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Monthly conference calls with doers
Ideas needing execution, more!

Join Fastlane Insiders.

Sponsored Offers

Lex DeVille's - Advanced Freelance Udemy Courses!
-- HALLOWEEN SPECIAL STARTS TODAY! Get any of my courses at Udemy's current best price through Friday! Use code: HALLOWEEN Use any of the links...
Top Bottom