My Summer Reflection — Week 8!

Life, Spontaneity, and Software

Rahul Rangnekar
Jul 24, 2017 · 5 min read

No more intros after this one. You already know a lot has happened this week, as it happens every week!

Chester Bennington’s Suicide

The lowlight of my week. I wrote a bit about him here and Niklas Goeke wrote an even more apt article, but it’s still worth saying. Chester was a good man. He struggled and sacrificed his mental health so that we could have a peace of mind that we, the young and emotionally frustrated, didn’t have to. He fought demons in hell and came back to sing about it so we could listen without fighting. There was so much pain, passion, and pure emotion in his voice. He will never get to fully realize the power and stability his music brought into our lives and the lives of future generations who find his music. But he will live on forever in our hearts and minds, whenever we’re feeling down and need someone to pick us up.

Injuries

Well, I finally figured them out. After really deloading (read: neither weightlifting nor running) this past week, my back is finally starting to heal. I have a terribly hard time just relaxing without having exercised. My day just doesn’t feel right. It’s like I’m wasting away because my muscles haven’t been pushed out of their comfort zone.

My knee was bothering me this entire week due to my 25-mile last week. Specifically, an exceptionally sore IT band on my right leg had me limping down stairs, walking gingerly while expecting pain, and distracting me from my work.

It’s scary to think that my 20- (almost 21-) year-old body isn’t infallible. That my entire life could change in one second if I go down on a deadlift with bad posture or run downhill too quickly. But it’s not going to stop me. I would rather fall apart from working too hard than atrophy from not working — I just need to find a balance between the two extremes.

So while I didn’t want to take off time from exercise, my body really needed it. Medications have helped, as has heat therapy and lots of sleep (and snoozing, unfortunately). I’ll start exercising again tomorrow. Chest day and a 3-mile run. Let’s do it.

Life

It’s all about spontaneity.

Plans somehow came together this week to:

Hike the Twin Peaks (yeah, on a bad knee)

The Real MVPs ❤

Crack open cold ones at the top

Befriend Stanford students (but Cal is still better 😁)

Walk 30K+ steps throughout San Francisco

Wait in line for half and hour to eat the best seafood of my life (friend me on Yelp!)

R&G Lounge

Wait in line for another half hour to drink no-sugar caffeinated boba

Boba Guys

Saturday was a good day. Thanks, friends ❤.

Software Engineering

I write about this a lot because there’s so much I’m still discovering.

You can’t just code something perfectly the first time and expect to never have to change it again. Code requires multiple iteration to achieve perfection (and even then, it’s not perfect). There are too many moving pieces: one programmer may use a specific style to write code, so then when another programmer looks to make modifications and improvements, it’s tough to do so (strict guidelines could help). What the client wants in the beginning may not be what the client wants the next day or the next week. Designers making the mockup/wireframes aren’t able to fully capture the flow and user pain points if they haven’t been working physically alongside the programmers. The 3 cycles of iteration I’ve encountered so far are:

(1) Hacking things together. This means just throwing code together and seeing how the design looks, visually. This includes hard-coding variables and not using conditional statements.

(2) Coding beautiful individual components. This means each page works well individually in terms of visual design and data reception/storage, but they do not work too well in an overall user flow through the application. The visual design is off between pages. The correct data isn’t available at all times. The app works well on a certain browser (Google Chrome) but breaks immediately on another one (Safari).

(3) Writing consistent code. This involves having information readily available to every component and page that needs it without making more costly requests to the backend for data. The components work well together and are visually uniform. Users won’t be able to notice a difference in design between two pages — it all looks as though it were created by the same person.

This is the part we’re at right now, where I’m trying to understand code all 5 of us wrote over the past 8 weeks. Then, I will try to create multi-purpose functions to store and access data from a centralized location. No more trying to pass unnecessary information between components if there is a data store that has all the information we need. The code will be simplified.

I don’t know what it is about simplifying code (it’s probably just a human thing), but simple, uniform, and well-commented code is beautiful. Anyone can read and understand it, which will be super necessary once our contract ends and we hand off maintenance and improvements of this project to full-time engineers.

I think I’d like to work on the backend (data stuff) a bit more to get more experience with it. Frontend development and design will always be my forte, but the best way to become the well-rounded engineer I’d like to be necessitates I work on the backend as well.

I finally started my business fraternity’s website redesign using React, and there’s so much to think about.

  1. How will I store data? (Will I need to store data?)
  2. How will I make the responsive (design it for mobile, tablet, and desktop simultaneously)?
  3. How will I make the code simple enough so that my successors can understand, modify, and improve it?
  4. Should I use simple-and-easy-to-use pre-made containers that do not afford as much stylistic freedom? Or do I develop and design the website exactly how I want it, which requires me to put in more time than I may have?

There’s so much work that should go into designing this website on paper before even writing a line of code. It’s super exciting to do it all, but it’s daunting when faced with a self-enforced deadline three weeks from now.


Rahul Rangnekar is a rising senior studying Computer Science and Economics at UC Berkeley. He is an avid athlete, programmer, foodie, and student. He strives to find push himself far beyond his comfort zone to the limits of humanity. His plans to dedicate his life to changing the world.

Rahul Rangnekar

Written by

Software Developer && Writer, UC Berkeley Computer Science & Economics graduate

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade