Posts

How to be a good startup

This is something I wrote in Aug 2016 when I was looking for a job at a startup, having already turned down working at Oracle. Read the Zoo of Jobs for context!

-

This post assumes the startup has an idea of what they're building, has about 10-50 employees and is not necessarily funded yet. Most of these have been written with a tech startup in mind, but apply to businesses/established companies/institutions as well.

I've been job hunting for the last month or so now, and have spent a good deal of time looking for internships last winter, summer, and the year before that. As of now, I don't have the liberty to pick and choose which startup's idea I like, and so have been going through hundreds of websites. Here's a list of things I realized during this period:

All a company is a group of people who have come together to create a product or perform a service.
State clearly what you do
In the simplest of words, explain to me like I'm 5 what you do. All those fancy…

16 Years of Irrelevant Education

Having finally settled into the post-undergrad work life, I realize how irrelevant my education was!
You are hireable only if you add value to your employer. Since humankind is a social animal and most jobs function with constant interaction between people, you should know how to be a resourceful participant in a group and work constructively in a team.

Every job can be thought of as a project. Whether it's construction, plumbing, computer engineering, teaching, or nursing. You start with a common objective and collectively work your way towards a goal. Independent of scale, every job is a project.

Now, a project consists of being able to plan, negotiate, execute under strict deadlines and constantly collaborate with people.

Since the primary role of education is to prepare the student to face the real world once they are out of their parents' protection, why don't we focus enough on working in groups? This is why Kindergarten was the best; the reason pre-school exists is…

LEGO and Software Engineering

Image
I'm very fortunate to have grown up playing with LEGO. I credit my ability to patiently work on a problem for long hours to all my childhood days creating Lego train tracks, castles, and cities with Lego Minifigures walking around. It also taught me the complexity of going from a vague idea in your mind to creating a real physical model, and all the re-thinking and re-working involved.

For example, I remember I wanted to create an infinity-shaped train track where the cross-tracks would be at different levels - some sort of a bridge. I ended up using a small table to elevate the track.
A track similar to this, except raising one of the tracks at the intersection.
It all starts with an idea and a vague picture of how the final model will look. You look at how many Lego pieces you have and whether you have the key resources you'll need. You then start building and as you face challenges along the way you learn to re-route to overcome obstacles. Once you're done with a basic…

The Security Function

We lost a OnePlus3T dev phone at work earlier this month. This upset me a lot, but later when I reached home and performed my customary routine of locking my cycle to the side railing, I questioned myself if I really have to go through the pain of locking the bicycle every single day - it's added effort and maybe even for no use. Much of security feels that way - 99% of the times nothing will happen, but the day it does you'll curse yourself for not being more careful. I tried coming up with a model to justify whether the daily time spent on securing these valuables was worth it. Here's a simple mathematical equation.
 (Securing Justified) =   Price (precious_object)   - Price (things_bought_to_keep_it_safe)   - [ Value (daily_time_spent_to_keep_it_safe) x (#_of_days_from_purchase_till_theft) ] 

If >> 0, yes, you should definitely go through the pain of securing your valuable everyday. If ~ 0, you could probably do without securing it. The amount of time you spend securin…

Blog update & A Writer's Dilemma

Image
I haven't written in a whole month and a half, courtesy my 70 hour work week, and weekends away at my friends'. I have a huge list of things I'd like to write about scribbled[1]in my Google Keep - there are things from over a year ago now that I haven't published, and wish I did for they seem less relevant to me now.
For example, I made a list of qualities I wished to see in a Professor at University and never ended up publishing - but now that's in the past and what seems more relevant to my life at this moment is writing about how startups should function and a list of qualities I'd like to see in my work mentor. This is what I call a writer's dilemma. What were once matters of consequence[2] make little sense to write about now, and never will I come back to the time when these things hold as much relevance as they did at the time they were thought of and noted.

Anyway, to rid myself of the guilt of not having written in so long, I spent the morning of …

Java the Right Way

For over 3 years, I've been writing code in Java, and have worked on several projects which have grown to a moderately large number of classes. Apart from learning the syntax from a book in Grade 11/12, I've never formally learned how to write quality readable and maintainable code. 
The current project I am working on spans in all directions; it's an event based system, there is a lot of input coming from simultaneously running threads, there's Java-C interaction, there are multiple communication channels over different network mediums, there's an entire high-speed display rendering mechanism, and a lot more. The size of the project is sky rocketing and without a structured architecture, the code will not be maintainable in the foreseeable future.
So, just as any other engineer would do, I've bought myself a copy of trusty Effective Java to formally learn how to write code that scales. 
Before I read this book, here's as much my 3 years of experience in J…

The Maptia Manifesto

Image
To future self.
If you haven't woken up to places like these, experienced the storm without a shelter for escape, felt the fear of camping in the middle of nowhere, talked to people who don't communicate in the same language as yours, overpowered the voice in your head that makes you think before you act by the time you're 30, please buy a one way ticket and find your way to a life worth living.