Girl Code: Being a female coding student in 2020

This story was originally a series of prompts I planned to answer, but it has evolved to weave through an honest reflection for what my experience has been in learning to code as a female coding student. This past week in particular has been rough, as it was the first time I was forced to confront the “tech bros” online. When I was suddenly not a new coding student but my gender came into play before my desire for answers and advice. While I am not new to a male-dominated environment, it is not something women ever get used to and gender-based harassment does not become less draining. So this is written from the perspective of my recent experiences and how that is continually informing my perspective on coding and another layer to my journey in learning to code.

woman at desk and laptop in sillouhette
Image by: Mohamed Hassan on Pixabay

What has my experience learning to code been like so far? What would I change about it?

Thus far my coding learning experience has been rewarding, challenging, and filled with finding more questions that answers. That is not to say answers and solutions for my beginner questions are not readily available. In fact, it tends to be a couple google searches and/or page inspections away. However, the more I learn and practice, the more questions I end up having.

These have revolved around a few themes…

Am I really doing this right?

Answer:

Sometimes, but often it is about finding bugs, where are they, where is redundant code and playing with just making things work. Some coding sessions it feels like it is intuitive, “I’ve got this”! Other times it is frustrating, and I take a breath and must leave the computer or change the music to something even more chill.

How is this not cheating?!

Answer:

Inspecting pages, forking code, and playing with it is highly encouraged in learning to code. But being new to such an open-source industry is not only intimidating to see and try to interpret lines of other “real developer” code, but I am fighting the continual “is someone going to be mad or offended” thought process.

Coming from a background in academia, the labs I worked in engaged and encouraged collaborative research between PhD students. However, the data itself was usually highly protected until it was ready for peer-review publication. While drafts would be sent out for feedback from trusted colleagues, there was always a sense of heightened security about protecting your little piece of a contribution and getting credit for your work.

Now, obviously everyone wants to be credited, but how the software industry operates in teaching new developers is a quite different framework than the academic labs I worked in and the environments where I was mentoring students.

Everyone is incredibly open about how and why they made/make code decisions; and that mentality behind mentorship and learning is something that I always strived for in my time in academia. But instead of feeling like an outsider or like I am walking a thin line between protecting data and really teaching/learning, with learning how to program, there it is not methodology wrapped in secrecy (unless obviously a client or product is not ready yet or patents are pending). No one cares what your background pedigree or credentials are. If you are self-taught, have been an established developer for decades, or are just starting the learning journey, you are on an even(ish) playing field with regards to learning access. I say even(ish) because there are obvious limitations and biases built into any industry. Some people may pick up aspects easier, we all come with our own challenges and honestly life sometimes gets in the way of learning (e.g., jobs, family, mental health, disabilities).

How can I tell if there is accessibility built into this code-along and where can I find resources to help me test it out?

Answer:

Honestly, I just keep reading, googling and checking the W3C checklists and their website. Sometimes I am not entirely sure that I am choosing the best semantic elements, but if I keep trying, reading, and staying open to re-examining my code then I believe I will eventually get there. The goal is to keep it in mind when I code, so as it becomes second nature to be questioning these choices, I will continue to learn and eventually those decisions will evolve into not just industry compliance code, but code that exceeds the base standards and is not just usable but easily usable. I am still a long way from that goal but asking the questions and finding the answers will get me there.

Slowly but surely.

computer screen with lines of code on it
Image by: Pexels on Pixabay

What else have I learned on this journey?

I have learned that I need to be patient with myself and that consistency in coding is key. I am glad that I took on the #100 days of coding challenge and adapted the “expectations” to include coding a minimum of 1 hour outside classes and tutoring sessions. This has kept me accountable even after long days at work. And I see how and why full-time developers use this challenge to provide the mental space to continue to code even after they have come home from a full day of de-bugging and staring at lines of code!

laptop and desk cartoon
Image By: Sara Torda on Pixabay

I have also learned that it can sometimes be isolating for female coding students. While I lucked out that I am the only woman in my cohort, not everyone has had such a supportive environment. I am certainly not new to male-dominated industries, however it does feel isolating at times when you just want to reach out to someone who is in the same place as you are who can understand where your questions or need for a different advice perspective, like the experience and support of another student who is like you and is just going to immediately understand aspects that others may not have to see or are experiencing differently.

