1

I’ve been interacting with a very early stage startup founder (no funding, just a simple site w/some visitors) and have offered to build out a microservice that helps automate some currently-manual tasks as a sort of proof of usefulness and general competence.

This is completed and working as promised (I control the deploy and haven’t handed anything over) and I have spoken with a few of the founder’s advisors as part of a vetting process (the founder is non-technical). Now, the founder is requesting that my code be reviewed by some engineer he found.

This strikes me as a bit overreaching and in poor taste given that this was merely a proof-of-principal demo and showing of commitment/good intentions on my part.

Do I have the wrong perspective here?

I have no idea who this engineer even is, let alone their own competence, etc, and neither does the founder for that matter.

10
  • Did you ask the founder why he wanted the code review? Commented May 24, 2018 at 2:48
  • 1
    So we don't do this sort of thing here (your question might be more suited for Startups), but here's my take: unless you have years of history with each other to build up that trust, what he's doing is entirely his choice, and you've already stipulated that the purpose of you building out the microservice is a proof of your usefulness and general competence. Let him vet it any way he wishes; if there are objections to the design, you can either address them or go do something else. Commented May 24, 2018 at 2:57
  • 1
    No, I don't think you're wrong for thinking this a bit odd. Commented May 24, 2018 at 3:12
  • 2
    @AdjunctProfessorFalcon: What I think is, if this is anything but an employer/employee relationship (i.e. you're a part-owner), you two should be able to have candid, honest communication with each other from the start, or this isn't going to work. Frankly, his vetting approach just begs the question: if he doesn't trust his ability to vet a developer, then how does he know the person who is doing the code review is qualified either? Software development is an exercise in tradeoffs, and everyone has their own opinions about how best to approach it. What matters are results. Commented May 24, 2018 at 3:25
  • 1
    Personally, I'm suspicious about organization that wants me to do work for them, not get paid, and then hand it over. Run. Commented May 24, 2018 at 12:05

3 Answers 3

4

Do I have the wrong perspective here?

To an extent, yes. It can be very difficult for a non-technical person to discern whether something they have is well-constructed or barely-holding-together junk. For example, I was part of a team that was requested to look over a large codebase for a Photoshop-like product that was being sold off by its owners in the late 1990s.

However, I can understand your hesitation. You've done some work and are producing value for them and don't want them to look over your code, steal the core ideas, and make their own product without giving you anything. That's a legitimate concern.

So what to do? Would it be possible to find someone that both of you trust for the review? Someone whom you could be sure wouldn't just look at your code and do a trivial rewrite of it, but whom they could trust to tell them whether it's reasonably maintainable code? If so, that might be your best bet. If not, you may be at an impasse.

Look at it this way, if you did let them review it and they stole your ideas and rewrote it with their own code, what would that cost you? You've done the work for free already. Can you resell it to another customer? If they review it and find it not to be to their standards, but don't rewrite it themselves, you'll be in the same position.

In the comments you ask:

I guess following that logic, he should be fine with me finding an MBA to grill him on his business acumen.

Yes, absolutely! You should know who you're doing business with. Check the Better Business Bureau to see if they have any complaints filed against them (if you find the BBB to be useful). Certainly ask an established entrepreneur you know to vet their business plan if you're concerned about their ability to pay you in the future. It's called due diligence and is a widely accepted business practice. If you don't do it, there may be cases where you have nobody to blame but yourself for not getting what you expect out of the relationship. (I've been there! It's not fun.) Good luck!

5
  • Thanks for your thoughtful response. I totally understand their wanting to do due diligence, but it's also like, this is a prototype and meant to be a demo (why would I spend the hours to design something bullet proof/fault tolerant at this point?). What developer is comfortable having a stranger evaluate a prototype as a make-or-break condition? Moreover, how do they know the developer they selected is uber competent? Everybody else's code sucks, right ? ;) Commented May 24, 2018 at 3:12
  • 2
    The Better Business Bureau is useless for this purpose. Commented May 24, 2018 at 3:26
  • @AdjunctProfessorFalcon: This is the core reason I don't do prototype code. I've done this in the past and every time I stipulated that the code should be thrown away and redone, before anything can be taken in production, only to end up maintaining my own prototype code and dealing with the crap given to me because of the low quality. My current stance is, there is no reason not to write quality code. I'll rather deliver less functionality than low quality. Commented May 25, 2018 at 8:08
  • @JonathanvandeVeen A fair and reasonable point, and I don’t think I’ll take this approach again. But assuming you did work on a prototype (as that was what the original agreement was) would you be ok with handing it over to a developer you don’t know as a determiner if your competence as a developer when there are no agreements in place? Commented May 25, 2018 at 13:44
  • I would have some reservations about it and I would make those reservations very clear to the customer, so that he or she would have realistic expectations about the expected feedback. Also I would demand having a sit down with the appointed developer to discuss this very point. Commented May 28, 2018 at 12:19
0

How big is the codebase in total? If the founder just wants a general idea of your programming ability, maybe they'd be willing to just have a third party review a portion of it. You can then select the submitted code such that it maybe includes some "clever bits" but not all of them. This would allow you to retain your IP, while still making a show of good faith.

0

If a new developer starts contributing to an existing project a code review is perfectly reasonable but I fully understand your concerns - I would feel exactly the same way.

Code reviews can be thorny processes if they're not conducted in a proper manner. I'd be inclined just to let the review happen and let them make of it what they will - explaining that it is a work in progress. I've never heard of any 2 developers fully agreeing on an approach for a piece of software of any size - so take any feedback in good grace. As an aside, I believe there are tools that will let you do a review online without any code actually changing hands.

Feel free to ask about this engineer's credentials - it will give you a head start on what to expect. If they've never coded in the target language, it could be... how can I put this... interesting!

If I could offer one pearl of advice, it is to agree what is expected on both sides from the outset (see the cautionary tale below!) although it is of course easy to say that now. If you feel you're being taken advantage of, just walk away. They haven't paid for your expertise and good will should only go so far.

Some friends of mine created a start up and the owner and business analyst asked for the code to review before going live after 2 years of hard graft on all sides. The developer refused and they effectively had to start over.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.