Objectifs pour le semestre

We’re already three weeks into the semester, but I figured it’s still worthwhile to go through and outline my goals for the semester.

  • Write a thesis proposal I’m proud of and get everything up and running in time for evaluation in January. My thesis proposal draft is almost done! I’ll be working on redesigning and implementing a new standalone gallery for App Inventor that promotes project sharing and increases discoverability of shared projects. I’m super excited to be tackling this project—I just hope I can finish everything in time.
  • Be an effective TA and help my students gain confidence in their ability to program. As a TA for the introductory computer programming class this semester, my number one goal is to help my students grow as programmers, whether they major in computer science or some other field that benefits from computing knowledge. It’s already been an exhilarating journey working with the course staff on designing psets and answering student questions on Piazza.
  • Exercise regularly with the volleyball team. It’s been a while since I played on my high school team, but I finally decided to return to the volleyball court! I figured it would be a neat way to meet more people and also to ensure that I get some exercise on a regular basis.
  • Learn a clarinet piece that I’m excited about. I won’t go into too much detail, but I ended up not being able to play chamber music this semester, which means that I also won’t be doing the Emerson program. I contemplated taking an early retirement from clarinet, but part of me didn’t want to quit quite yet. So I decided to keep taking lessons with Tom, and for once, I chose a piece to work on! Rhapsody in Blue, here we go.
  • Practice problem solving and keep learning outside of classes. I’m only taking one class this semester, so my stress levels are probably at an all-time low compared to the rest of my time here at MIT. At the same time, I’d like to treat this as an opportunity to learn outside the formal classroom. I’m trying real hard to get better at software engineering interviews, so spending time on HackerRank is definitely one of my priorities until I land a job offer. Also, I think there’s a lot I can learn about personal finance so that I can “adult” properly, especially post-graduation. Plus, my reading list on Goodreads has a ton of books that I should probably read.
  • Become a better cook. I’m no longer on the meal plan, which means that I have to fend for myself when it comes to food. It’s been a while since I cooked every meal with my friends the summer after freshman year, but I’m slowly getting back into the groove of things. Buying groceries is more annoying now that Star Market on Sidney Street is closed, but at least one of my roommates keeps me company during our weekly grocery shopping runs.
  • Be patient with life. I got a crown for tooth #30 in January, but somehow, the nerve in that tooth ended up dying. As a result, I had to get a root canal yesterday, and to be honest, I wasn’t thrilled about it. Fortunately, the root canal itself was actually a pretty painless process, and I had a great dentist and dental assistant to thank for that. Unexpected situations like teeth emergencies get me riled up sometimes, but I just need to remember that these things happen, and that I need to be patient. Things will be okay.

I think I’ll leave things off with a Twitter post I found on my feed.

I’m about to embark on the oftentimes soul-crushing process of job searching, so I could really use a dose of positivity 🙂 Fingers crossed…

Advertisements

Final semester goals

I’m more than a week into my last semester at MIT, but I figured now is as good a time as any to think about my goals for the semester.

  1. Prioritize spending time with friends. Most college graduates whom I’ve spoken to explain that what they miss the most about college is how easy it is to have impromptu hangouts with friends. Once people start working, it’s much harder to coordinate times when everyone is free. Also, this goal will help me justify doing fun things when I just don’t feel like working. Senioritis is real…
  2. Be patient with myself when classes get challenging. I’m taking 6.824 (Distributed Systems) this semester, which has a reputation for being a very difficult class. Instead of getting really worked up and anxious, I’m making it a goal to be patient with myself, slowly identify areas of difficulty and/or confusion, and work through them one by one.
  3. Go to talks and read books. I’m taking a relatively light load this semester, so during weeks when I don’t have to spend as much time on MEET and CodeIt, I want to make sure I “broaden my perspective” on the world by attending talks on or off campus and/or read books from my evergrowing list of books to read. Just last week, I attended a two-hour talk given by two formerly incarcerated individuals, and I’m so glad I did. I think this was the first time I’ve ever attended an event where all the participants were engaged throughout the full two hours.
  4. Make time to exercise and practice clarinet. I’ve learned that exercising and playing music reduce my stress levels, so even when I feel like I’m crunched for time, I need to prioritize these two activities. I have found that even 10 minutes of stretching in the morning makes me less anxious throughout the day.
  5. Limit the sugar intake (maybe 2 times per week). At some point last semester, I was eating green tea ice cream from the dining hall almost every morning for breakfast. I’m going to do that less often this semester.

Okay, so that’s that. Now we just have to see how well I can stick to these goals this semester 😛

last first day of school

