In early October, Nat Friedman, the CEO of GitHub, the Microsoft-owned software development platform, sent an email to employees announcing that it would renew a 2016 contract with Immigration and Customs Enforcement (ICE). The news arrived during a period of employee resistance at tech companies that contract to immigration authorities and the military. Workers at Google, Amazon, Microsoft, Chef, and most recently Tableau have organized, both successfully and unsuccessfully, to end such contracts.

Knowing this, Friedman attempted to dampen employee outrage by pledging $500,000 to nonprofits working to counteract Trump’s immigration policies. But instead, he ignited a fire—provoking mass employee-led organizing against management.

Last week, the first GitHub employee resigned. Motherboard spoke with Sophie Haskins, 29, a staff software engineer about the ethics of working for tech companies that contract to ICE and how she knew it was time to quit her job. These are dilemmas that more and more tech workers are grappling with as their employers consolidate and expand their reach into vulnerable communities. Haskins suspects she won’t be the last employee to quit GitHub.

Motherboard: Quitting your job at GitHub doesn’t seem like an easy decision. Why did you decide to leave now?

Sophie Haskins: I ended up deciding I might quit my job as a staff engineer at GitHub a few weeks ago. Our CEO Nat Friedman sent an email with his decision not to end Github’s contracts with ICE, and I was very unhappy about it. It certainly was not in line with the morals that I expect from people in leadership positions at GitHub, and I did not want to be a part of it.

In his letter, Friedman justified renewing with ICE because of the “good” work the agency does combating human trafficking, gangs, and cyber crime. I find that ridiculous. What does ICE consider to be human trafficking? Do they center the victims in their enforcement? Do they deport them? How do they treat them?

GitHub also backed its stance saying some non-profits think that ICE needs better technology to help keep track of court dates and case files. But that does not require particularly sophisticated technology—just an excel sheet. Their inability to reunite children with the families they’ve stripped them from seems to be because they aren’t recording it at all, not that their tech isn’t good enough. Meanwhile, ICE agents have been camping out and social media stalking people who they believed were undocumented immigrants and removing them in the night. Automating and expanding stuff like that is exactly where GitHub’s software can be useful.

After receiving Friedman’s letter, I asked some organizers within and outside of GitHub for advice about whether to quit.

What was the most useful advice you received?

Two things helped me make my decision. The first was asking myself, “What am I trying to accomplish by quitting? Am I quitting because I believe it will have some impact on ICE itself, on GitHub’s contract with ICE? How will it compare to what I think I can do if I stay and organize from within?”

For me, the answer to the latter question is: I don’t know. I don’t know if quitting has more impact on stopping these things. Folks are still working hard to make changes from the inside, and I didn’t know that quitting was going to have more impact than if I were to stay and fight with them; I realized the impact wasn’t my goal—I wanted to quit because it’s unethical to participate in crimes against humanity. I was choosing based on what I can stomach. Even if someone had advised me, “it wouldn’t help to quit,” I still would have done it. I don’t want to be part of a company that contracts with ICE.

The second piece of advice I received was that while the notion of organizing within your company and wanting to change leadership’s mind is noble—it’s good to think about what your moral line in the sand is early on so you’re not making the decision about whether to leave under pressure.

Nat Friedman’s letter came out on October 9, and I knew I could not continue to stay at the company if they didn’t cancel the contract, so I said to myself if they fix this by the end of the month, then I’ll stay. But if not, I’ll give my notice.

So you quit at the end of the month? Did it seem like management won’t change their stance?

Yeah, I gave my notice on October 28. There had been no indication that they have any interest in changing their position or seeking to understand why we’re asking to them cut ties with ICE. Leadership has said that dialogue is important, but they’re not really participating in that dialogue.

Right now, internal opposition to GitHub’s stance is quite strong. This hasn’t been reported elsewhere, but a quarter of the company has signed the letter demanding the contract be canceled including 50 percent of the engineering department. It’s a pretty unequivocal letter. It doesn’t say we need to compromise; it says there’s no world in which doing business with ICE is okay.

I would never have expected that level of response at other places I’ve worked.. Even in the organization I was part of, Infrastructure—a specialty which tends to be grumpier and more conservative than other parts of engineering—many have rallied in support. I’m really proud of that, and it gives me some hope.

There are a lot of political reasons people might consider quitting their tech jobs—military contracts, ICE contracts, contracts with oil and gas companies, gender and racial discrimination. What advice do you have for people thinking about quitting? What questions can they ask themselves?

For those considering quitting their tech job, you should examine how your company contributes to these things: who you sell technology to, how tech isn’t neutral, how that non-neutrality works. If you’re working with image (facial) recognition, that’s literally a weapon. Facial recognition might help you identify your family members, but it also helps the police target people of color—often without accuracy in disturbing ways.

If you feel like your org isn’t engaging with their impact, and cognizant that sometimes they should not use their tech in the world—then you have a problem.

Think about the options you have. Think about where you want to be in the short or long term. I’m not here to say everyone should quit their jobs immediately—capitalism often puts us in positions where we can’t. (In full fairness, I’ve been well taken care of and I’m lucky enough to be in the position where quitting my job is not putting me in danger of not being able to pay my rent or eat.) But if you know you can’t do something now, then think about how you could do it in the long term by switching jobs and think about it when you look for a new company. If a company is engaging with these issues, they’ll be able to explain their framework for making tough decisions.

You’ve worked for a lot of different tech companies at this point. Does it bother you how apolitical tech workers can be?

It certainly frustrates me how apolitical tech is. It’s so individualistic and siloed. It’s unacceptable. The idea of tech for its own sake, and tech on its own terms makes me angry to no end.

Technology should be tools to help people, to enable humans. Even beyond moral questions, many engineers just make bad technology because they don’t think about humans when they’re making it. They’re obsessed with the technical details— but you have to start to realize your actions have consequences. It is indefensible to lack morals in software when we have such a huge impact.

Where does GitHub fit in?

I think that Github has always been imperfect as an organization. The good in it comes from the people who are part of it, but not necessarily its structures. I am very proud of my work at GitHub, that we don’t just care about computers. We care about people. But I haven’t gotten the sense that Nat [Github’s CEO] is excited to learn from all of us, which is sad because GitHub is a diverse company with a lot of smart people who have a lot to say.