Tag Archives: life

2018 Year Review

2018 is almost gone and it is time to review some of the good and some improvable events from the past year. I’ll also list down some TODOs in the end, derived from the list of things that I could’ve improved upon.

In a brief

The year started on a remote village’s railway station in Odissa, during the 2017 Jagriti Yatra. On returning from the Yatra, I was headed for some adventures in LaughGuru, work related and otherwise. I enjoyed staying at my new house in Mumbai a lot. Life was very chill until I had to depart from LaughGuru around mid of this year. After that, I spent some time learning full stack development with Python, then started applying to companies. Around mid-October, I had found a new full time job. The next two months were spent preparing for it, learning some non-tech things and just spending some good time with friends and family.

Highlights

Some things went right; planned or otherwise, and I learned a lot from them. Here are some of them from the past year.

  • Visited various places in the Jagriti Yatra, spoke with many unique individuals and made friends.
  • Took over bigger responsibilities of the codebase (and the tech team) of LaughGuru. Learned how major features are planned and implemented.
  • Learned quite a lot of advanced CSS and some SASS, implemented designs that were way out of my league.
  • Learned functional programming. Concepts were learned from Haskell, but most of the actual implementation was in Javascript.
  • Made small contributions to Freedom of the Press (and some other) repositories. Got the DigitalOcean Hacktober tee.
  • Learned backed development with Python and Flask. Learned how ORMs are used, schemas designed, app structured and tested.
  • Landed a new job, interviewed with many companies and spoke with many interesting and smart people.
  • My algorithms, data structures and computer science game in general was leveled up, thanks to the interviews.
  • Learned how overflows and overflow exploits, function calls actually work under the hood among other interesting low level stuff (thanks, Hacking – The Art of Exploitation).
  • Read some 15-20 (hard, soft and audio) books, most non-tech. Many were classics like 1984, Sapiens, The Mythical Man Month, The Selfish Gene and Pragmatic Programmer.
  • Read Applied cryptography and Serious cryptography, got a hands on with Coursera’s Cryptography 1 course by Dan Boneh, wrote ELi5s on cryptography primitives.

Mistakes and Areas To Improve

There is always room for improvement (a lot of it in my case), and in the following points, I’ll list down my own observations and some by my friends on ways to self-improvement.

  • Didn’t keep in touch well with friends and relatives.
  • Wrote very little actual code, especially in the second half of the year. Didn’t learn a new language or technology either.
  • Didn’t contribute to the open source as much as I’d have liked.
  • Didn’t implement the cryptographic primitives that I had spent a lot of time learning.
  • Spent too much time browsing reddit/youtube that could’ve been used to read books/learn something worthwhile.
  • Had a private room but didn’t set up the ideal work station that I had always wished for.
  • Didn’t workout regularly and got marginally overweight.
  • Didn’t plan the post-LaughGuru time properly, and didn’t follow whatever little plan I had religiously.
  • Got a chance to speak at a tech conference, missed it.
  • Didn’t dressed up decently, or looked like a professional.

# TODO in 2019

  • Web engineering, security engineering and open source needs to take front seats again.
  • Make active efforts to keep in touch and maintain healthy relationships with friends and relatives, be a nice-r person to be around in general.
  • Participate in opensource communities and build real, useful projects.
  • Walk, exercise and meditate daily. Wake up early.
  • Practice and get good at public speaking.
  • Save money and travel during holidays.
  • Read 24 books.
  • Put into practice the software engineering best practices that I have learned in the past year.
  • Remind myself that consistency and regular practice to become better at something beats one time wonders and luck on any day, and it is fun to be disciplined and process, systems oriented.

See you next year!

I hope you had a great year as well. I also hope you have a wonderful new year, filled with interesting problems, learnings and experiences.

Thank you for reading!

Working For Startups

I went through an interesting roller-coaster of understanding what the world of computers and the internet actually looked like in real life. Having no software engineer in my family or friends didn’t help either. The net effect was that I had no idea what actual software development looks like, or how different it would be from the online programming idealism that I was exposed to early on.

It was in the second half of my college that I really understood that most software engineering jobs are not the glorious stay-up-late-night-to-save-the-world kinds. The stay-up-late-night part might still be applicable, but for completely different (and often, less significant) reasons.

So you’re excited to do good work, and have lots of energy that you wish to put into something meaningful and worthwhile, what do you do? A couple of my friends and college acquaintances decided to start their own companies, and I found that very interesting. Some went for a masters degree in western countries, and that is also a great option. For me, I decided to go work for startups.

In this article, I’ll list some interesting aspects of working for startups which I’ve learnt in my little journey so far.

Flexibility

Flexibility is being able to bend rules to fit some edge case or just be more human. Yes, the office time is 9-5, but if it makes me more productive to work 11-7, why not? Maybe I’d like to work from home some days a week, or maybe I’ll want to work more hours this month and take a vacation in the next. Not hungry during the lunchtime? Feel free to eat your meal later when you feel like. Of course, with great flexibility comes greater need for discipline and care must be taken to not misuse the trust your employer has in you.

I personally like it when things are flexible, but you must remember that things work both ways. Your employer might also expect some degree of flexibility from you (so occasional work on the weekend, longer work hours when nearing a release etc). As in the case with you in the above paragraph, be mindful about keeping it a fair transaction for both the parties.

Culture and Bonding

The startup culture is usually very friendly and informal. In case of small startups, you know almost all the people working for the company by their first names. Small talks are common, storytelling is a good way of deepening the bonding and so is sharing your lunch. At the startups that I worked for in the past, the entire team had their lunch together (or went out to have lunch in the nearby restaurants). We celebrated together when it was someone’s birthday, had a town hall once a month where the entire team would come together and present updates on what they’ve been up to.

As a result of all of that, the atmosphere was most often very positive, and when that’s the case, one looks forward to waking up and going to the office every day. It is a win-win for everyone.

Impact and Work

The next important bit is the impact of your work. In any early-stage startup, you’re sure to find loads of opportunities to build interesting features, be responsible for major chunks of the codebase and be an integral part of the team in general. A small startup is unlikely to have funds to hire multiple people for similar roles. Hence, the job will require you to take ownership and be responsible for anything that has to do with your part of the codebase, which is an excellent stimulant to do good work.

You might also need to occasionally work outside the scope of your job (talk to users, brainstorm the exact requirements, give your input in other parts of the product/service etc). It will get intense at times (the realization that you are responsible for a particular part of the product can be intimidating in the beginning), and you’d have to remind yourself that it is all part of the experience, the adventure. Like Sigmund Freud said,

One day, in retrospect, the years of struggle will strike you as the most beautiful

I certainly remember the day when I and my manager had to work till 4 in the morning to get a prototype ready for demo due next day (technically, the same day), or the last few weeks at my previous workplace where we were pushing ourselves to deliver. I feel I’m naive enough to enjoy these experiences instead of loathing them. But if that’s really the case, I’m happy to stay this way for more such adventures, for I feel the reward outweighs whatever drawback these experiences might have had on me.

Salary and Perks

In India, tech startups pay quite decently, especially if you’re in a tech or product role. Many have no official vacation policy so you can negotiate a vacation at any time. Many aspects of the job are flexible (see flexibility above). If it is a small company, you can except fewer perks (maybe just an annual bonus). As the size of the startup goes on increasing, the perks and salary increases. Note that I’m not talking about huge multinationals here which are notorious for paying very little and overworking their employees.

While how much you should earn is very subjective, there are many websites (for example) which will give you a range if you provide them with your details (like your education, skills and city). If you’re unsure about what you should get paid, these websites can help.

But note that monetary compensation is only one of the many ways you get paid at a job. Your happiness, professional growth, the network you’re building and the value your current work has on your career in the long run are some of the other currencies that you can take into account.

Caveats

While this article might have pushed you in the direction of thinking that working at a startup is without its downsides, that’s not true. Like many things in life, it isn’t binary and definitely not a black-white choice. For example, large multinational corporations would offer you more job security than a typical early-stage startup (this is less true than it used to, as I keep hearing about ‘layoffs’ in large companies in the news, but still a point to consider).

Similarly, if your goal is to make a decent sum of money, but while living as chill a life as possible (for example, maybe your priorities are your social life, family, living in your home city, less workload and responsibilities etc), then the startup life might not be the best fit for you.

With regards to finance, it should be noted that a ‘startup’ is a company trying to make money through various means (like investor funding, sales of their product etc) and things don’t always work out as per plans. In fact, a quick web search revealed that around 75-90% of all startups fail. What this means is that salaries can get delayed, extra workload if new resources cannot be hired, low enthusiasm of the team because of the previous two and many such problems. When considering a company, look for their funding status to get an idea about how they stand financially (Crunchbase is a good place to research). Glassdoor reviews and a simple internet search can also yield a lot of information that would help you in making the right decision.

