views:

185

answers:

5

I'm new to .NET and I would like to participate with .NET community to grow my skills (selfish, I know), contribute something (not so selfish) and I thought its just nice to be part of a community.

I can start a blog but considering I'm a beginner I can't possibly post anything worthwhile. How about opensource projects? Are there ways to participate? I checked codeplex and there is no such thing like "Help Wanted" in sourceforge and so I don't know where to start. I'm thinking some opensource projects may accept beginners as well.

Any ideas?

+2  A: 

Find an open source project that is fun and interesting to you. Most open source projects accept help at any level. Usually, the bigger issue is personal motivation, which is why you should find something that you find personally rewarding to work on.

postfuturist
+1  A: 

Check out the The CodeProject. This is a community site about Microsoft technologies that preceded .NET. It has now embraced Java and LAMP technologies, but the main topic is .NET. Members post articles that get rated by the community. I would say that this is the wealthiest source of information about .NET.

If you want to contribute, you can write an article. The article could be about an open source project you are building, like a library or application. It could be even simpler than that. You could describe the steps you've followed to solve a difficult problem and provide source code. It is easier to start contributing that way, since you don't need to author a full fledged open source project.

kgiannakakis
+8  A: 

Just because you're a beginner doesn't mean you can't post anything worthwhile to a blog. You could your blog as a notebook of "I didn't understand X, now I do - here's an explanation." That will help other beginners to learn, and potentially help old hands to understand which areas cause problems for beginners.

As for contributing to an open source project - steveth45 has exactly the right answer there. If you want to really make yourself popular, offer to write high quality documentation - that's always in demand. You can improve your skills by reading existing code, and contribute massively by documenting what it does. This will also help you to see where the project could be improved, and contribute code too.

Of course, there's also the "answering questions" side of things - whether that's here, on newsgroups, or anywhere else. You don't need to know a lot beforehand to answer questions - you just need to be willing to do some research, and be smarter at it (or more persistent) than the person asking the question. I pretty much learned C# by answering newsgroup posts - it's a very rewarding way to learn.

One less obvious (but important) way you could help the community is to write to book publishers and ask if they need any peer reviewers for books which are currently being written. In my experience most peer reviewers are already at "near expert" level, which means they're great at spotting mistakes, but not brilliant at judging whether or not the book is effective at teaching. Making yourself available as someone at the other end of the spectrum (at least for now - don't expect to be a beginner for long!) would do everyone a great service.

Jon Skeet
+1 for "C# by answering newsgroup posts" I learnt C# from SO by pushing my self to answer C# questions, now I love writing in C#
Nathan W
All excellent points Jon. Reading code (both good and bad) is an excellent way to learn. It exposes you to different code styles, and ways of performing tasks.I also like the point about becoming a peer reviewer. I didn't know people could do that, I suppose you would know being an author.
DoctaJonez
I was actually a peer reviewer for ages before being an author - but as an author I value reviewers pretty highly :)
Jon Skeet
Fantastic answer! You gave me some great ideas. Thank You Jon :-)
Shaw
+1  A: 

Speaking as a committer to the FileHelpers Project, we can use all the help we can get! Our project has been stagnating badly for a long time since there are only 2 of us, and both of us have had extremely eventful personal lives for the last year. The simplest help is still useful - much of the documentation is still in broken English, since the lead developer is not a native nor a fluent English speaker - so even simple commits to help improve the documentation would be greatly helpful.

Matt Campbell
A: 

Do you make use of any open source projects at work? This can help give you direction, you can try to add features you've found yourself wanting or rewrite documentation that you found to be confusing. You could also simply do as Jon suggested, and start participating in the newsgroups or forums for these projects.

Paul Batum