Make sure you keep learning as you go. If you find yourself in a position or company where you feel like you're not growing anymore, don't hesitate to ask for more responsibilities or start looking for another job. One of the mistakes I've made in my career is wait too long to leave a place that didn't give me any opportunity to grow anymore.
— Charlie Gerard
I interview leading women developers every week and showcase their history, opinions, and advice on the tech. In case you missed our previous interviews, check out the series on Hashnode.
If this interview was helpful to you, please share it with your friends and colleagues and help others 🚀🙂.
Today, we will be interviewing Charlie Gerard 👩💻 .
Charlie is a Creative Technologist, Senior Front-end Developer at Netlify, Google Developer Expert in Web Technologies and Mozilla Tech Speaker. She is passionate about learning new things and spends her personal time experimenting with new technologies such as AR/VR, hardware (IoT) and Machine Learning, while also contributing to the community by running workshops, mentoring developers and speaking at international conferences.
Please tell us a little bit about yourself. How and when did you venture into tech?
Charlie: I started my career as a digital producer in advertising agencies. I was working with a team of designers & developers and got really interested in understanding how our websites were being built. I tried to learn to code by myself after hours but had no idea where to start, so instead, I quit my job and did a 12 weeks immersive coding bootcamp. I absolutely loved it and have been a developer since then!
Can you briefly tell us about your job title?
Charlie: I'm a senior front-end developer. I split my time between writing & refactoring code, doing code reviews, participating in some planning meetings, and sharing knowledge with the rest of the team through internal presentations, discussions on Slack, pair programming, etc... Other ways I get involved in the tech community is by being a Google Developer Expert in web technologies and a Mozilla Tech Speaker. I often build side projects with innovative technologies and share what I learn by regularly speaking at conferences and writing blog posts.
What difficulties have you faced on your way in tech? Have you ever felt like you were not treated as equal?
Charlie: I consider myself lucky because I've had the chance to work in teams that understood the importance of diversity and inclusion. However, I've still faced situations where opportunities were repeatedly given to male colleagues and not women for no real reason, which definitely impacts your progression and your career. I do feel like I've had to work harder to prove that I deserve to be here, but I'm lucky to have a very good support network around me.
If there’s a bias women face, why do you think it is still there, in the 21st century? What are some things people and organizations could do to change this?
Charlie: Changing mentalities takes time and effort. We need a lot more people to speak up even if that's uncomfortable. The tech industry has had a toxic culture for so long, if we want things to change, we have to be very active about it. Anyone can help. You can start by listening to your co-workers telling their stories about discrimination to understand more about it or help your recruitment team hire more diverse people, speak up when you witness bad behaviour, offer to be a mentor, etc... One thing that I believe helps people be better allies is to start by understanding your own privilege; everybody has some. When you spend some time reflecting on it, you can start lending it to other people. In companies more specifically, I believe it comes down to creating a truly inclusive culture. You can try to hire all the women you want, if you haven't created a culture where people listen to and support each other, provide opportunities for everyone to grow, etc... your hiring efforts won't work. Companies shouldn't expect these things to just happen and especially, they shouldn't hire more diverse people thinking they will be the ones to make the culture more inclusive, it should already be the case when new hires join. Influencing an internal culture can be done through reviewing your hiring process, providing diversity & inclusion training, having a code of conduct, creating a safe space where everyone can call out behaviours that make them uncomfortable, etc...
You created the famous Epoc.js framework, a Node.js addon for the Emotiv C++ SDK that provides an interface to access data from the Emotiv EPOC brain sensor using Node.js. What motivated you to build this?
Before now, you worked as Creative Developer at the New York Times and Software Developer / Consultant at ThoughtWorks . How was life at these companies, and how easy was it for you to make a shift?
Charlie: These two jobs were quite different, both in terms of environment and projects I was building. As a consultant, my responsibilities involved not only coding, but also advising clients on the technologies they should be using, features they should be building and also teaching their developers about new frameworks, tools, etc... Even though we were working with clients for maybe 6 months at a time, the websites we were building were long term projects so the challenges were different. At the NYT, I was working with their advertising studio, so I was building more innovative and interactive websites, using technologies like the Web Audio API and Three.js. The pace was a lot faster but the work more creative. I always like trying new things so I didn't find it too hard to adapt to different environments. Besides, my personal projects often use creative tools so I enjoyed being able to put these skills to use at the NYT. I think the most challenging thing for me was maybe the fact that I was the only developer in their London office so the amount of work felt quite intense.
You currently work as Senior Front-end Developer at Atlassian, how long did it take you to arrive here and what significant difficulties did you face along the way?
Charlie: I've been a developer for about 5-6 years. I've really worked a lot to learn as much as I could both on the job and after hours with my side projects. I think the main difficulty I've faced was with not feeling supported and listened to when I asked for more challenging projects or when I raised my concerns about not learning. The lack of support meant that I didn't always get the same opportunities as my co-workers and that definitely impacts your progress in a company but also in your career in general.
Update: Charlie now works as Senior Front-end Developer at Netlify 🎉🎉.
We see that you work predominately in Front-end development, Electronics, Hardware, and Machine Learning, how did you decide to focus on these paths?
Charlie: I think I focus on what excites me. I don't particularly have a plan about what I build or what I decide to learn about, but I know that I learn more when I'm genuinely interested and excited about a topic. Even when it comes to a particular technology like machine learning, I try to find my own way of learning about it, that often involves something creative and interactive.
What advice do you have for a newbie or intermediate who dreams to work as a Senior Front-end Developer?
Charlie: Make sure you keep learning as you go. If you find yourself in a position or company where you feel like you're not growing anymore, don't hesitate to ask for more responsibilities or start looking for another job. One of the mistakes I've made in my career is wait too long to leave a place that didn't give me any opportunity to grow anymore. Also, don't focus on tech only. As you evolve in your career, developing good communication and leadership skills is essential.
What advice do you have for a Front-end Developer who would like to try out Electronics and Machine Learning and how should they get started?
Charlie: I'd advise to start by following a simple tutorial. The "Hello world" of electronics is usually to turn a LED on/off and it might not sound like the most exciting project but you learn the basics about the hardware you're working with, the language and environment you're gonna code in or even if it's something you find interesting or not. Then you can go from there, add more components, build more complex projects, etc... Same with machine learning! I think a beginner tutorial is using the MNIST dataset to recognise handwritten digits in images. Starting with a tutorial also helps demystify certain technologies; electronics and machine learning can seem a bit scary at first but taking it step by step helps you see that it's similar to learning anything else!
How long have you been in tech and what word will describe your experience so far?
Charlie: I've been a developer for about 5.5 years and I think if I had to pick only one word to describe my experience so far, it would be "enlightening". I've learnt so much in the past few years; not only about code, but also about the broader role tech can have in the world, about topics such as diversity & inclusion, accessibility, privacy, etc... I think being in tech gave me a totally different perspective on things and I love it.
You write a lot Charlie, what's your super power?
Charlie: I think the main thing that keeps me going is my excitement to share what I know with people, so hopefully they'll feel empowered to experiment as well. Tech is such a creative space where you can pretty much build any idea that comes to mind, so I want to try and break down barriers that could stop people from trying out stuff. I usually build my projects with limited resources and in my tutorials, I really try to make things look as simple as I can to make people feel like they can do it too. This definitely takes me a lot of time but I feel like if it inspires even just one person, it's totally worth it!
What advice do you have for beginners or intermediates who look forward to technical writing?
Charlie: Remember that you're not writing for you, you're writing for your audience. I could write tutorials assuming people have the same knowledge as me but that wouldn't be right; some people would end up feeling like they can't build the same things and that would defeat the purpose. Technical writing, just like coding and building a product, is not for you, it's for people who are going to read/use it, so the same "rules" apply: is it clear and readable? is it easy to follow? etc... It's not always an easy task but it's a good skill to have!
We see that you speak and teach at software conferences, how did you get into public speaking and how has it affected your career?
What advice would you give to aspiring programmers who look forward to speaking at meetups and/ or conferences?
Charlie: Don't be scared to talk about a topic you think has already been covered. Everybody has a different way of teaching and learning so I believe there's always an audience for a talk. Try to find something you're really interested in, pick an angle that you feel comfortable exploring and start putting together some slides. Maybe get some feedback from colleagues or friends and try to present it at a meetup, then a conference 🙂! If your proposal gets rejected or if you get negative feedback, don't give up, writing proposals and speaking are skills, you're not supposed to just get it the first time. Even though I've spoken at a few conferences, I'm still learning how to get better at it.
You are an open source creator and contributor. How and when did you venture into Open Source and how has it affected your career?
Charlie: Since I started coding I always made my work open source. I often get inspired by other people's projects so it's kind of my way of giving back. In terms of contributing to other repositories, while working on my side projects, I sometimes use other NPM packages that happen to not be working for me, so I spend some time trying to fix it and if it works out, I do a pull request with the changes so it can help other people. Spending some time contributing to open source gives you the opportunity to dive into the source code of some of the tools you're using, and get a better understanding of how they work, which is really interesting.
What advice do you have for developers who will like to venture into Open Source and how should they get started?
Charlie: It can be hard to know what to do when you want to start contributing but there's a few resources with tips on how to get started. Github has guides and you have websites like up-for-grabs.net that list beginner-friendly projects and issues. As with everything you're learning for the first time, I'd advise to maybe pick an issue or project that's not too big. Also, remember that contributions do not have to be only bug fixing. Contributing can be adding or translating documentation, commenting on an issue if you know something that could help, etc...
What do you think needs to be done to encourage beginner developers to learn programming languages and continue learning?
Charlie: I think we need to make sure we create a space as inclusive as possible. We need to make sure the language we are using is welcoming and supportive. From writing comments on StackOverflow or Github to developing documentation for a framework or sharing knowledge on blog posts, etc... we need to have more empathy. If I want to get started with a new framework and the documentation is not beginner-friendly, I'll probably move on to another one. If I read a blog post by someone who uses a very condescending tone, I usually close the tab and find something else on the same topic.
Imposter syndrome is one problem developers face especially newbies, what is your experience with imposter syndrome, how did you manage yours and what advice do you have for anyone facing this currently?
Charlie: I think I always feel like the people around me know way more than me but I try to see it as the opportunity to learn a lot from them. I've definitely had moments when I felt like I didn't deserve to be somewhere but, after having run some interviews myself, you realise that people wouldn't decide to hire someone they don't feel would be a good fit. I actually still feel some kind of imposter syndrome sometimes but I try to focus on the fact that nobody knows everything and I'm always so excited to learn and contribute that I trust myself to do my best. People are not hired only for their coding skills and everybody has something to bring to a team.
Rejection emails is another thing that motivates imposter syndrome and depression amongst developers especially intermediates. How did you manage this effectively during your "job-hunting" days?
Charlie: Rejection sucks. Even if sometimes I think I've gotten used to it, whenever a conference rejects my proposal or a company rejects my application, it still hurts a bit. However, it doesn't have to mean it's a complete "no", I try to see it more as a "not now" or "not this way". For a job, you can ask for some feedback about what you need to learn or improve to eventually get the job another time. For a talk, you can also ask some feedback about what you submitted to their CFP. I think turning rejection into a learning opportunity makes it way easier to deal with and a lot more productive.
What advice would you give to aspiring programmers who look forward to working for companies like Atlassian or Google?
Charlie: From my experience, big companies offer certain opportunities that can't always be found in other places. Atlassian being a pretty global company, you have access to so many people all around the world that you can share knowledge with, no matter if they're in your team or not, and that really gives you the opportunity to learn so much. My advice would be to leverage this to gain knowledge about areas you might not be working in. You can ask people in security teams how to learn more about chaos engineering, or help UX designers run user research sessions, etc...
Which of your projects are you most proud of? Can you briefly introduce us to it and why you built it?
What is the best advice someone has given you that has helped you in your career?
Charlie: I think the best advice might have been to write a growth/career plan for myself, to have more control over my progression in a company or in the industry in general. Since then, I've put together some personal growth plans about what I think I should learn, some goals I want to set myself for the year, etc... so I can work towards something specific and be more intentional about my actions and efforts. I'm still not very good at it, but I do think it helps a lot.
What are your favorite programming tools?
Charlie: I haven't spent that much time looking into different tools so I keep it quite simple with VSCode as my editor, Git as my version control system and iTerm with Zsh as my terminal. If I need to share a piece of code quickly, I really like to use CodeSandbox, Codepen or Glitch depending on what I'm trying to do. Otherwise, lately, I've been looking more into leveraging the Chrome DevTools.
Finally, what would be your message to women trying to get into technology?
Charlie: Even though I love the tech industry, I'm not gonna pretend you'll never experience discrimination. However, I do believe things are getting better and a lot of people are learning to be more inclusive. I personally feel that tech is the most exciting industry to be in at the moment and I really want to see new faces join us!
Thanks for taking out time to read this interview. 👋
This series is all about talking to the awesome women in tech, understanding the current health of the tech industry and inspiring other women to become better. If you want to share your story, please reach out to me on Hashnode.
Did you find Charlie's story useful and inspiring? Write down your thoughts in the comments section below and don't forget to share this interview. You can also follow Hashnode on Twitter to stay up-to-date with our future She Inspires interviews.
See you next time and keep trailblazing 💪💙