Debugging

Summarized using AI

BDD: Baby Driven Development

Allison McMillan • March 31, 2016 • Earth

In her talk titled "BDD: Baby Driven Development," Allison McMillan explores the parallels between parenting and software development, emphasizing the ongoing journey of learning that both involve. Drawing from personal experiences as a new parent and a developer, she discusses how both roles require adaptability, patience, and an acceptance of imperfection.

Key points addressed in the talk include:

  • Identity Shift: McMillan shares her transformation from various professional roles to becoming a mother and how it redefined her identity, similar to how becoming a developer changed her perspective.
  • Learning Curve: She highlights the overwhelming nature of both parenting and coding, noting that success in either field often comes gradually through continuous effort and learning.
  • Information Overload: Just as developers sift through vast amounts of information to troubleshoot code, parents must navigate a sea of advice and misinformation regarding childcare.
  • Earned Dogmatism: McMillan discusses how increased experience can lead to strong opinions in both fields, which, while important, can sometimes inhibit open-mindedness.
  • Debugging Process: She illustrates the debugging process in parenting by sharing a relatable story of trying to figure out why her baby was crying, drawing a direct comparison to debugging code.
  • Feature Building: The concept of introducing new experiences and features into both a child's and a developer's life illustrates the excitement and challenges inherent in growth and development.
  • Challenges of Parenthood and Work: McMillan candidly discusses the struggles parents face in balancing work and family life, such as time management and maintaining skills, especially after childbirth.
  • Survey Insights: She shares findings from a survey of working parents in the tech industry, revealing common struggles, particularly around parental leave policies, returning to work, and the emotional toll of parenting.
  • Workplace Recommendations: The talk concludes with actionable suggestions for improving workplace policies, including the need for better maternity and paternity leave, flexibility in work hours, and supportive systems for parents.

Allison underscores that both parenting and coding are ongoing journeys filled with learning opportunities. She encourages acceptance of the unpredictable nature of both roles and advocates for policies that recognize the challenges faced by working parents, ultimately emphasizing the importance of community support and understanding in navigating both parenting and professional life.

BDD: Baby Driven Development
Allison McMillan • March 31, 2016 • Earth

When I became a parent, I was amazed at how similar raising a newborn was to becoming a developer and the ways in which both experiences affect one another. Coding sets you on a challenging path of a lifetime of learning… and in the end you still aren’t an expert! We will compare tradeoffs and decisions that relate to both situations offering insights and lessons learned. Then, explore the similarities between these two journeys and common approaches we use when coding and raising a baby. Whether you’re a parent or not, come discover these interesting and often hilarious parallels. Also, there might be a baby on stage.

Ruby on Ales 2016

