Wednesday, December 18, 2024

Non-violent Apps

 I have a vision for an app I want to build that allows a user to reflect mindfully on what they are scrolling through using nonviolent communication. It has turned out to be a tough product vision to articulate, especially with a small budget. My main idea was to allow a user (myself to start) to read the news and then be prompted to reflect. The problem I've run into is that most news apis are currently paid. There seem to be fewer general news RSS feeds available now. (If you're reading this and know of one, let me know!)

As part of researching this today, I found two apps that are based on Nonviolent Communication and tried them both. I thought I'd share my experience.

Nonviolent Communication App by Ilia Kovalenko



Ilia Kovenko calls himself a "future therapist" and has developed a few other mental health based apps.

This one felt close to what I had envisioned. It walks you through observing, picking feelings, then selecting unmet needs, then it asks what you can request of someone.

Enjoyed: 

  • Picking feelings and needs.
  • Seeing the final entry.

Challenges:

  • It's a long list of feelings with no way to search. You have to go through all the "Unpleasant" feelings to get to the "Pleasant" feelings.
  • Observations being so free-form can be daunting. I had no idea at all what to put for what to request from someone.
There's a paid portion of this app I haven't subscribed to as well.

Inner Giraffe: NVC Empathy by Edwin Liu



I can't find any additional information about Edwin Liu. This is his only app listed on the app store. 

Enjoyed:
  • The interactive NVC walkthrough around difficult emotions.
  • The journal entries.
  • Feelings were broken out into pleasant and unpleasant through emojis. There was also a section of "faux" feelings which I didn't explore more.
Challenges:
  • I did not understand the journal entries until after a bit of trial and error.
  • The interactive walkthroughs are very clearly not based on your input. It's helpful but there's no change regardless of what you answer the prompts. It feels like it should given the conversational nature of the input.
This app is completely free.



Thursday, July 25, 2024

Step One

I am a failure.

Ouch. These words hurt. And yet, I'm the one saying them. I've been saying them a lot recently. Mostly to my husband and inside my own head. Of course, he says, "you're not a failure," which I greatly appreciate. The problem is I'm saying something vague to express a real feeling. 

Why do I feel like a failure? Because I feel like I'm back at step one in a number of areas in my life. Next fall, both my children will start a new school. I recently changed jobs and the skills required aren't the skills I have been using. People I relied on have moved away, or relationships changed, and I'm realizing I don't have the same community I used to. I do not want to be here. I regret the decisions that led me here.

A few years ago I texted a dear friend during a difficult time about the feelings I was having. She's a friend through Al-Anon so she replied "You're back at step one." I'm reminded of that. In the 12 steps, step one is "Admitted I was powerless over ____--that my life had become unmanageable." And people go back there many times. I'm there. I'm powerless of my feelings of success. My life is feeling unmanageable.

Step two is "Came to believe a power greater than myself could restore me to sanity." The problem for me is that I'm struggling with a power greater than myself right now. I wonder what greater power would allow the wars in the world, the casual cruelty, the abuses of power. The answers are not clear. I just know I can't do this alone. 

Tuesday, August 31, 2021

Loneliness and Codedependence

I first started this blog eight years ago. Then, I was so excited about the possibilities of working in tech after time spent burning out as a social worker. I named it Codedependence as a joke, a clever word play. I googled the word today and found this definition: The anger and frustration that grows out of an unsatisfying, unfulfilling or unpredictable relationship one has with an electronic device, especially a computer.” Perhaps ironically, this has come to mirror my own experience. I am forever grateful for the opportunities working in tech has created for me. It’s hard to regret the transition I made, between the people I’ve met, the amount my salary increased, the flexibility I got, and all that I’ve learned. However, I’m much less enchanted, and after six years of working 100% remotely, many days I wanted to throw my computer out the window. 

Part of the problem came because I moved cities right before accepting my first fully remote job, with LaborVoices, where I’d be tackling labor abuses in supply chains. I had only moved an hour away from DC, but it was far enough that casual hangouts with my old friends happened much less frequently. Some friendships didn’t survive. A few have, and I treasure them. Then, two months into the job, I realized I was pregnant with my son. This first presented as exhaustion that led me to cancel most of the social events that had previously provided me outlets and was helping me build new relationships here in Baltimore. Meanwhile, my startup dream job started running out of money. I tried going to coworking spaces, but with no connection to the people there, I didn’t know how to make friends. The stress wore me down. Six months into my son’s job, between our funding crisis and my loneliness, I started looking for new jobs. I found one, a temporary, in person Salesforce consulting job that could only pay a fraction of my current salary. I convinced them to hire me three days a week while remaining at LaborVoices two days a week. I look back on that time as one of my most joyful and creative. However, having very little paid time off became challenging when my son got a weeklong stomach bug. And I still needed more security. 

On a whim, I applied to a job with the Wikimedia Foundation, thinking Wikipedia would never hire me. I was wrong. After two months of interviews, I got the offer. It was more money than I’d even known to ask for and most importantly, offered very generous paid time off. The catch was I was returning to fully remote work. Okay, I said to myself, I’ll just try harder to find social opportunities. I’d made friends with some other mothers in my neighborhood, and I stayed connected with the nonprofit I’d been working with. I organized a writing group, joined a group of community organizers working on climate change as often as I could, went to a community garden, found people to go to coffee shops with, and at one point joined a group of women running at 6am. It worked okay for a while, but really, just okay. I didn’t have a lot of resiliency when friends couldn’t make it at the last minute, and when my daughter was born, the free time I had shrank. Then, in March 2020, the pandemic hit...the same week my mother died. A few months later, my dad, who had been living somewhat nearby, moved across the country. Some of my close friends moved away for new jobs.

So, now, I find myself struggling. I’ve started wondering if I should look for an in person job in tech (those are getting rarer) or return to social work. I realize I’m probably not alone. I also realize there are people who thrive working remotely. I work with many of them. In many ways, I’ve been one of them. For months, I thought if I just waited out the pandemic, it would get better. For a little while last year, we were podding with another family who’s daughter was in care with our kids. We’d have dinner every week or two weeks and it was always lovely and refreshing. But we had to change our caregiving situation, in large part because we realized our son was lonely, spending his days with two younger children. Now that we’re in this strange half-space where some people have resumed “normal” life, some people remain pretty locked down, and information about what we need to do changes daily, I’m not sure how to meet these needs anymore. I’m writing this after a gathering I organized last night had four out of the six other people attending cancel at the last minute. I was very grateful for the two who did make it, but it just underscored the vulnerability of my ability to meet my social needs. 

The truth is that only part of this comes from working remotely. In the last few years, I’ve realized that I tend towards a more avoidant attachment style, and that I’ve long struggled with social anxiety. Being around people consistently used to pull me out of this, but it was an issue long before I worked remotely. I tend now to feel that I’m alone in this. Reddit and Al-anon meetings are the only places that remind me that’s not true. I’m writing and posting this blog post in case I’m not actually alone. I don’t have any 12 step process to follow to get out of it, or answers of any kind, just my experience and an attempt at self-awareness.

Monday, May 24, 2021

Lil Wiki

I want to share a project that took me over a year to complete, if it could be called complete now. Lil Wiki is a tool I built after my now four year old kept asking me to look things up for him. Once I had done so, he'd ask "What's this?" about every picture about five times until I was tired of reading the captions out loud. Somehow, mid-pandemic last year, I managed to build the first prototype of a web app that would look up articles on Wikipedia, get the images, then read the captions out loud. It did exactly the trick and I could give it to my son and feel like he was getting reasonably educational screen time. This week was "inspiration week" in the Wikimedia product department, where I'm now an engineering manager for a new team that will support our Trust and Safety department. I used that time to fix up some blemishes in the user experience, and make it ready for sharing. Specifically, I improved the app by opening a new modal each time a user clicks on a search result, rather than loading the images at the bottom like I'd done before. The tricky part had been getting the close button working, but it went quickly this time. Unfortunately, I can't remember why I was struggling with this feature six months ago. I also added a title to the new page/modal. This turned out to be slightly trickier than I first thought, because I had to pass the result name to the state through an attribute on the DOM element. I got it working after some trial and error.

While I wanted this post to detail all my trials, tribulations, and learnings while building this, it turns out this blurb is what I have the energy for. I felt very accomplished after working on this. Next up will be url parameters for image pages. Wish me luck!

Wednesday, May 6, 2020

Written in the five minutes before I see my kids

I just wanted to write a quick post because I did not have a great day at work. The only good thing was that I was more aware than I used to be of some of my more negative coping mechanisms. Basically, my debugging tools are no longer working locally and I'm trying everything that worked for everyone else to get them working and as of now, they STILL don't work. It made me feel pretty useless. I'm currently transitioning from management back to an individual contributor/software engineer role, and it feels really vulnerable. I'm afraid of not being productive or supporting my team adequately in this role. Today triggered all of my "not good enough" shame and I can't say I fully pulled myself out, which triggered another round of shame. What's funny about shame narratives is how quickly they wipe out everything I've ever achieved. It's so tempting to find someone to blame for how I feel (which I guess could be JetBrains) but trying to stay away from that also feels scary.
Anyways, time for lots of self-compassion and baby laughs tonight. I wish I had a nice, twee ending to this story, but hopefully I learned something about both debugging and myself today.

Wednesday, March 18, 2020

Sundown

