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.