Funny Side Up

Looking back at 2017

December 29, 2017

2017 started off on a noisy note thanks to people blasting a LOT of crackers. So the backstreet dogs decided to howl before their standard 3AM standup meeting. Just like other people, I happened to go through ups and downs in this year. But unlike other people, I am going to label them as lessons learnt and nothing else.

Play time

I finally got to act in a play that was 80 minutes long. It was about 5 people in a line and their struggles of coming first in it. We had two shows - one in Bangalore and another in Madras under the banner of CreaShakthi, a prominent theater group in Madras. In spite of living in different continents of Bangalore, we managed to practice quite a bit before the play. All the credits go to my friends who trained me.

Musings

This year has been quite eventful as a developer -

  • Learnt the hard way - Code is written for other humans to read. With enough documentation and context, if people are unable to understand what you have tried to express in your code, you have failed.

  • Started working with React, Webpack and SASS Coming from a (non-Javascript) Python background, I found the learning curve for React to be steep. Especially wrapping around the concepts of UI as (almost) pure functions. Learning Webpack was a hard challenge, initially. I gave up in February until I tried again in July for one of my side projects. SASS was fun to learn. It enabled writing maintainable code.

  • Started working with React Native The main challenge of React Native is related to the initial setup of Android SDKs and XCode, a few months later. Since React Native is a framework based on React, it was not a steep learning curve as I expected. For people wondering if choosing React Native would speed things up development wise - it totally depends on the people involved.

  • Learnt about the whole lifecycle of product development It starts with discussing what features are required in said product. After said heated discussions it formally becomes a product requirements document which becomes my source of truth. Sometime design mocks also come through to you. After that it’s all about planning, project structuring, chunking down objectives into tasks with deadlines, setting a deadline, being accountable with regular updates to whoever you’re reporting to and delivering it before or on agreed delivery date.

  • Launched my side project web app called FootyFollowr I finally got around to solve a problem I faced ever since I graduated in 2015 - following football leagues without the fuss. This post explains it better.

  • Lesson learnt - If you’re planning on launching an idea of yours, launch a functional version first, get critical feedback and iterate on it. Chasing perfection without launching or iterating on a lauched version is useless. This applies to any idea - it may be a side project or it might related to work.

  • Code reviews are useful Code reviews are useful if the people involved are objective in their criticisms. Otherwise it’s just pain and frustration. Especially if you’re dealing with someone obsessed with single quotes, commit squashing and incomprehensible commit messages that are of no use to anybody reading it.

  • Burning out is common If you don’t know what a burnout is, Psychology Today has succintly explained it here. Usually taking a break and/or spending time with family helps you get out of one. But if the issue you’re dealing with is something deeper, then you have to address the issue before taking any break that’d be useful. If the issue is related to people who are incapable to or won’t address the issue, fortunately you’re not alone. Ignore anyone who suggests allopathic “solutions” to your problem in the pretext of solving it.

  • Context switching is hard If you’re not sure what I am talking about read this comic. If you’re still unsure, please read the reddit thread associated with said comic and this article by Joel Spolsky. Non-technical folks won’t get the pain of context switching. Heck they think it’s a joke.

  • Blogging is fun and useful After years of contemplation, I have started to blog mostly about my musings as developer here. It is fun and useful because I am documenting things that I encounter.

People

  • I recommend everybody study Dale Carnegie’s How to win friends and influence people, remember his teachings and apply it when dealing with people. This is a note to self.

  • Be objective wherever possible. I say ‘whenever possible’ because you’re dealing with beings of emotion. Objectivity won’t work every time. Try throwing objectivity at your girlfriend when she’s pissed off at you for emotional reasons and see what happens. Trust me, it’s a fun experiment.

  • Try to communicate in a crisp and concise manner devoid of any tones. I am still learning how to.

  • Be nice to people. Saying “hello”, “thank you” etc goes a long way.

  • There is a clear difference between being straightforward and being a dick. Some wise people I know made me understand the difference.

  • Avoid or minimize contact with people who think the world revolves around them.

  • Try to factor in an individual’s effort into something when giving feedback.

  • Try not to narrativize your way through everyday life. Read this Buzzfeed longread (I promise it’s neither an oxymoron nor a listicle) if you’re unsure of what I am talking about.

Books

I’ll be honest here. I am not an avid reader. I managed to read 3 books this year - Outliers by Malcom Gladwell, The Defining Decade by Meg Ryan and How to win friends and influence people by Dale Carnegie. The important thing about reading non-fiction books is to hopefully understand, analyze and apply them in your life.

As a footnote, I would like to thank everybody involved in the past year. You know who you’re.

May The Force Live Long and Prosper With You!


Santosh Venkatraman

Personal blog by Santosh Venkatraman.
Technology, life, and such.