At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
I feel like without a CS degree, the best way for me to keep learning and building experience is to start trying to contribute to open source projects. What kinds of things can beginners do to contribute? what good resources are there for finding projects?
There are several entry points for getting into open source, but most easy and recommended is to find a project you like and start by bug fixing. You can look at this article by Scott Hanselmanhttp://www.hanselman.com/blog/ExampleHowToContributeAPatchToAnOpenSourceProjectLikeDasBlog.aspx
For my money, the best move you can make is try to write your own, as well. And get on github. It's so easy to patch things on github and then send a developer a pull request to pull your patch in. I recommend writing your own stuff because it means that you'll inevitably find libraries that help you along, and those libraries will inevitably have bugs, and you can inevitably help fix those bugs. Nowadays, it's likely the libraries will be on github and you can fork/fix/pull request your heart out.
Thanks. It's really useful to have specifics like github--when I google for the answer to this question it seems like there's a lot of disparate stuff with no place to start.
Yep. Pick something you want to build, build it while making sure not to reinvent the wheel, contribute to the libraries that you use.
Are there similarly good places to exhaustively search for previously-invented wheels? Are there a few places it's possible to search and be relatively sure a particular wheel hasn't been invented? I understand that for programs google is my friend, but for libraries of functions? I've started making use of the builtin documentation and I'm reasonably good at using what I find, but are there tricks, when you need a function, for knowing where to find a library that contains it?
haha, sorry. I think i only really meant to ask the last question. The first ones were more to describe the domain.
Same as usual, you use Google, and you get better over time at knowing what to search. Learning who to follow in places like Twitter is good, too, since you'll get news when something new and cool gets created, and you can keep it in mind when a need of that sort arises. Github is also an excellent place to search for existing projects that may help with your stuff, since so many libraries are hosted there.
Thanks. Once again it seems to be a matter of learning to ask the right questions and describe things correctly beforehand. I can learn that. :)