I thought about writing about my personal coding journey many times, but never had the courage to do so. I was dismissive and thought: “Why would anyone want to read this?”
Developers come from all walks of life. However, I want to talk about learning to code with young children, and the challenges of juggling parenting and studying.
I’m not a conventional candidate for becoming a web developer. I went down a humanities route and I have no computer science background. I fell into a career in Higher Education and for over a decade I moved up the ranks in administration. I enjoyed my work but wasn’t fulfilled by my career choice.
About seven years ago in search for a new career path, I sought advice to get into a more technical role. So I started learning the web fundamentals like HTML and CSS. My first attempt at coding was half-hearted. Fear was the main reason. I feared that the transition would take too long. I also got distracted by my upcoming wedding.
6 years later…one husband, a flat, and two babies under two!
I had my first baby in January 2015. In a nutshell, having my son was a shock to the system and completely turned my world upside down. The sleep deprivation felt like torture and I had difficulty with breastfeeding. I was in a zombie state for the first six months.
As things started to settle down, I found out that I was pregnant…again. This was during my first week back at work! My daughter was born in September 2016. Now I had two babies under twenty months!
Realization, motivation and career change
By mid 2017 at the age of 34, I decided to leave my job. I did this for two reasons. It was no longer financially viable for me to work and have my children in childcare. It was difficult to work full-time, while looking after two young children with a husband who worked away a lot.
The thoughts I had seven years earlier never went away. I could wait until the children were older and start to look for part-time work, or to finally pursue a job in tech. My husband, who already works in the tech industry, gave me the same advice.
freeCodeCamp and the start of my coding journey
I researched which online learning platform I should follow. I read good things about freeCodeCamp. I also liked the structure of the curriculum. It was suitable for anyone with zero programming experience.
When I started, it was very satisfying seeing my code render in the preview pane! I thought to myself, “this isn’t so bad, I can do this”. I remember the first time I got stuck.
It was on a
<div> tag. I read in the exercise instructions: “The div element is probably the most commonly used HTML element of all.” I didn’t understand why you would nest a
<div> in a
My husband said “Google is your friend” and so I started researching to understand what a
It wasn’t easy. I had not studied for over 13 years and I was also going into a subject area that was so far removed from anything I had learned before. Early on, I had a lot of self-doubt and feared that I couldn’t learn to program. But as time went by, the process of learning programming got easier. I worked hard and persevered.
Although the curriculum became more difficult, I got more used to feeling uncomfortable.
The challenges of learning how to code with children
Being a parent is a “job” that never stops. It’s the most demanding role I’ve ever had! I have to be the best chef, entertainer, housekeeper, singer, nurse, nurturer, errand runner, teacher and storyteller… the list goes on. Even when my children are asleep, I’m on standby, ready to drop everything to tend their needs.
With that in mind, finding time to code was the biggest challenge. My husband worked away and for the most of the week I was in charge of two toddlers. It was exhausting! At the beginning I could only code after they were asleep.
A typical day with children would start at 6 am and last until 8 pm. It would be about 9 pm before I could sit down, open my laptop and start coding. Even though I felt tired, when I started to code I felt revitalized by it.
Some evenings were better than others. Depending on the needs of my children, I managed to study anywhere between 30 minutes and three hours before bed. Quite often, I wasn’t able to study at all.
Bear with me, it does get better.
Eventually, coding became part of my routine. I studied more on days when my children were in nursery. On my “free” days, I structured my day like so:
6 am: Breakfast, time with the children
9 am: Studying
12 pm: Lunch and housework
1 pm: Continue studying
3 pm: Cook, more housework and pick up children
9 pm: Study some more
10/11 pm: sleep
When you have children, illness is inevitable. But no-one told me how often babies get sick! It was a big disruption to my coding journey. Here’s an example.
During the winter of 2017, my daughter got the flu and my son soon after. It took two weeks for them to recover. As I finally relaxed and was no longer in “survival mode”, my husband and I got sick. I wasn’t able to study for over a month.
I learned to be prepared for disruptions like this and not allow it to have a major impact on my motivation. I would try to get back to studying as soon as possible. I started off with short periods of coding and built it up once I got back into the flow.
I tried to keep to a routine as much as possible. It wasn’t only important for me, but also my children. For example, this meant having to stop studying in the middle of solving an exercise to pick up my children. Not coding into the early hours of the morning so I could be ready for my children the next day.
I was asked recently what are the most important things I have learned on my coding journey. I’ve listed my top tips. Some of them are specific to parents, but I’m sure they would still be useful to any non-parents!
- Anyone can learn to code: no matter what your background, if you have the interest and motivation, you can learn to code. There are so many resources online that cater to all levels of knowledge. All you need is access to a computer and time to learn. Practice makes perfect!
- Code every day: a tip I picked up from Quincy from freeCodeCamp, but it’s so important! I try to stick to this but don’t beat yourself up if you don’t manage to. The unpredictable nature of children meant that this wasn’t always possible for me. I tried to adapt my coding life around my responsibilities and commitments. Learning how to be flexible was key.
- Don’t wear yourself down: try to have some time to relax and switch off from studying. I try to go to the gym.
- Multitasking: The days when my children are in nursery, I group all my housework to that time. I would code while the laundry was washing. Watch a coding related video on YouTube or listen to a podcast while I was cleaning or cooking. I also cook meals in bulk and freeze them to free up more time during the weekend.
- Learn to manage your fear: Don’t allow your negativity to consume you. At some point in your coding journey you’re going to feel self-doubt. Everyone has their own coping mechanisms. Personally, the more I studied and practiced, the more I grew in confidence.
- Learning how to research: this is an important skill to master. At the beginning I found it difficult to search for the correct key words to help me with my tasks. Again, it’s all about practice. The more you search online, the better you’ll become. Remember to bookmark useful sites.
- Don’t get overwhelmed: it’s good to think about where your coding journey will take you. But don’t let it overwhelm you. Think of your knowledge as a bell curve. In the middle of the graph where it peaks, you’ll know two languages or frameworks very well. As it tapers off, your knowledge on other subjects will not be as extensive. It’s always good to be aware of new technologies and trends, but it doesn’t mean you have to be an expert!
- Build a portfolio: you can still build a good portfolio without “work” experience. My portfolio consists of projects from freeCodeCamp. You don’t even need to setup your own environment and can use online resources like CodePen to demo your code.
- Version Control: learn how to use Git and GitHub. As you start to do more complex projects, you’ll need to use an IDE (integrated development environment). I use Atom but don’t focus too much on the tool. Choose one and become good at using it! Start creating repositories and committing your code to Github.
- Code review: it’s important to find someone to help you code review your projects. It was difficult for me do this at the beginning. But ultimately, it will lead you to become a better programmer. You’ll learn a lot by reviewing other people’s code as well.
- Never stop learning: another thing people ask me is when I’ll stop studying. My answer is never. There is so much innovation in web development. I want to be aware of the latest updates and the “must have skills”.
Where I am now
I have been learning and coding for about a year, part time. I’ve completed three out of six certificates from freeCodeCamp.
I am now freelancing as a web developer and I have built two commercial websites. One for a client and my portfolio. I have one client I’m working with now to redesign and build their website. I’m also continuing my studies with freeCodeCamp and other platforms such as Udemy.
Some people asked why I did a career change with children and not before when I had more time. This is the irony: I didn’t appreciate or realize how important time was. I was also complacent and scared of taking the plunge before children. I want to be a good example for my children and have a career which I’m passionate about.
When I became a parent, I felt like my sole purpose was to be a mother and I had lost my own identity in the process. When I started studying again, it gave me a purpose outside of parenting. I didn’t have to be a coder or mum, I could be both.
This article was originally published on Medium on 14 December 2018.