Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Getting Involved as a Total Beginner
You're perusing this wiki because you're interested in programming. That's great! Software development is a perpetually growing field with a vast demand for employees from various backgrounds. Succeeding as a programmer requires a strong grasp of logic, dedication, and a little creative je ne sais quois. It also requires dauntless persistence in exploring the field and applying your knowledge. The myriad resources available on this wiki can guide you in understanding the framework of computing, but like a lecture course, succeeding requires doing your homework.
Getting involved, silly! Becoming a compendium of trivial programming knowledge won't help you apply the information. Much like the "dump method" used in lecture courses, the software engineering wiki is meant to be skimmed and reexamined when you need a refresher. To competently wield the knowledge you've gained, you need to repeatedly utilize it in a stimulating and memorable manner.
I'm too shy/nervous/busy! I don't want to burden people with stupid questions!
That's fine. That's why Google exists. Asking questions is hard. You might end up tongue-tied, humiliated, or given an atomic wedgie. If you're interested in a project, but still have vague questions that you can't cogently explain to the learnsoftwareengineering Slack community, use Google. Set aside a few hours to brainstorm. Furiously Google the unfamiliar words and mess with the results until you've got a solid framework for a good question. I'll put the general process in bullet points.
- I want to work on the Dancar project.
- These terms are too esoteric for me to understand. Let's Google them.
- Flask > http://flask.pocoo.org/
- Python > I need to know what Python is. I should study this.
- GIGANTIC CHUNK OF SQL CODE > I have no idea what any of this means and I need to ask a question. If I can't condense the rest of the information into something I can ask Google, I can send the Slack community a polite request to explain what is going on here.
That's an abridged list of all the questions you're going to be asking while studying code. The majority of learning involves downloading utterly alien programs and poking them until they do something cool. You may break things, but any damage you do is always reparable. A large amount of learning to program is learning by rote until it sinks in enough that you can recognize familiar processes automatically. You just need to devote some time to it.
First Pull Request
[https://github.com/MunGell/awesome-for-beginners](Awesome For Beginners) page with suggested open source projects for beginners to join and help out with.