I have been writing code for a few years now, and the thought of quitting the industry has crossed my mind numerous times. In school it was because of sexist professors who didn't think I belonged in CS program. During work on certain projects for money I have considered that I wasn't worth the money, and might never be worth it, so I must quit. Other times it was because the stress was unmanageable, deadlines too unrealistic.
In 2018 I wasn't sure I could have a job that would align with my values, that would make me feel that my work benefits someone. Well, in 2019 I continue to code because I have the privilege to work at a company where my code benefits people that work/fight/contribute to the causes I care about.
Accepting myself and my qualities. I have been criticized for being too negative, but some times that has won arguments which pushed back on some risky features or deploys that could have ended in all nighters. That also makes me a relatively better QA and code reviewer.
However, I didn't just ignore people's feedback, I have learned to be more empathetic, and putting myself in other's shoes. It taught me to sandwich my feedback - positive, negative, positive.
So accepting yourself is about reflecting on your qualities, and seeing them in a new light, while also paying attention to what others say.
Find people who will listen to you and support you, even if it's just a rant and you are in the wrong.
Showing your support sometimes means to get uncomfortable. If someone interrupts someone, says something unkind - point it out.