Skip to content

Instantly share code, notes, and snippets.

@genericallyloud
Created March 30, 2016 20:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save genericallyloud/9593f8afef3594031908e3c28d0ea829 to your computer and use it in GitHub Desktop.
Save genericallyloud/9593f8afef3594031908e3c28d0ea829 to your computer and use it in GitHub Desktop.
CodeHike Brainstorming and Discussion (genericallyloud proposal)

Pitch

The demand for software developers is very high, and every year, there are more and more people who are abandoning or supplementing a mainstream college Computer Science education and utilizing coding bootcamps, online tutorials, meetup groups, and other means of non-standard or self-taught education. There are many, many, resources out there, some of which are intended to be a complete package, but most of which are not. Even the ones which claim to be complete, are only complete for some narrow definition. There are many different starting places, and many different destinations. No single solution has it all. Even resource guides which point to external resources can't cover the widest range of users without community driven content.

CodeHike is an attempt at providing trails and guides through the wilderness that is alternative coding education. More than just a list, or a list of lists, CodeHike would allow for trail blazers to provide hand crafted trails and guides through a series of steps that would then be very easy for others to follow, so that they aren't left bushwhacking.

Summary

CodeHike would be community driven and social so that the number of trails could be large, covering a wide range of topics, and possibly even competing in some areas. With feedback and social interactions and reviews, the best trails would float to the top and even co-exist on the same topic for people who want to take different approaches. Long term social interactions would also mean that people could "hike together" and help each other, constantly feeding back into what resources and what paths through them are the best.

The primary building blocks of CodeHike are steps, trails, and hikes. A step is single topic, a thing to learn. Each step has a description and a list of resources for actually learning it. A trail is a larger goal. It is made up of a series of steps that offer an opinionated path of how to get to the goal. For example, a trail might be "Beginner's JavaScript", and a step on that trail might be "JavaScript Closures". A hike would be something even larger than a trail, like "Web Developer", and it would be made up of trails.

To bring it back to mainstream education, a hike would be like a degree, a trail would be like a course, and a step would be like a lesson. The reason for coming up with our own vocabulary, and using the hiking metaphor, is to get away from any misconceptions those terms would lead to, as well as keeping the theme fun, and allowing ourselves to diverge and implement something that works the best without feeling beholden to that terminology.

Hikes, trails, and steps would all be community created, so anything missing or outdated could be added or updated. Steps would be the highest traffic/most shared components. They would be able to be shared between different trails and would be community resources, almost like a wiki entry. Trails and hikes would be a bit more like a github repo - created and controlled by a single owner, but allowing for collaborators, contributions, and forks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment