Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools

Sage Elliott
Sage Elliott
30,003 Points

Tutorial code on Github?

Hello, I have a follow up question to one I asked awhile ago about what code to put on github.

Is it good practice to push code from tutorials? An example would be for me to push the rails todo app made from the treehouse tutorial and list the resources used to make it and what I learned.

I have seen some that have done this, but I'm not sure if it looks good or not. Or if the tutorial code is even licensed to do so.

Basically I want to start adding projects as I make them to grow a portfolio as I'm learning, but should I wait until the projects are more original? this could be useful for all us "Newbies" growing into programmers!

I'd love to hear your knowledge and opinions on this.

Thank you!

3 Answers

Ken Alger
STAFF
Ken Alger
Treehouse Teacher

Sage;

I am going to look at this from your portfolio standpoint and what a potential employer might be interested in seeing. Individual employers may vary so take this as a general opinion.

I would say to absolutely put your projects on GitHub. In the README.md file I would put a blurb about what part came from the tutorial source and what part of the added functionality was your own. Something like Ruby on Rails TODO app, based on the Treehouse tutorial with added functionality of whatever.

This will show employers a couple of things while you are working on your own projects. First, that you have some experience with a version control system (VCS) and GitHub in particular. There are many job postings out there in which use of a VCS is a requirement. Having something to show them on GitHub is of benefit. Second, even if the project is based on a tutorial of which you have extended the functionality, it shows some of your own work extending current code. I have not seen too many, if any, job openings for junior developer positions that don't include working on already established code.

I think it also kind of documents one's growth as a developer. Being able to see and show that can be important as well.

Again, just my thoughts and individual results may vary.

Happy coding,

Ken

Sage Elliott
Sage Elliott
30,003 Points

That's how I wanted to feel about it, but honestly couldn't find much documentation on it. thank you so much!

Ken Alger
Ken Alger
Treehouse Teacher

Sage;

No problem. Pleased to offer my thoughts.

I really think that as long as you offer a "disclaimer" that the project wasn't initially yours that employers will understand. Once you have built up your portfolio of your own projects your development as a developer can then speak for itself.

Best of luck.

Ken

Sage Elliott
Sage Elliott
30,003 Points

Thanks Michael McDonald , I probably confused the terms :P. To clarify for anyone else I would not be publishing code back to a source. Just uploading projects I've made from following tutorials in my repo for displaying source code. Usually when I do follow along in tutorial I tinker with it and add/modify content to fit my own needs/curiosity.

That's fine. You're not pushing code by the sound of it; You're syncing, which is like committing. Pushing is when you send back corrected code to the remote source you took it from. Syncing your scratch in GitHub is encouraged as far as I can tell.

Michael Hulet
Michael Hulet
47,913 Points

The terminology Nazi in me can't help but to chime in here, but what he's describing is, in fact, called "push"ing. I've personally never heard the term "sync"ing in reference to uploading to GitHub, but I can see where it comes from. "Push"ing is whenever you upload your code to a remote repository with git, as you would doing anything with GitHub

My original comment timed out.. :/ I "love" it when that happens.

I know what you mean, Michael. The GitHub client pushes and pulls all registered repositories, at least in my setup, as soon as I launch it or connect to the GitHub webpage. While this happens, a [sync] icon in the upper right corner of the client turns blue and spins. Since this happens regardless, I'd have to unregister my repositories from GitHub to prevent it. It seems to me, GitHub adds some terms of it own to the traditional git language but I may be wrong about that. It also seems a little bit different to push and pull to and from my local to my server copies of the repositories than from and to a friend's repository just because one is automatic and the other intentional. I realize they are mechanically the same since each location is a separate repository and all repositories operate the same way. I may also have misinterpreted what Sage was doing. I welcome the discussion since I'll forget the details otherwise.