However, despite being the token female, which again, it not my first time experiencing, I lucked out so incredibly with my cohort and instructors and tutors that they do not follow the typical “tech bro” model. I have encountered the “tech bros” online already, and so know that after 2 weeks of coding classes that I can take it!

But what has been lovely is the supportive (and ever-expanding) network of women in tech who are supporting each other and putting the good, bad and very ugly out there to inspire, empower and coach other women to code and advice on how to even approach the job market, because it will be a different experience than male counterparts.

I hope that at some point, my school will have women instructors and tutors, but until then I hope that if there are any other women who are the only ones in their cohorts are finding the support they need and are as lucky as I am with my incredibly open and honest (and tiny) cohort. Even if it is sometimes, “Rachel and the guys” it has already been better and more positive than I could have imagined.

cartoon of woman in house and at office in profile
Image by: Mohamed Hassan on Pixabay

How do I describe the DOM, as I know it so far?

The DOM stands for the Document Object Model. It is an interface for HTML and XML.

The DOM, “represents the page so that programs can change the document structure, style, and content. The DOM represents the document as nodes and objects. That way, programming languages can connect to the page.”

Here is a good website to help explain and illustrate this concept:

https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction

What I think of is more the DOM tree, which is a basic layout map of all these objects or HTML code and how they interact with each other. The DOM tree is like a family tree or kinship chart.

family tree cartoon
Image by: Clker-Free-Vector-Images on Pixabay

If we then think of the rules of inheritance, let us view the DOM tree as a kinship chart. Some characteristics are going to be inherited from the parents unless that generation is changed by outside forces (in this case we are the outside forces).

The difference between coding a website to be responsive and using a mobile-first strategy.

When coding a website to be responsive, you are making decisions on how it will look and needs to be a positive user experience no matter what size screen your website is being viewed on. This means considering how your layout is arranged and how it needs to shift to be optimal when viewing on a cell phone, tablet, or computer monitor.

One aspect that I have been playing with is the obvious switch from rows to columns (or vice a versa). But within that decision is also the differences in font sizes or styling for everything to fit and still be legible on the screen.

When using a mobile-first strategy, you are designing the website layout for the smallest screen first, and then making decisions for layout and styling changes as the screen grows larger.

photo of person holding tablet in front of laptop screen
Image by: fancycrave1 on Pixabay

What does code look like to me?

Coding for me is about creating something from nothing. Or at least right now my process is everything from planning or adapting a design, to creating the framework and populating it via coding, and then de-bugging. But that is because while we have prompts for our projects, I am continuing to try to push further and put my own creativity into projects. I know that this is helping me to stay motivated and push myself to learn more skills and reinforce the ones I know.

I believe that this view will evolve into me feeling confident in taking someone’s design and making their vision a reality! Coding is both the creation and problem-solving for web and app developers.

Where do I see myself working in 365 days from today? What do I want to be working on?

I see myself working full-time as either in programming or as an agile coach/scrum master. I love the project management and helping teams work together to create something and working with individuals to facilitate the communication to reach a common goal or deadline. I also have thoroughly enjoyed learning to code and working my way through the entire process, from wireframing to creating responsive webpages.

I want to be working towards making tech a more inclusive environment and using it to create bridges between resources and the people who need them the most. This may not be my full-time paid job, but it can hopefully be a part of some passion projects as I move forward and continue to develop more skills to make it a reality.

globe with network surrounding it and hands hovering on top and bottom
Image by: Geralt on Pixabay

I hope this helps for anyone who has been struggling to feel isolated in learning to code or needed a motivative boost!

Don’t forget, we won’t be students forever, and once we finish, we can help others along their journey. These experiences are just a part of the process in learning to code and will make us better at balancing all the challenges the tech industry may throw at us!

Your friend in code,

Rachel

--

--

I am an avid adventurer taking readers on my latest journey in learning to code. Let’s get started from 0 experience to programmer!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rachel McTavish

I am an avid adventurer taking readers on my latest journey in learning to code. Let’s get started from 0 experience to programmer!