What I love about working in startup

What I love about working in startup

2018, Aug 05    

“Now that I look back at the path I took 2 years ago, I feel special.”

Most of our parents tend to think that being in a startup is always going to be insecure and unstable. Like any other parent, mine were no different. They wanted me to pursue bigger places and larger estabilished MNCs. Oh, by the way, if you have no idea where and what I do, let me introduce myself. Am a full time Platform Production Engineer, at Hashwave Technologies Inc, Cochin. This infact was and is my first ever job.

Just imagine the pressure I would be on being put on such an important role in a company that is growing.

So what was/is my role?

As a platform developer, you are supposed to build tools and products that automate the boring stuff for the core developers in the team. This is usually done to emphasis more on the end result and let the APIs do the boring dirty works. This might seem very simple to some of you, but let me tell you, its gonna be david and goliath right from the moment you take it. I was thrilled to take up the challenge, even though I was just starting out on my professional career. I always wanted to build stuff, learn how stuffs were implemented and ofcourse write them as code.
alt text
So hell with the pressure, I went straight to the desk, switched on the PC, pulled the existing code, and soon I realised that I was in another league.

We deal with lots and lots of public data scattered across the whole internet, we collect, organise, restructure and analyse the data every single day at the office. This meant that what ever tool or product we were to ever build should primarily be scalable to such high level of distributed task management.

Hard lessons at the onset

Every developer has to fail at some point, every developer has to eventually encounter an exception.

In fact most of the time, when we write a code and it works first time, its sure that we aren’t writing the way we are supposed to, right? We at Hashwave, love Python and use it for most of our requirements. Coming in to the company as a guy who have prior knowledge in Python at the syntax level did help me read through the codebase to understand what was being done and how everything was so far implemented.
I soon realised that its easy to copy random code snippets from StackOverflow and GitHub and stitch together something that runs. But the david and goliath I mentioned earlier starts when you sit down, work the brain hard to arrive at a conclusion of what would possibly be the right way to implement something for which we can’t find a direct answer anywhere else.
alt text
You really have to understand how everything that already exists works in order to implement something on top of it.

Getting all the help I can get!

Jelling in with the cool people, I was amazed by the humility of each and every single dev, how eager were they to help me out with all the questions I had for them. I am a guy who loves to find a solution myself but when you have some experienced people around, it just a matter of asking. It was fun knowing how software development in real life looked like. In our case, there isn’t a lot of silence, instead there is music, swear words (err, lots), there’s coffee and chocolates, there’s like mini mobile gaming sessions. Amidst of all these, we wrote code!
Everyday, I got something new to learn and this is what you can expect first and foremost from a startup. There isn’t a lot of people in a typical rising startup, but there is a lot of things to get done and quickly. A very important lesson I learnt by just being with these cool people is that,

No matter where you work, that place is going to be hell if you do not let out atleast those dumbest of jokes. And that is available in plenty at Hashwave.

Perfecting the basics of python was something I locked myself into. I mean why wouldn’t someone learn this beautiful language, and that too from the guys who use it extensively? I grew more and more confident in Python, functional and OOP became second nature to me. I became even more desparate to grab all the advanced Python concepts, threading, multiprocessing, pandas, the extensive usage of Python in Machine Learning and BigData. I started writing my own projects using different stacks, you could find some of them posted over here. PostgresSQL, MongoDB, Redis, RabbitMQ, AWS Services and APIs, Dockers where all part of my never ending list of wanting to learn, and I did as much as I could.

There are some key things I observed that one can relate to being in a startup:

  1. Being responsible!

    Yes, startups are never easy and one can never be childish in decision makings. Being well aware of the job I have, I have to make sure am responsible for the work I do. More often than not, we have small teams working on a project, which means there isn’t a lot of people with same set of skills. There is very little room for error, and I had to be reliable and up for the task.

  2. Salary or Opportunity?

    Its a difficult choice to make for most of us. Yes, we all want opportunities but we also love the icing over the cake! Unfortunately this is hardly the case in most startups. You will have plenty to learn at the expense of a lower salary bar.

  3. Cannot hide!

    There is no hiding in such a small place. I mean, you are bound to commit mistakes and it will be reflected over the entire company. This is not something that I feared off, we are all human after all, and mistakes are part of how we live. But hiding them is rather unprofessional, instead trying to correct those mistakes with a much better solution boosts the morale and the confidence of your head department.

  4. Travel and Trips!

    I love to travel, and it doesn’t get any better than travelling with all your nerds. Having a bike adds a bit of spice to it, exploring the windy roads of Munnar, TamilNadu highways and the beautiful stretch of our Western Ghats. People at Hashwave have given me lots of trips to be nostalgic about. We are planning more for the future.

Taking up the leadership baton

While being at Hashwave, during the initial days I had enough room to evolve myself as a Developer, but that luxury was soon taken away when my senior devs went on for newer adventures. So it was my time to take up the challenge of taking even bigger decision. When you are a junior, its often taken for granted that not much of the decision taking really affects us. You are always guided and directed towards the milestone, and there is always a task that you can self assign for the sprints. But when you have to lead others, you take decisions on which part of the platform needs to be live before something else can run peacefully. This means, am the one who is supposed to create team milestones, design sprints, and at the same time, help the team like they took care of me when I arrived.

As you can see, there is lots of space to evolve into being in a startup and the growth is usually exponential. From a developer team of roughly around 10, we have grown to 20 since I joined. It seriously fast, challenging, and brutal. We have seen many ups and downs together. We have built ,broken and rebuilt them better, have improved our codebase, learnt new stacks, used them ourselves. We constantly improvise and summarise what is best for us and what is to be stayed away from.

RESTful Microservices have always been our primary goal, and because of this very same reason, a Restful Flask is the way we roll. Distributed systems are in general, a group of nodes interacting constantly or lazily over a set of tasks that when done by many improves the speed and reduces the load on a single node. Using Flask as a goto answer for this haven’t let us down with the decisions we made.

I am what I am today, thanks to all the opportunities that I was presented with. I am what I am today, thanks to the freedom I recieved from day 1 at Hashwave.

How has Hashwave as a startup influenced me?

I beleive its crucial for a fresher like me who comes out of college with ample amount of backlogs, to be given a stage to really show what he/she is worth. Blaiming parents for complaining over my number of backlogs isn’t something we can really do, as in their times, marks mattered everywhere. This has drastically changed over years and the time has come where marks alone doesn’t really show the capabilities of a fresher. What we learn in the core subject are all important, but isn’t something that is mandatory to be able to develop applications that gets your job done. When you are in a startup, most often the people around you is thinking the same things as you are. How to be more productive and a general desire to excel at their respective position. Beyond all the frustrations, the satisfaction of seeing something that you were a part of moving forward is unparallel. This very same atmosphere have encouraged to move forward and build amazing stuffs.
With that being said, I beleive everyone should, atleast at some point of your career, be in a startup. Here’s to many more upcoming projects at Hashwave!