Having a short interview with the founders is a good way to get to know the long-term vision of the company and the direction things are heading. Similarly, interviewing with the manager of the team that you’ve applied to (although not always an option) is a good way to see if you’d enjoy working in their team.

In Closing

Finally, don’t take it too seriously. Remember to learn and have fun, make new friends and visit new places. One thing I can guarantee you is that almost everyone you meet will have some interesting experience and important lessons that you can use in your life. Cross-pollination of ideas from one context to another is important, and that happens not just in business meetings but over lunch and coffee breaks. I hope you found this article useful. If you wish to talk about your startup adventure, or you’re looking forward to your first, feel free to drop me an email.

Thank you for reading!

The LaughGuru Experience

So today is my last day here at LaughGuru, my first company. I might still be working with them after this point, but most of the active development would stop and the role of the tech-team will be reduced to just maintenance of existing systems and the like. My plans for the time after my dose of Laughter Guru is still away from total clarity, so won’t really write them here. What I do have some clarity on is how I spent the three quarters of my last year as, and that is what I’ll write on in this little post.

The journey to LaughGuru

Around this time last year, my final sems were in progress. I had no job in hand (that was a thing in the final year, everyone asked everyone else if they had a job. I used to called myself berozgaar, and that is what I’ll call myself from tomorrow). I had some direction, but nothing in particular. My friend Abhishek was my gateway to the world of startups, because I knew of none and planning the future wasn’t my strongest game. So borrowing his experience and startup wisdom, I made a little list of companies that I could apply to and look forward to spending some good time learning and building software and making new friends. Those were literally my only criteria when selecting the organizations that I was going to write to. One of them was LaughGuru, the company Abhishek was then working for.

I wrote an email to the co-founder of the company sometime in mid-May. The communication was initiated through Abhishek, and I was effectively an ’employee referred’ candidate. The conversation went well, and I learned that this person is also the product and engineering manager at the company. He seemed nice. I learned that I’ll be working with ReactJS and the formal interview will start sometime after my exams were done. In the meanwhile, I also spoke with other companies that I knew of then, and most of the experience was pleasant. The people I spoke to were interesting, were open to the idea of accepting a college fresher into their teams and in general open to helping. While the entire experience was intimidating, and the idea of talking about yourself and your ‘achievements’ in front of (some very successful) people was not something I was very comfortable with (but yeah, on this blog it is okay :P), in hindsight it was a great experience into the startup world. Most importantly, I learned that getting a job at some startup is very easy. Getting a good job, at some good startup? That’s the trick.

After my exams and after some really interesting adventures on Indian roads, I got back to the business of adulthood. The company gave me an assignment, which was an interactive card game. The challenging bit was that it had to be implemented in ReactJS that I had little idea about until then. I made a decent looking version of it in around 4 days and the call for interview round 1 came sometime after that. I’m not sure about the type of that interview, but there was a mix of questions, technical and the others. It lasted some two-two and a half hours, and went well. I felt comfortable with the team, and while they seemed like nice people in general, it definitely didn’t seem like a place full of elite programmers working extra hard to bring something of a dream to reality (that is how I naively imagined startups to be like).

A week later, my second on-site interview round was conducted. This time the frontend lead was present, with whom I would be working if I get selected. The second round was much more casual than the first, and not many technical questions were asked. We spoke about my personal projects a bit and then for sometime about the technical assignment. It didn’t last very long, and the casualness of round two meant either very good or very bad news. Couple of days later, I received a call from the company and they had decided to offer me a job. I was happy. We negotiated on the offer a bit, and then I bought a day’s time to think. Not just think but I also had other interviews in progress that I had to close if I was going to take the offer up. Did that and I accepted LaughGuru’s offer. The offer date was not announced then, but I was okay with it. It was supposed to be, as some people described it, my last big vacation (which turned out to not be very true, or at least not as scary as it sounds). After the interview, I waited for another two months for the job to start. I used that time to explore my deeper interests, work on some good projects, read books about my newly found interest in cryptographic engineering and spend some good time at home in general.

Joining LaughGuru – Initial Impressions

My first day at LaughGuru was filled with mixed feelings. It wasn’t all scary as was my first day at Samagra. Back then, I didn’t know what was expected of me, and if I’ll be able to live up to the expectations of my mentors and friends. This time, there was no such feeling. I knew I was hired to write Javascript, build frontends, collaborate with an even more experienced developer and hence, I had a clear idea of what I had gotten myself into. I was not a hundred percent happy, and that was because of the sinking feeling of adulthood starting, that I was into frontend engineering which wasn’t a long term interest of mine (nor did I plan on making it that) and just plain dejection that the long vacation was over and I’ll no longer be able to spend time on the things that I wanted to. All of that aside, the day went okay, and they gave me company email accounts and added me to the comms channels. It felt good.

Since I had worked a bit before this, I couldn’t help but notice the contrasts in the way both the companies and their people operated. I missed the ‘hello’s and ‘good morning’s when people came into the office everyday wearing a wide smile, lunch sharing, office hangouts and town halls, a family like environment and a CEO who actually speaks to you and hears you. On the plus side, I was working in an actual ‘tech team’ with people who knew more about most things than me, although people weren’t into tech, I could have decent technical conversations, learn about patterns and best practices and more. The ‘working in a tech startup’ dream had become a reality and I was naturally happy about it.

Given that the company wasn’t very fast paced and our manager was very considerate about deadlines, the work load was very low. Due to that, I could do quite a few things on the side, read after coming back home and the weekends were entirely free (I only had to work during the weekends during my last couple of weeks). I managed to squeeze enough time to learn Haskell, build a nice speaker, write on this blog regularly, learn applied cryptography and implement algorithms, read books and travel to some extent (Jagriti Yatra was during this time). Another perks of working for LaughGuru (or any tech startup in general) is, you get paid decently well. And when you get paid well, you can buy time with it (I got myself a nice house close to the office to ease commute), or service some of your expensive hobbies and interests (a paid VPN and email provider, a fancy laptop, lots of paperback books etc).

Last 4 Months

So after the initial month’s dust settled and things started to become natural to me, I started to enjoy my job a lot more. The work that I did (mostly writing ReactJS and lots of CSS which I had recently picked up) had become second nature to me, and as a result I could put in more thought about what I was doing, why I was doing what I was doing, asking questions and learning things from a product and even business perspective rather than just the frontend or tech perspective which I did in the initial months. Along with the work part, I was also hanging out with my office friends, seeing and learning things outside of tech, hanging out at nice places and exchanging stories. Due to a weird turn of events, the frontend lead (whom I used to report) and Abhishek (my friend who had referred me to LaughGuru) had to leave the company. It was not a very happy time for me, for I was very close with both of these people and had become very comfortable with having them around. Guess it is part of being in a professional setting, people come and go.

Things were different after that, not necessarily better or worse. I was reporting directly to the manager (also the product guy). He gave me all the product ‘gyaan’ that he had accumulated over the years, we discussed tech during work and checked out other company’s products and borrowed inspiration from them. Since I was the only person on the frontend of our product, I had to put in some thinking before jumping into code, and that was a very important lesson that I knew I needed to learn. Towards the end of my time at LaughGuru, I was doing more thinking about how to implement a feature, the data flow, handling edge cases and basic optimization than I was actually coding. I had also simultaneously read the novel ‘The Mythical Man Month’ and was realizing its importance.

Our manager was a very smart guy and quite friendly. Another one of my colleagues, the person who took care of the content, had also become a good friend. I would really miss the nice lunch and coffee conversations with these two. Both of them were math, history and science nerds, and it was always fun to listen to them talk. I went to a star gazing session with one of them, and a mid night cycling event earlier in the year and it was very cool hanging out with them. Will definitely miss that as well.

Closing the LaughGuru Chapter

While the departure of my friends was heartbreaking, I had decided to continue my work on the awesome product that we were building, especially now that I was in total control of the codebase of the frontend. It was delightful to see the frontend take shape and become usable as each day passed. We were building a lot of new features, and I felt extremely proud to be able to deliver them end to end. It was similar to my time in Samagra where I would get to build the entire projects end to end, only here I was much more mature. Because of all of this, or maybe not because of it but because of my own sluggishness, my personal studies were taking a hit. I wasn’t making much progress in that direction.

It was sometime during March that I found the time I gave to my personal studies inadequate. I also had a very clear understanding that nows the time to experiment and risk it for a dream, and it will only get harder the longer I wait. Talking to some people and thinking thoroughly about this, I told my manager that I needed time to study and hence I’d be discontinuing (at least full time) with my role as an engineer at this organization. The discussions that followed lead to this day today and all of it sailed very smoothly. Last few weeks were very busy; vacating my rented flat, working to get the product in decent shape, the nostalgia of my amazing time spent here and the anticipation for a brighter future filled with happiness. I’ll be unemployed again soon, will look for a way to sustain myself but most importantly, do something that I’ll never get tired of doing. That’s the simple end goal here.

