Raising brave, imperfect daughters, and teaching them to code

Last week I came across a tweet sharing Reshma Saujani’s TED talk, titled “Teach girls bravery, not perfection“. I immediately bookmarked it to watch with my daughter (and tweeted my plan to do that).

Saujani replied to my tweet, and asked me to let her know what my daughter thought of the talk.

So, I watched the talk on Saturday morning with my 7 year old (along with my son). Afterwards, I asked her what she thought about what Saujani said about how important it is to be brave, rather than being perfect, and how the quest for perfection is so self-defeating.

My daughter said she liked the video. I asked her to elaborate, and she commented on this talk has inspired her to try to learn to code again. She said that she stopped trying the first time around because she kept making mistakes.

I noticed this when I introduced her to coding on Code.org last year. She started off really excited to see what she could create after watching me learn front-end web development for most of last year. But she soon gave up when the exercises became trickier and she found herself making mistakes.

Since watching the talk, she’s been asking me when she can get back to learning to code. It also helps that my son has also returned to learning to code after seeing me return to Python (I’ve started at the beginning with Python 3).

Now all I need to do is pick a learning platform for her to learn with. So far, Code.org and Scratch look like good options for her.

Photo by Jelleke Vanooteghem on Unsplash

The life of a coder in gifs

The life of a coder/developer is both a wonderful and immensely frustrating experience. The scales tip in both directions, usually several times a day.

Today was no exception. I’ve been stuck on something for the last few days. My code should have been working, but it didn’t. If I had hair to spare, I’d probably have torn some of it out in frustration.

Animated frustration
That feeling, after a few days of trying to find the bug in my code.

Of course, as these things tend to go, I found the reason why my code wasn’t working. It was a typo. A single letter that shouldn’t have been there.

Relief, and annoyance
Oh man, THAT broke my code and left me frustrated and confused for 2 days?

My sense of relief is somewhat moderated by my amazement at how I missed it.

But, on the other hand, I found the bug! Now on to the next new code and the next bug.

Making sense of JavaScript array methods with Array Explorer

Sarah Drasner shared her awesome Array Explorer tool on Twitter the other day. It’s design is pretty simple, and yet a powerful way to learn JavaScript arrays. What you do is pick a couple options from drop-down lists to find the right array method you need for a project.

I still find arrays challenging and yet learning how to work with them in JavaScript is so important. If you’re still figuring this stuff out, definitely take a look at Array Explorer, bookmark it, and use it.

Sarah even made the code for Array Explorer available on GitHub so you can see how she put it together too.

An awesome thread about developers’ careers

Stephanie Hurlburt asked for stories from developers about their career paths on Twitter, and it quickly became one of the best threads I’ve read in a while. As you can imagine, I have a particular interest in stories about other developers’ careers given my journey this year. This thread didn’t disappoint.

I started reading the thread when I woke up this morning and, boy, what a great way to start a day.

Inspiring developers make Twitter worthwhile

Twitter has become a complicated digital space, to say the least. My “Inspiring developers” Twitter list is one of the highlights of my Twitter experience, and the developers on that list make Twitter worthwhile for me, despite all the cruft we see there.

One of the themes that Twitter has helped highlight is how women developers are routinely marginalised, dismissed, devalued. I decided to seek out inspiring women developers and follow them because I was interested in their perspectives on development, life, and other issues.

I’m glad I did. Sure, there are some men on that list (there are plenty of male developers who I admire too) but I wanted to be exposed to different voices.

I am continually inspired by the developers I add to my list, and there are times when I’m tempted to unfollow virtually everyone else and just focus on this growing group of smart, thoughtful, and innovative professionals. See for yourself:

I have learned so much from virtually every person on this list. The fact that this list began as an effort to focus on women developers has become secondary to how much I appreciate being able to subscribe to their shared thoughts.

By the way, if there are developers who aren’t on my list and who inspire you, let me know in the comments or on Twitter?

Photo credit: WOCinTech Chat, licensed CC BY SA 2.0

42

Today is my birthday. I’m 42.

I’ve never been a “well, a birthday is just another number” person. To me, each birthday is a special day, an event to celebrate.

I usually celebrate my birthdays with a “Me Day” if the day falls mid-week. Last year I took the day off, watched one of my favourite movies, and went for a photowalk around my city.

Living in interesting times

This year has been an interesting one, to say the least. I’ve been thinking about what to write about it for a couple months and, as I sit here writing this, I’m not entirely sure what to make of it.

I left my job at InboundJunction in March (it didn’t work out for a couple reasons and my contract was terminated), and I’ve been looking for a job since then. I started doing some freelance marketing work around the same time but my main focus has been on my search for a fulltime position.

As I write this, I’ve applied for 148 positions (I have 67 current applications). Many of the companies I’ve approached and interviewed at, are remarkable companies. One thing that has struck me during my job search is just how many amazing opportunities there are here in Israel.

Granted, not all of those companies are my dream employers but those companies are in the distinct minority. Whatever may be going on in the rest of the world, Israel is buzzing.

Code, the Universe and Everything

One of the benefits of the Israeli social net is about 7 months of unemployment benefits to help get you back on your feet. You can’t retire on the monthly payments but they give you some breathing room.

