How to become a self-taught programmer

in #introduceyourself8 years ago (edited)

You're never too old to learn something new

programming

There's a lot of demand for programming jobs and learning a new skill may be daunting, but I'm here to help walk you through the steps and resources to becoming a self-taught programmer.

Solving Problems

A lot of programming will involve problem solving. You need to break down the problem into solvable chunks. This requires a different way of thinking. Computational thinking, heres a good video from google explaining it better than I:

And you can learn more about computational thinking at googles mini site for it here: https://www.google.com/edu/resources/programs/exploring-computational-thinking/

Now that you're in the right mindset lets walk through some steps to get going on your first project:

1. Pick a project you're passionate about

astronaut


Lets take Twitter as an example. You love twitter so much you want to clone it. Don't overlook this step, if you really want to understand programming, you're going to be spending a lot of time on your first project. Don't set yourself up here to be bored out of the gate.

2. Find a language that suits your level

language


If you have no background, I recommend ruby to start as it is very high level and has an almost english like syntax. You can go through the basics at tryruby.org

3. Find online resources

resources


Find online resources to help you stumble through your goal of building a twitter clone.
I highly recommend going through this introduction to ruby on rails and web application development:

Rails for Zombies

and their parent site Code School if you're hungry for more.

4. Find a mentor

mentor


This is a very important part. Find someone who knows the technology you pick in step 2 and 3. Check local slack channels, reach out to people you know, check LinkedIn, Google, anything! I found a mentor early on by searching through google for "Ruby on Rails web developers" in my area and cold emailed them. Make sure you ask all the dumb questions you possibly can!

5. Get stumbling! Not Reading

stumble


Programming will get frustrating when things just don't work, make sure you ask for help when you hit a wall. Don't spend too long trying to read your way out of the problem, ask for help! Having concrete examples that YOU wrote will help more than days of reading or trying to understand another persons code/post/gist/snippet/etc.

A bit about me

I've been learning about programming for at least a decade, and I probably won't stop. You can check out my intro post and some of the projects I've worked on:

https://steemit.com/introduceyourself/@superfreek/a-developer-introduction-post

Sort:  

If I went through the trouble of learning ruby could I get hired as a programmer? Do people use it in the real world, or is it simply an outmoted language easy for beginners to learn?

Yes! Lots of places use ruby, as well as ruby on rails. The patterns used there also translate well to all web applications. I always use the rails way of doing things as a reference even for my work in node.js and the browser.

The real fault is to have faults and not amend them.

Welcome to Steemit! If you would like to see statistics of any post on Steemit, you can use Steemd.com. I have made a bookmark for your convenience in accessing Steemd. https://steemit.com/steemd/@craigwilliamz/steemd-statistics-bookmark-for-easy-access-to-steemd

I love this! I admire people who can program it seems extremely difficult to do!

I taught myself programming too, I now feel it's a day wasted if I don't get any done. Very good to have you here superfreek. :)

Gah tell me about it! So many ideas, so little time lol.

hahah great stuff, it sounds complicated to me but you have explained it very well! thank you!

This post has been linked to from another place on Steem.

Learn more about linkback bot v0.3

Upvote if you want the bot to continue posting linkbacks for your posts. Flag if otherwise. Built by @ontofractal

What song do you love to dance to?

Coin Marketplace

STEEM 0.27
TRX 0.11
JST 0.032
BTC 64579.45
ETH 3101.05
USDT 1.00
SBD 3.83