Good Experiences & Learnings

I think working with some very smart people has been the best part of the experience. It gives you a benchmark to look up to with regards to everything, from books to humor. You learn a lot in the everyday conversations, the occasional outings and the way they work. That was one thing I couldn’t do sitting at home (I would’ve anyway written code or learned a new technology, so that’s not something particular to LaughGuru). I read some really nice books and articles thanks to my colleagues. My understanding of tech products has matured a lot during the last couple of months, and I think this will come in handy for my personal projects.

One thing that I’m proud of learning in tech is CSS. This is genuinely something that I wouldn’t have learned if not for LaughGuru. As a result, I’m writing it here. CSS is already coming in handy at many places. From fixing random things on my blog, to the other websites that I manage, to even modifying some random theme’s stylesheets found on the Internet to suit my requirements. The CSS I wrote at LaughGuru was strictly mobile responsive, was interactive and used many of the newer CSS3 semantics. Now, because of that, writing a much simpler static blog’s CSS feels quite easy (not talking about this one. Obviously). Learning CSS, maybe not the most pleasant thing, was, in hindsight, a great investment of my time.

Before joining LaughGuru, I scored myself a solid 8 out of 10 for Javascript. But then, I learned so much more here, from service workers, caching, index DB, shadow dom, es6 and 7, abstraction for Javascript components (the OO way), the list goes on and on. Now I’ll hardly score myself a 6, because I’m pretty sure the more I dig, the more there will be to learn and it is in my best interest to stay modest, haha!

I’ve made some friends here. Not just here, but at every place I’ve interacted for the job, I made a conscious effort to be nice and likable (how well that went, I can’t tell), tech can come in second. I was horrible with my social skills in junior college. Things changed a bit in engineering, but I still was around a select few, not interacting much (if at all) with the rest of the class. This time, I made it a point to speak out honestly what I thought, and not just to the few friends. It has been successful so far, and no one has called me a weirdo yet. The Jagriti Yatra really helped me in this regard, and boasted my confidence on many fronts, most important of which was that even if you take the tech out of the conversation, I can still keep the chat going and not disseminate into silence.

Useful Lessons Learned

I’ve learned some lessons during my time here at LaughGuru, some of them the hard way. I’ll start with the one I personally felt very good after learning. It was about the way of the society. For the better part of teenage and until the end of engineering, I always did whatever I did with computers for myself, for the fun and satisfaction. Then suddenly, I got into this fast paced world of startups where your career came before anything and growing professionally was of prime importance; where you become your job description, and I became a React engineer. I had almost fallen for this, taken this to be what adulthood was meant to be. But I am so glad I was wrong. And I decided to again go back to the basics, to doing things that I enjoyed doing. I don’t know how this will turn out, but at least I’ll be happy.

I learned that one has to be smart, not academic but the street smart. While people in general are nice, occasionally you’ll find someone who’s just there to use you. And that is fine while you get a fair return (rewarded in some way), but not without that. There will be people who take the word ‘resource’ a bit too literally and act that way. The important bit for me was realizing that I’m dealing with such a person and taking control of the situation. It is funny how I’ve read about the paranoid mindset all the time in the infosec world, and it seems obvious there, but I had to ‘learn’ it separately when it came to people and the world outside computers.

I learned how powerful negativity is, and how important it is to distance oneself from such forces. Negativity around you is never healthy, and in a profession where your job is to think, plan and create, negativity is a disaster for productivity.

Things To Look Forward To

While LaughGuru was a great place to be at, there are some things I really look forward to for my next gig. First, given my interests, I’ll try to find a job at a place that understands and encourages free software, and that the work I’ll be doing will be open for the world to see. ‘Open Source’ started as just a word for me, then it quickly became an idea that I’d want to be part of sometime in the distant future, and now after working for a for-profit startup and writing proprietary code (which I honestly believe is a perfectly valid thing to do), I realized how integral had the idea of writing free software become to me. For this reason, I’ll try to find a place where I’ll fit ideologically just as well as technically and socially.

I look forward to working for an organization where the chief(s) officers are in touch with the employees and have conversations with them regularly. I feel this is important to the entire growth feedback loop, growth for the organization as well as the employee. This, unfortunately, never happened at LaughGuru. I saw the CEO for the first time three months into my time at his company and as far as I can remember, we never had a meaningful conversation during my time there. Maybe I could’ve tried more, or maybe I need to work on my communication skills more. I’m sure there must’ve been good reasons for that (the obvious one being I simply wasn’t important enough). Whatever might’ve been the reason, that’s past, and for the future I’ll see to it that I have a conversation with the chiefs of the organization before joining and get to know them (I realize that it isn’t feasible for even the slightly larger organizations, let alone the medium to big ones, but I think it is a good personal objective to have).

Money is the root of many evils that happen in an organization. Delayed salaries, pending bonuses, unmet commitments regarding finances and many such things lead to decay of trust between an employee and employer, however good the other relations are, and that is really unfortunate. One thing I’ve realized here is that speaking out the truth upfront rather than giving away excuse after excuse can save quite a few things to both the parties. Going out of business will inevitably happen to many, if not most companies. It is how the situation is handled by the employee and the employer that makes the difference. And I look forward to seeing better ways of that being done.

In Closing

There’s so much more to write, but one can never fully express eight good months of adventures, learning and building through a little blog post, can one? I hope you found this article interesting. If you have any comments, feel free to write them to me at my email address. Thank you for reading.

Hum Developers Kab Banenge?

I was sitting at my office desk as usual, besides the window enjoying the cool breeze of post 6 pm friday evening of a summer day, 7 floors in the sky, at our office. We’re now 2 regulars in the office, and while it does get a little boring at times, there are also times when I appreciate the silence, the sound of wind through the little window on my left, the occasional rattling of helicopters passing by. That desk and that window are really interesting, my gateway to a different world where I just sit 15 minutes at a stretch staring at a distant building, the lights on its terrace blinking harmoniously. The occasional helicopter, and the people inside of it. Where must they be heading? Are they appreciating the fact that they’re inside that bird that countless individuals like me adore from the ground. I don’t know.

And just like that, I get to think about my own self. My thoughts four and a half years ago, in the first year of my college. There was so much excitement of getting into computers formally, finally. Now I could actually read interesting stuff off the Internet all day long and call it studying, without raising my mum’s eyebrows. I had a friend with whom I could share my technical side, which wasn’t much then, to be honest. Programming was the new thing and we knew we needed to learn this wizardry. Why and how we never thought of. There wasn’t a lot of knowledge within, not even speaking of wisdom, startups were unheard of, and life’s goals were defined in terms of what to learn next and ‘let’s see if we can solve this interesting puzzle with code’. It just was this raw energy that we had then, a kind of purity towards learning, the way opposite magnetic poles attract; no stray intentions.

It always brings a smile on my face thinking of those days. That purity towards the thing that you love, not asking why or if it will help me figure things out in the ‘big picture’ or will it look good on my portfolio, just that desire to go do it, to learn that absurd thing that has been obsolete for half a decade; why, because why not. I clearly, very clearly remember the happiness I felt after learning enough C to write basic programs, enough Python to flaunt my first ‘full stack’ web application. I learnt much later what full stack was, and even later that it was a job title. It was nice being able to make those things. We did whatever we thought was cool at that moment, anything that would tickle our curiosity.

In the midst of all of this, there was always a question I remember asking myself and my friend: ‘Hum developers kab banenge?’ All we knew was that a ‘software developer’ gets paid to do the kind of things that we do as hobbies. We had seen in total one software developer by then. He was Asa Dotzler from Mozilla. He was a nice person, but then we saw him as God because he could write code, you know. We kept on asking the question, but then sometime later, we stopped. Life got busy, everyone dashed towards their personal goals, the bigger picture and all that adulthood stuff. Suddenly, all of us were identified as developers, got hired as software engineers and started working for a monthly paycheck.

We were there before we even knew we were, and things aren’t much different on this side of the fence. Only now, you have to work whether or not you feel like working, your hobbies come in secondary to your professional goals and your life starts to revolve around this weird hierarchy of going from bottom of this growth ladder towards the top, occasionally changing the ladder. I guess that was all part of the package that we never bothered to explore properly. Or perhaps all of this is the optional bit that we took because everyone else was taking it, and maybe, with some courage we can get rid of this extra weight slowing us down and be those balls of raw energy that we were in college, being the ‘developers’ that we always wanted to be. I don’t know which one it is, but I guess we’ll eventually find out.

Thank you for reading.

Recommended: Career Advice – Moxie Marlinspike

Home

I’ve not stayed away from home during college to experience the hostel life, so I never learnt what it was like to go back home after a long time, the ‘ghar ja raha hu’ feeling. What makes one house our home and the other just a place we live in. Why do we get attached to some walls and a roof more than the others that we stay in. What makes some immaterial things more dear to us than others. I was randomly wondering about these little things in the past couple of weeks. Why?

Around 3 months ago, I moved away from home, to this new place. It eased my commute to work. But it was still just a place away from home where I was residing, paying rent in return, not really home. How does one turn such a shelter into something we call home? What makes a home? From my experience so far at this place, the memories are what gives everything a personal touch. Four walls and a roof don’t make a place home. The people visiting you, the moments lived in it, both good and bad, are what creates memories out of nothing. These memories get tied to these four walls. The way data gets tied to a unique entity via a foreign key, our memories get tied to a place, time, to people, to emotions. That’s why college is special. Not for what you gain there, but it is a place for many of our most memorable events.

I had my college friends come over yesterday. There was a lot of chaos as one would expect with a bunch of loud people packed into my little apartment. There were jokes, laughter, swearing, music, planning, silence and lots of other things that we associate with life. Similarly, I have my parents over today. My life becomes very comfortable when Mom and Dad come over as I get good food and snacks right in my hands all day long. Not something I’m very proud of, before you point it out.

Once you have regular visitors to your place, you try to keep it decently clean, organized and keep essential food handy. It isn’t just a place you reside any more, it is your home. You take care of it the same way you care for your real home. You wear a smile when you leave the house, you greet the neighbours and the security guard. Slowly, the brain starts to think of it as that comfy place you go to after a tiring day, home.

I miss my real home, but not as much as I would have if I had not accepted this as my second home. Mom asked me yesterday, ‘What will you do after the contract for this house expires?’, and I didn’t have an answer. Sometimes, things feel so permanent that we don’t think about being without them, and then suddenly, just at the thought of having to let something go, you realize the amount of love you have for it. That finally brings me to this thing of getting attached to non living things. ‘How could you name your things?’ I get asked for personifying my laptop, my car and many other things that are dear to me. I haven’t got the slightest regret for my affection towards these ‘things’, after all, they’ve made me, just like the real people have.

Thank you for reading.

Jagriti Yatra 2017

Jagriti Yatra is a 15-day long, national train journey that will take you 8000 kilometers across the length and breadth of India, to understand and build the India of smaller towns and villages through enterprise. – https://www.jagritiyatra.com/about

Jagriti means awakening, and Yatra means journey. This yatra has been the most tangent I’ve been in my life, the longest I’ve travelled in a train, the longest I’ve been away from keyboard since mom and dad bought me my first computer back when I was 16, the most diverse group of people I’ve met, the best conversations I had that were not about technology and an event that I’d not forget for the rest of my life.

This yatra is described by many as a spiritual experience, a starting place for a lifelong entrepreneurial journey, a place where you get exposed to the problems that exist in the country that you can solve with enterprise, a place to find your co-founders. That was true for many people around me, so it must apply to others as well. For me personally, jagriti yatra was simply a yatra, a journey through some remote parts of the country, getting out of the routine and doing something new, making new friends with no added motivations. That was all I had wished the yatra to be, and it turned out to be mostly true.

I cannot write about the entire Yatra. That would be too long and tedious (and very boring to read). Instead, I’ve chosen a few aspects of the Yatra that I felt were important to write about. These need not be things that I liked or disliked, just things that stayed on the back of my mind

Train

The train was our home for 15 days. The boogies were divided into various parts; 2 for bathrooms, 4 for male and 4 for female participants, 2 for chair cars where we had group sessions/talks, 2 were for staff and a pantry. Each participant boogie had 9 compartment, each compartment had 7 people forming a cohort. These 7 people were supposed to be from diverse backgrounds except for their vertical of interest (Education, healthcare, agriculture etc). Two such cohorts, one male and one female formed a group for discussions and presentations.

While theoretically we were supposed to be from diverse backgrounds, 6 out of the 7 members of my cohorts were engineers, 3 CS majors, 2 Civil and one mechanical. How’s that for some diversity? Although engineers that we were, we were quite diverse from individual interest perspective. That made things nice, for there were people who liked to doodle, someone who was into cryptocurrency, someone who worked with startups and mentored them, someone who worked with the government, someone who worked for school children and taught them practical science. From the inside, we were very diverse, with lots of stories that we could tell each other about our own professions and personalities.

The train was entirely branded with Jagriti Yatra posters, but not to the extent that it would grab eye-balls (it was still the same blue express train that you see running on tracks). Most of the times, people would mistake it for a regular train and bang on the locked doors and the guards would explain them that this is a special train. Except for the first day, the train reached on time at all our destinations, which is a nice feat for the railways, especially considering this to be a special train (read: low priority train).

Not that we didn’t have problems. A spring broke here, a bathroom boogie replacement there, toilets clogging up, no water for entire days and many such problems, but hey, this was part of the experience and most people took it in the spirit of the Yatra. The feeling was that if you cannot adjust to little things like these, then don’t even bother thinking about improving education and healthcare in rural India.

People

Imagine being thrown in a room filled with 500 strangers for 15 days. It is uncomfortable to think, but then imagine that most of those 500 people are there to make new friends, to listen to your stories and share their own. That’s how the Yatra felt. Everyone was unassuming, open minded and honest. It was like everyone was given a mask to start afresh in a virtual society and they made good use of that chance by being all that they had learnt from their 20-25 years of experience dealing with people. It was great to see everyone being nice; honest yet at the same time caring and sensitive.

All of us opened up a lot during these 15 days. My personal goal was to talk to people with whom I don’t share a lot of opinions, and understand the same from their point of view. It was a good exercise, and in spite of all the differences that we had, when it was time for fun, we enjoyed together.

The staff was nice as well. It didn’t feel very commercial, and people seemed to do what they did because they loved it, and not for the paycheck (we were told that a huge chunk of the staff was working for free as volunteers). Even they were open to having random conversations, laughing together and guiding when needed. It all felt like a mobile family for those 15 days.

Food

This was a surprise. Although the food was cooked in the train’s pantry, it was really very good. The food was served in nice white dishes, bowls with steel spoons. The food came in abundance, and honestly, I didn’t spend a single rupee on food for the entire 15 days on the train (except for when we wanted to try some local food out of enthusiasm), and all of the very little expenditure that happened was on the gifts that I bought for family.

To give you an idea about how much food and how many times it was served, here’s a quick timeline.

  • Just after the wakeup call, around 6:30-7:30, tea/coffee would come
  • After some time, around 8:00-9:00 breakfast would be served, either on train or on the platform. Breakfast would include bread, butter, jam, namkeens and a unique dish everyday like upma, sheera, poha, uttappa, idli etc, tea and coffee.
  • Lunch time was around 13:00-14:00, either at the role model place (the place that we were visiting on that particular day) or on train, and it used to be a proper mean with roti/puri, bhaji, salad, rice, dal/kadhi, pickle, papad, a sweet dish etc.
  • Snacks used to be served anytime between 16:30-19, and it used to typically include things like chivda, namkeens, gathiyas, kachoris, samosa and tea/coffee.
  • Dinner time used to be around 21:00-23:00, and it used to be similar to the lunch.
  • haldi milk used to be served after dinner, post 23:00, and it used to come along with warm water (almost all of us were suffering from cold and cough).

I honestly believe this was the best food I’ll ever have on an Indian express train. It was tasty, served warm and had dry fruits in it. Damn.

Formal Activities – BGT & Role Model Presentation

It wasn’t just a joy ride around the country (although I would’ve liked it even then). Right from day 1, we were made to think towards establishing a virtual enterprise in the rural India that would solve a problem in the domain of our choosing. This was the BGT (Biz Gyaan Tree) exercise. Although it didn’t help us form a nice startup or establish an idea that would win the first prize, it did help the team to come close, become good friends and have some great moments amongst ourselves.

The second was a role model presentation (role model is a name of the person/organization at the location we visit; for example, in Delhi we visited Goonj (Goonj.org). So Goonj was the role model in Delhi). We had to present about the role model that we were assigned in a creative way. That involved some team work, creative thinking, drawing and paining on the chart papers and some public speaking. Like BGT, we didn’t do it to win, but used it as an opportunity to spend more time with group members.

At the time, one wishes all of this was optional, but then one must remember that the premise of this yatra was building India through enterprise. So that was that, and in hindsight, it was all fun.

Locations and Role Models

