Posted on Sun 31 December 2017 in misc

  1. What a year. There might not be another year quite like this one for me.

A number of highlights, but some low points too. Net positive, I think.

It's been ... busy. I want to be less busy in 2018.

Back in January, my only wish for this year was to get my talk accepted at PyCon US. That would be this year's highlight.

Instead, a lot of things happened. Mostly good things.

Writing all of these down, as a therapy for myself.


Got an email from my friend Seb one morning, talked about organizing a Python conference in the Pacific Northwest.

I didn't think twice before saying yes.

I just thought that a Python conference in this part of the world will be great for the growing Python community here. And it wasn't going to happen on its own. A person wouldn't be able to do it alone. But a group of people all sharing the same ideals? It could work.

I had no clue what it's going to involve. I got introduced to the other folks: Don, Alan, Bryan, and Eric. Don and Alan have build a huge Python community in Seattle. Eric organizes Write The Docs conference. They know what they're doing.

We chose a name: PyCascades. First one's in Vancouver. Started looking for a venue. It's happening.

Organizing PyCascades has been very challenging. Perhaps one day I'll write more about the challenges. I'm just really proud that I get to be part of it. Lucky that I get to be part of it.

PyCon talk acceptance

At about the same time that we started organizing PyCascades, I was notified that my talk was accepted at PyCon. I couldn't believe it! I read the email again and again. It felt amazing! It was like a dream come true! I must have told everyone I knew about it.

And then I got scared. I'm going to be give a non-technical talk at PyCon. Maybe nobody will show up for my talk. Maybe people showed up and then be disappointed.

Negative thoughts creeping in. Booked a session with my therapist.

DjangoCon Europe talk acceptance

Still reveling and freaking out about PyCon, I found out that I've been accepted to speak at DjangoCon Europe. Florence! I had never been to Europe! Of course I accepted. My employer wasn't going to sponsor my trip. Submitted my vacation request. Thanks to DjangoCon Europe's financial aid, I could actually afford to go.

New Python Core Developer

I knew I was going to get busy for the first half of the year. And it was only January.

Then, a life-changing event happened.

My mentor, Raymond, messaged me. "I have good news for you", he said. "I nominated you for core-dev privileges."


"Are you sure I'm ready for this?", I asked.

"Not to worry, I'll be responsible for your commits for a while. I'll continue to mentor, help, and cheer you along the way. You'll be an important part of the project."


Core-dev privileges? What are they? What does it even mean, to be a Python Core Developer? I guess, technically, somewhere, there's going to be a boolean flag getting flipped. It's got to be more than that. The commit bit, comes with special super power. With power, comes responsibility. Right? Right? Except I had no idea.

I chatted with my other mentor, Guido.

"Raymond nominated me to be a core dev. What do you think? 'cause I'm not sure I'm ready for this".

"Ah, you'll grow into the role.", he dismissed my concerns. "It will be good for Python to have you."


Sure about this??

Excited. Happy. Scared. Anxious. All at once.

I didn't even know how to feel!

The next day, there's a new entry in the Dev Guide of a new Python Core Developer.

My life changed that day.

More talk acceptance

Spring time. Got my talk accepted at several other conferences. I'd love to go to all of them, but my work wouldn't sponsor. It would mean that I'll have to go on my own dime and take personal time off. I couldn't afford to go. And I really should go on vacations with my husband and kids instead of traveling by myself.

I said no to most of them. I thought I'd be done speaking for the rest of the year after PyCon US. But then I then I decided to speaking at PyCon Australia.

And I went to Australia for the first time.


Between PyCon US and PyCon Australia, I started applying for a new job again. One rejection email after another. I ignored those emails. I needed to focus on giving a new talk.

Gave my talk, a talk about f-strings. I felt good about it. Now that it's done, I finally have time to ponder about those rejection emails.

I sat all alone in my hotel room in Melbourne. I thought about what I wanted to do next.

I still wanted to get a new job. I suppose I should learn from my failures and try to do better at the next interviews. So I read those emails again. I had asked the recruiters if they have specific feedback of what I could improve.

after reviewing your code, we don’t think you’re exactly the right fit for our role.

How could they even determine this simply by looking at my code? I guess this is just a generic message they send to everyone who failed. They wouldn't even bother with giving me an honest feedback.

Another reject email, dated July 17.

... we don't think it makes sense to move forward
right now- primarily because we want to see continued growth in your technical skills.
However, we are really impressed with you overall and think you'd be a great culture
fit for <company>. Please keep us in mind and reach out if you'd like to enter the
process again in 1-2 years - we'd love to talk with you then.

What. Is. This.

