I have accepted a startup prototype development once. I told him I have no time, so he accepted two students who developed the prototype and me looking at what they are doing. He paid so less money, it was a pain. But the students wanted the job, and well, I know them for a time and then we accepted.
We made everything according to his templates. But finally he was unhappy, and we were too.
The amount of work compared to the money outcome was frustrating people. Yes, they knew it before. But when you experience it it is somehow different. The customer agreed with having a few bugs. And students said: cool, we don't need to test. And I said: f*ck, why do I need to deal with all the heated calls from my customer?!?
Then the customer said: wow, i want to go live, while we are speaking of a prototype. He said: i pay so much money (!) it needs to go live. We said no, but he didn't listen. Now students thought the customer is an idiot and he doesn't deserve their work. I mean, you can only think like that when you are a student.
Then the customer said: can't it be quicker? Its just two or three features! We said: no, because students must go the university too. The customer didn't understand and his expectation was they all work 40hours a week. In fact, it is good if a student does 10hours a week.
Finally the customer was making so much pressure, the students finally said: no seriously, we stop after the prototype. Go looking for somebody else. Guess who was the guy who told that the customer?
Now everybody was pissed. T
he customer didn't even pay the less money, even when he had a working prototype at works. He said, he does not have developers to develop this item anymore.
The students were pissed because the only got 25% of their $ expectation. Even 100% would have been less, but...
I was pissed because I had to improve code quality on many places. Sometimes code was real bullshit. I mean ok, students, they simply don't know everything. Maybe it is different when they come from an elite uni, but finally they are fresh and have no experience. i have lost 40 hours worktime, none of them paid. In addition I had all the heated calls leaving me awake for many hours.
My conclusion is, you can't have quick AND students. A students prio is the university, not your tool.
You can't have 100% code quality AND students. A student is fresh, he is even allowed to make mistakes.
A student will leave your project with a regret and without looking at your reputation.
Personally I will work with students again, but ONLY for internal projects which do not need speed. with oversight and patience such projects can have a good quality.