Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Are there any services that 'for a reasonable price' will give and provide good and technical advice on applications. On a lot of projects, I'm usually the only developer, and sometimes, I think some of my work needs to be improved for efficiency, better MVC interactions, etc. It would be great if there was a professional service that actually can and will do such reviews

share|improve this question
1  
You might have a new business model on your hands. –  Merlyn Morgan-Graham Oct 28 '10 at 6:23
    
@Merlyn Mogan-Graham - You know what. I just might ... anyone else in? –  dassouki Oct 28 '10 at 9:58
    
you might be interested in this code review proposal. If we can get the ball rolling, this could potentially be another resource you can use. –  greatwolf Jan 13 '11 at 10:39

4 Answers 4

up vote 17 down vote accepted

Find someone else who's an indie and needs their code reviewing, and buddy up with them. Sitting next to each other in an office or pub is best, but you can use online paste bin services and videoconferencing if there's no one in your town.

share|improve this answer
    
or perhaps sharing a github / remote svn location –  dassouki Oct 27 '10 at 17:20
4  
+1 an excellent solution to a tough problem. There's really nothing that can replace working with someone you know enough to trust. A professional service would just be a bunch of guys you don't know, and their opinions, attitudes and experience with software engineering would be unknown to you. One might have a hard time knowing which feedback to take seriously and which to disregard. –  Adam Crossland Oct 27 '10 at 17:20
1  
@dassouki: in addition to making the source code available to the reviewer, you also need some way to share notes while you're talking. Something like Campfire or Writeboard is better than version control for that. –  user4051 Oct 27 '10 at 18:03

There are a lot of software consulting companies out there which will do this kind of service for you. They're not free of course (and often not cheap) but I am working with one now and I find what I learn from them is worth the price.

share|improve this answer
    
can you provide a contact info ? synopsis of the pricing scheme(s)? –  dassouki Oct 27 '10 at 17:27
    
You'd have to look in your local area. Or google for the big names. –  Malfist Oct 27 '10 at 18:11
    
Yes that's what I did... searched for Software Consulting companies within our area (Google and I think YellowPages) and checked out their websites to see what services they offer. If they didn't have a website I generally discounted them :) –  Rachel Oct 27 '10 at 18:53
    
I think this stack-exchange proposal might be of interest to you. If it is show your support and help get it into beta :) –  greatwolf Jan 16 '11 at 7:03
    
Be careful with this approach. "Consulting" could easily become a paid sales pitch for contracting. The company I work for does both, but is completely up front about the facts. Other companies may not be as transparent. –  Merlyn Morgan-Graham Oct 27 '11 at 5:20

Not really for lone developers, but as a silo programmer working with other programmers I was able to convince management to allow for cross-training time where we would review each other's code on a rotating basis.

I claimed it would ease problems if a contractor left and there was no one ready to take over his projects.

We did peer 4:1 reviews once a week. It kind of worked and I did get some good advice from the others. And learned what projects to stay away from.

share|improve this answer
    
I think this stack-exchange proposal might be of interest to you. If it is show your support and help get it into beta :) –  greatwolf Jan 16 '11 at 7:04

This is not really 'professional', but it may help a little?

  1. Try to explain your design to a 10 year old (and keep their engagement).
  2. Have a 5 year old try to break your system (make it a game to make it crash).
share|improve this answer
8  
But that's testing, not code review. –  Malfist Oct 27 '10 at 16:58
4  
Say you were building houses on the side, instead of developing software. Would your testing procedures really consist of getting a 5-year-old to try to break the house and getting a 10-year-old to agree with you that the house is structurally sound? –  Cam Oct 27 '10 at 17:48
2  
@Cam: "getting a 10-year-old to agree with you that the house is structurally sound" isn't necessarily the goal. The goal here may be to organize and distill your thoughts to prove that your idea is simple and sound enough to work. Evaluating the structural stability of a house is a significantly different problem than architecting or implementing a program (though it may be similar to writing a formal proof for a program. No, I wouldn't have a 5 year old help me with that). –  Merlyn Morgan-Graham Oct 28 '10 at 6:21
    
@Merlyn: Yes I realize there are several disanalogies present in comment. However my argument is not that building houses is just like writing software. My argument is that software development is a practice that requires more stringent testing procedures than can be provided by a 10-year-old and a 5-year-old, which I think is true, otherwise most companies would just bring toddlers onboard instead of the more expensive trained software testers that I normally see companies hiring. –  Cam Oct 28 '10 at 18:07
    
@Cam: I agree with you, because I am a long time test developer ;) I think the toddler idea is just a cheap solution to a single quality gate, though - not around the entire quality process. Code reviews, not ship certification. If you write an answer that advocates writing at test suites (in any capacity), I'll up-vote it. –  Merlyn Morgan-Graham Oct 28 '10 at 22:48

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.