A Survival Guide for Female Employees in Male-Dominated Companies

*This post originally appeared on the blog of The Digital Dames under one of my pseudonyms.

No. Way.

You just got an offer from that amahhhhhzing company with the $70M venture round and the [insert tech buzzword here].

Maybe the business is super-secretive, or maybe all their glassdoor reviews rave about how fun it is to work there. Beer! And Starcraft!

You show up on your first day, eager to meet all the badass women in leadership.

All zero of them.


Or maybe, like, one.

You might be in this situation right now. Or you might remember a younger version of yourself who went through this situation.

If you work in tech, you didn’t make a grave mistake by joining  a male-dominated company—at least not relative to joining any other tech company. Most tech companies are like this.

So you’re a female employee at a male-dominated company. What is the effect on you?

Look, girl. I believe in your abilities. I believe that your company would do way better if it listened to you, and other people like you, and other people who generally don’t look like all the people running the place right now. That’s what I believe. But I need to level with you about the reality.

Here’s the reality: based on the evidence of history, chances are low that you will advance through the ranks with the speed that your skills and abilities merit. Your progress at the company, if you progress at all, will be frustratingly slow.

Why? There are lots of reasons. I have cherry-picked a few because I ain’t got all day.

  • Decision-makers tend to favor people who look like themselves for promotions and projects (this is called pattern matching).
  • Your voice will not be taken as seriously as those of your male colleagues because women are assumed to be less experienced, less credible, and more ‘sensitive’ (whatever that means, and which is inexplicably somehow a bad thing).
  • If you increase your effort or raise your voice to influence change, you will be read as ‘aggressive’ instead of assertive or competent like your male peers. You may even be disciplined for this.

Yes, the patriarchy sucks, and we could all give ourselves a hernia fighting it. But if you don’t always have the energy to go to battle at your job and you’re not planning on leaving your job, consider some of the following options:

1. Identify advocates. 

One of the reasons women advance more slowly than their male peers is that they have fewer advocates in the boss’s ear than their male counterparts. So identify men who are below your boss who are willing to speak up to your boss and who your boss respects. Get to know those men, and give them reasons to go to bat for you. Why? Because you’d be judged more harshly than your male peers for promoting yourself, but if you can get your male peers to advocate to your boss on your behalf, then the outlook is much better for you.

This strategy includes some risk that your potential advocates misinterpret your attempts to establish a good professional relationship. If you’re single, you’re probably going to have to deal with one or more of these men coming onto you or otherwise trying to make their sexual or emotional feelings your responsibility. I can’t say I know a surefire way to avoid this. You could specifically target advocates who are already married, mention your partner in conversation (or fabricate a partner if you don’t have one), tell them that you don’t experience sexual attraction, or tell them you don’t experience sexual attraction to men. None of these measures eliminate the risk of men coming onto you. However, they do mitigate the risk.

2. Set personal goals.

If your metrics for success at work depend on other peoples’ opinions of your expertise, you may become frustrated with your unfairly slow progress. Instead, identify professional goals that you can measure independently of other people’s opinions and that align with the opportunities your company provides.

Examples: maybe you want to learn functional programming. Maybe you want to practice building team rapport on small teams. Or you want to add an iOS app to your design portfolio. These are all excellent goals to pursue at work, provided they align with your job, because they don’t depend on someone else’s review of your work.

In addition to making goals that build your skills, you can make goals to expand your network. Maybe you want to connect with decision-makers on LinkedIn. Or maybe you want to establish relationships with coworkers and identify potential cofounders for your future ventures.

3. Diversify your energy portfolio.

You wouldn’t put all your money into a single stock with a low return on investment. But you know what’s more valuable than your money? Your time and your energy. You’ll only ever have a finite amount of these. So treat them as precious, as you would your money. And don’t pour them all into a job where your efforts and achievements are not recognized and appreciated.

Moreover, when you leave the company you are at right now, your accomplishments in service of the company follow the company…not you. This is fine if they’re compensating you for that time and effort as part of your job description. But rather than go above and beyond in service of your employer, devote your discretionary time and energy to projects that will follow you when you and your company part ways.


  • Do you care about social issues in tech? Great! Get involved in community groups or industry efforts instead of trying to convince your company’s leadership to care alongside you.
  • Do you love to write? Great! Start a blog. Don’t contribute to your company’s blog on your own time unless their blog has more visibility than yours does. If your company’s blog does have a lot of visibility and you choose to contribute to it on your own time, make sure you’re linking to your own blog in those posts.
  • Interested in a new technology? Great! Find some friends and play with it. Put the result on your website, dribbble, or github. If it’s an app, deploy it or put it in the app store and tell your friends.
  • Do you have an awesome business idea? Great! Validate it with customers outside of work. See if it has legs. If so, start working on it on the side. If it becomes a lot of work, conscript that cofounder you scoped out at work. Maybe it’ll get big enough that you can turn it into your career and never look up at a long line of all-male superiors ever again. Seriously, I wish you the absolute best of luck. And if it works, call me.

4. Practice self-care.

Look. Tech is a wonderful field, but it’s also a tiring field—especially for folks who don’t see themselves represented at the top. Some days, you might feel especially tired and frustrated. Please look for opportunities to step away and give yourself a mental recovery.