I can already tell this semester is going to be incredible. After several semesters of taking classes simply to fill requirements, I’ve finally made it to the part where I get to fill my schedule with only classes that I actually want to take.

I was talking to a sophomore friend the other day about whether or not she thinks she changed a lot during her freshman year, and I loved her response. She said that she doesn’t think she necessarily “changed” a lot, but she definitely discovered more about who she is as a person. I love that description because it really resonates with me and how I think being in college has transformed me as an individual. For the most part, my interests actually have not changed that much since high school, but the process of trying out different things has made me more conscious of what I really enjoy and care about.

Without further ado, I hereby announce the class lineup for the semester, as well as my personal goals to kick off my last year as an undergraduate student.

  • 6.809 Interactive Music Systems: About 70 students pre-registered for this class, which has only 18 spots. I am so grateful to be one of those 18 students, especially after attending the first class today. The instructor Eran Egozy was not only one of the adjudicators during my clarinet audition last year (and probably this year), but he is also one of the founders of Harmonix, the company that created Rock Band and Guitar Hero (no big deal). My friends who took this class last semester had nothing to say but good things about both Egozy and the curriculum itself. From what I can tell from the first day of class, 6.809 is going to be awesome. I mean, what better way to combine computer science and music than to learn how to enable everyone to experience the joy of making music?
  • 6.828 Operating Systems: We’re taking it a notch down by exploring how operating systems work. My computer systems class last semester (6.033) gave an overview of the Unix file system, virtual machines, and the shell, but we pretty much covered all the OS-related topics from 6.033 in one 6.828 lecture. Needless to say that this will be quite a challenging journey, but fortunately, I have a bunch of friends in this class with me.
  • 6.175 Constructive Computer Architecture: My sophomore fall, I took computation structures (6.004), which introduced the building blocks of digital systems. 6.175 is a follow-up class that focuses on implementing different versions of pipelined machines and culminating in implementing a multicore processor. Pretty gnarly stuff. Other than the fact that only 10% of the class is female, this class seems super interesting, and I really like Professor Arvind’s lecture style. Today he drew an analogy comparing Picasso’s 75 or so recreations of Diego Velázquez’s “Las Meninas” to our own recreations of pipelined processors. This class will also hopefully make me a more useful lab assistant for 6.004 this semester.

Other highlights from today, which I will use to segue into two of my major goals for this semester.

  • Be kind. One of the first things I did when I moved in a few days ago was put up some banner paper so that I could create the Sharpie mural I’ve wanted since last year. At the top, I wrote the words “be kind” in big letters. Those are the words I wake up to every morning and remind myself of throughout the day. To me, it’s a reminder to be kind to others and to be kind to myself. Quick example: Today I bought lunch at Stata, and when I asked the checkout person how he was doing, he said excellent and gave me a smile. After paying, I made sure to wish him an excellent rest of the day, to which he responded, “Thanks. I appreciate it,” and gave me a smile in return. It took no more than two seconds on my part, and I won’t claim to have made a huge difference in the world or anything, but it felt good to have contributed to making another person smile at least once more today.
  • Relax and make time for friends. In stark contrast to freshman year when I was frantically trying to make friends, I actually have an incredible support system now. Everywhere I turn, I see familiar faces. It’s still the beginning of the semester, but since it’s the last time all of us will be living on campus together, I want to prioritize making time to hang out with my friends.

Stay tuned for thoughts on my other two classes, which have yet to start… 🙂

Lessons Learned

I’m in the final four weeks of my internship, so a post about what I’ve learned this summer is probably long overdue. Last week was a rather turbulent week for me, so I figured it would be worth compiling a list of my key takeaways from the incident.

Here’s some context. My project is to implement a new feature for the Android app. Another intern has been working on the same feature for the iOS app; however, because the iOS team started implementing the feature long before the Android team started its own implementation, the iOS feature is much closer to completion than the Android counterpart.

It was always clear to me how far ahead the iOS team was with the feature, but I didn’t realize until last week that the way the Android team had originally intended to implement the new feature was completely unreasonable—it would have required rewriting large chunks of the app, which was definitely not happening anytime soon. As soon as my teammate and I came to this realization, we had a sync up meeting with the product manager and designers to redefine the scope of the project. We ultimately decided on reusing much more legacy code, which greatly reduced the scope of my project.

To be completely honest, when we first decided to re-scope my project, I was really disappointed. I was disappointed that some of my code would be completely scrapped. I was disappointed that we wouldn’t be implementing some of the cooler designs according to the original plan. But most of all, I was disappointed in myself. As the intern assigned to complete this project, I blamed myself for not keeping my manager better up-to-date on the progress of the project. I blamed myself for not pointing out how behind schedule we were according to the roadmap. I blamed myself for not realizing sooner that the game plan I was given was doomed to fail.

When I told my manager how I felt during our 1:1 meeting, he told me not to blame myself. While I do understand that I am not completely to blame, I can’t help but think of what I wish I had done differently. Here’s the list:

  • Make milestones as fine-grained as needed. Sometimes that means making your own milestones, too. I was given three large milestones for my project, but what I didn’t realize I needed was smaller subtasks for each of those milestones. My strategy has always been to do as much work as I can each day. It’s worked great for me in the past, but unfortunately, for this particular project, that strategy failed me. It made me blind to the fact that I was way off track and prevented me from evaluating my progress accurately.
  • Make it a priority to know who is involved with your project and in what capacity. One of the biggest problems I faced was not knowing who to voice my concerns to. Early on, my gut was telling me that I wasn’t working as effectively as I could be, but I wasn’t sure who to go to for help. If only I had established a point-of-contact for big picture questions, maybe things would have gone down differently.
  • Write a design doc. Last summer, I wrote a design doc for my feature but didn’t really think much of it. I thought it was just something everyone had to do as part of the process. Now that I look back, however, writing that design doc was a crucial planning tool that probably saved me a lot of trouble down the line. Even though no one explicitly told me to write a design doc for my feature this summer, I would have benefited greatly from doing so, even if only informally. My teammates could have given me feedback on the game plan and perhaps even foreseen the roadblock earlier.
  • Don’t be afraid to question the game plan, and certainly don’t assume that what you are given is correct. My most harmful assumption was assuming that because it was an intern project, someone else must have done a thorough job scoping out the specifications and creating the game plan. Full-time employees are not always given perfectly scoped projects, so it doesn’t make sense to assume that my project would be perfectly scoped either. As an intern, I had the additional handicap of being unfamiliar with the codebase. There’s no penalty for questioning the feasibility of certain approaches, and I should, by all means, question the validity of decisions being made. In the end, we’re trying to build the best product possible, which requires thinking critically and being able to back up our decisions.

People usually think of software engineering internships as opportunities to learn new technologies and to discover what it means to write production-worthy code. That’s certainly what I expected to get out of this summer, and it’s true that I did gain some exposure to writing Android apps—though in a distinctly Square manner. However, it’s going to be a long time before I forget how disappointed and frustrated I felt when my project was re-scoped so late into the game. Moving forward into the future, I’ll be sure to keep the lessons above in mind so that I never find myself in the same situation again.

Junior Spring Postmortem

This is my usual end-of-semester postmortem. I’ll try to address some of the goals I outlined at the beginning of the semester and gauge how successful or unsuccessful I was at achieving those goals.

Invest time in people.

Meets expectations.

  • Although many of my friends were occupied with their busy schedules this semester, I still managed to show my support by attending their dance performances and the like.
  • I also shared a lot of meals in the dining hall with friends. Rather than eat all my meals alone, if I felt up for having company, I made it a point to text at least one or two people to join me.
  • I’m also glad to say that through my diverse set of classes, I met some new friends, who were able to share personal experiences of theirs here and there.

Don’t sweat the small stuff.

Exceeds expectations.

  • I think I did surprisingly well with this goal. In fact, I might have gotten dangerously close to apathy. Whoops.
  • My attitude this semester was generally to do the best I could at each step of the way without stressing too much about the details.
  • For example, I used to care a lot about getting every single question correct on exams, but this semester, my strategy became to study as much as I needed to feel confident going into the exam. I carefully answered each question to the best of my ability, but I wouldn’t dwell too much on those that I wasn’t sure about. This lowered my stress levels significantly, which allowed me to move on to my next task immediately after taking an exam.

Communicate effectively.

Meets expectations.

  • My Voice and Speech for the Actor class is pretty relevant to this goal. One of the most mind-blowing discoveries I made this semester was the realization that delivery is just as important as content. In fact, some would argue delivery is more important than content. You can express two entirely different ideas by adding different vocal choices to the same sequence of words.
  • When I made this goal, I was mainly concerned with my ability to explain concepts to my 6.042 students. In the end, I think I did quite well. The part that made the biggest difference was preparation. When I looked through the problems ahead of time, I found that it was much easier to give coherent explanations on how to solve the problems. This was true even when I held my review sessions.
  • My computer systems engineering class was my first technical communication-intensive class. Although it was a lot of work, I certainly learned a lot about reading technical computer science papers and writing system critique and design papers. I certainly have lots of room for improvement, but I think I made good progress this semester.

Be willing to ditch your plans.

Exceeds expectations.

  • I had my fair share of ditching plans to study in favor of going out with friends on Friday afternoons. I still managed to complete my work somehow, and I’m glad to say that I feel just that much closer to the friends I spent more time with.
  • It’s fair to say that I pretty much “winged” it this entire semester.

Conclusion

Honestly, this past semester was probably my least favorite out of the six I have completed so far. I ended up taking a lot of classes simply to fulfill requirements, and unfortunately, I simply didn’t enjoy some of them. On the bright side, during my remaining time in school, I’ll have the freedom to take classes I’m actually interested in!

My biggest achievement this semester was teaching the inaugural CodeIt App Inventor class. There are things I’d like to change for the future, but I’m quite happy that nothing crashed and burned entirely. I have a running list of improvements to implement for next semester, and I’m looking forward to seeing how much better we can make the program within the next year.

Believe it or not, taking the acting class made me a better musician. Although I am still far from ever becoming a professional clarinetist, I now have a better sense of what it means to make “vocal choices” in the context of music. At least my chamber teacher seems to think I have improved a lot this semester 😛

Lastly, I wanted to say a few words about participating in the engineering leadership program this year. Although the leadership classes were not my favorite, taking the end-of-year cumulative quizzes made me realize just how much content we covered over the course of eight or so months. I’m by no means an expert in everything we learned, but at least I’ve had some exposure to the various concepts. As with many things in life, leadership takes time and practice to develop, but through this program I was able to soldify my foundation just a bit more.

Let’s do this

Spending a month abroad has not only opened my eyes to new perspectives and realities, but it has also helped shape the person I dream of becoming. That being said, I thought it would be a worthwhile exercise to redefine my goals for the spring semester, similar to the way I did last fall.

Backstory

If you didn’t know this already, I spent the month of January teaching computer science to Israeli and Palestinian high school students in Jerusalem and Nazareth. It was an incredible experience for me; if you’re interested in learning more, I highly recommend checking out my team’s travel blog. What you probably didn’t know was that I had a one-day layover in Brussels, Belgium.

What was different about traveling in Brussels was that I wasn’t surrounded by my friends and coworkers like I was in Jerusalem. In Belgium, I was traveling solo in a foreign country with just my high school French to get me around. (I exaggerate—most people in the tourist areas spoke English anyway.)

I spent the morning walking to all the famous attractions like Mannekin Pis, Jeanneke Pis, and Zinneke Pis.

And after that, I decided to visit the Atomium, where I met someone that made this trip a ton more memorable. When I was in line to get my ticket, I met another college student visiting Brussels for the weekend. We ended up talking the entire time we were in the Atomium and continued to hang out the rest of the day. He was unlike anyone I have ever met (and probably would ever meet) at MIT, which made learning bits and pieces from his life story all the more enjoyable for me.

img_3337

And this brings me to my first goal of the semester:

Invest time in people.

When we travel to new places, almost everyone sees the same monuments, the same museums. It is the people we meet and the unique experiences we share with them that differentiate all our trips. For me, I don’t think I’ll be able to think about Brussels without also thinking about what a great time I had making a new friend completely by chance.

Even though I probably won’t be traveling far from Boston this semester, there are obviously still people on and around campus. I did a pretty good job of making time to spend with friends last semester, and I want to continue doing so this spring. As an added bonus, I’d like to get to know more people outside my current friend group.

Don’t sweat the small stuff.

While I was abroad, my stress levels were quite low, especially in comparison to what I’m used to when I’m on campus. Instead of worrying about my own classes, I was trying to keep my students in Jerusalem and Nazareth from stressing too much about assignments and exams. Some of the brightest students I worked with also happened to be the ones who worried the most. This semester, I’d like to take my own advice and realize that I can work hard at my classes without having dangerous levels of stress from worrying about the outcome.

Communicate effectively.

Working with the year 1 computer science students was surprisingly difficult because I had to take a step back and explain concepts I take for granted like input variables and function return types. Fortunately, I got tips from my coworkers regarding how to explain certain concepts, which I then incorporated into my own explanations.

As a first-time TA this semester, I want to continue learning how to effectively communicate my ideas and explanations to students. I know it will be challenging, but I also know it will be worth it in the end.

Be willing to ditch your plans.

I had planned out my entire day in Brussels ahead of time, but when I made my new friend, I was willing to ditch my plans and just wing it. As a result, we stumbled upon the 7th Magritte Awards completely on accident.

img_3350

I’m not advocating to forgo making any plans at all, but rather I think it’s important to be open-minded and flexible, which requires a willingness to deviate from what is planned.