Over the weekend, amidst everything shifting with coronavirus in the US, my mom died at her nursing home after struggling with dementia for years. It broke my heart, especially since I couldn't be there with her. In her memory, I wanted to share a link to the free pdf of Yellow Arrow Journal in which you can read "Sundown", my non-linear account of losing her to alcoholism and dementia. The theme of the journal is Time, which seems increasingly relevant right now.
My mother, Specie Love, wrote One Blood: The Death and Resurrection of Charles Drew. You can read about Charles Drew on Wikipedia, but the story she wrote is actually about the history of the incredibly unequal treament black people have received at the hands of the medical system in this country and the indelible impact that has left
If you are reading this, I hope you are safe and healthy.

Wednesday, March 11, 2020

Self-compassion in the time of the coronavirus

Let's start with how silly my title is. There are probably going to be a lot of these "in the time of..." references. But it came to me today so I'm writing it. This blog is really just for me these days anyways (and you, lucky reader, if you stumbled across this).
I keep coming back to my need for self-compassion. The need is not just, in fact, for me to feel good, but I'm realizing that not being compassionate with myself has prevented me from most of the meaningful accomplishments I've longed for.
As a side note, I gave a lightning talk a few weeks back at Wikimedia All Hands on Self-Compassion and it may be one of the highlights of my professional career (aside from the Solarpunk talk I gave the year before).
I realize not everyone has heard of self-compassion. Kristin Neff has written extensively about it and has good examples on her website. To me, what's important is that it's about recognizing pain and giving myself kindness instead of criticism.
Right now, people in the US are starting to panic about coronavirus (at least, according to my social medias). I am trying not to panic too. I am enormously privileged and the truth is that the impact on me is likely to be much, much less than for a lot of other people. However, I still see the future shrinking up and disappearing in front of me. I imagine all my dreams to be suddenly out of reach. Of course, this is happening not because of COVID-19, but because this is my default reaction to stress.
When I step back and try to use self-compassion though, I see how I'm talking to myself, and how it is my own view that I am unable to cope with these stressors that is hurting not only me, but the other people I do not even think about in my panic. And because I am panicking, I want to hoard my own resources, money, time, health, and can't see how I could help anyone else.
I don't know what I have to offer to others in all this. Money is a good first step, and if my skills can be useful in another way, I hope to be able to provide that. Accepting myself and the situation with kindness will be a necessary first step towards any contribution though.

Sunday, December 29, 2019

New Year, New Resolutions

I see it was a couple months ago I pledged to update this blog more. I've been writing a post in my head recently, and I'm hoping I can capture it to some degree. I've been thinking about this journey (to quote the Bachelor), and I'm still not sure where it's going. Over the last couple of years, I've had a lot of guilt about not being the "typical" software engineer. Even if I compare myself to other career changers, I feel like my path has been different. I'm not sure I know enough typical Computer Science concepts to pass some coding tests (even though I have passed the coding test for a Senior Software Engineer role), but when I set out to learn it, I never get far. It's because I struggle to learn when the only goal is to feel better about myself. If I'm coming from a place of insecurity, I don't stay motivated.
I wrote that over a month ago and I'm just now posting it.
I'm currently in a time of reset, as we've passed the winter solstice and the year draws to a close. I've had a few dreams die in the last year, and my own idea of myself is changing. In the meantime, I've embraced the fact that raising my children will take up a lot of my attention right now. I've also realized that my children are not my biggest barrier to what I want to accomplish in writing, coding, career, and creativity. The bigger "blocker" is me, and not knowing what I want. There's work worth doing, to slow climate change, to protect the rights of those less powerful, to try to impact politics, but I struggle to know where my work would be most, or at all, impactful. I feel like I've been flailing about, investing my energy too broadly to be useful, and in the meantime, shying away from anywhere that makes me too vulnerable, too seen. I'm not sure how I can change that, but my resolution for the upcoming year is to be more focused, and goal-oriented, in areas which matter not just to me, but to the world at large.

Thursday, August 1, 2019

Inspiration to write more

A coworker mentioned the term "Radical Vulnerability" and a quick Google search led me to an article by Alaina Leary on practicing Radical Vulnerability in online spaces (link). It talks about the importance of boundaries and safe spaces. This blog is only safe because I rarely share it.  However, if I come up with my boundaries for posts here, perhaps I could start writing more and sharing it.

Wednesday, July 31, 2019

Two years

