Skip to content

Instantly share code, notes, and snippets.

@joshschmelzle
Last active July 8, 2019 12:59
Show Gist options
  • Save joshschmelzle/added9ee105e6ff82b8efe9dad466a71 to your computer and use it in GitHub Desktop.
Save joshschmelzle/added9ee105e6ff82b8efe9dad466a71 to your computer and use it in GitHub Desktop.
One approach that might help someone start learning code. I created this for a friend. Please suggest updates or comment if you like!

before first things first (with code/tech in mind)

  • What do you want to learn?
  • Why do you want to code? Check out Start with Why by Simon Sinek. Video, Book
  • What interests you?
  • What excites you?
  • What problems are you trying to solve?

Try letting your answers to these questions guide what technologies you learn. Also ponder on this from @js_tut:

When you're starting, there is no best tutorial.

Just learn as much as you can from multiple sources.

You can always connect the dots later looking back.

first things first

Get your feet wet. Try stuff. See if you get hooked. The important thing is to do and try things, don't just focus on learning. The coding language you pick is just a means, and not the end in itself. The end is a completed project that you can show to your friends, colleagues, or manager.

Some of these steps don't have to be done in order. It's up to you!

khan academy

I recommend starting here with two courses form Khan Academy on Computer Programming and Computer Science. The goal is to establish some fundamentals in your baseline. There are many ways to do this, but this one is free and accessible online.

  1. https://www.khanacademy.org/computing/computer-programming
  2. https://www.khanacademy.org/computing/computer-science

python

python is free, widely used, easy to get started with, and there are a vast number of resources available online for learning Python. some folks call this python a full spectrum language becaues you can code basic things, or you could code something as complex as Instagram with it.

A few free resources to learn Python:

  1. Think Python

or

  1. Learn Python the Hard Way (for Python 3)

or (cost money)

  1. Python Programming for the Absolute Beginner 3rd edition

note on versions (the year is 2019) you should definitely be learning Python 3, not Python 2.

focus

  • focus on one task at a time.
  • break big problems down into smaller problems.
  • take breaks. consider trying out the pomodoro technique. focused work for 20-25 minutes. break for 5 minutes. repeat. https://tomato-timer.com/
  • drink lots of water. get enough sleep. keep up a good health which will help your brain help you code.

IDE or Code Editor

PyCharm

  • for an IDE install the community edition of PyCharm https://www.jetbrains.com/pycharm/. you probably don't need this right away. but know that there are full blown development environments out there, and they help with managing code (and other things) as your projects get bigger.

Visual Studio Code

  • https://code.visualstudio.com/ - a very nice cross platform (windows, macos, or linux) code editor to get started with that you can use for all sort of programming languages.

Python IDLE

  • Python ships with it's own that you can use.

If you see code samples like this (with the >>>) it was from Python's interactive shell:

>>> import sys
>>> sys.version
'3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]' 

Social

  • https://www.100daysofcode.com/
    • i think you should go through khan academy and think python 2e first. and then start the 100 days of code challenge. be social about it. use the hash tags.
  • https://www.twitter.com/
    • create an account - there are lots of people who do code that hang out there. Find them. Follow them. Don’t be an ass to them.
  • https://stackoverflow.com/
    • a great place for asking questions and getting responses. SEARCH before you ask. someone has likely already asked the same question and received a response from someone else.

your online prescence

Things to consider to help you broaden your employment reach:

  • build your own website - e.g., being a web developer without a website is like showing up to a job interview without a resume.
  • buy a custom domain - could do that at https://domains.google/#/ or https://www.hover.com/ would work
  • you can point that domain a github page so that you do not have to pay for a server https://pages.github.com/
  • consider starting a blog about your journey with code. use it to promote your knowledge and projects, and sell yourself to future employers.

source control / github

  • https://github.com - create an account, you’ll want to probably put some of your code here, or also check out other folks code.
    • github is a platform for Git. Git is a version control system. Github makes this easy.
    • you can make your repositories (repos) private if you're not ready for others to see your code yet.

online things to check out

  • https://dev.to - community for sharing ideas and discovering things around code.
  • https://github.com - sharing code with other programmers. your code can live here and others can check it out. (+/- depending on how you look at it, some code may need to be private)
  • https://stackoverflow.com - q&a for programmers

online playgrounds and communities

articles to read

books to consider checking out (not required) - these mostly will help you discover more things to learn


what's next?

  • forge your own path. here is a list of resources for learning how to program. https://github.com/karlhorky/learn-to-program#readme
  • there are many different ways to do a thing, or learn a thing. grow, learn, unlearn, learn, code, repeat.
  • don't forget about continually honing your soft skills (aka holistic skills) such as communication (when to over- and under- communicate), giving and receiving feedback (without making it personal), sharing your work and ideas (appropriately), and many more. technology will change. that is inevitable. your soft skills will be with you for a lifetime.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment