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!