Welp, I never made it past my "Placeholder Post" two years ago. In the past two years, I've begun managing my team, had my son go from baby to toddler, and was pleasantly surprised by my daughter. (To be clear, I knew I was pregnant, but I had not expected to be pregnant and I did not learn her sex before her birth.)
It's been a lot of change, and yet it's also been two of the most stable years of my life. I've been living in the same place, working at the same organization, and on the same team. I've been a bit of a career vagabond (job hopper is how I'd describe it when I'm being less generous to myself) so I've both valued and struggled with that stability. Especially given the state of US politics and world events (especially the climate crisis), I've wondered if I'm having the best impact I could. I haven't found any conclusions to those struggles, but I've come to realize I'm far from alone in them. The best part about my current role has been getting to know my teammates and learning how common it is to struggle with uncertainty about my own contributions.
I'm posting this without much conclusion, just to practice at putting it out there. I will be trying to post again shortly. I'm off to Prague with the baby next week for leadership training so I'll have a lot of time for reflection. (Okay, that may be overly optimistic).

Wednesday, August 16, 2017

Placeholder Post

Okay, this isn't exactly a placeholder, but I've started so many posts in the last year that I haven't finished that calling it one may be the only way I'll publish it. I decided I would publish something after attending Wikimania last week, which was one of the best experiences of my life. Since I haven't updated this blog, I must explain that four months ago I began working for the Wikimedia Foundation as a Software Engineer on their fundraising tech team. This was a hard transition because I had to leave LaborVoices, where I had grown so much and had gotten to solve amazing problems. However, it was made easier because in my then-new role, I get to be working on exclusively open source software, and for an organization with truly global reach and impact.
If I had any doubts about my new role, they were dispelled in the last week. The moment I felt most joyful about the work I get to do was when I sat in this session on how marginalized knowledge can be represented on Wikipedia(s). While there are still huge barriers to that work (that the panel participants described far better than I ever could), I came away feeling proud to in some small way contribute to the platform that allows these conversations to take place.
What made Wikimania so much more fun was that I brought James! Now 14 months old, his presence made it such that a work trip became an adventure. With help from my husband and a wonderful Canadian babysitter we met online (did I mention we were in Montreal?), I was able to do the juggling act that is a work trip with a baby. I'm so lucky to have the flexibility and resources to be able to do that. Pushing a stroller back and forth during a Susan Herman's keynote was pretty fun, though having to run out of a talk on the sustainability of Wikipedia was less so. However, the good far outweighed the bad, as I struck up conversations with other parents who'd brought their babies, or who missed them. Given how afraid I was that having a child would ruin my career, it was very affirming to be in this space and be able to walk (and sometimes blur) the line between my professional self and my mother self.
As I wrote about a year ago, in the last year, while I struggled with burnout at times (especially when sleep was scarce), I have mostly found myself newly engaged with work, really letting go of expectations of my own personal success in the wake of desire to effect real change in the world. I'm still learning how I can do that in a way that uses my skills and limitations but between my old job, my new job, volunteer work with a nonprofit here in Baltimore, organizing work around environmental justice, and returning to creative writing, I'm feeling on a better path than ever before.
As I wrap up this "placeholder", I can see I'm almost gushing. I'm on a post-conference high, so I'll admit that I don't feel this way every day or even close to it. Like so many others in this country, I drown in the news every day, especially this past week. I mourn on a daily basis for my own naive assumptions about fairness and justice that feel mocked by the political reality, not just of this administration, but highlighted by our current president and Congress. I maintain some sanity by taking small steps through work, what activism I feel capable of while caring for James and myself, and challenging myself to keep learning about the work ahead. I'm heartened by Baltimore's decision last night to take down its confederate monuments and am grateful to the amazing people doing the work that made that happen. While I no longer spend as much time doing the "grassroots" work, I hope my skills can support the efforts of those brave souls.

Sunday, July 3, 2016

A letter to my son at three weeks old

Dear James,

You were born on June 12th, 2016 at 2:39am. I asked you to be born at that time and you listened. I had no idea the toll your birth would take on me. Not in labor, which is what I prepared for, but in my life. It wasn't the impact I thought it would have. I wrote a blog post a couple months ago that I never posted about my worries. I was afraid of not being as good at work. I was afraid that I would lose myself and all the things I loved and I would blame you. You have taken none of these things from me. While I'm not back at work yet, I've already found myself thinking about it and having new ideas and feeling energized to return. I'm going to miss these days with you, but the truth is that I feel like a few quality minutes together are as good as one day where I'm feeling trapped and bored. I love the late night feedings, except when I'm tired. I love watching you learn new things. I also love my job and the career I've built for myself. I love it more because you exist. I spend my days writing code to helping workers' voices be heard. I want to do this all the more because any one of these workers could be you. I look at you, James, a white man growing up relatively affluently in the US and I know you could be anyone. You could be anyone and I would love you the same. It's funny because when other people see your picture or meet you they say, “What a perfect baby!” or “Wow, he is cute!” and I feel proud but I also think, I hope every mother gets to hear this about her child. Because when I look at you James, I think you're special and I don't. I don't think you're special for being cute, for being healthy (which we now know you are after your NICU stay), for being white, for being male, or for being anyone but yourself. You are my child and I love you for being in my life. I love you for the way your father lit up when he first saw you. I love you for the joy on the faces of my parents, in laws, and siblings when they met you. Even if I didn't get to see it, I love you for the joy the people I love felt knowing you were in the world. I try not to overshare your picture because I would hate to foist it on someone who didn't want to see it. I am hesitant in how I post about you on social media because I don't know who is reading my posts and I want to protect you.
Two days into your life, you swallowed milk wrong and started gasping for air. The hospital staff took you away and I believed they would return telling me you died. I also thought it was my fault. They came back and explained this happens sometimes when babies are learning to eat and that you had recovered on your own, as all they'd done is put you on a warmer. You started your NICU stay that day and after testing you for inflammation, they announced they were keeping you for seven days to have you on antibiotics. Honestly, I feel I should have been upset but I was on some level relieved. I hated missing those days, but I was scared I wasn't the best caregiver for you. I felt grateful that someone else would be responsible for keeping you alive. It felt like a gift. I got to visit you and enjoy you and learn from the nurses how to take care of you. I started feeling joyful at the idea that other people could take care of you, as I realized it would mean I could go back to work but come home every day to you. By the time you came home, I had learned the gift was different than I thought. While you were in the NICU I had been triggered by a lot of family, personal, and hospital dynamics and my anxiety level was higher than ever. I had to get on short-term medication—something I'd always avoided—and saw my therapist for an extra session. When you came home, I felt even more protective of you and of myself than before. I realized that of course my first job is to keep you alive, but after that I have a lot of other responsibilities to you, to myself, and to your father. I owe it to you to protect your emotions, but only as much as I can. If there is nothing I can do, I owe it to you to walk away, maybe just for a few minutes, maybe until you need me. I owe it to myself to take care of my needs and to make sure your father and you, as you are able to understand, know what they are. I owe it to your father to help him meet his needs, but not at the expense of my own. That is how we will become a family that can do the hard things we need to do. I'm not sure what all of those things are yet, but I've realized doing hard, worthwhile things is important to me. The worthwhile part is important, as I don't want to be a family that does hard, pointless things.
James, I'm not sure when you'll be able to understand all this. But know, that your mother is so glad she has you in her life. I had my doubts during pregnancy but I don't doubt my decision to have you anymore. I also don't doubt my decision to return to work, or to be a software developer, or to work at LaborVoices. I love the life I've built and I love it more because now I have you in it. I left social work, I learned to code, so that I could have a meaningful career and have you and it was the right decision. I wish everyone had what I have—a life they want. I'm debating whether to post this to my blog because it's very personal for me, though probably not for you yet. I feel like so far in your life, you've done nothing but share your joy with others. So many NICU nurses told me how much they loved you. And yet, for me, sharing joy terrifies me. I don't want anyone to crush it, because I believe it's fragile and tender. I look at you, though, and wonder if it isn't a strong force, something that can't be killed.

Love,

Mom

Saturday, April 25, 2015

Editor Practice

The last year of my life has been one of major transition. I've just moved out of the city I've lived longest of anywhere in my life (seven years!). I didn't move far but making that decision felt huge. Within the past six months, I got married and promptly convinced my husband to adopt the world's cutest cat, changed jobs, and then decided to buy this house. It's no wonder that my attention to coding has slipped. (Even now, our cat Dolly is perched in my lap, occasionally scrambling to block my keyboard). However, using the philosophy that got me to learn to code in the first place, this week I remembered that it's never too late to start again. 
As is typical for my self-directed coding sessions, I began by playing around with a few old code bases before settling on starting a new project, one I've had in the back of my mind for a long time. Of course, as soon as I had created the rails project and went to edit it, my usual text editor crashed. I decided to return to using vim, a tool I had developed some proficiency with in my last job. Curious about how to use vim as a full IDE, I went looking for resources and found Janus. As I was reading the documentation, I decided to complete vim's built-in tutorial (which can be reached by typing vimtutor in the terminal). Previously, any skills I'd picked up had been as needed and through specific Googling, but it was nice to run through a structured set of commands, and I was shocked by what vim could do. Since then I've begun working on my personal project with MacVim and enjoyed the process, even though there's some adjustment. This blog post was helpful in outlining some of what I'd learned on my own, and pointing me in the direction of new plugins to install. I highly recommend Vim, even if just so you can get the reaction I did once at a code sprint ("You use vim?!?")...though not sure if that was really compliment.

Sunday, February 1, 2015

Like Myself

It’s been a long time since I posted anything to this blog, so I doubt anyone is reading it (if they ever were). However, I woke up early this morning, and found myself re-reading old entries. Since my last post, I’ve received some criticism that made me afraid to return to writing, but I actually found myself proud of my old posts. Yes, they were a little cheesy, but one thing I learned as a social worker is that there’s a real place for cheesiness, especially when you mean it. And I did mean every word I wrote in those posts.
I could recap the last year, but instead I’ll just say that I have no regrets about the choices I made. While I loved the people I worked with in my past career, I believe I made the right choice for myself and for them to leave. I can support myself and others so much better now that I make choices to do work that makes me happy. While of course there are still time where work is tedious or people frustrate me, I love what I do. The moment when a complex problem becomes clear feels just as good as it did when I first learning. And I’ve found a new joy in taking complex and difficult to understand code, and re-writing it to be easier to update and fix.
Recently, bootcamps like the one I did have become more popular and accessible, so a lot of people ask me if they should do one. Rather than give advice, I usually ask: do you like to code? Because if you don’t enjoy coding, don’t do a bootcamp.
More importantly, only do it if you really want a job as a developer. If you don’t , find something you do love and find a way to balance your love of it with making money. That’s certainly not very easy, but it’s a lot easier than trying to make money doing something you hate. I am so much happier doing work that fits my personality than trying to make my personality fit my work. But the really hard part is that it means I have to show people my personality, and know what that is. And that’s terrifying.
It is funny though the little ways people surprise you when you tell the truth. A couple months ago, I went to coffee with one of the owners of my company, Social Driver. He asked me what I missed most about being a social worker. I told him about the white board I used to have in my office where I posted weekly inspirational quotes, and how much they meant to me and to some of my clients. The next day at our all staff meeting there was a package in the corner. During the time in our meeting that we call Victory Lap, where we acknowledge special effort over the last week, the owner mentioned me and said how much my story had touched him, and then presented me with a white board! I almost cried.
I recently posted this quote:

I feel like it sums up what I'm working on now.

Saturday, September 28, 2013

Goodbye California

According to the Virgin America seat screen in front of me, I am writing this at 35,106 feet, and the little red plane on the Google map puts me somewhere in the middle of Utah. Ever since we started to taxi, this Jolie Holland song has been running through my head:


At least it was just running through my head until I decided to actually listen to it as I am now doing. I’ve loved that song for a long time and never thought it would apply so literally to me, in that I am leaving California and feel joyful about it, which is how the song feels to me.
I am really happy to be going to the home I have made for myself back in DC. It’s hard to even imagine how great it will be to return to my own apartment and be in my space again, and see all the people I have missed.
Of course, I am especially happy because I am accepting a job back home that I think will be really good for me. It is scary to write about because I am afraid it will fall through somehow now that I’m so excited about it. This job feels right for me, because I have decided that I can still call myself a social worker. I will get to work directly with non-profits on a software tool called CiviCRM. The people who work in the company are clearly passionate about their work and about helping mission-driven organizations. I will help with customer service, trainings, support, but my job title is CRM Developer—so it’s official, I am a web-based software developer. It will not feel real until I am working there daily and have proven myself on the job. However, I am trying to appreciate this time, where I can relax and continue teaching myself coding for fun.
I can’t believe how well everything has worked out, and I can’t help remembering four months ago when I was deciding whether to do this. I agonized over the decision, afraid I was going to ruin my life, yet once I did it, I leapt with both feet in and haven't had many regrets. I can’t really remember many days where I hated coding. There were days I was tired or didn’t know where to start, but once I got involved in a project it was usually hard to stop.
I’ve had a lot of people want to talk to me about Coding Dojo and getting into coding. I don’t know if the program I did would be right for everyone, but I have no question whether it was right for me. I think that was because I was self-motivated, a beginner, and truly loved the work. It also helped to be someone who could reach out for support when I needed it. The staff at Coding Dojo were all very supportive but you had to ask for help in the first place. I would recommend them to anyone else, as long as they really wanted to be a web developer and were willing to put up with bumps in the road that come from a growing company that is willing to listen to feedback.
Also, I love coding because loving math and logic is so much a part of who I am. When I was little, I would get my parents to buy me math and logic books for fun, or as special Christmas presents. I would get my brother to teach me advanced topics, and then I would try to teach other kids. I like to think I’m good at it, but whether I am or not, I love it enough to keep working on it even when I struggle and that may be the same thing. If you’re reading this, wondering if you should be a coder, consider that for yourself. I think the quality that most makes me good at this work is that I hate unsolved problems and so I will work until I can solve it, even if that means stepping away but still thinking about it.
Finally, I have to say something related only to leaving California. Many times over the past couple months I have found myself overwhelmed by gratitude to the people who made this trip truly special. Despite being far from home and often lonely, I always knew there were people who would help me if I needed. More than that, my hosts in California went above and beyond to make me feel comfortable and at home and taken care of. Those I didn’t stay with often offered me rides, went out of their way to see me, and brightened up my lonely days with their company.  I feel so honored when I think of all the people I have connected with along the way, and inspired by the risks that each of them are taking to shape their lives. Goodbye California, and thank you for all that you have given me, and how you have helped me to become a more-recovered social worker.

P.S. Has anyone else seen the Virgin inflight safety video—the animation is so cool! Then they ruin it by making you watch ads for ten minutes.

Tuesday, September 24, 2013

It's the final countdown!

I'm going home on Saturday (that's four days from now). The song referenced by the title is going through my head. It's hard to appreciate being here sometimes when I'm so ready to be home.
This week, I'm working on my final project in Rails. Learning Ruby on Rails was particularly challenging because it has so many of its own rules, and because I'm pretty tired. I had no idea all of this information could fit into my brain. For my project, I'm making a "TaskMaster" to keep myself on track in the future as I keep learning to code.
Here's a page where you can see your goals--the idea is to accomplish one per day:
However, coding aside, I have been reflecting a lot on my time here. About five weeks ago, I felt like I was ready to go home. I'm glad I didn't. I've felt lonely a lot since coming here, but that loneliness has had the curious effect of opening me up and helping me to see the importance of the people around me. Thank you to everyone who has made this experience so meaningful (and I hope you know who you are). 
It has been interesting to watch myself in a new context and see how much of what has held me back in the past has been me and how much has been the circumstances I was in. If this experience has taught me anything, it is that when something in my life isn't working, I need to make a plan to change it, because it's not worth making myself miserable just hoping things will get better. Sometimes I imagine trying to explain to myself from six months ago how much better life would get, but I wouldn't have been able to imagine it then.
I spent years of my life counting down time to some imaginary moment when life would get better, and it didn't until I made it better. Now, as I count down the days until I return home, I am working on appreciating what I have here and being grateful for these few months, rather than focusing on where I am not. 

Friday, September 6, 2013

Problem solved!

Just now I solved a programming problem that I have been puzzling over all week, and I actually love my solution. Sadly, it's 11pm on the west coast, making it 2am on the east coast, so there's no one to tell but my blog. My therapy homework site is up and running:

As of five minutes ago it includes the ability to save your "worksheets", although you can't yet access them--that's next! Administrators (me) can add topics and questions on the site. Next up is being able to delete topics and questions, mostly because it's a hassle to do directly in the database.
On the screen is a topic that one of my classmates helped me create. It treats the serious problem of TMSS or Too Much Swag Syndrome, as defined by the urban dictionary. If you or your loved have been affected by TMSS, please seek help.
I may have failed a test today, partly because I panicked in the middle and felt confused by the directions. It felt really overwhelming afterwards, mostly because I just wanted to be at my home and instead was way out here. However, I wound up talking to other people in my program and being reminded that most of us at Coding Dojo feel this way--lonely, competitive, perfectionistic, scared of what comes next--to some degree, and are doing our best to manage that day by day. It's still fun and exciting and worth it, but that doesn't mean it's alway easy.

Wednesday, September 4, 2013

But what shall I call them?

I have been here over five weeks now! I will be going home in just three and a half weeks. I'm feeling very ready to go home. I would love to be doing the same work, but just returning to my apartment at the end of the day though. I moved over the weekend and it threw me off a bit, even though it's better since I have less of a commute.

This week we are working on our personal projects. I went through decision paralysis over the weekend about what to work on and eventually decided to go with an idea I had wireframed before beginning the program. It was originally called "The Digital Therapist" but I have since changed it to "Your Therapy Homework." I will probably change it again. The idea is that people can fill out therapeutic worksheets online, and save them. The long-term goal would be for therapists to be able to create their own worksheets. It's not super fancy but actually wound up being more complicated than I would have thought. Mostly the database was challenging because I wanted everything to be very easy to edit, and I wanted users to be able to save the worksheets they've done.

I spent yesterday on a "mock up" where I did all the HTML and CSS, and some Javascript. Now I am moving into a Model-View-Controller (MVC) framework in CodeIgniter, and feeling very indecisive about naming my controllers. I realized I am giving myself a hard time for not being sure what to do, but I think the reason is that it's actually somewhat important and I want to make a good decision. I also have a tendency to perfect more than is healthy. I want this to end up being AMAZING when it is only my first project. I also enjoy thinking about organizational decisions. For example, if I name one controller "users" and one "worksheets" which controller leads to the worksheets that users save? My remote TA suggested "tags", "tasks", and "users", but I don't really know how to implement that.

I've been listening to Sandi Metz talk. I don't understand all of it yet, but it's a reminder that many of the things I'm thinking about are what "real" programmers (as in, not me yet) think about all the time. I get scared to break my lovely well-crafted programs, but I must in order to help them grow. We had a google Rails developer (from Wildfire) speak to us about Agile development, which is all about letting go of perfectionism. Time to try to implement this!

Tuesday, August 20, 2013

I really am myself, but can I prove it?

I had my first big I-left-my-home-I-don't-know-what-I'm-doing-maybe-I-can't-do-this meltdown today (and yes, that was many ideas strung together but it was a complicated meltdown that will probably happen again). The catalyst was that the US Postal Service appears to have lost the package that had my driver's license and I'm flying to Detroit for a wedding on Friday. I took the plane here without ID, and they let me on the flight, but they do grill a fair amount and give you a "special" search. As a side note, it feels weird to have no identification and not be able to prove that I am myself. Existentially, there is something strange about not being able to say "but I am me--can't you tell?" Anyways, this led to a larger panic about why I was here, and whether I was succeeding.
After a period of spinning and trying to sort it all out on my own, I reached out for help and went for a walk with one of the TAs. He gave me really good advice--which was to have fun with the material and not feel like I'm trying to prove anything to myself or compete with anyone. I needed that reminder. I had been being stubborn and wanting to find a masterful solution to a difficult problem, rather than asking for help, and managed to frustrate myself and waste hours in the process. He actually told me I doing really well, and, honestly I knew this part, that I was still ahead of schedule. I was just getting down that I was less ahead than some people, which is awfully silly.
With that advice, I decided to do one of the optional assignments rather than force myself to move on. I had fun and made this:

In it you can enter two numbers and click on a mathematical operation and the result will show up at the bottom immediately (without reloading). That took more work than you might think, but was very rewarding and helped me understand AJAX a lot better.
However, I don't see this being the last time I face this type of freak out. This is scary and it's lonely sometimes, and life would be easier if I was just at home. But there is a reason I am doing this, and I think it may be more than just needing a new career. I do love coding, and I also needed some perspective on my life, which I am getting. The most important thing I've learned is that over the last few years, I've really built a life I love back in DC. I hadn't seen that until I was far away.
I also learned something through riding a bike (not how to ride a bike though--I already knew that). The cheap craigslist bike I'd been riding lost a part, after I incorrectly removed the wheel. I asked my (amazing) host if I could borrow her bike and she recommended a comfort bike she had around. When I rode it the 8 miles to my program over the next week I had an epiphany: I was not nearly as bad at biking as I'd thought--I hadn't been riding good bikes! I had so much less trouble going over hills and the 8 miles felt easy and energizing rather than exhausting. Like studying coding, it was a better fit for me and that made all the difference. Sometimes I blame myself when something isn't working well, rather than thinking about what I can change. But maybe there's nothing so horrible wrong with me after all.

Monday, August 12, 2013

Dreaming in PHP and MySQL

Every morning for the past few weeks, I wake up realizing I am perfecting code that I can no longer remember, as it dissolves with my dream. For the past week and a half those dreams have involved ERD modeling, SQL statements, and most recently PHP. Every day I think the task at hand is unconquerable and by the end, I find myself cheering (trying to do it quietly--we all do it occasionally) when the seemingly insolvable problem has come to a simple resolution and the figure I have been trying to get onto the screen appears.
Today, all the pieces we have been learning began to connect, as I started learning how to access databases in PHP. (For those who don't know, PHP is a back end scripting language, meant to bridge the gap between what you see on the screen and the data that is stored by the server.) However, I soon paused the video as I decided to slow down and try to digest my other lessons first.
I have to remember to slow down a lot as I find myself getting competitive with other students. As a friend reminded me, this can be good motivation, but it can also make me race through assignments faster than I should. Luckily, I am learning about myself that I am not good at not doing my best on my work. I always double back and force myself to get the answer, even when I think I've moved on.
Also, we had our "belt exam" last Friday. I was literally certain that I had failed. I managed to miss part of the directions, so after four hours of obsessing over my HTML and css I spoke to other students who started mentioning using jQuery (a Javascript library for animating the screen), and I freaked out. With less than twenty minutes to go I added what I could and then went over time cleaning it up. I then spent fifteen minutes explaining to a friend of mine how I felt like a failure and shutting out everyone around me.
Today, I got the results...9.5, or "near perfect." All right, I admit it. Sometimes I might catastrophize.
Also, last week, when we worked on jQuery, I made a Digital Therapist page. It was a pretty horrible therapist (pretty much just repeated back what you put in, and not even all that well), but a lot of fun to create. (I enjoy being a bad therapist occasionally after spending so much energy trying to be a good one). I'm still not much closer to knowing how I can use these skills to improve the world (unless this amazing job helping non-profits ends up working out, but I'm trying to maintain healthy pessimism in case it doesn't), but it's fun to bring some of myself into the work.
Speaking of dreaming, it's about time to do some of that.