Tag Archives: github

How to learn to code – other people’s advice /5

I am glad to see that some of the readers are taking advantage from some of the advice I got from other programmers.

Here is another advice I received:

I’ve never tried a freelance site yet. However, I am working on freelance projects for 3 outside companies now. They found me themselves on LinkedIn. Hmm….I think it’s too early to try to get a software job. I don’t know if people would hire you with no experience. You can always try, of course.

Whatever way you can learn and get experience, go for it. A good way is to contribute to open source projects. That means you must first learn GitHub and Git. Look at popular projects on GitHub: https://github.com/explore

Here’s a popular Python project: https://github.com/poise/python

Here are current “issues” for this project. Problems, bugs, features that they need someone to fix for them: https://github.com/poise/python/issues

Here are the latest “commits” (code uploads) to its master branch. You learn a lot from studying what code changes people make to a project: https://github.com/poise/python/commits/master

Here are its latest “pull requests” (new code changes that developers are asking the main developer to accept for merging in the master branch): https://github.com/poise/python/pulls

See? Study how code gets made and changed day by day by studying these details for different projects on GitHub. Feel free to contribute your own changes/issues/fixes to a project. People are very picky about what code they will accept. If they reject your code, they will give you comments and tell you what to fix/improve. This whole culture of contributing to open source projects on GitHub will teach you the daily process of software development.

We do the exact daily routine at work. We have meetings every 2 weeks to figure out the main issues each of us will work on in 2 week “sprints.” Then each morning we meet and talk about what we’ve accomplished so far. We each make a new branch on GitHub to work on our feature or bug fix. Every day we commit and push new code to that branch. When we feel we’re done, we make a “pull request” to our boss to merge our branch with the main branch. He may accept it or reject it with comments on how to improve our code. We also do a demo every 2 weeks to management and our team of what we’ve done.

That’s how our job is like. So yeah, eventually try fixing problems people have on different projects on GitHub. That’s a fantastic way to really learn and get critiqued by experienced software developers worldwide. IF you have a bunch of open source contributions highlight that on your resume. That’s impressive, because it means your code is up to their high standards.

Here’s the prework site for my school, Flatiron. They give you a bunch of suggested tutorials/links to prepare to be: 1) a Ruby on Rails web developer or 2) an iOS developer. http://prework.flatironschool.com/

You don’t have to cover everything. First just focus on your main language (like Python). Eventually you’ll have to become a T (deep knowledge in 1 main language, with broad more superficial knowledge in several other languages).

http://prework.flatironschool.com/web-development/

Advertisements

How to learn to code – other people’s advice /3

I strongly believe in sharing the information and knowledge. This is why I started with series of posts: How to learn to code – other people’s advice /

As you already know I am posting some parts of the e-mail answers from some of the programmers that I have asked for advice when I started learning to code.

I do hope you will find useful information in this post:

Hi Aleksandar, I haven’t heard of The Firehose Project before: http://www.thefirehoseproject.com. Their website has no information on their curriculum and what languages/technologies they teach, however.

One of the people in my group is going through The Odin Project (http://www.theodinproject.com/courses?ref=home_b), which is free and may be something you’d like.

I’d gone through the first 2 courses in Tealeaf Academy before I did my live Flatiron School bootcamp: http://www.gotealeaf.com/

There are different sites that compare different web development bootcamps. Here are some online ones:

http://bootcamper.io/t/type/online

http://www.skilledup.com/articles/online-alternatives-coding-bootcamp/

http://www.bootcamps.in/

You have more and more choices now. Notice they have live bootcamps in Europe too.

If you pick an online bootcamp, you should also try to meet software developers in your city (Ljubljana), which you can find from sites like Meetup.com. Join Meetup.com and look around. You may be surprised from the groups you find near you! You need to meet people in person who would like to study together. Perhaps you could start your own Meetup group (which I did) to find study partners.

Let me know what you finally decide. There’s no right or wrong choice. 

Also, Udemy has been having lots of discounts on their online courses. Keep an eye out for future discounts.

Also, see what Jennifer Dewalt did. She was a San Francisco artist who taught herself to code by building 180 websites in 180 days. Crazy, but she achieved her goal of making 1 website per day. She taught herself everything—-HTML, CSS, JavaScript, Ruby, Rails, databases, etc. See her blog about each site, with her links to every site. She used this ambitious schedule to teach herself and practice as she went along.

http://blog.jenniferdewalt.com/

http://jenniferdewalt.com/

Now she’s running her own restaurant review business, based on a site she created.

The important thing for you is to start coding every day. It’s like learning multiple foreign languages and new ways of thinking at once.

Create a GitHub account and learn to use Git to put all your code online for everyone to see. All software developers in the world have GitHub accounts, and that’s how we share code, learn from each other, and build on top of other people’s code. The best way to learn to code is to just start doing it, trying different code challenges, learning from reading others’ code, then rewriting your programs to improve them.

Start trying different code challenges from sites like https://projecteuler.net/http://www.codewars.com/abouthttps://www.hackerrank.com/https://www.interviewcake.com/https://code.google.com/codejamhttp://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index.

Code challenges are really tough and let you compete against some of the best programmers in the world. They can be more mathematical, but their questions are typical of what companies ask you in job interviews. Doing well on code challenges is what will help you get software jobs. They are tough but very intellectually stimulating and fun, if you like math and solving puzzles.