tags:

views:

273

answers:

6

I'm the only developer in my company, and am getting along well as an autodidact, but I know I'm missing out on the education one gets from working with and having code reviewed by more senior devs.

Does anyone know of any sites/resources that provide volunteer mentors? I'm looking for some one to review my code from time to time and give me some pointers.

Maybe a charitable SO user?

[.NET, C#, ASP.NET]

+6  A: 

I just want to clarify that you realise the business ramifications of this? Showing code outside your company doesn't just leave you liable for being dismissed but might land you in court on criminal charges...

Spence
+1 good point I didn't see that aspect also.....
RageZ
Yeah don't show your work code to people you don't work with. It's OK to write similar code outside of work and have it reviewed, though.
JMP
Maybe. If that code contains a trade secret or technique developed during the course of your work you could still be in trouble.
Spence
While I agree, having worked in NPI for a Fortune 10 company, I can tell you without a shadow of a doubt there is very little, if any, important "trade secrets" developed by the vast majority of LOB companies. This isn't to say the company doesn't think it's invented the fountain of youth...
sixlettervariables
i know that, but to fight a lawyer you need a lawyer which costs money. The mere action of initiating litigation can be sufficient deterrent.
Spence
definitely. i was actually thinking personal projects - i just added the no mentor clause to explain that i don't have access to a common resoure to guide me through the fundanebtals.
fieldingmellish
Certainly didn't want to persuade you!!! Actually I really like @Tuzo's answer. Although having a magic coder near you is great, I've learned so much just be reading SO questions and answers, seeing the way people do stuff is learning on it's own. MS Patterns and Practices is great stuff too if you are in the MS world.
Spence
+7  A: 

Maybe try some work on a reasonable sized Open Source Project in your poison of choice (language). I'm sure if you started commit code there would be people to review/give you pointers on your work.

Dan McGrath
I'm considering this also - any suggestions for a project?
fieldingmellish
Depends what you are into. Go to somewhere like <http://sourceforge.net/develop/> and select the topic/language/OS that make you happy.
Dan McGrath
+3  A: 

I find that posting code here on SO in response to other peoples' questions is a great way to have your code reviewed for free (and very quickly). It's great because someone will usually post better code or a different approach from yours, and their post will usually include reasons why they think their approach is better.

Jay Riggs
+1 for reasoning. Code means nothing without a justification for why.
Spence
i still plan to consult SO for specific questions, but I'm also seeking someone who could take a step back and look at the overall design of my samples - assumed that posting large-ish code samples would be frowned upon.
fieldingmellish
Yes, posting a largish code sample would be frown on here on SO. But then asking someone to review and give meaningful feedback on a sample of that size for free might be a bit too much to ask. +1 to Dan's open source suggestion.
Jay Riggs
+1  A: 

Have you approached this from the other side? Getting your code reviewed does have value but you can also do a lot on your own.

I don't presume to know if you are doing these already but here are some thoughts.

You should read. A lot. That could involve stackoverflow, technical articles, various coding standards, design guidelines and code. From that research you can apply some self critique. What are others doing that you are not doing and vice versa.

Run fxcop against your code. See what it flags. Read up on the rules and see why they exist. Repeat with stylecop. I think these two can add quite a bit of value in terms of reviewing your code.

Go back and look at old code you have written. See if you can find areas for improvement. You can think about design here instead of just standards and style.

To go back to your actual question, have you tried networking? Do you have any .NET (or other technology) user groups in your area? You may be able to find some good mentors there.

Tuzo
thanks for showing me the tools - i wasn't aware of them. I would say that i spend approx 70% of my waking day learning from the resources you suggested. (don't tell my boss)
fieldingmellish
A: 

I've been in a similar position. I found it had less to do with my code quality and more to do with what my code is doing.

You have tagged this asp.net. Have you tried MVC? If you are the only developer, it should be easy to find an excuse to use it.

What is your code coverage like? Have you tried written unit test? Have you tried a mocking frame work? Dependency Injection? Even Linq-Sql! (or Linq to anything!)

Then there are best practices for MVC, Unit Tests, Mocking Frameworks.

Others have already suggested Open Source. Jon Skeet has just started the C# version of JodaTime. Give that a try.

I think our industry is a contact sport, and you need always need to be proactive or you'll get blindsided...

Christian Payne
fieldingmellish
A: 

Check out your local .NET Users Group. You can usually find some good local developers there to talk code with.

Lance Fisher