Hacker News new | ask | show | jobs
Ask HN: How to deal with an employee that won't share code?
7 points by 1212312tay 1882 days ago
TLDR: I am being asked to audit a project but the person who created it won't share their code.

This employee, lets call her Ava, was hired to work on a project. She worked at this place for about 11 months. In that time, she created a SaaS product and showed demos to the employer, lets call him Max.

Max is not very code savvy, although he has a background in theoretical cpsc but his knowledge about dev tools is very limited. He doesn't know anything about CI/CD, git etc.

Max asked me to come and look at some of Ava's code. I said sure, why not. This is where the problem begins and I have no clue how to deal with it.

Ava has shared small portions of the code, not the entire code base. Just a few backend ORM classes/entities, basic stuff, which is not the meat/bones.

Ava refuses to share more of the code, and keeps kicking the can down the road. Random excuses, pulling shit here there, trying to fool Max by telling him all the code is on AWS etc. For the longest time he thought that the AWS resources were source code.

So, my question is how would you deal with Ava? Max wants to pursue legal means and sit down with a lawyer.

I want to avoid this route and want to know if there are any other methods of appeasement we can follow before the legal route. The lawyer route will take a long time, and the product needs to be released in 6 months.

8 comments

If Max is in USA and Ava is a random contractor in india - Max is screwed.

If Max and Ava in the same country - Max has a chance to apply pressure.

Two possible reasons for Ava behavior:

1.

No code written, demos are faked. Ava will try to kick paid can down the road as much as she can before quitting.

2.

Code is actually written and working well, and Ava's friend Ashish suggested to steal it and build their own business based on Max ideas and code Ave wrote.

I mean no offense, but you guys paid someone 11 months before getting any code? No source control, she works on her own computer, wtf?

Threaten legal action will cost you and at best you'll get code that may or may not work. And at worse, you'll be counter-sued for harassment...

You should fire her, sit on the money that's already paid, and start afresh...

That's a costly lesson...

You're being scammed or the person is incompetent.

If the code isn't going to be handed over, then at least need full access to the AWS footprint to see what exists or not. If its web based, another way would be to ask for the URL to access the demo.

If you gain full access, then I'd image/backup everything for analysis. I'd also see if there's a way to split access controls so that resources cannot be destroyed by Ava in the event you need to revoke access.

If its all under Ava's control, you're screwed.

I don't really see any way to proceed other than kill the contract for non-delivery. Cut off any AWS access if possible before notice is served.

If the contract did not specify delivery of source code, then might be in trouble that way as well.

Has she been made aware that it's not her code? Or does she have a different relationship with the company?

Since you have a working example, can you code it up independently? It doesn't sound like she's of irreplaceable caliber, other than through bad luck, so producing the same functionality is probably doable by mere mortals.

Contractual relationship thats a bit complicated.

I know she occasionally visits hn so I wont go into details.

That's definitely plan B.

I don't know about the legal issues, but the way you are describing the situation implies that Max has gravely mismanaged the project. Incompetence beyond disbelief. Thus, even if you acquire the source code, the chance of the project being successful is minuscule.
Sounds like a giant misunderstanding. Not all projects use git, like in the old days someone could just develop with FTP connection.

If the code is on AWS, what prevents you from logging into the instance and grabbing a codebase from here?

Not OP, but it sounds like "AWS" was a hand-wavy misdirection the employee used to delay action from the owner who didn't even know what AWS was.
"appeasement"? You can't - it is obvious (based on my experience with people like this) she is deliberately stalling because it isn't finished, the demo was a canned one, etc.

