Have you considered contributing to an open source project that interests you? An active project would provide you with an existing architecture, community, history... possibly even a mentor. (people in college can even apply for "google summer of code" for a formalized and paying approach)