Wednesday, April 22, 2015

Science behind solving a problem

Today me and the CEO of the company where I work were trying to solve a problem. It was a simple logical problem which was from a website. Though the problem was solved by him. I really like the approach which he used to solve the problem.

Then in the afternoon I sat to work on some problem sums from Hacker Rank. I realized that the problem sums there too have the samples (i.e. test cases) to give a better understanding of the problem.

In maths, this too may be applied. The approach which I am talking about is having three section:

  • Problem
  • Samples
  • Solution

This is basically to solve big or complex problem, because most of the time we don't get the clear idea about the problem. To reach to the solution, one should first dissect the big chunk of problem in a minute section, out of this section one should draw a sample i.e. for this input what would be the output. Say that the process through which we withdrawn the out is our hypothesis.
Thus from this assumed output and process we try to form the solution and check whether it really solves the problem, if it does then we solved it, if it doesn't then we for sure our hypothesis is wrong, take a break then revert back and come up with a new process.

This way one can surely solve a big problem without getting stuck.

Note: This post contains complete abstract theory. One can't get any help from this post unless he/she practically implement this and draws a conclusion him/her-self.

Realization of my abstract GOAL !!

Yesterday I wrote on the notice board thinking about my GOAL?
I wasn't able to find any!! This is who I am at this moment. An aimless person who don't know which way to flow.
This morning I came up with the idea of filling up my imagination with what I want to become one day. I know I try to step towards starting a business and running it, that means I thrive to become an entrepreneur providing a service or having a product. But, I don't know how to become one of them. The reason is no one neither I have made myself to visualise the path which I have to travel and giving a hint how to travel those path.

Here I am in office arrived early and took a decision to watch few videos on Pitching Idea to Angel Investors, viewing some live footage if there is which will help me to gain the knowledge about how things happen. This is how I can gain the confidence I guess to talk to or to give a presentation in front of investors.

This is how I can have the context for my thoughts rather than thinking some stupid stuff which people (most of them) do. i have also started doing that so I need to learn how to deviate my focus from there and start thinking and filling up my dreams with some real stuff which will help me in near future.

At this point of time, I have no confidence that how I can make a startup and run it successfully. But this is not going to demotivate me. I will fight with this some how and find the way out. Sometime I really do feel that I am in a deep shit. I need to come out of it. I don't see the capability in me for what I want to achieve. I need to make myself up and ready for that. I need to get matured and start designing the world which I dream of.

Let's begin again.

Tuesday, April 14, 2015

Helping Startups grow

On February 17, 2015 I went to one of the Nasscom 10000 startups event in Kolkata. It was good but not structured, pulled off at the mid of the event. Had a realization about a problem which is in India at the present. The spirit for startup or being an entrepreneur is very appreciable, the only lacking thing are the Mentors who guide to the person who wants to be an entrepreneur and make a successful startup. There might be some really good mentors but we need more numbers of them for the amount of entrepreneurs coming up each year.

Last day i.e. March 27, 2015 I was discussing with my friend Niraj about an idea that how can we help the budding entrepreneur to test their startup idea in an eight hour time frame.

I know, 8 hours is very less but will still try to accomplish that. Here goes the process:
  • First we will have a site and a form to be filled up by the people who wants to be a part of the event. They can be from schools (class 11 & 12), colleges, office employees or the person who has already started the journey.
  • We will tag each person capability like engineer, business guy, marketing domain, sales knowledge or the person with an idea.
  • Once a person register himself/herself, we will send them a mail that how we are going to co-ordinate. If the person has an idea in his mind then he may start collecting market survey which will be used on the day of the event.
The event will be once in a month and taking up the responsibility of one idea only, not more than that. The flow of the event will be like:
  • First we will discuss about the IDEA.
  • From that idea, we will write down the Problem Statement.
  • Now, validating the proposed Solution based on two questions:
    • Do the problem statement really exist?
    • Whether the solution really solves the problem?
    • From the Market Survey, finding out whether the solution is marketable?
  • Once the solution is validated, then tech guys can start to develop the Low Fidelity Prototype.
  • In the parallel way, the non-tech guys can start generating (if market survey is not done yet) or analyse the Market Survey and find the potential customers.
  • Creating Business Model.
  • Creating a 2 minute Presentation for Investors (optional, future purpose).
  • On completion of Low Fidelity Prototype, try to sell it to identified Potential Customer.
  • Draw a Conclusion from all the above process (Market Survey, Selling to Potential Customer)
    • Are the potential customer willing to pay for the low fidelity prototype?
  • Finally, writing down what would be the future plan of each individual.
