Often when learning a new programming language I am be interested in getting an expert review on a non-trivial project. I looked at using code review stack exchange but it seems to only be used for small snippets of code. Happy to pay for a review as I recognize reviewing a whole project by an expert is unlikely to be free. Anyone know of sites which do this?
That's a really good question. I've found it's really hard to tap into a senior developer's attention span for any sort of short term work that isn't something they are already working on. To get some non-trivial insight, you're not only asking them for the work you're specifically looking for, but also the context switching necessary to level up on your code base and the work necessary to prepare whatever output you'd be happy with. In some sense, it's like asking someone to live in your home long enough to develop their own thoughts on how they like your home, and what changes they might make. It's hard problem to solve.<p>Another approach to consider is simply not worrying about it too much, only worrying about making serious quality improvements when the project starts to get traction. I once asked a senior engineer for their thoughts on how to test a very specific type of coding approach, and their response was that it didn't really matter until the code was important enough that it needed to be taken seriously.<p>For me, I'm banging on an Elixir app this weekend. I'm intentionally moving slowly on it because I'm working on refining my approach to how I structure and test the code. In many ways, I find going super deep on a fairly small thing makes it easier for me to find patterns that I'd like to replicate else where. So I'd say my approach to finding code review is to simply budget time to become my own reviewer. Another benefit of this approach is that I often find I develop thoughts that are efficient to communicate, and then I'm able to share them with coworkers as the opportunity arises. My better ideas tend to start getting adopted by others, and then they get better at reviewing my code.<p>For Elixir, I've also found people who are interested in pairing on the Elixir Slack channel. [1] Consider looking around with your language or framework of choice to see if there's a community where you can find people interested in pairing with you.<p>[1] <a href="https://elixir-lang.slack.com" rel="nofollow">https://elixir-lang.slack.com</a>
Obviously paying a professional will get you the best results, but otherwise, you can also try to post a link to a GitHub repo in various IRC channels popular with programmers. It can be a fun or even ego-boosting exercise for programmers to "redline" code in their spare time, so you'll probably find some willing to take a look for free.
I loathe being so blatantly self-promotey on HN, but since you asked: this is specifically a thing I do.<p>Skim my profile and follow up by email if you want to figure something out.
One free way would be to find a strictly governed open source project in the language/framework and start contributing fixes. You'll get practical code reviews, meet people in the community and give back to open source.
I've seen some of the 'high profile' people within my tech stack offer code review. You could find someone who has a blog or does talks in your given area and see if this is something they actively advertise (or just ask them).
The only service I've seen for this is <a href="https://www.pullrequest.com/" rel="nofollow">https://www.pullrequest.com/</a>. Seems more for teams but it may work.