Everyone does this differently. Maybe meditation would work for you. Or maybe reading a fiction novel. Some people unwind with yoga, and others do it with running. You could try going to a walk, calling your mom, or watching a movie. Try a few different things and see what works best for you.*

*And you don’t have to feel embarrassed for doing ‘typical woman’ things to unwind. Maybe you like drinking wine next to your pet cat while knitting a sweater and watching Lifetime. This is a perfectly acceptable pastime; don’t feel obligated to let anybody shame you for it.

You may also find it helpful to have a confidant with whom you can vent. Maybe that’s a family member or a close friend, or maybe it’s someone you meet through a tech meetup. The point is not to dwell on the negative parts of your job; the point is for you to have an outlet to express your grievances so you can move on from them. This is especially true if you’re not safe to express your grievances at work.

Ideally, we all can continue to work together to make the tech community a place that values our contributions commensurate with their worth. But that’s not going to happen overnight. And so to make it here, and to make it to the top, won’t be easy. Hopefully these suggestions make it easier. Identify advocates. Set personal goals. Invest in yourself outside of your job. Take care of yourself.

Continue reading “A Survival Guide for Female Employees in Male-Dominated Companies”

Machine Learning Intuition: Understanding Taylor Series Approximation

We have talked before about the intuition behind cost function optimization in machine learning. We took a look at where cost functions come from and what they look like. We also talked about how one might get to the bottom of one with gradient descent.

When you open a machine learning textbook, you’ll see much more math than we used in that introduction. But the math is, in fact, important; the math gives us tools that we can use to quickly find the minima of our cost functions.

We talked about derivatives in the last post, and we’re talking about Taylor series in this post. Both of these tools come from calculus and help us identify where to find the minima on our cost functions.

Continue reading “Machine Learning Intuition: Understanding Taylor Series Approximation”

Machine Learning Intuition: Using Derivatives to Minimize the Cost Function

We have talked before about the intuition behind cost function optimization in machine learning. We took a look at where cost functions come from and what they look like. We also talked about how one might get to the bottom of one with gradient descent.

When you open a machine learning textbook, you’ll see much more math than we used in that introduction. But the math is, in fact, important; the math gives us tools that we can use to quickly find the minima of our cost functions.

We’re going to talk about two of those tools: derivatives (in this post) and Taylor series (in the next post). Both of these tools come from calculus and help us identify where to find the minima on our cost functions.

Continue reading “Machine Learning Intuition: Using Derivatives to Minimize the Cost Function”

Machine Learning Intuition: Cost Function Optimization

Suppose you want to identify and describe the patterns that arise in some data.

How do you look for patterns? How do you measure how closely your descriptions match the data? How can you improve your descriptions  of this data? How do you know your description is general enough to describe other data like this data?

Continue reading “Machine Learning Intuition: Cost Function Optimization”

Test-Driven iOS: Passing Information With Segues

In past posts of test-driven iOS, we have talked about instantiating view controllers with dependencies. What if we want to pass information from one view controller to the next one?

Let’s explore how we would test-drive a storyboarded iOS application that passes information from a master list view controller to a detail view controller.

Continue reading “Test-Driven iOS: Passing Information With Segues”

One-Page Notes: Weapons of Math Destruction, by Cathy O’Neil

Folks ask me about the dangers of trusting computer-generated algorithms and artificial intelligence. The conversation usually brings up a future scenario in which the machines outsmart humans.

But there’s a more current problem: we trust machines to build algorithms based on incomplete or biased data that we feed them, and they perpetuate poor and unfounded decisions under the guise of ‘scientificness’ because a computer made the decision. Continue reading “One-Page Notes: Weapons of Math Destruction, by Cathy O’Neil”

Test-Driven iOS: Mocking Dependencies

Once upon a time we talked about how to initialize and launch view controllers manually. We did that so we could inject our dependencies via the initializer, then unit test our view controllers independently of those components.

Then we talked about how you can inject dependencies while loading your view controllers from the storyboard, instead of manually instantiating them.

We isolate the system under test from its dependencies by using  faked versions of those dependencies.

Today, we’ll look at a fake in more detail for unit testing your iOS app.

Continue reading “Test-Driven iOS: Mocking Dependencies”

One-Page Notes: On Intelligence, by Hawkins and Blakeslee

I was researching Numenta, a company with a mission to reverse-engineer the human neocortex in software. One of the engineers gave a talk that introduced Numenta’s software at OSCON 2013. He offered a couple of resources for audience members who wanted to learn more about the science: a white paper on hierarchal temporal memory and a book called On Intelligence: How a New Understanding of the Brain Will Lead to the Creation of Truly Intelligent Machines. In the book, Jeff Hawkins and Sandra Blakeslee summarize a hypothesis on the structure and function of the neocortex. As I read through the book, I decided to take notes along the way and synthesize what I was learning in pictures. The result fit onto one page:

Continue reading “One-Page Notes: On Intelligence, by Hawkins and Blakeslee”

Test-Driven iOS: Using Segues

When we build storyboards in iOS to wireframe and illustrate the flow of our apps, we can use segues to create transitions between screens and their elements. But if we want to unit test those transitions, we have to do it differently than we would if we were manhandling the transition programmatically with presentViewController().

So how do we do it? With three steps.

Continue reading “Test-Driven iOS: Using Segues”