we want to see continued growth in your technical skills.

What the f--- have I been doing in the last 15 years, if not that? What else do I need to do?

I was lost. I didn't know what else I could do to be better at the next interview. I keep trying to find a lesson to be learned out of this. And I could not.

I think it's not technical skill that I lacked. I don't know what they want. After all these years, I'm still not good enough.

I broke down. Buried my face in the pillow. Cried myself to sleep.

Next morning came. Took a shower. Negative thoughts.

Looked at the time. It's time to get going.

Wiped my tears and washed my face one more time.

Still unable to find any positivity. No light. Only darkness.

I got to the sprint venue. Wrote some code. Replied to emails. Tried to forget everything. I uploaded tic tac taco pizza to PyPI.

One of the most useless thing to be in PyPI. Didn't matter. For once, I wrote code for myself. My kids would love it though.

Katie came over and showed me that she installed tic tac taco pizza and had played it. Thank you Katie.

I then went on a road trip with Trey. The Great Ocean Road trip. It was great. I saw the ocean. I love the ocean.

All of my sadness, taken by the sea ...

Python Core Sprint

September. 20 core devs got together for a week. Facebook and The PSF sponsored my trip. I had a great time. Really enjoyed meeting other core devs and spent time with them. Because I had spent all of my vacation days, I was only able to be at the sprint for 3 days instead of the full week. Lame. Wished I could have stayed longer.

Most of the core devs worked on CPython. New PEPs being discussed. Ezio worked on the Dev Guide.

I made miss-islington, a GitHub bot to backport changes from master to the other maintenance branches. We needed this bot since we moved to GitHub months ago. So far it has backported more than 300 pull requests.

Picking up the pieces

I thought that I was done for the year. Time to take a break. Time to catch up on things I'd put off earlier.

Mike wanted me to write for PyDev of the Week since a couple months ago. Finally got around doing it.

I became a guest at Castalio Podcast. I had a lot of fun. I laughed a lot during the interview!

Dan asked me to write the foreword for his book. Thanks Dan for this opportunity.

PyLadies Vancouver members wanted a workshop about Python Packaging. I thought of Brett. Brett helped me publish something to PyPI for the first time ever. Asked Brett if he could give a workshop. He agreed. Thanks Brett.

PyCon Canada asked me to give a keynote. What an honor.

Two different friends wanted to nominate me for some kind of award. Wow! Thanks Gloria and Victor. Don't think I stack up against the other nominees but it meant a lot that you both thought of me.

Gregory nominated me for Google Open Source Peer Bonus award. That felt great. Thanks Gregory.

New Family Doctor

My family doctor no longer practicing. So I met with a new doctor. He reviewed my medical history.

"I see here you have mood swings?"

Perhaps he didn't want to say the dirty word in front of my kids.

But it should not be a dirty word. They probably won't understand it now. In that split moment I decided that I wanted my kids to hear it. That this is something we can talk about, openly.

"I have depression. And anxieties. Come and go in waves."

"Do you take medication?"

"No. Trying to manage it by seeing a therapist."

"That's good. But come to me if you need medication."

I hope I never need to.


I was ready to give up hope and to remain the my current job. A job that was no longer satisfying. I tried leaving, but had no where else to go.

Three different people had told me about this other company. Great culture, great people. Give it a try!.

I really didn't think I could handle yet another rejection.

I got tired of trying.

For the last time. That's what I said the time before. For real this time.

They seemed really nice and friendly. "Great people, great culture." Will I belong?

They offered me the job. The next day I gave my notice.

"Anything we can do to keep you here?"

I guess I could have asked for more money? For the promotion they denied me earlier?

Don't make me beg for things.

"Thank you. But I'm leaving."

My heart is someplace else now.

Reflecting back

Almost a year since I became a Python Core Developer. Still not sure what it really means to be a core dev. "What is it like?" Busy. "How can I become a core dev too?" I dunno. I got lucky. "How much time do you spend contributing?" Way too much time.

I really made lots of contributions to open source and to Python this year. Wrote a lot of documentation. Wrote some code. Made more than 600 pull requests. Also reviewed a lot of them. Wrote "Thanks and congrats on your first contribution to CPython" many many times.

That shiny green "Squash and merge" button is no longer intimidating. "You can always revert things.", Brett said early on. "Don't worry, you won't be breaking Python."


One time I thought I had erased the entire history of Python.


I did not. But I really thought I did. Longest 10 minutes of my life.

I learned how to revert things on GitHub.

A lot of things happened this year.

Some good. Some bad.

Net positive.

2018? I only have one wish: that my tutorial gets accepted at PyCon.

Hmm, that sounds familiar ...