Successful people negotiate everything: job title, compensation, authority in hierarchical companies, project allocation. If turned down for a raise, they get a better project or a "meaningless" title that improves the CV. They're resilient against rejection (an inevitable outcome of negotiation) but they keep trying and working to improve. The rest, who don't, get mediocre results-- male or female. In software, there are a lot of people who don't know how to negotiate-- at all.
In school, we live in an artificial environment where everyone is assessed on similar projects and grades are fairly objective. So negotiating for a better result-- a B rather than a C-- is seen as dishonorable and weak. You should have studied harder. This no-negotiation zone is reasonable in a world where grades are (in comparison to workplace performance reviews) exceedingly fair and 90-95% get passing grades. If you're on the threshold (a 'D' student) it means you were a weak performer who managed to squeak by.
But in the real world, for promotions and favors and work autonomy and VC funding, pass rates are << 50% and if you don't have it in you to negotiate for a better outcome, you're screwed.