The role models visits were the essence of the Yatra. Remove that and the yatra is literally just a group tour around the country. Role models were either people or organizations who did something substantial in the social sector, provided employment, did charity or anything that helps build the nation. Here’s a list of locations and their corresponding role models for this year.

  • Mumbai [Maharashtra] – Dabbawala
  • Kanyakumari [Tamil Nadu] – Vivekanand Memorial
  • Madurai [Tamil Nadu] – Arvind Eye Care Hospital
  • Banglore [Karnataka] – IISc and Jagriti Enterprise Mela
  • Sri City [Andra Pradesh] – Industrial zone
  • Vizag [Andra Pradesh] – Akshaypatra Foundation
  • Ganjam [Orissa] – Gram Vikas
  • Nalanda [Bihar] – Nalanda University
  • Deoria [Uttar Pradesh] – Biz Gyaan Tree exercise
  • Delhi [Delhi] – Rashtrapati Bhavan and Goonj
  • Tilonia [Rajasthan] – Barefoot College
  • Ahmedabad [Gujrat] – Sabarmati Ashram

Pretty interesting list, right? Now that I get to reflect upon it, it was a long journey, but on the train it felt like a few days. The joy was similar to that of going back to school.

To be honest, I was excited for only a couple of those as I didn’t even know what most of the organizations did or where they were located geographically. But once you visit them, they get imprinted on the back of your minds. And all of them had a unique way of working and sustaining which was worth noting. The common denominator was that they weren’t profit first organizations, rather they were all people first. I believe that was the reason that they were on this list. They weren’t all NGOs. The change makers are bringing a change whilst generating good revenue, which is encouraging.

Personal Learnings

And finally we’re down to what really matters: What did I learn from the Yatra.

On the first day at Mumbai, I was really surprised to find so many nice people around. I became friends with around 15 odd people even before getting on the train. None of them were from my cohort. When I met the people of my cohort, I was a little dejected. They weren’t like the people I’d met the entire day. They were silent, spoke little and the atmosphere wasn’t exactly friendly. The facilitator sounded like a serious person. I tried to keep an open mind and reminded myself that this is the kind of adjusting exercise that I was looking forward to. Like it or hate it, this was my everything for the next 15 days.

I wont get into what happened in between, but by the latter half of the journey, that cohort turned out to be very nice, very different from what I’d envisioned on the first day; honest, caring and friendly. Each one of them had a story, they had something that made them tick, they had dreams and they were in many ways just like me. I remember the last day on train, I was happy that I was returning back to my comfy home, but in many ways I was sad to let these people go. The kind of bonding you develop when you’re ‘struggling’ together is very different from the other kinds of bonding. I learned that if you try and keep an open mind, you can adjust with just about everyone and understand them. That people are very different from what they appear on the surface and you can never tell about the book by its cover.

Another key learning has been that you cannot solve a problem without knowing the problem itself. It seems obvious when I put it up that way, but how many of us just get our daily ‘national problem report’ from the mainstream news and think about the things that need to be done to solve those problems and wonder why no one is doing it? Almost all of us. But the problems don’t become clear until one moves to their origin. I heard and spoke to numerous people who left their comfortable city life at the peak of their careers and settled in villages. These people asked the villagers what their problems were and what the solution to those problems were. Often, the person facing the problem knows the solution to it as well, but isn’t in a position to implement it.

I learned that it is very easy to sit in a restaurant and talk about the magic bullet that will solve the problem of education in the country for 20 minutes and feel good about being a up-to-date citizen, but the people who’re actually trying to improve it never really stop thinking about it. It becomes their life, and it is a really unglamorous job, not something you do and land on the cover of TIME. We tend to get bored by a job in a couple of months and question ourselves, ‘Am I making a difference?’ while these people have been working on the same thing for past four to five decades. The dedication is real, and I learned what the word passion towards your profession meant from these people.

That illiteracy doesn’t mean lack of knowledge and wisdom. I’ve heard it enough times during the yatra from numerous influential people that I’ll have to believe it. Often times, educated people are sent to villages to solve the problems there, only to end up not understanding the problem or implementing a wrong solution. Classic case of what happens with many government policies. This happens because we’re not used to listening to people who’re less educated than us. We try to give them our solution for their own problem. As Anshu Gupta, founder of Goonj.org exclaimed, kya aukaad hai tumhari?

In closing

I think the yatra is a wonderful experience. I didn’t plan to learn a lot there, just make friends and have a good time, but I did learn. I learned what cannot be taught in textbooks and communicated via blog posts. And you can have equivalent experience if you go travel places, talk to villagers and spark a conversation with random people on the bus, but if that doesn’t sound like your strongest game, give this Yatra a try!

A Programmer Or A Problem Solver?

Normally when we think of programming, we think of problem solving. Similarly, if someone works in the field of computers and say they love problem solving, we immediately assume that they work with some computer code. Programming is almost synonymous with problem solving, in that it involves breaking down complex looking problems into simple mini problems that can be easily taken care of. Where they might differ, in my opinion, is finding the right problems to solve.

The inspiration for this post came from a recent blog post that I read (embarrassed to admit I’m not able to find that post found it!) about the mistakes developers make. One of the mistakes was confusing between the love for problem solving and programming. That was a little “ahaa!” moment for me. It gave me a moment to reflect on my own likes and interests. What is it that excites me? Is it the idea of building the next big thing? Maybe. Is it spending countless hours writing code that does what has been done a million times before, just so that you can fall in love with your code all over again? Yes, that’s sounds about right.

I liked to call myself a problem solver, but I’m not even close to being one. I didn’t feel like there was a distinction. But there definitely is, now that I’ve met some people in my field who are ‘problem solvers’ first. I don’t have Github projects that reflect a problem solver. What you’d rather find are spot on examples of reinventing the wheel (a dozen chat/social network networks), attempts to write the most beautiful code that I can (regardless of whether it works or not), over-engineering to say the least, projects made entirely for trying out new languages, new frameworks, new IDEs, literally. I’m somewhat embarrassed to admit that the current project I’m working on is a chat backend as well.

You get the pattern. It isn’t hard to understand that I love programming. I love writing code regardless of the problem in hand. I see people building things that are changing the world, the way we live, the way we communicate, the way we travel and I appreciate them all. We need people like that. They are on the frontiers of the information age that programmers like me and many of you are riding on. It is here we start to see the difference between someone who is a programmer first and someone who is a problem solver first. I believe it is a matter of preference, experience, and the level and kind of exposure one has in the budding years in tech.

I had a couple of “tech friends” right from my junior college some 4 years ago, people with whom I could discuss programming and tech in general. Most of my collaborated projects were with these people, and we always worked on something because we enjoyed it, purely out of our “passion” for computers. We spoke about new languages, technological advancements and people in tech in our free time. We never thought any of this would help us get a good job or any project would appear on our CVs. That is one reason why technologies and frameworks are scattered all over my blog, instead of quality projects that people actually use in one particular technology that I could’ve been good at.

So that’s what I’ve learnt recently, and wished to share here. I (or anyone) won’t know which way is the right way to go, or if there is one, and it doesn’t really matter much as long as you enjoy what you’re doing and make a decent sum of money doing it. I admire people who are passionate about programming as well as problem solving, and the world would really be incomplete without either one. Thank you for reading.

Guide To Driving On Indian roads

I’m a newbie at driving. In fact, I didn’t know how to drive until November 2016, when my dad got us Zacky, a Tata Zest petrol sedan. In the last 6 months, I drove her around 7000 kms total, 2400 of which were in the last 10 days, during my post engineering vacation trip where we took Zacky to my native place, Karnataka.

So I returned home yesterday, after driving the last 740-ish km stretch from Karwar > Ankola > Hubballi > Belagavi > Kolhapur > Satara > Pune > Panvel and joyful it was as was the entire journey.

Yesterday, while driving, I thought of writing a mini guide/mythbuster on the practical aspects of driving on Indian roads, highways and mudways alike, from a rookie’s perspective and this is it. Needless to say, in case you have any suggestions or corrections, feel free to use the comments section below.

1. People will overtake you from left. And you do the same.

If you are learning how to drive from the Internet, chances are, you might be tempted to follow this overtake-only-from-right rule. 3 minutes on any Indian highway are enough to tell you otherwise. Heavy vehicles will hog the rightmost lanes leaving you with no choice but to overtake from the left. Rest assured, after a while, it feels normal.

2. Speedlimit is like the Unicorn

Everyone knows about it but no one actually believes in it. Hence even if you follow the speedlimit, people will come honking from behind. Make sure you don’t overspeed beyond what you can control and slow down appropriately during night/rains. Large vehicles/SUVs/tourist vehicles are usually not very considerate of other vehicles and their safety on the road (Stereotyping = probably. Personal observation = yes). Maintain safe distance and let them pass.

3. Horn is your best friend

Dogs, cows, donkeys, people with ear phones on, people chatting on phones, people who are too cool to look before crossing the roads, people who are drunk are just some categories of obstacles you’ll encounter on roads. Honking, while not peaceful, might just prevent a mishap.

4. The vehicle in front of you WILL cut into your lane

There’s no one in front. Just a pickup truck in the middle lane at some distance. No reason for it to switch lanes. You approach it from the right crusing at over 100kmph. Just 30 meters to go and it starts to slide into your lane. He doesn’t have a rear view mirror, so not even his fault, right? You hit the brakes hard and send everything in your car flying.

Don’t let that happen. Honk. Blink. Do whatever it takes but make sure the person you’re about to pass realizes you’re coming.

5. Heavy vehicle drivers are the best and the worst people on roads

You’ll be terrified by how rough these heavy vehicle drivers drive. A small touch by a bus is good enough to send you rolling down the ghat. Most don’t have proper indicators, tail lamps or even rear view mirrors. ST bus drivers rally on the roads. Patience? LOL.

Those are one half. The other half of these heavy vehicles are driven by some of the best drivers you’ll see. They indicate every time. They will let you pass if possible, or warn you when not. And the most important trait. They’re patient. They would not cut into your lane at random. They’re proper drivers who understand what it is like to be at the receiving end of road rage.

6. Low beams?

I read that one should use low beam when driving slow and high beam when fast and when there’s no one in front of you or in the opposite lane. You might know that as well. Do people actually do that? Yes, half of them do. But the other half don’t resulting in times when you’re totally blinded by oncoming traffic. Literally. Try to blink to get their attention. Some might heed. Others might not. While there’s not much you can do about it, go slow, keep an eye on the lane boundaries and vehicles in front and behind you, so that you don’t bump into anybody.

7. Red means stop. Orange means slow down. Green means look and go.

Just because the signal shows green does not mean you can close your eyes and pass. Look out for that late guru trying to sneak out, rickshaw and taxi walas for whom signals don’t apply, ST buses and simply ignorant pedestrians. Whatever happens, do the right thing here. The car 20 meters behind you might remind you 10 seconds before the light turns green that you should start crawling, by continuously honking. Don’t get intimidated by it, and of course, don’t do it yourself.

8. Allow pedestrians to cross

It is very easy to forget pedestrians when one is driving, not letting them pass over zebra crossings, dangerously cutting them in traffic etc. A little bump of your one plus tonne car is all it takes to seriously injure them. What’s more? To save a couple of seconds, you might actually cause a lot of harm to both people and machine, causing longer delay, unnecessary fights, even loss of life. Show patience to people on foot/bicycles.

Also, several villages and towns (and their people) are notorious for being lawless and getting violent if you are involved in a mishap regardless of wrong doer. Your best policy is to drive cautiously in rural places.

9. Be extra careful on empty/low traffic two way roads and blind corners

It is possible that a heavy vehicle just down the curve is merrily driving in between the road, overtaking another heavy vehicle or a joyous motorcyclist cornering at high speeds drifting in the wrong lane. Low traffic can retard your reaction time and it is very easy to misjudge the safe speed for a corner. A lot of these factors make blind corners an usual spot for unfortunate events. Have that on the back of your mind and slow down on unsuspecting blind corners.

10. Concrete vs Asphalt roads

Our highways are a mix of asphalt and concrete roads. The grip levels change a lot as you move from asphalt to concrete, so does the noise and your overall confidence in turns. Get used to of the concrete roads before going into a high speed corner as the tires are more likely to lose traction on concrete roads, especially in rains.

11. Check your tires and tire pressure before hitting the road

No matter what you drive and how many safety check boxes your ride ticks. In the end, it is how the rubber mates with the road that makes the most difference. Unsurprisingly, mishaps involving tire burst are mostly due to worn out or under or over inflated tires. Make sure you check the recommended pressure for your particular tires (on driver side door panel) and check the pressure of each tire. It hardly takes 5 minutes, but can be the difference between a safe ride home and a blowout in the middle of the road, possible loss of control. Not to mention the better fuel economy you get by running on recommended pressure figures. The thread depth is an important factor for safe grip levels in rainy driving conditions.

12. Most motorists are nice

Just another (arguable) subjective observation; most people on roads, just like you and me, are good people who simply want to get to their destination safely, without worries. Most are willing to help if they spot anybody in trouble. Most follow the traffic rules, drive safely and won’t even come to your notice. But it is for the few outlaws due to whom you have to assume everyone on the road is crazy. That way, you can keep yourself safe. Not only that, knowing that most people are good citizens, just like you, will make it easier for you to ask for help or even help someone in need on the roads.

13. Music is nice, but loud music can exhaust you faster and retard your reaction time

The title says it all. It is proven that loud music retards your reaction time, which is critical when dealing with an emergency. At 120kmph, a delay of 1 second in reaction time can mean traveling 100 extra feet down the road, which can be the difference between stopping at a safe distance from an emergency and becoming part of one. Also, the calmer and quieter the music, the longer you can stay fresh and continue driving, as opposed to taking frequent brakes every 50 kilometers or so due to exhaustion of your mental resources.

14. Finally, in midst of all this, don’t forget to enjoy the journey

While crossing the ghats, it was raining heavily in some places. Once I even had to slow down to almost crawling speed due to the heavy rains and water saturating on the sides of the road. Although it was a pretty tensed situation, I think I was pretty lucky to have witnessed that cloudburst there, which made all vehicles turn on their hazard lights and look like fireflies on the streets, surrounding mountains covered with thick clouds and cool breeze all around.

What I really want to say is, the roads will never be without surprises, but keep an open mind and you and your passengers will be greeted with the best vibes that mother nature has to offer. Safety first, but make sure not to miss out on the beautiful journey because of the few negatives. I have already fallen in love with the roads of India, and man! they’re addictive. Once you get the taste of long driving your beautiful ride through the various terrains this country has to offer, there’s no going back. Here’s our Zacky in all her glory.

That’s all for this little guide. Thank you for reading!

8/8th Engineer

Yesterday, it was my Parallel & Distributed Systems exam. The last of the 4 subjects for this semester, which itself was last of the 8 semester we have in an Engineering degree course. Which is to say that Engineering is finally over. I am pretty dense about most things outside of computers, but even for someone like me, realization of the fact that a very cheerful phase of my life has now come to an end, it was a bit difficult to take in.

I remember the first day of my engineering, the same way I remember the first day of my junior college. Both my junior college and degree college were far away from home (60kms each side), and I selected them purposely. I liked cities from a very tender age, and selecting a college in a city quenched that thirst for me. Cities are quite fascinating, especially due to the fact that I come from a sub-suburban town that closed its shops by 8 at night. On my first day, I was clueless, just like others. I didn’t know that in each semester we were going to have different subjects. Like most others, I had not one friend. I looked up my name on a board and went to the classroom it mentioned. I made my first friend in the Chemistry lab on the 11th floor, and that guy stayed my best friend throughout college, which is nice. Made quite a few friends in Engineering, as opposed to junior college, which is a huge improvement in my social skills.

Love for technology

I choose computer engineering (after realizing that computer science is not an option for the academically dull kids), and I got the college seat in the third and final round of admissions. If that wouldn’t have happened, I had planned for BSc, because I wanted to study Physics as well. During admissions, I knew computers was my first preference. I had already been into computers from 2-3 years then. Didn’t know how to write any code as such, but I did have a good idea of what I’m getting myself into, given my interests in Netsec from sometime then. I knew stuff back then, and I remember the cyber wars time. I wanted to be more than a guy who used exploits and php shells, I wanted to be the one writing them (Arjun, thank you for inspiring). I was so crazy about cybersec back then, that I managed to get promoted with grace marks in 11th standard.

One of the most interesting difference between junior college and engineering was that in junior college, people (except Kunal, who liked tech) around me thought I was crazy, because talking about webservers, exploits and sql injection was something that would turn me on. On the other hand, things were different in Engineering. I had a friend or two who used to understand what I’m up to, were equally fanatics about something in computers, and shared the same passion for programming and solving problems. Suddenly, I wasn’t weird. Thanks to landing in the right place, where I think I belonged.

I got into blogging just the day after my last HSC exam if I remember well. The original plan was to make money, but the end result was that it taught me a lot about tech in general. It taught me things related to web hosting, numerous CMSs that I used back then, I played with my first VPS around this time. And to match the OS on the VPS, I started using CentOS on my PC too. It was then I learnt how multiple sites get hosted from a single IP address. How SEO is done and how affiliate marketing hows. None of that actually made me any money, but the foundation it gave me was later used when I later got into web development. It is a great feeling when you’re writing PHP code and then suddenly you exclaim, “Oh, so this is how SQL injection actually works. Cool!”. Although nothing can beat the feeling of writing AJAX for the first time to retrieve data from a remote REST endpoint. I was so excited, I even called my mom to show it to her. “Arre waah, chaan! (Oh wow, nice)” is all she said. Never mind.

