DEV Community

[Comment from a deleted post]
Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

1: You should first start by finding someone else's project to work on. Contributing to open source is one of the best ways to get started! It's also an important first step, as there is a lot of complexity to project management, above and beyond plain programming. Check out GitHub, find a large, active project that looks interesting and has a largish, live community, and jump in!

2: Work on a few projects solo. It is hard to learn how to collaborate heavily with others when you don't know how you work. This is also where you take your first steps with project management, without running the risk of annoying your collaborators.

NOTE: You can do 1 and 2 in any order.

3: Once you've got some experience working on someone else's project, AND you have successfully shipped some code on your solo project, THEN you're ready to look for collaborators.

Usually the easiest way to do this is to add people to an existing solo project. Developers will more readily contribute time and effort to a project when there's some code that already exists. However, yes, sometimes a project idea will come up in conversation with another developer (or two).

That leads to your main question of where to find these individuals. There isn't a dedicated website for starting projects, and there probably won't ever be one because...

a) Developers have no trouble starting projects. We have trouble finishing them, and

b) Many developers are wary of invitations to "JOIN MY PROJECT PLZ" because we have seen/been in too many situations where we wound up doing all the work for someone else.

Thus, what you need to do is to build your professional network. That leads back to #1 and #2!

  • When you're working on another open source project, you will form one-on-one professional relationships with other contributors through the collaborative platform. Often, small social communities form around healthy open source projects, and you can make professional friends this way.

  • Join IRC, join StackOverflow, join forums for libraries and languages you use...in short, get plugged in to the developer community at large! Ask and answer questions. This is another reason to be working on your own code: it will generate a lot of opportunities to ask and share in these communities.

  • When you find programming communities you are comfortable in, get involved in the "offtopic" areas. These are actually great places to grow your network; a large majority of my professional contacts are friends from offtopic.

While you're growing your network, it is important to remember that you are not hunting for collaborators. Occasions will naturally arise when you can talk about your work, your projects, and your ideas. Let interested parties contact you first, and then you can discuss whether they'd like to collaborate.

In short, finding collaborators takes time and patience. You have to...

  1. Gain experience contributing to other's open source projects,

  2. Learn how to manage a solo project, and

  3. Build your professional network.

Starting your own project will naturally emerge as you move through this process. Above all, don't rush it! Often our eagerness to accomplish a goal outstrips our actual capability to handle it. If you force it along, the project will either die quietly in its early stages or go out in a ball of reputation-damaging flame. You don't want the latter!