Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

5 things I learnt as a self-taught female developer

Just two years back, I was a business student immersed in the world of finance, in the hopes of making a name for myself in the ranks of the rich.

I was taking up a lot of finance internships, trying for jobs that pay really well. I enjoyed the prestige that came with being in the finance sector, but I wasn’t exactly satisfied with what I was doing and the impact I was making.

I left the finance industry and decided to intern in a mobile application start-up that allows students to take surveys through the app to make extra money. At the start-up, I learnt the intricacies of digital marketing and how to bring a product to market. However, I still wasn’t satisfied. As cliché as it may sound, I want to make products that will make people’s lives better. I wanted to learn programming so I could create my own products.

I started to learn coding through Codecademy, and would spend nights completing all the different programming exercises. I was desperate to learn. I even emailed a Computer Science lecturer from the National University of Singapore (NUS) asking to crash his lessons for a module. I remembered the first thing I attempted to build was a children’s game on a website using HTML, CSS and Javascript. It was for the first tutorial and I was so proud to show off my work.

Two years later, I am currently in a technology company called Oikos which makes interactive community apps for churches, conferences and ministries, enjoying my work as a software developer and leading Developer Relations.

When I released my first article on Medium, I was surprised to have so many people asking me how I entered the field of software engineering.

So what is it like being a self-taught female developer?

Tough? Yeah, definitely.

Is it lonely? Yes, sometimes.

Being self taught, I sometimes contemplate getting an actual degree in Computer Science for fear that people would think that I am an imposter, but I realise that experience in the tech industry exceeds any course material taught in school.

Many people think that being a female developer means facing a lot of discrimination from my fellow colleagues and others, but it isn’t the case for me. I have really encouraging colleagues who give me good advice and guide me along the way. It may feel lonely to be on the path less beaten, but hey, even the most successful people will tell you it’s lonely being at the top, isn’t it?

Also, I have a lot of people who tell me they respect me for doing what I love, especially in a male-dominated industry. When I attend conferences and courses, I even have entrepreneurs sharing their ideas and approaching me to do websites/mobile applications.

Anyway, here are a few tips on how I transitioned to being a full-time software developer (applicable for both guys and girls):

  1. Identify your area of focus

I recommend finding your area of interest in technology. There are many aspects of technology you could explore

  • Internet of Things (IOT)
  • Data Science
  • Dev Ops (Development Operations)
  • Information Security
  • Web Development, etc.

It’s fine to dabble in a few areas just to get an idea of what you might be interested in, but I highly recommend that you focus on one area because most people spend years becoming an expert in one aspect. Trust me, in-depth web development alone could branch out to many areas and consist of different languages/frameworks you could take years to master.

2. Online learning resources

There are tons of learning resources, free and paid (e.g., Udemy, Coursera, Khan Academy, etc.) Get reviews on which courses are good and go for it! I started out with Codecademy and Udemy. Was it useful? Well, yeah, but even after completing the course, you’ve probably only barely scratched the surface. The best learning experience is always hands-on — hence the next section.

3. Create a todo app

Whenever I learn a new framework, my first project is to build a todo app, involving the basic Create, Read, Update, Delete (CRUD) functions. Building a CRUD todo app covers the basic concepts you need before you can even start building more complex stuff. There are probably a lot of tutorials online guiding you on your todo app if you really do get lost in the process.

4. Read.. a lot!

Being self taught probably means you would not have as strong an engineering foundation as your peers in Computer Science. Hence, reading a lot helps, especially with design patterns and code efficiency.

5. Work on side projects

I love working on side projects during my free time. When I first started out, the dreamer in me wanted to build anything and everything, which got pretty disorganised after some time. It is important to plan your projects and execute them in sprints. Here are some of the side projects I’ve worked on:

  • Lincoln’s Hat — an IOS and Android mobile app my friend and I have helped built for a client in the US. The app gathers opinions from your friends on the current elections and provides a platform for discussion/comments.
  • Mr New Tab — a chrome extension which shows your todos for the day on a new tab in Chrome browser.
  • and many others, some of which are used for idea validations, some of which are just done for fun!

Last but not least, have patience (its a virtue)!

You cannot put a few months of effort and expect to be really good at something. The moment I decided I love what I’m doing, I invested two years (and counting) into learning. Can one be an expert in a field with less time? Sure, but it’s highly unlikely. I believe in the 10,000Hour Rule popularized by Malcolm Gladwell, who wrote that it takes roughly 10,000 hours of practice to achieve mastery in a field. Bill Gates and Paul Allen did not just drop out of school and miraculously build Microsoft. There were thousands of hours put into programming behind the scenes.

My journey as a self-taught female developer has been a tough, but definitely fruitful one — one that promises a lot of surprises (you’ll never know what you can build until you really try), learning experiences (there’s always new stuff to learn!) and a supportive community (I love open source!). If you feel you might be passionate in this area, don’t be afraid to take a leap and explore, you’ll never know what you might find along the way.

If this article has helped you in any way, please let me know. It would really make my day. I maintain a few projects during my free time. If you’re interested in contributing to the cost of my servers (or buying me a cup of coffee)—patreon.com/stacygohys. I’m open to collaborations as well — please hit me up at hello@imstacy.com and let’s see if we can work something out together!

If you like this post, don’t forget to recommend and share it. Check out more great articles at Code Like A Girl.