Rather than spending my time watching Netflix in between job applications, interviews, and occasional freelance work, I started learning to code in earnest. I started with HTML (I knew some HTML but my knowledge was patchy), moved on to CSS, and just kept going.

Although I’ve wanted to learn to code for decades (literally), I never really got around to it (aside from developing a proficiency in MultiMarkdown, and picking up a little Python 2.7.x last year). Being unemployed with time on my hands gave me the perfect opportunity.

A couple factors pushed me off my procrastination ledge. One was seeing our son learning basic JavaScript on Code.org earlier this year. Another was watching a friend of ours spend a few minutes showing us a few simple (yet awesome) command line “tricks”. Then, there is this terrific video from Code.org:

Learning to code has helped me realise that code creates possibilities. Like Karlie Kloss said, “understanding coding is … like a superpower”. It takes from a place where you wish “someone” made that thing you want, to be able to make it yourself.

My journey that started with <!doctype html> has taken me through a fantastic world where, using a text editor and an Internet connection, you can build amazing things. Here are a few of the languages I’ve learned (in varying degrees):

  • HTML;
  • CSS;
  • JavaScript (including Node.js, React and Ember);
  • WordPress-oriented PHP;
  • Shell scripting (I’ve learned to love the command line);
  • Build tools like gulp, npm scripting, and even a little Webpack and grunt; and
  • Git.

I feel like I’m just getting started. There is far more that I don’t know (and want to learn). And yet each time I write code that does something, it’s thrilling!

Along the way I’ve created projects that use what I’ve learned. They include little ones like this birthday site I created for our son when he turned 10, and bigger ones like Modiin Bus (currently being overhauled as I learn).

My coding journey has consumed me. There is always something to learn, code to improve, and projects to build. My personal writing and photography have taken a back seat (as you may have noticed). At the same time, I’ve gained so much in the process.

For one thing, learning to code opens the door to a whole new line of work for me. Rather than being limited to content marketing, I can explore web development roles too[1], and everything in between.

Mostly Househusband

One of the huge perks of my protracted job search is being home for most of the year. It’s almost given my wife and I an opportunity switch traditional roles.

She goes to work (as an awesome account manager at mySupermarket) and I take the kids to school, handle much of the housework[2], manage play-dates and after-school activities.

Being unemployed also made the annual school summer vacation (2 months!) so much easier to handle, logistically, because I was around to take and fetch from holiday camps, and be with the kids when they were just on vacation.

Although the challenges of my job search haven’t always been conducive to recognising the gifts of my current status, the experience of working from home all this time has highlighted what is most important to me.

Rather than never being around due to the demands of an intensive career that keeps me away from home, I’ve been around to watch our kids grow up over the last year.

It’s been a busy period, for sure. I am definitely not the type of person who’ll toss in a load of laundry and veg out till the kids come home. I’m constantly learning more code in between my freelance work, job search, and being here for our kids.

In the meantime, Gina’s career is blooming. She moved into a new account management role a few months ago and is awesome at it. I’m proud of her and of what she’s accomplished. If me being home has given her a little more space to do that, then this is yet another benefit.

So long, and thanks for all the .zsh

Of course, it didn’t escape me that there is something special about this birthday.

While I don’t have all the answers (not even remotely), perhaps being 42 brings a few answers to the questions that I haven’t been able to answer so far.

At the very least, I feel like I have a better grasp on what’s really important, and what isn’t. Regardless of where I may find myself working (hopefully soon), I am grateful for the opportunities I’ve had this year to learn, grow (a little), and be more present (mostly).

Ultimately, living in Israel (and in most of the world) generally means that both of us need to earn an income. So, my search continues. I love coding[3], I’ve had opportunities to interview at some of today’s most exciting companies, and there is still so much more to do.

I don’t know what lies ahead in 2018 but, as I keep reminding myself when I find myself slipping into Regretsville, we only really have the present moment. Sometimes, the moment we are in can be source of boundless opportunities.

It might even hold the answers we seek.


  1. Roughly half of my current job applications are for coding positions.  ↩
  2. Gina still does most of the cooking.  ↩
  3. Even when it frustrates me, when I suddenly can’t remember how to string a function together, or both.  ↩

Parenting moments with shell scripting

I’m both fascinated by and borderline besotted with shell scripting (you know, all that command line stuff). It turns out my son is intrigued by what you can do from the command line, and it opens the door to some pretty cool parenting moments.

This afternoon I showed my son a little script I wrote that opens Firefox Developer Edition, VS Code, Remember the Milk, and displays the weather forecast for my city just by running an aliased script from my command line. The weather service is a very cool command line script that Jessie Frazelle wrote.

My son was astounded when he saw all these apps open after typing a single command in iTerm2. He immediately asked me to create something for him.

So I wrote a similar script for him for his Ubuntu PC. It doesn’t work quite the same as mine does on my Mac (Linux has an interesting way of opening some apps that tethers them to the terminal session) but he now has a little command he can use to open VS Code and give him a weather update from his terminal.

I love that he’s also into these things. He asked me to introduce him to something he can use to learn all these shell commands. He wants to write them down in a sort of cheatsheet. I have a couple of resources (the Linux Documentation Project is an awesome one I only recently came across) I’ll share with him, I think he’ll get a kick out of learning this stuff.

Photo by Lewis Ngugi on Unsplash