I got into competitive programming in my first year. We were taught C, and I and my friend had just discovered Hacker Earth back then through our seniors. Not much later, I realized that I can save myself a lot of efforts if I knew how to code a second language. Thus came Python. I did some competitive coding with it, but my interest quickly shifted to learning Django, which was this cool thing that looked like a CMS but wasn’t a CMS. People called it a “framework”. Now what on earth was that? And what is this MVC thing? Can’t we all stick to simpler things like writing SQL queries in PHP files and echoing HTML though them? Why need all this complexity.

But wrong I was all this time. Models had to be separated from views and then you can focus more on what mattered, and less on struggling with the structure of your own code. During my time with C and Python, I wrote a some comparison articles because it was fascinating to me how different both these technologies were.

Then I fell in love PHP, and then C++ which was when I tried getting back to competitive programming. I had given Debian Wheezy a try then. Soon I read about the launch of Jessie. I came across this meet-up announcement about Jessie’s launch party. I attended it, which was the first meet-up that I had attended. Although I went there purely for the Debian launch party and getting my hands on the ISO, the outcome was that I got to hear people talk about various other things, real web development being one of them, and it was amazing.

In 3rd year, we had web technologies as a subject. It was when I got to learn Javascript properly. I knew it from as long as I had used the Internet, but never really understood it, or the power it had. I learned it in depth, and found a new love. I used Js to write most of my projects, and I really owe a lot of my current skills to that little decision of not just learning Js, but understanding it under the hood.

Towards the second half of the 3rd year, I got involved with Project Lumos, another life changing experience for me. Then things got pretty busy, and final year came and went without much happening from a technological learnings point of view.

Travel

I traveled a lot more than what I was known for before engineering. I watched movies in theaters, went to good restaurants, had fun with nice people who actually cared about me. I even went on my first trip with friends out of state, which was in Uttarakhand. I have learned tonnes of social skills through some of these people around me, and during my time in Delhi, I learned how much do these social skills and people skills matter. In fact, your technical skills sometimes come second to these people skills. “In a way, life is what but the relationships you build along the way”, a person I respect a lot said once.

Misc

Apart from that, I got to speak a lot in front of people, in class, during Project Lumos meetings, in the committee that I was a part of, etc. Since I never spoke publicly, I had a fear of doing it. I got over it during engineering, which is a great thing. Expressing your thoughts in clear words in a skill very few actually have, and while I’m not there yet, I’ve made a start towards it. I learned to stay organized, use notes, reminders and other stuff. I have tried to actively help my friends and classmates with their stuff. Helping others have given me great deal of satisfaction, and while it may not translate to anything, it surely helped me get my own foundations and concepts right, which is a byproduct of teaching.

Most people and their opinion don’t matter. I realized that there’s a very little group of people around you whom you should never let down. Don’t waste time impressing the rest. I learnt I’m missing on some good experiences by always caring about what people might think. Once I let go of it, life was even more colorful.

A great deal of all of this people skills have come from the book by Dale Carnegie, How to win friends and influence people. A no BS book that I would totally recommend to each and every person reading this, irrespective of your field of work, given all of us share the same Human abstract class.

What I could’ve done better

Now that I know what mattered more than most other things, I think if I were to take up admission in engineering again, there are a few things I would do differently. I think a lot of unnecessary emphasis is given to academic excellence when actually, it was the least that mattered. I think I’ve spent a lot of time studying for exams when I could’ve studied to gain actual practical knowledge by building projects. I mean, reading from those question papers, studying answers from the point of view of scoring marks is time that went down the drain. Optimizing your time best to get the essence of the subject, some practical exposure as well as a score just enough to keep you going, that is what I would do the next time.

I would talk to more people, send more emails. I had always been hesitant to talk to people from startups and organizations that I loved. I felt I was under-qualified for most of the things people do in tech. Although, not properly qualified either, but if you just assume that and don’t reach out to people, you’ll never move to the next level. For starters, suppose you learnt Python this semester, and you are confident enough to work on a project. Start contacting people and ask them if you have a way to contribute to their project. That way, you can get a part time role over the semester vacation at a good place, and get to do things professionally.

Make open source contributions. If you don’t feel like working as an intern, contribute to open source. I’m amazed at how much I overestimated open source and thought that getting into it is too big a deal. No it isn’t. If you know what you’re doing, just pick up a tool that you use (say Chromium), look into their bug trackers and write a patch for a bug that you can understand and solve. Then compare it to the accepted patch. When I did it, I was surprised to find that the solution that I wrote (which I thought was ‘unprofessional, inefficient and too simple’) was exactly what the solution which was accepted was. The message here is, you’re not as stupid as you might think, and the people who build all the amazing stuff that you can’t live without a single day were not any smarter than you are. Know basic Javascript, Python or C++? Any one? Great, you can officially ‘author’ some part of the Mozilla Firefox web browser. Know how to write a language fluently? You can write documentation for them. It’s that easy.

Make connections. Connections are just people you know, whom you can call up and ask for a favor. Your friend is your hangouts connection. Similarly, get to know people in various walks of life, in different fields. It is a win win in most cases for you and your connection. Share with them any opportunity that you find useful, and they would do the same. Plus, it is almost always the case that they know more about something than you do, and can guide you on that. They can validate your skills both professionally and personally. Connections are also useful when you want to make new connections. Some of your connections would be a lot ahead of you in professional life. They might know more about most things than you. Have them as mentors. You’ll avoid some common mistakes and save time if you have a good mentor.

Eat healthy and workout regularly. I’ve realized it a little late, but you only have one body that you have to live with for the next 40, 50, 60 or 70 years. And it isn’t indestructible. There are some irreversible changes taking place while you’re sitting there reading this. Your spine takes a lot of beating when you sit, and if you’re a computer person who sits most of the day in front of his or her PC, then the spine cries. Make sure you have a right posture when working. I know people who use a Rs. 70,000 laptop but use a crappy chair as it ‘doesn’t matter’. It does, so let’s stop taking our bodies for granted. Eat less sugary food and workout regularly, if not daily. If nothing, go for a 5km walk everyday. You’ll feel much better when you come back to work. We programmers are very keen to watch log files, warning and error messages. But we often ignore the warning messages our body tries to give us, and by the time you encounter your first error, it is irreversible. Don’t let that happen.

Drink plenty of water. I know, very trivial. But surprising how many of my fellow engineers and programmers forget to drink water when they’re working on some interesting problem. Sure, work hard, but keep a water bottle close to you and have a sip every now and then. It will benefit in ways you can’t even imagine. Make it a habit. I have done it, and it really helps keep you hydrated and fresh.

Learn to judge people. Not everyone who might ask you for a favor might actually deserve it. During our projects, I have helped all kinds of people. Later when I used to think, not all of them were into learning how to do things. Most of them just wanted me to get their work done for them. People will befriend you when they see a merit in it, that’s just life. Don’t be ignorant of it. If you still choose to help, cheers!

Finally

I hope some of you will find something to learn from my experiences. I’ve made mistakes and I’ve learnt from some. There’s still a lot to learn, so many amazing people to meet and places to explore. One life, too short and too long the way you see it. I’ve been privileged and fortunate enough to have so many positive experiences during my time in engineering. As an engineer, I feel the learning phase of my life would never end, but this particular one, of formal education, has ended here, at least for now. Life would turn off the ‘easy’ level switch for me, and that’s scary enough. But at the same time, new opportunities, freedom to take major decisions and new responsibilities will become part of my life in this new phase. It should be pretty interesting.

So this little thread to the 18 years of education my parents gave me, the people I met and became friends with and to all the amazing experiences, learnings and setbacks, that molded me into the person I am today. Thank you for reading.

Trek To Brahmatal (Uttarakhand)

Hello! It has been more than a month since I shared something here. Although there has not been much, I’d like to share my experiences of the trip I went on last month. It was one of those trips that I’d remember for a very long time.

Since our first trek in the Sayadri ranges in January 2016, I and my friends had this big wish to go on a Himalayan trek. Finally, in October last year, we decided that Bramhatal would be it. (Not embedding maps because it was too much effort. Also, heavy images ahead. May take some time to load. Patience!)

There were a few reasons for this. Firstly, it was an easy trek. The only real challenge was a bit of high altitude sickness, but it was marginal. Secondly, it was the same group that we went to Sandhan Valley with, so there was this trust factor. Thirdly, it was scheduled for January, hence there was no chance it would coincide with our term tests.