One guy we hired (let's call him Bob) (I was contractor / lead engineer for a startup) kept saying for months he was working on the frontend (I was on the backend and so had lots to do, couldn't full time manage Bob because there was only me and him) He had a full time job as well, so the client and I gave him a pass for not meeting deadlines, but it got to be too much and the client asked to see code. Bob sent some bits and pieces, I could tell (sort of) what he was trying to do, but it was hardly enough progress. Long story short, after another couple months of this, I eventually flipped out (entirely my fault, I'd been too stressed out), called him names and demanded code.

The client had a talk with Bob, a hard deadline was set... then a week later, I noticed a weird IP address in the SVC logs. It turned out it was from Russia and the client was of course alarmed. It was using this guy's account -- Bob had hired a 3rd party contractor to try and do the work - without telling the rest of us. The founders were naturally very angry and so I left them to deal with Bob....

In the interview, Bob did very well to the point of he could sling the buzzwords around about Javascript like no one's business aka better than me. But good at marketing yourself doesn't equal competent coder! I should have given him FizzBuzz. Later, the VP of the startup told me Bob had at the very beginning tried to float the idea he'd manage a team of subcontractors. The VP did not really like that idea, given Bob was obviously trying to get into management pronto / set up his own company, was only 23 and had no real experience with such a thing - it might have worked.... but was more complex / expensive than the founders planned for. And me having to deal with a team of people when Bob said from the outset he could do it all...

I ended up doing the frontend from scratch in 2 months.

The second version of this story, I got called in by another former client to redo from scratch the work the guy who'd replaced me (Bob) hadn't finished. It turned out he'd completely thrown out the design of the J2EE app I'd built and started from scratch - doing exactly everything like the first app (which I'd replaced) which crashed 4 or 5 times a day. <That was a C++ app jammed into a J2EE container, so explicit threading etc etc>

This was for a gambling website, so any crash at all meant lots of lost money. :( Edit: my version was clocked at 4.5 nines; the client was very happy with me. But they unfortunately did not listen to their gut about Bob and gave him too much slack...

Bob was hired to MERELY PORT from Weblogic to JBoss. It would have been the simplest job ever, but .... he didn't know what he was doing and my client said he exhibited all the behaviours this "Ada" is doing

Like another commenter says, get onto AWS, see what is there, hope you can salvage something, and fire this person immediately. My gut says a product release is probably not going to happen on time because a large amount of the system needs to be built. So do plan for that. If it is actually finished, then... why is she trying to lose her job? Why is she afraid of losing her job? You say "employee" - if so, then Max has a lot of legal rights in this situation (IANAL).

If she is holding the AWS account hostage, then lawyers are the first resort, not the last. Appeasing her means giving her power, unless you can come up with some scheme to outfox her. I'm sorry, I guess I will be downvoted for being evil, but you don't mess around with people like this.

Woah, its like were the same person!

So, pretty much the same issue here. Albeit no one has been hired by them (afaik).

I am very well aware by working with many people in the past. I don't know if its narcism but its kind of sad really.

I just want to be as nice to them, everyone has something going on in their lives. Just don't want to jump to conclusions.

You're right, I got a bit strident there at the end... unresolved emotions I guess. Perhaps she isn't playing games, I suppose I am reading into the situation, but she just is overwhelmed and can't get the software or system finished fast enough. If it is obvious at this point that nothing works (you were not clear on that), then perhaps try to have a non-confrontational meeting with her with a mediator in charge.

The goal would be to get her to understand it's obvious things are not working and she needs to start co-operating, otherwise everything will then get problematic - and that no one wants this. A totally autistic engineering we-need-to-solve-the-problem-and-get-things-on-track meeting.

Have you tried asking her why she's doing that?
Yes, we have. Her defense is that she has already shared all of her code.
So where is the other code? Who owns the computers? Is it deployed anywhere?

I'm having trouble understanding what could motivate someone to behave so bizarrely. Has she lost the code, but doesn't want to admit that it's just barely running in prod?

Code is deployed on AWS. The computer was her personal computer.

I am as stumped as you are.

Pretty insane situation! I can only guess that she is hiding something. Some possibilities, maybe: She lost the code and can't access it, but it's till running in prod; She hired someone else to write the code and doesn't want to be exposed as a fraud; She has some personal history or a contract dispute with Max that you are not aware of.

Regardless of her motivation, it seems your priority should be getting access to whatever code or binaries you can, and quickly. You mentioned the code is on AWS. What's protecting it there? Can you SSH into the box? Is she holding the AWS account hostage? Even if you do get in, can you extract the code from the server? What's the architecture/language?

Sounds like an amusing situation anyway, I hope you're at least getting paid well.

> She hired someone else to write the code and doesn't want to be exposed as a fraud

Another possibility is that Ava subcontracted someone else to write the code and now they're refusing to hand it over to her.

Ill try that for sure. Thanks for the advice!
If the code is on AWS, try to get access to it from there. If it's perl/python then you will have the scripts. For others you can try decompiling the code as a last resort.

In your contract do you have a clause that she has to share the code? If so tell her point blank that she has to share the code otherwise she is in breach of contract.

If she says that she has already shared the code, look for specific functionality in the product and ask for the code that corresponds to that function/action.

- Suramya