We need to wrap up all these things in 8 hours and by the end of the session asking for the feedback on what are their views on this session and how can we improve it?

Let's see how we implement it and by when.

Thursday, April 9, 2015

Baby Steps Last days of completion

2015, April 9:
Last day I was suppose to deliver the BabySteps app but unfortunately I came across a bug where the Timeline and the Reminders were not being sync when internet connection is not present.
The reason was the sync column was not being set hence the unsync pending sync was not detected for both Reminders and Timeline.
When it was detected, then there was an exception in the cloud database. It was that the column values were set as null.
Along with this, there was another exception which was the reminders and timeline were saved with internet connection then null was set hence when pulled back the values were reflected in the front end.

Complete mess.

The third issue which is eating up my head is reminders are not showing where existing baby selected.

2015, April 10:
Last evening a new bug was discovered, the pending sync growth was not working properly. I thought I may have to stay at office to completely make the app bug free, but then I thought leave it. Let's not put so much stress on myself and go home. When I reached home and debugged the app, I saw the issue was in the DB end which was made by me. Just one word which was changing the whole logical flow of deletion. At last fixed it and it worked.

Today I need to check through complete application and think about possible issues which can happen and then find out the solution to fix it and it should be the solution which should not create exception on other module.

2015, April 11:
Last night I slept at Sahil's place. It was really nice and cozy. I had to complete the project by yesterday anyhow so I thought to stay at the office at night if required but Sahil asked me to come to his place. I watched Sherlock episode while having the dinner and then sat down to work to complete the app. Realised that I was close to complete it by fixing few of minor bugs. I rectified the bugs which I was aware of and then at 2 o'clock at night I got a confidence that yes everything is done I guess. Things were working properly. I took a call that yes now everything has been fixed and it's working properly. Mailed the latest version of BabySteps to business head and closed the development. I mentioned in the mail that I can't guarantee that the app will work 100% in all condition and for always, but clearly mentioned that at least I am 90% confidence that yes it's gonna work always.
Freezed the code mailed the backups of app, web services and db dump to out COO and internal team members.
Good luck and Good night.

Saturday, April 4, 2015

Coding on time and bug fixing plus documenting all of it.

This is something weird which I have discovered in me recently in few months, i.e. losing the concentration or enthusiasm in coding. Some of the reason which I can see is the thought that I don't know how am I going to develop this module by coding as because I am not aware of the library classes which is required to develop that part.

Second reason is I find difficulty to solve the bug which occurs in the code, I feel like being sick. Now the wonder is if I go away from the screen of my laptop and design the logic on papers then I will be able to track down the reason of the bug and its solution. But if I stare on the screen I can't focus my mind on coding and fixing the bug. I can't concentrate this way.

Hence, what should I do so that I remain productive. I need to think and design how I am gonna work and complete my task timely.

For the first problem which I am facing, I should get the knowledge of those library classes or read the documentation and write on a piece of paper it's functionality. It would be like summary of the whole learnings. In that way I will get the knowledge that how to build the module and won't get stuck at any point which really makes me frustrated.

The second problem, I am gonna need to do some extra work there, I need to replicate the entire module's logic and its logical dependencies on a paper and then remove the laptop from my desk to work with the paper and find the bug and write down it's possible solution on another paper. This way, I may take longer time to solve a bug, but I won't slag at least, which eventually takes longer.

These piece of paper can later go into the documentation of the project, hence I would be able to develop the module on time (solving my first problem) and removing all the potential bugs from the code (solving my second problem). Along with this, the documentation of the code will be ready too.

Voila`

Goals - long term vs short term rewards

 I guess it has started to be clear now that it's the goal which drives a person or else he or she may fall in the grip of the activitie...