00:00:00 I never expected having a child to change my identity in so many ways. I love working, and since becoming a developer a couple of years ago, I really love going to work every day. I've always worn a lot of hats: I've been a community organizer, a mentor-mentee developer, an entrepreneur, an amateur baker, a sister, a daughter, and a COO. Then, all of a sudden, I was a mom.
00:00:19 This is Devin; he was born in early April. This talk is going to have a lot of pictures of him, so I'm sorry in advance. Devin will be one on Monday, so feel free to buy me a drink later for making it through my first year of parenthood. Today, I want to talk about two things: the parallels between coding and parenting and the challenges we face as parents and developers.
00:00:52 As I sat at home just weeks after giving birth, with this tiny human in my arms, trying to figure things out, I realized how many similarities there were between being a mom and being a developer. I'm sure that most parents here remember what it was like to bring home your new tiny baby and the overwhelming feeling of being responsible for them. It felt as though someone was letting us go home unsupervised without realizing we had no idea what we were doing.
00:01:33 Learning to code, for me, also felt overwhelming at times, and it made me feel like I would never be successful. Yet, gradually, minute by minute and day by day, I got better both at being a developer and a parent.
00:01:56 Let’s explore these parallels. We all know that being a good developer is a crucial skill, which isn’t as easy as it sounds. You need to search for the right information and filter out unhelpful responses or bad solutions, skimming through results quickly to decide which ones to dive deeper into. Similarly, as a parent, googling is also vital, but there is a ton of scary and misleading information out there.
00:02:32 If you're researching a child-related issue, keep a calm head, skim through results, and get recommendations from friends, because, unfortunately, there’s no Stack Overflow for parenting.
00:03:01 As we gain experience, both as parents and developers, we start to form our own opinions. You may notice an 'earned dogmatism' effect—the tendency for people to become dogmatic as they feel they’ve acquired expertise. Some of these opinions may sound familiar: always use single quotes, don’t let your child cry it out, practice test-driven development, and the belief that anything other than breastfeeding is harmful.
00:03:34 We’ve all met people who hold these strong opinions. While the inability to see other viewpoints can be negative, it is also important to form opinions as our experience grows.
00:04:05 As developers, we spend most of our time debugging and building features. The idea for this talk actually stems from a week when I was trying to debug my baby. Devin was having a rough time at night, and we tried to figure out if it was something we did or just a phase we needed to get through.
00:04:41 We began by looking at common issues to ensure it wasn’t a quick fix. We checked the logs to see if anything stood out and eliminated all new variables we introduced that week to determine the cause of his distress. By following this process, we were able to pinpoint the issue and solve it. This process sounds familiar because it resembles what we do when debugging code.
00:05:15 The other crucial task we perform is building features. I like to think of feature builds as new things we do with our kids. For instance, when your baby starts solid foods, it's exciting. You can’t wait to see their reactions, and it’s like a new project filled with unknowns. How will they respond to different foods? Will they enjoy it or spit it out?
00:05:51 Recording those funny videos of your child eating is all part of the experience. Yet, as the project wears on, excitement wanes. Allergic reactions could complicate things, and your child might throw food everywhere. If your child is anything like Devin, their tastes can change overnight.
00:06:29 Feature builds, like greenfield apps, can start with a lot of excitement but encounter challenges along the way. As both a parent and a developer, I often find myself lamenting, 'Oh, next time, we should do this differently, or remember to keep this in mind.'
00:06:59 We frequently discuss developer happiness and how essential it is. Surprisingly, the things I do to maintain clarity and happiness as a developer are often the same as what I do as a parent. For example, taking short breaks or going outside for a walk can greatly help.
00:07:39 Don’t forget that collaborating is helpful, whether changing a diaper or figuring out the best way to calm a fussy baby. Sometimes, you need an extra brain to problem-solve or gain a different perspective.
00:08:06 Ultimately, two things are true about being a developer and being a parent: you’re in for a life of learning, and no two babies or apps are the same. Moreover, no one really knows what they’re doing—everyone's figuring it out as they go.
00:08:29 The quicker you accept these truths, the more confident you will feel every day. Now, I want to discuss the challenges we face. A few months ago, I felt as if I was losing my mind after a particularly tough week of only getting about four hours of sleep a night.
00:08:57 It could have been due to a growth spurt, teething, or just a rough patch, coupled with a difficult work week. I wasn't sure how to balance being a great mom, being a great employee, and being an adequate partner. How do others manage to do it? Was I being unrealistic, or could I be both a good mom and a good developer?
00:09:30 If I’m being honest, there were weeks where, despite still loving being a developer, I questioned whether I could remain in the field and still be a successful mom and developer. I seriously considered leaving tech for positions I knew I could do well on autopilot.
00:10:02 To gather insights, I created a survey to ask parents about their experiences. So far, I've surveyed around 100 parents. The results show real trends and common issues in an industry that values open source contributions, GitHub as your resume, and keeping up with recent programming developments.
00:10:43 Many parents struggle to keep up. Let me describe my typical day a couple of months ago. Devin wakes up around 7 a.m., which is quite fortunate, as many parents begin their days closer to 5:30 a.m. or 6:00 a.m. After getting dressed, we eat breakfast together, followed by a little playtime until 9:30.
00:11:13 At 9:30, our nanny arrives, or at 9:15, I’d leave to drop Devin off. After that, I pump breast milk and jump into my workday until around 5:30, punctuated by a couple of breast milk-pumping breaks. At 5:30, I spend 15-20 minutes with Devin while preparing dinner.
00:11:54 From 6:00 to around 7:30, my husband and I manage Devin's dinner and clean-up. After getting Devin ready for bed, we finish cooking our dinner, eat, clean up, prepare food and bottles for the next day, jot down notes for our nanny, and discuss important household business to ensure we're on the same page for the next day.
00:12:23 Finally, we relax while checking emails or finishing up work for about 30-40 minutes before heading to bed. Overall, we manage well now. I'm beginning to regain time in my day as I wean my son and no longer need to pump breast milk as frequently.
00:13:06 The reduction in pumping has been amazing; it has allowed me to focus without the constant need for a context switch. I mention this because pumping breast milk was a significant topic in over half of the surveys completed by mothers regarding company provisions and the challenges they face.
00:13:42 In my day, the only time I had for coding was the 30 minutes I allowed myself to relax. Even if I sacrificed my rare self-care time, my brain was too tired by 9:30 to make substantial progress. Without a solid GitHub profile or side projects to showcase for potential employers, it becomes challenging when looking for a new job.
00:14:22 This means you end up depending on your code challenges, which require intense focus outside of work hours to complete. Consequently, anyone searching for a new job may need to work nearly all weekend to tackle a couple of code challenges, creating a dependency on their partner to handle all childcare during that time.
00:14:55 When you're already working full-time, this can be overwhelming; it’s even more challenging for single parents, who may also need to secure weekend childcare to manage their commitments. Most parents likely have similarly busy schedules, and those schedules only intensify with the number of children.
00:15:21 One parent mentioned that juggling family responsibilities such as taking kids to daycare, shopping, and spending time together becomes increasingly difficult, and no aspect of life should be neglected as a result. The second time-related issue pertains to community engagement.
00:15:51 We highly value our Ruby community for networking and job hunting opportunities. However, it can be challenging to attend community events. When I go to a meetup, I’m asking my husband to handle everything alone, which is exhausting and adds time.
00:16:32 We’ve arranged a deal where we each get an evening a week to ourselves, while the other manages the entire bedtime routine, but that only became feasible when Devin was at least eight months old. It is labor-intensive, as working alone often doubles the time required to accomplish tasks.
00:17:07 We also spend time the previous evening to prepare whoever is going to be solo the next night. One mother shared her struggle to attend conferences and events without a significant cost to her family time or financial burden, especially when babysitters are needed.
00:17:39 Another concern relates to the need to stay sharp as developers. Regardless of being a nursing mom, you're likely getting significantly less sleep, which makes it hard to rely on caffeine to keep you energized. Parents must remain mentally sharp to tackle tough problems.
00:18:13 On good nights, you may get some uninterrupted sleep, but many often find themselves with around five hours of interrupted sleep for an extended period without weekends to catch up.
00:18:44 One parent expressed that sometimes the last thing they want to do when they get home is to code or learn new skills. The carefree days of having no responsibilities are far behind, and finding hours to work on personal projects becomes increasingly difficult, especially when considering a tired partner.
00:19:21 The last challenge deals with schedules and flexibility. This issue manifested itself in two ways based on surveys from mothers versus fathers. Most fathers reported having difficulty with routines since everything tends to change frequently, while mothers frequently mentioned the challenges of managing work hours.
00:19:56 They emphasized that flexible work hours are beneficial, yet they still had hard starts and stops to their days, often dictated by childcare requirements. One parent likened their brain to a snow globe that just gets shaken up whenever a new little person enters the mix.
00:20:36 Another parent reported that they used to be able to get solid work done late in the afternoon, but post-baby, that option vanished, and they had to contend with extra traffic on the way home.
00:21:09 One more parent poignantly noted how frustrating it can be to leave at 5:30 p.m., even when they are in the zone and fully engaged in a task.
00:21:42 When I surveyed parents regarding whether having children helped or hindered their careers, no fathers reported feeling that having kids negatively impacted their careers. In fact, many stated it had either helped them or had a neutral impact.
00:22:05 One dad observed that being a parent significantly enhanced his empathy and patience, which positively affected his interactions with clients, coworkers, and others. Interestingly, while a small percentage of women felt being a parent had a detrimental effect on their careers, about one-third mentioned that it slowed their career progression.
00:22:39 I would argue that these career changes may indeed hurt mothers’ career trajectories. Both men and women noted that parenting helped them concentrate more at work, given the limited time they had to complete tasks.
00:23:09 One parent articulated this perfectly, saying that knowing they couldn't take their work home encourages a more productive workday. Personally, I find that I can focus better on the parts of my life I dedicate to work, both professionally and creatively.
00:23:52 I don’t feel as though I have less time for the important things; instead, I must use my time wisely and avoid wasting it. I found several interesting insights from the survey overall.
00:24:31 All but two fathers felt comfortable using their names for the survey, while one-third of mothers preferred to remain anonymous. Many respondents mentioned that either they or their partners took significant time off—six months or more—after the birth of each child.
00:25:06 Those who took time off, often as senior-level technologists, expressed concern about the challenges of re-entering the workforce. We must acknowledge that taking time off without being worried about re-entering the workforce is a luxury not available to everyone.
00:25:45 Some parents mentioned feeling additional stress when they became the sole providers, though there are identifiable solutions. Observing the surveys, I noted several actionable items companies can implement, and we as developers can advocate for.
00:26:22 First and foremost, parental leave is essential. I need to emphasize maternity leave. The U.S. has terrible maternity leave policies—essentially none. We are among the few countries that do not offer any paid maternity leave.
00:26:50 Paid maternity leave is critical. Women need time to recover, and giving birth has a tremendous emotional and mental impact. Returning to work before women are ready can lead to postpartum depression, anxiety, and negative health outcomes for both mother and baby. Many companies think four weeks of paid leave is standard when most women barely have returned to normal after that.
00:27:28 It becomes even more complicated when babies aren’t sleeping through the night, and essential practices like breastfeeding haven’t settled into a routine by four weeks. For paternity leave, many men receive only two weeks, which isn’t enough time to support a new mother.
00:27:59 One parent suggested we should think of parenting on a ten-year scale. If they want twelve weeks of leave, the answer should be yes; if they want sixteen weeks, that shouldn't be a problem. Ten years from now, will it matter if they took eight or twelve weeks? If we pull them back sooner than they are ready, they may quit shortly thereafter.
00:28:45 Many workplaces don’t provide additional support for parents transitioning back into their roles. Inadequate parental leave policies often yield disgruntled employees. Think critically about these policies and their consequences.
00:29:30 If you have an employee return to work who is not ready to contribute effectively, you’re going to face challenges. Instead, providing a few extra weeks for employees to return when they are ready enhances productivity.
00:30:20 Talk to parents in your organization about how much time they would have needed and what resources would have helped them during their transition back to work. Additionally, demonstrate flexibility with remote work options.
00:30:58 Even once parents are ready to return, offering different work arrangements can significantly impact their happiness. For nursing mothers, being able to work from home greatly simplifies the pumping process, saving time without added stress of set-up and clean-up.
00:31:45 Allowing parents to work from home also alleviates commute stress and provides them with more flexibility and time with their loved ones. Additionally, creating policies that ease the transition back to work, such as offering part-time arrangements, can greatly help parents manage their new realities.
00:32:48 Encourage the establishment of supportive systems within the workplace. It's crucial to create Slack channels where parents can communicate their experiences, share challenges, and provide emotional support. Another viable option is mentoring programs connecting parents returning to work with others who have previously taken parental leave.
00:33:18 Last, training managers on what to expect when an employee returns from parental leave is critical, especially since many may not have experienced a subordinate going on maternity leave. Understanding the challenges faced by new parents can help managers better support their team members.
00:33:54 Throughout my research, I’ve frequently encountered feedback along the lines of how supportive managers contributed to a parent's success during their transition. Recognizing the need for realistic expectations around workloads when parents return is essential.
00:34:41 In closing, I want to emphasize that parental leave, flexible working options, and strong support systems help create a positive environment. Let’s advocate for realistic expectations to ease parents’ return to the workplace and eliminate the guilt of missing out on work or family time.
00:35:09 As I round out this discussion, remember that every moment with children is precious, and balancing parenting and work is a journey many of us share. Thank you all for your time and for being part of this conversation.
00:35:47 Thank you very much for being engaged with these discussions. Thank you to those who have submitted surveys; you are all awesome.
00:36:04 Earlier, someone asked if I received different responses from single parents compared to those with partners aiding them. I have a small amount of data confirming that it’s more challenging for single parents, as they must be even more organized.
00:36:25 However, I haven’t received significant survey responses from non-senior developers or single parents. I hope that as more people fill out the surveys, I can gather more insight into this segment.
00:36:56 I’ve not discussed the survey results with my employer yet, but I did share some information with my team while I was pregnant and began to navigate motherhood. There appears to be a positive movement in the industry regarding paid parental leave, which is encouraging.
00:37:33 I truly hope that with increased surveys and discussions at conferences, companies will be driven to improve their parental policies, thereby supporting their parent employees.
Explore all talks recorded at Ruby on Ales 2016
+5