I was afraid of being unproductive this semester. But as it turns out, I ended up learning a lot, so I’m pleased with the past four months overall.
I want to jump into the technical stuff first because writing, fixing, rewriting, refactoring and debugging code was literally all I did for eight hours a day. I worked on two features during the first third of the semester and during the rest, wrote and deployed three microservices at work and then spent two weeks testing and fixing them as they broke. Endpoint. By. Endpoint. I got to dabble in Elixir, Rust and Clojure, and learn a lot more Scala. I switched to spacemacs, became better at vim, wrote test suites, learnt to write a javadoc, learnt to pore over and search through documentation, taught myself runtime analysis and spent a lot of time trying to understand kubernetes and poking its source code. I sort-of-on-a-high-level learnt about concurrent programming, which was confusing but very interesting (I plan to continue learning about this next semester). I also learnt that running the same code twice never, ever, ever gives you the same result twice, ha.
I accumulated this list of resources for languages I used over the course of this semester that I plan to keep updating, probably on Github.
But I still don’t know what a container is. This magic Docker magic is magic. \shrug
I had to come to terms with my inexperience many, many times. I’d love to say I powered through and got things done all on my own. I didn’t. Atleast, not in the beginning. I had to ask for help. I had to ask very obvious questions. It took me a while to learn to be unapologetic about it, but I sort of got there, and ended the term at a point where I could figure a lot of things out by myself. I was lucky to have good technical mentorship — I was challenged to try new things while being sure that I had a fallback if I was stuck, and encouraged to ask questions about tools I didn’t understand. When I had a technical decision to make, I was often encouraged to analyze the situation with my supervisor instead of simply being given an answer.
But if I could use one word to describe my state of mind this semester, it would be “angry”. I had a lot of anger about certain parts of my life — my job, most notably — that I took out on others. Before I talked about these issues with others, I refused to deal with them. It’s very easy to do that when you get home at seven, exhausted and drained and watch TV or read till it’s time to sleep.
The technical exposure, learning experiences and responsibilities I had at work were overshadowed by glaring culture issues. I had plans to talk about these issues more openly and more explicitly, but it’s too hard. It’s too hard to relive those times and dwell over them and spell it out here, because I really want to shove all this negativity out of my life and move on. It’s too hard to think about the moments when I was made to realise over and over again, that I wasn’t enough. I went through a lot of phases — anger, rage, humiliation, doubt, frustration, and fear, crippling fear, and I shared the details of those with a precious few (not for a lack of the wonderful people that reached out to me and expressed concern <3).
But at this point, I think I’m completely spent.
I’m spent because too often, the toxicity of bystanders, especially those in a position of power or those with “no malicious intent”, is underestimated. I’m spent because the ignorance of these people or their tendency to shrug off responsibility is used as a defense for their behaviour, and I’m fed excuses like this and expected to lap it up when all that does is invalidate what I went through. I’m spent because in a few short months, I’ve realized how broken tech culture is. And there are too many people doing nothing, just watching as the shards hurt others. Because there are too many people who see a perfect world instead of the mess that it is, but barely anyone sees them for the cowards they are.
If you see people being mistreated, please, please, please don’t stay silent. This doesn’t have to be as public and long twitter rants or blog posts or public speeches. It can be the little things, like taking the offending people aside and talking to them about it. It can be as simple as reaching out to those being mistreated and offering them support. It can be something as fundamental as realizing that ignoring the human aspect of work culture and focussing on your code or product is not a strength or something to aspire to, but a fucking weakness, with disastrous consequences you might not even have considered. It can be something as basic as recognizing your entitlement and privilege. Sometimes, coming from a position of power or entitlement makes it hard to recognize mistreatment for what it is. Educate yourself, and be aware of this. Be aware that it gives you the privilege of an audience, especially one that already considers you credible. The fight for inclusivity and kindness in this world is too huge and too hard for the privileged to afford to sit it out.
On a different note, something that just dawned on me as my fourth study semester, and fifth semester overall starts at Waterloo, is that I don’t have anyone to push me out of my comfort zone anymore. I had my parents to do it before — my dad pushed me to go to Waterloo, my mom encouraged me to take CS 145 — but now they trust me to make decisions about my career and academics. It’s a lonely feeling because I can take the easy way out, and no one will call me out on it. Welp.
Something else very important to me was nominating myself for the position of chair for the WiCS undergraduate committee for Spring 2016. I’m looking to every aspect of it, especially the increased responsibility and the teamwork involved. Fun things I did this semester involved speaking at a panel, participating in my first CS contest (eth1), travelling to Boston and Michigan, taking an old timey train to Elmira for a maple syrup festival (!), participating in Google Games 2016, spending money on a budget, cooking food that wasn’t frozen or tinned or pre-packaged, spring cleaning my apartment for two straight days (am I the only one who gets excited the the thought of new cleaning products to try out?), playing dominion, receiving my first physical ARCs in the mail, applying/interviewing for jobs outside of Jobmine, and Netflix.
Ah, Netflix. This is what I watched and my rating for them because why not. (I am so proud of this list.)
- Jessica Jones season 1 (5/5)
- Some of Daredevil (4/5)
- Miss Fisher’s Murder Mysteries seasons 1-3 (5/5)
- Friends seasons 1-10 (4.75/5)
- Brooklyn Nine Nine seasons 1-3 (4.5/5)
- Gilmore Girls seasons 5-7 (3.5/5) (I refuse to acknowledge the existence of that last season)
- The Mindy Project seasons 2-3 (4.5/5)
- Full Metal Alchemist: Brotherhood (3.5/5)
- Psycho Pass (4/5)
I want to talk to my family more. This semester, I usually spoke to them during work hours when I was the most stressed out or likely to snap and took all that out on them because I have zero self control.
Work on CS stuff on my own. My courses next semester involve very little coding, so I want to be able to make the time and work on some stuff that I started this semester.
Travel more. I have a four month window of actually decent weather to do things, and I’m already making plans.
Focus on academics. I’m looking forward to prioritizing academics once again. I like that this course load is more math (math 239, co 380, stat 231) than less coding because I sorely missed that in the fall. I’m super excited for math 239 and co 380 (barring the fact that, you know, the prof still won’t let me in. But it’ll happen.) and I've been waiting to take CS 240 since literally 1B, so that should be fun.
It's unfortunate that so much of my time this term was spent being angry, but the number of people that offered me support was very touching. If anything, I learnt that I don't need to deal with the rough parts of life alone, which is why I spend the latter half of the term socializing and writing more. I'm looking forward to a healther, happier, more mathematical semester.