Originally written for Code Like A Girl.
The computing science and software engineering industry can be intimidating at times and let’s face it, a bit of a boys club. After 5 years of university and 5 years in the industry, I have some insights that will hopefully be useful to people just starting out or even just myself on a particularly confidence-low day!
1. You do belong here
I spent many years feeling like I had blagged my way through a degree and just fluked my way into a good job - there are still days I have moments I feel like this!
This can be a tough job if you struggle with self-esteem as I have found that programmers (particularly the “brogrammers”) can be very confident in their abilities. Of course it is good to have a certain level of self- confidence but this can be very intimidating and difficult to work with in code reviews or making design decisions. I spent a long time believing that they must know more than me and not having the confidence to speak up with my opinion. Only recently did I have the epiphany that these guys aren’t any better than me or deserve any more of a voice than me just because they say it with more self belief and authority in their voice!
I sometimes feel like I need a coding alter ego, a more confident version of myself. Like Beyonce has Sasha Fierce! Using the advice of Amy Cuddy [http://blog.ted.com/fake-it-til-you-become-it-amy-cuddys-power-poses-visualized/], don’t fake it 'til you make it: “Fake it 'til you become it”.
2. Being feminine isn’t a weakness
Recently a well respected scientist was quoted saying women and men can’t work together as women will “fall in love and cry” [http://www.theguardian.com/uk-news/2015/jun/10/nobel-scientist-tim-hunt-female-scientists-cause-trouble-for-men-in-labs]. Of course this isn’t at all true of women in STEM and the said 'well respected' scientist rather respectively resigned shortly after.
But what if people do fall in love at work? What if someone (man or women) gets upset at work? We are human! this is what we do. Emotion shouldn’t be seen as a negative attribute or weakness, it makes us human. Arguably, as women, we are thought to be more empathetic to others and it could be said that women programmers may help a team have a greater understanding of user’s needs, therefore helping build a better product that is fit for purpose [http://www.freshtilledsoil.com/are-women-better-at-ux-than-men/].
So what about femininity and dress code? Being in a computing science class or a development team you are likely surrounded by jeans, nerdy t-shirts and hoodies. If this is your style, great! But don’t feel the need to fit in at the expense of your own personal style. I used to feel like I had to “dress down” to be taken seriously or to make sure I didn’t stand out like a sore thumb but now I wear what I feel like and try not to worry about standing out, just embrace it!
3. Be you
On a related note to the above; be yourself! This is not just advice for female programmers but for every programmer. Don’t feel the need to fit into the stereotypical nerdy programmer mould. Again, I used to try to hide my less nerdy hobbies and character traits but I have decided to be myself and if people don’t like it or respect me less because of this, then it’s their loss! Yes I like programming, computers, comic books and sci-fi movies. I also like Beyonce, baking and lifting weights. This doesn’t mean I can’t code as well as anyone else.
4. Attend dev meetups
Although it can be very intimidating at first I would recommend going to development community meet ups in your local area. After the initial fear and dread that you won’t understand anything, you realise that it is a great way to learn and keep up to date with the community. A big bonus of attending meet ups is getting to know other programmers with the same interests as you and finding out how they work. As a girl developer, you will likely be one of the only girls in the room but see the previous points- have confidence in yourself!
5. Ask questions!
As you can see there's a recurring theme in these points... lack of confidence. I used to be too scared to ask questions in case other developers or managers thought I was stupid and I was found out! Being in a team of developers is great because you have a group of people with varying levels of experience with different technologies - use this resource as much as you can.
I often find that just explaining a bug out loud can make me realise the solution to the problem. Apparently you should have a rubber duck [https://en.wikipedia.org/wiki/Rubber_duck_debugging] to explain the problem to, but I prefer chatting with a co-worker if they have the time. Pair programming can go along way, can be good fun and is a great opportunity to get feedback on your solution.
Asking questions gets you involved in the development conversation and in time leads to letting other developers know that you do in fact know what you are talking about. There are a lot of supportive people in our industry, it's not all 'old fashioned' types.
6. Find an environment that suits you
Finding the right working environment is absolutely crucial in my opinion. The right employer/ workplace can help you with all of the other points above. Fresh from University, my first job was for a large american company which was very corporate and old fashioned (boring offices, layer upon layer of management and an unhealthy dose of casual sexism). Embracing new technologies was not encouraged and process after process was needed for the most simplest of things like a DNS change!
Fast forward 2 years and I felt I had learned all I could, a change was needed before it was too late and I was stuck in the corporate world for good! My next step was joining an award winning digital agency which was the polar opposite: casual dress, open plan office and beers on a Friday. Most importantly for me, new technologies are not only allowed, but encouraged. Although the lack of unnecessary paperwork was a little confusing at first (corporate stockholm syndrome from me, I think), I realised it was the right choice for me.
I guess what I am saying is don’t settle. You need to spend ~ 40 hours a week for > 40 years at work- make sure you enjoy it as much as you can and you get the chance to achieve what you want.
7. Never stop learning
Our industry is one that is always moving and it can be easy to be left behind and stuck using an out of date technology stack that other employers won’t give a chance. I have seen this happen to developers who can only use one language and once this becomes out of date, they struggle to learn a new skill-set. This gives me the fear!
In web development there is always a new framework or technology to learn so it is important to keep up to date. Although this can be daunting, this is where meet-ups and online resources can be a god send. This is why I was so happy to contribute to the 'Code like a girl' blog, I love the idea of a meet-up group for girls, acting like a stepping stone to get more girls active in the development community.
A year after I first wrote this for Code Like A Girl, it is all still relevant to me!