I don't know anything about code except some basic HTML.
Recently, I hired a freelance developer to do some front-end updates on my e-commerce website. Because of the nature of e-commerce websites, I care a lot about showing up in search results and having fast page loads.
I'm pretty happy with the result so far, but I have no idea whether my developer has coded well, or if they have any talent or skill at it. On top of that, he charged me for twelve hours of work, and I really can't judge if that's a reasonable amount of time for my update and if he's being honest about working time.
How can I, without a technical background, judge the technical skill and honesty of a freelance developer like this? I would be open to hiring a code review service, if there is such a thing.
A developer can be good, and one can also be great. A great developer is not someone who just wish to know what (to do) and also why. Behind the reasons of programming tasks there are business goals and this is where value is found. A great developer would like to know what you're trying to accomplish in the short run as well as in the long run.
For example, you said you care about fast page loads. Ask you developer to show you how he measure a successful fast loading page. Would you like your pages to load under 3 seconds? less?
That's only an example to see if a developer works according to goals, and has a toolset to check those were achieved or one just tries to make an employer happy.
You cannot know this fast. You may have someone else review the work but that is overkill. If you like the result, the price is in budget, and it does not break, then you should be happy. You really do not know if your carpenter or plumber are good either, until you have an issue.
Harry I struggled with this very thing for years, and what I learned having worked with tech teams for 7 years now, is you just have to work with people you trust. There is no efficient way to always be looking over your team's shoulder (especially when it's out of your wheelhouse) and measure their effectiveness. Is your freelancer delivering on time? Is he reliable? Does he explain why he's late delivering the goods when it happens occasionally? Is the product really buggy or reliable? Do you trust him? I have worked with people I didn't trust and fortunately for the past years, only with people I did. What a difference when trust is present.
I was a design engineer for a product development business with about nine people and now has many more. One thing that you should be aware of is that the goal of the firm is to get paid. If they meet your goal is good for them and great for you but that is not there objective. So if you ask them to make junk that is what you will get. Do not expect them to tell you that your wasting your money. You need a firm that will not lie to you.
This firm grew because it did not lie when asked a direct question and if asked what they thought you got a good answer. But a customer would never get told they were wasting there money. The firm assumed you knew what you were doing so they present the best view of what they were doing, their goal is to get paid.
This is a very common experience for many non-technical people employing techies. There is no way for you to know how good the code is, especially if the application is working like you expect - for now!!
A code review service would be a great idea. Good confident techies would not mind their code being reviewed by their peers.
We provide a service for helping people that want to evaluate the technical ability of prospective CTO co-founders, but not code reviews.
Be careful though to distinguish between good code and good SEO (Search Engine Optimisation) which is more about getting your site found than whether or not the code behind it is good.
You can request help from one experience developer in the stack your product is being built to assess the health of the code base, and sometime provide general guidance on how to move forward. take a look in here: https://www.codementor.io, there are a lot of experience developers that offer hourly rates for code reviews or even help solve problems.
Also, you should be able to find a technical professional (if you are not interested in learning) who you trust so you can rest assure that the work is of the quality your project deserves
this is a great question, and concerns big and small projects.
regarding costs and time, you can go to freelance sites, such and upwork, and post the project. you will get offers, discuss a bit more with the freelancers to get accurate feedback. finally you will get an estimate for how much time and money the project should be. if you're guy is with this range, you're ok. but if he's less or more, by far, you need to look closely why is that.
in order to check the work done, you can employee another freelance to do just that. of course this will take time and money from the project, but will allow you to better assess the work being done.
you can also be working with a top expert that does high quality work with high cost. this is good, if your project requires it. and in that case, checking out the result/code will be a good practice.
I would stick to firms if you do not know the space - for a lot of reasons, not just the ones you list. A firm will be a lot better at taking you through a processes. With just one person, there is a risk that he does it wrong, and a risk that he does the wrong thing. A firm will have processes in place to make sure neither happens.
There is a good white paper on this whole idea here: http://www.finishlinepds.com/top-10-reasons-why-product-development-p
In short: Your question demonstrates a common naivete held by many in your situation.
When doing engineering and technical work, have the work reviewed is the only way; and remember to add in the time and effort it took to create the spec and see eye-to-eye with management's vision and goals.
In respect to the review: Hindsight is 20/20, you have to learn as you go.
It would be a good start to learn about engineering methods.
It is almost impossible without a technical background. Even if you are a technical person but if your experience is not development, you can't know the code quality.
If you do not trust him/her you should choose the developer from a trusted source(good friend, rating of the developer on upwork or freelancer etc)