We started preparing for the trek from November, regularly running 5kms to increase our stamina. We also booked our train tickets, to and fro. Then the long wait began. It was my first trip out with friends and I was really excited. We literally spoke about it every single day in college, all 4 of us. We were scheduled to depart on 21st January to Delhi. The last week was the most difficult. I couldn’t sleep at night, for the thoughts of what was about to come kept me awake. I’m sure Ankit, Manasi and Jyotirmay felt the same. Last two days were reserved for shopping and packing. Not much though, since we were not going to bath for the next 10 days anyway!

Saturday 21st – The journey to Lohajung

Finally the day came, it was a Saturday. I took my 13kg backpack and left for Thane where all four of us met. We had to leave for Delhi that day. So we left for Hazrat Nizamuddin from Mumbai Central. The journey was a bit hectic, for our seats were separate and the train was crowded with unreserved passengers. But the views outside the train made up for that. Really enjoyed the transition from a comfortable 27 degree Celsius in Mumbai to a chillish 15 something in Delhi. We got down by 7 in the evening, and then by the Metro, we headed for the ISBT bus station, from where we were to board a bus for Kathgodam, Uttarakand. Had some Palak Paneer at the bus stand and boarded the bus. The bus journey was comfortable enough, but the cold wasn’t. By the time we reached Kathgodam at 6 in the morning, the temperature had already dropped below 10. The coldest I had ever experienced. I was shivering like I never did before. Talking was not possible because my facial muscles had just refused to coordinate.

Just 20 meters away from where the bus stopped, we met other guys from our trek. There was a jeep awaiting us, which would take us from Kathgodam to Lohajung (our base village), a little town in the Chamoli district of Uttarakhand, a ten hour drive through the ghats, terrifying and nauseating. Trust me when I say this, it was a very beautiful town. Look just about anywhere and you’d have a wallpaper like scenery, old houses, beautiful people and snow covered peaks in the background. And it was cold. I believe it was 6-7 degrees when we reached there. Walking barefoot on the floor wasn’t possible. The water would numb your hands if you dared to touch it, so washing face was out of question right away. We were welcomed with hot Pakodas and tea. The food there was surprisingly good. Great Dal, Rotis and Sabzi. Rice and a sweet dish at the end. So our trek leader briefed us about the next day. We had to start early in the morning to reach the Bekatal lake by afternoon. We were introduced to the kitchen staff who would carry all the heavy equipments on Donkeys (Kachhars) and make us good food throughout the trek. Also, we had a local guide, Ranjeet dada, who, in spite of being a Redhat Linux certified professional, preferred to be around the mountains rather than Linux boxes. A really cool guy who loved to talk and tell stories. He runs his own ISP in the Van village of Chamoli, and had quite a lot of knowledge about networking and *nix in general. We packed our stuff, and went to bed early.

Tuesday 24th – Trek to Bekatal

We started at 8 am, after having a good breakfast. It was through the town, walking on mud roads to the top. It was not difficult, but exhausting. We continued to walk for some 6 hours that day, taking short breaks every 5-10 minutes, occasionally taking long breaks. We had to ascend some 1000-1500 feet on that day, on a trail of some 5kms. We reached the camp by 2 and were given Rhododendron juice. It was too good, and addictive too. Drank some three glasses of it before I had to stop myself from refilling the fourth time. Then it was lunch and we rested in our tents for a while then. In the evening, we went to explore the Bekatal frozen lake nearby. Seeing a frozen lake is a magical experience. It was just like the one Bear Grylls features on his show ‘Man vs Wild’. It was awesome!

At night, we lit up a bonfire for some heat and had fun around it, all of us. We were served dinner around it (which we insisted since we didn’t want to go away from fire). The food was great and guess what, they made us dessert at 9,500 feet. It was fruit custard, and it was delicious. We chit chatted around the fire after dinner and at around 10, we were served ‘hot drinks’. No, it wasn’t alcohol, but Bournvita. It was delicious.

Wednesday 25th – Trek to Bramhatal

We started early again. Had a good shit (seriously, a challenge in the woods ;P), brushed my teeth and had breakfast. Left for Bramhatal. After an even more exhausting day, we reached Bramhatal. The routine was the same on reaching, juice, lunch, rest, tea and then we set out to explore Bramhatal which was some 15 minutes away from the camp. It was beautiful. The night was similar, with bonfire and good food. The next day was summit day.

Thursday 26th – Summit day

It was the Republic Day. We did our morning rituals and gathered near the India Hikes campers. We hoisted the Tricolor, sang the national anthem and took some photographs. We were some 25-30 people together, and it definitely was the most memorable Republic day mornings ever. We then started the walk to the summit. It was at 12,500 feet, and the thinness of air was evident. It was not the longest walk, but definitely the most tiring. We kept walking and at around 12, we reached the summit. It was the top of a mountain, snow covered, surrounded by grasslands on three sides and Himalayan ranges on the fourth. One can see Mt. Trisul (22,000 feet) and Nanda Gunti (19,000 feet) from the summit. It was a clear day and we made full use of it. We hoisted the tricolor again on the summit and took pictures.

The descend took some two hours, and we reached the camp by 3. The rest of the day was just usual stuff and the next day was back to basecamp, Lohajung. It would have not been any more interesting from here, if it wasn’t for the sudden snowfall that started when we were about to go to bed. The temperature dropped to 2 degrees and we were all dancing, when it began to snow. We ran into our tents and slept, assuming we were covered!

The Tricolor on the summit. Nanda Gunti on the left and Trisul on the right!

Friday 27th – Back to Lohajung

So that night, at around 1.30, the tent broke down. The weight of the snow on top of it was too much for it to handle, and it fell on our faces. The ice cold surface of the tent was touching my forehead and nose, but I only woke up at 5 am. My reflex was to call for help, believing that the tent has got buried under the snow. Thankfully it wasn’t exactly buried, but just broken. We spent the next two hours holding the tent with one hand and trying to sleep. It was terrifying!

Daylight made its way in, and we tried to open the tent to see the situation outside. It was seriously frightening, for the grasslands and plains that we saw a day ago had all vanished and replaced by dead white snow. It was snowing so heavily that it took me an additional 15 minutes to gather courage to move out of the tent to take a dump. That was the most daring shit I had ever taken; a foot of snow, chilly winds and -6 degrees. It was nature at its best and worst, simultaneously.

I spoke to our leader and casually told, ‘No way we’re going to descend in this weather, right?’. He said we have to, no options. We cannot survive here. My heart sank. He told us to get ready in 30 minutes and we did. Slowly, gathering courage, we started walking in that foot deep snow, following the footsteps of the person in front. Snow was getting collected on our shoulders and bags and it felt great, but also added weight and had to be shaken off. It was probably the bravest thing I had ever done, walking on the slopes with snow hitting my face on one side but maintaining the balance so that I don’t slip and go sliding all the way down a thousand feet. It was for real.

This went on and on for the next 7-8 hours, which were quite easily the toughest 8 hours of my life, slipping and falling multiple times and thinking ‘I don’t want to die here’ to myself. My shoes, socks and pants were all wet, and my hands had become numb due to the snow. Our faces had turned blue. Finally, we reached the base camp at about 4. I took a bath since I was feeling very, very dirty. It was a bad decision, because after that I was shivering so much that my mouth just lost any coordination that was left. It was all kha-kha-kha-khaana ki-ki-kither ha-ha-hai. It was fun. I slept for some time then. I woke up to a great non veg dinner, Gulab Jamuns and more Bournvita.

After dinner, the entire team had a good chat. We were given ‘High Altitude Trekkers’ badge for completing the trek, and ranked amongst ourselves who performed the best on the trek. Then it was story time by Ranjeet dada who shared some of his experiences and the lifestyle of the people in that area. Amazing.

Saturday 28th – Back to Kathgodam

The next morning, we had some Maggie and black tea, took some group pictures with the staff. They packed out bags on the top of a similar jeep and we set out for Kathgodam. It was better this time, since I enjoyed the scenery and didn’t feel nauseated. Just and hour before reaching, we learned that our train got canceled. We took the public transport buses, and started our journey back to Delhi. We reached Delhi at around 2 in the morning.

Sunday 29th – A day in Delhi

Knowing the reputation of Delhi, we decided to spend the night at Hazrat Nizamuddin railway station, so we took a cab from ISBT to Hazrat Nizamuddin and spent some time there, in the waiting room, which was already filled up to the brim. Here we got a chance to freshen up for the upcoming day, so we used it. At around 6 am, we kept our huge backpacks in the cloak rooms, taking the essentials with us, we started our Delhi expedition. We explored a lot of good places that day; Connaught Place, Guru Bangla Sahib, Raj Path, Jan Path, Rapid Metro (Gurgaon), JNU campus (just outside), Hauz Khas village, Chandni Chawk, Red Fort and then back to Hazrat Nizamuddin, in that order. We boarded the Deheradun express that night and reached Mumbai early morning on Tuesday.

Seriously, what a trip!