Notes from a product conference

Recently I attended a product conference and here are my findings from several sessions that I attended. The sessions that I attended included:

  1. Networking & how to build visibility

  2. Relation building

  3. Communication components


Below mentioned are the sections and the bits of advice that we got. This blog is in no way a complete picture of my experience but remnants of what I learnt throughout the session. And it gives some tips that experienced Product managers would love to share with new Product managers. So read on! 


  1. Books to read:

    1. Art of negotiation

    2. Influence the psychology of Persusasion by Robert R Cioldini

  2. To stay motivated use this motto

    1. OMT: One more thing, One more time

  3. For promotion

    1. Act the role

    2. Train your juniors

    3. Invest in yourself

    4. Step up & say yes if possible

    5. Be an infinite learner

    6. Even if you are 60% ready, go and ask for promotion.

    7. Be a leader everyday if not then yearly once.

  4. Importance of networking:

    1. 85% of job reqs are filled by networking.

  5. For every communication have:

    1. Objectives

    2. Key Results

  6. For vision start defining the narratives by asking these questions:

    1. What are the problems?

    2. What are the opportunities?

  7. While execution: 

    1. Ensure customer satisfaction curve while implementation of the product.

  8. How to build Visibility:

    1. Look at the industry

    2. Have a connection in Sales

    3. Balance between execution & strategy

    4. Work on relationship building

    5. Build your Linkedin Public Profile by starting to like & comment.



Power of enthusiasm

Enthusiasm moves the world - By Aurthur Balfour


Don't you think that this is true? Have you ever encountered a school kid, who is very enthusiastic about an upcoming sports day? An employee who is keen to give that presentation to the client. A team leader, who is looking forward to releasing the product to the public. Do you know what is common in all the situations? Enthusiasm!! Yes it is Enthusiasm. 



There are millions of incidents when we have encountered successful people. They all are beaming with enthusiasm. Enthusiasm inspires them to work harder and longer. It inspires them to produce better results. It inspires them to deliver high quality results. It is very important to be enthusiastic about life events be it work related or personal. Personally I have seen the differences in the results of my projects, which I am enthusiastic about. If I am excited about a project usually the results are positive. Positive results in turn inspires me to go an extra mile to achieve more. More inspiration I get, the more challenges I am willing to take. I will cite a few incidences of my friends, who delivered exceptional results when they were enthusiastic about the project.


A friend of mine working on a very important work project. She was excited about the project right from the start. Excitement filled her with enthusiasm. She managed to keep a positive thinking her friend throughout the project and delivered good results. This gave here a chance to outshine and show her exceptional qualities. Because of this project's results she was made the leader of upcoming important projects. This filled her with more enthusiasm. They managed to deliver good results in every milestone of the project, which gave her more inspiration. Off course there were hiccups during the process but enthusiasm and positivity remained her best friends. After looking at her success I couldn't help but ask her how she kept her eyes on the goal throughout all these projects. She answered 'Enthusiasm and Positive thinking were key contributors to her success'. On that day I learned that it is important to do any work with enthusiasm so that we can get inspiration to move forward.


Another friend of mine was overweight and she needed to shed 20 pounds to achieve her target weight. She considered it as a fun project and created a plan to lose extra pounds. Most important of all she started the project with enthusiasm and positive thinking. Within 3 months of dedication and hard work, she achieved the results. She used to walk for 3 miles daily and used to take stairs wherever necessary. She cut down on sugar and oily foods. With 3 months of persistence, she achieved her normal weight. Upon discussing her success she told me that she started this weight loss project with great enthusiasm. She didn't complain and made sure she made positive thinking her habit. Losing 2 pounds initially helped her with the inspiration she needed. She told herself 'If I can lose 2 pounds, I can easily lose 20 pounds within a couple of months'. Finally you all know the result that she lost the weight and has continued to maintain it.



Last but not the least. Another friend of mine was suffering from depression because he failed in 4 courses. In next semester, he had 6 additional courses making it a total of 10 courses for a semester. This is a huge number for one semester. He initially felt sad that he did clear all the courses at once. Instead of staying depressed, he paired up with his friends who flunked in the same subjects. He studied with them and formed a study group. These actions created enthusiasm amongst him and his friends. He too started the courses on a highly positive note. Eventually he was able to finish the coursework well ahead of exams. During examination it was a matter of revising the important stuff and appearing for the exam. The result: He cleared all 10 subjects in one go. From next semester onwards he just had to take care of his usual 5 to 6 courses. Upon discussing with him the strategy of his great success. He revealed that he remained excited throughout the semester about all 10 courses. And successfully clearing midterms of all courses gave him the inspiration he needed to clear the final exams.


So it is greatly important to feel enthusiastic about anything in life. This helps us to achieve the results we need and inspires us to take greater challenges in life. So if you find yourself in a tough situation, don't let it take you down. Tackle it with enthusiasm and eventually you will get the inspiration and result you need. Stay positive and enthusiasm will follow.


Take risks!

How many times have you heard this phrase ‘Take risks!’ ? If you have heard it at least twice till now then chances are high that you are living in your comfort zone. People around you want you to take some risks and grow emotionally. However, if you are one of those who take risks wherever you can then thumbs up for you. Just a word of caution to you ‘Take calculated risks’. The last thing you want to do is to lose it all because of uncalculated risks. Personally I have felt the heat of uncalculated risks. Never ever do it intentionally. For those, who are scared to take a small bit of risk; this article is for you.

 

Why are you afraid of taking risks? Fear? Well if fear is your answer then let me tell you this. People who take risks are as fearful as you. However, they still go ahead and take the calculated risk. If you are one of those who don’t want to step out of your comfort zone then think again. People who let go of opportunities(risks) usually are sad with their decisions if they really wanted to take that opportunity. If you have analyzed the situation and could live with the worst possible outcome then go ahead and take that risk. Let’s take a simple example; you are unhappy in your current job and what to switch the job. If you are unhappy then find a new job. Finding a new job is completely different from actually going there and working. What will you lose if you interview for that new job? Lose a couple of hours or days. And in return you would have practiced for interviews and ideally would have found another great job.

 

Let's say you did well in the interview, got the offer, and the new company is looking forward to your joining. Then you deciding about joining the new company is analyzing the risk. If the benefits of a new company outweigh the disadvantages of your current job then you can consider joining them. Actually joining them might be a little riskier since your experience can go in either way - good or bad. If you think about it in a positive manner then you at least have a job, which is probably paying you better than previous, and probably has better chances of learning and improvements. So take it as a challenge and stick to your solution. You will feel uncomfortable for a couple of months initially and if things go well(which usually do) then you will have a better experience. Your appetite for risk will increase. You will be able to take challenging projects at work, which will reflect in a good manner in your profile.

 

Risk taking and stepping out of your comfort zone helps you to grow as an individual. You are no longer having that boxed mentality. You are actually living the life you deserve. Studies have proven that people whose risk appetite is large are usually very successful. So if you have to taste tremendous success at least once in your life then be ready to take calculated risks.

 

Risk taking might not always have a positive outcome. Things can go wrong and you might get stressed. You might fail and not like the results. However, failing is a part of risk taking. If you are taking risk for the first time and you fail at it then you will not be very scared while taking risk for the second time. More risks you take, better are your chances of finding success quickly. You will be prone to risk taking. It's like building the stamina of risk taking ability.

 

Risk taking will help you tackle the uncertainty in a better manner. If you are taking more risks, chances are higher that you are venturing into an unknown territory. This increases your knowledge and helps you learn how to handle unknown situations. If you have a better capability of handling unknown things, you surely will take more risks increasing your chances of success.

 

So go ahead and take those risks. Make sure to do the calculations and be ready to live with the worst possible outcome if things go wrong. At the end you will be glad that you took those risks. Best of luck!


Stop talking and start taking action

Quit talking and began doing. - Walt Disney


You will see so many people talking about so many things but achieving none or very little. These are the most frustrated people. If you have to succeed at something then start taking action and do something about your goals. I personally have met so many people, who talk about the current situation and how unhappy they are. However, I have never seen many of them do something about changing their situation. If you are unhappy about a particular thing then take steps to change it. Find out if you have to work for it. If yes, create an action plan and start implementing it.


Here are some examples of how some people took action and improved their life:

A friend of mine was unhappy with how her manager was treating her. She informed her that she was not comfortable with her communication style. Her manager was taken aback for a while but she quickly improved her communication style. My friend was happier and it improved her life. Her manager is now happy with her work and encourages her to take more challenges.


Another friend of mine hates to go to work. She started working on some side projects in her spare time in evenings and on weekends. She used to paint on fabric and glass. Eventually, she had so many paintings that she started selling them to her friends and family. She still works but if for any reason she is out of work, she will be able to survive herself. Working at a job is an option for her now and not a necessity and she doesn’t feel frustrated. Her action oriented nature helped her to lead a happy life.


A very close friend of mine was not able to take care of her health due to high workload. She figured out why her work load was high. She tweaked her schedule a bit and achieved tremendous results. She could now finish all her work on time leaving her fresh in the evening for other personal tasks. She figured out that she is very active in the morning and used that time to do the critical tasks and in the afternoon she attended meetings, replied to emails, etc. This helped her balance mind intensive activities with non-intensive activities. Now she doesn’t get burnt out by doing only mind intensive activities all day long. Or doesn’t get bored because of non-mind intensive activities. Balance helped find her the solution. All she did was to create a plan and execute it. Action helped her find a balance.


If you read the above examples, you will realize that it is very important to take action and be mindful of what is bothering you and what is helping you. Eventually, it will help us achieve better results and be happy.


Importance of having a job

In my personal life I have come across so many people who hated their jobs. Some twenty-somethings were waiting for retirement! I mean seriously, they were! The problem with most people in our generation is lack of patience. Many people don't realize that there are a lot of advantages to having a job and they should consider themselves lucky. Well I am not trying to say that people without a job are unlucky. And I am not preaching that if you don't land a job then you should stress out. 



In this article I will specify a few benefits of having a job so that you can appreciate having it instead of feeling sad for yourself. The benefits include:


  1. Steady income

Believe it or not, whatever small amount of salary you get, it is still a positive cash-flow. If your job is not producing enough income to make the ends meet then you can consider switching to another job. You can use the experience of your current job to negotiate a higher salary. Either way you are getting a positive cash-flow through your salary so at least consider liking your job and planning on climbing up the ladder. You will feel happy.


  1. Opportunities to meet new people

Once you start working, it is very easy to meet new people in the initial months or years if your organization is big. However, the opportunities keep coming in the following years also. You will meet current and potential clients, new employees, etc. 

Your network increases and your communication & other skills will improve. 


  1. Opportunities to learn new skills or enhance existing ones

The world is dynamic these days so you have to quickly learn new skills to be ahead of the game. Sharpening your current skills is also one of a good way to stay at the top of the game. Many employers allow their employees to take some specialized job related training. Most of them reimburses the costs. If you learn new skills, it will help you to stay ahead in the job market also. It will reduce boredom too. 

And sometimes the projects are challenging that require you acquire new technical or soft skills to get it done. 


  1. Opportunities to work on new ideas and developments

Most employers want their employees to work on new ideas and developments. Your chances are greater that you will get opportunities to work in newer areas if your organization is grower. This not only enhances your skills set but also adds new dimensions to your thinking and personality. And enables us to work well with people since most projects require people to work in a team and get the projects done. 



  1. Opportunities to get recognition

If you do a good job and your employer recognizes a job well done then there are greater chances of monetary and other gains. You can expect a bigger bonus, a salary increase, or some perks like additional vacation or other goodies.


I hope I have given you enough reasons to start liking your job. Best of luck and I hope you find peace in your job soon.


How to love the job you have?

Are you frustrated with your job? Do you want to quit? If the answer to any of these questions is yes then it is quite possible that you don’t love or as a matter of fact even just like your job. Trust me 95% people don’t like their jobs let alone love it. So what do those 5% of people do so that they love their job. Well the answer is ‘They just deal with the situations a little differently’. 


They are not extraordinary but they have experimented enough to figure out what works for them and what doesn’t. Most of these people have one of the following qualities, which make them love their jobs. Qualities include positive attitude, persistence, having multiple interests in life, confidence, funny, ability to see the lighter side of life. If you have one of these qualities, it will be easier to love a job you have. However, there are few things that you can do if you want to love your job right away. Here are those few things:


  1. Find Positive People at your workplace:

It is very easy to find 1 or 2 positive people in any workplace. If you make friends with them, it will be easier for you to sail through the office day. If you hang out with a lot of complainers then chances are that you will get frustrated pretty soon. So find those positive people and meet them for lunch, or coffee, or a walk. Spending time with them will work wonders for your mood and you will feel happy to go to work everyday. You will look forward to going to work to meet your friends and spend some good time with them. If you could find few such people, everyday you will be screaming ‘I love my job!’. 


  1. Doing a job well

It is easier for anyone to figure out if they are doing a good job. You know when you are doing a bad job. Your subconscious mind will register it. You will be scared that if someone identifies that if you have done a crappy job; they will get back to you. So to have your peace of mind, always do a job well. This will give you an opportunity to sharpen your skills too.


  1. Helping others

If you know something at your workplace that others are unaware of, help other people with them. This way you will get recognition and people will respect you more.


  1. Appreciating others

If someone in the team does a great job, be mature enough to appreciate them. This way people will think that you are not jealous of others, and they will not consider you as a threat to them. They will respect you and might become your good friends.


  1. Avoid negative people

Every workplace has some negative people. If possible try to stay away from them. They will surely not be happy with one or the other thing at the workplace. They will feed the same garbage to your mind. In turn they will make you hate your workplace and your job.


  1. Take less stress

If you have noticed that we perform better if we are not under a lot of stress. So don’t obsess about your work or Mondays. Just treat your work days like any other. Don’t restrict your fun to your weekends and just work on weekdays. If you need to feel free to finish your work on the weekends. This way you might save time to finish a complicated task without much distractions. And could be able to leave work early on weekdays to compensate for the additional work you did over the weekend. 


I hope these tips helped you and will help you in some way. Be sure to follow these tips if you liked them. Till then enjoy the job :)


Find a string using binary search

Description: 

  1. Binary search searches either the left side or right side of the array depending on the search element. 
  2. The elements in the input array are always sequential. 
  3. Middle element is looked up if the element to be searched ‘x’ is < then mid element then left hand side of the array is searched. 
  4. If ‘x’ is > then mid element then the right hand side of the array is searched. 
  5. If mid element is ‘x’ then it is outputted
  6. This occurs recursively until the element is either found or array is exhausted. 




Algorithm:
Step 1: Declare and initialize a string array ‘s’ with the given sorted set of elements.
(Binary search works only on a sorted collection).
      0          1            2           3            4            5           6           7     
“at”
“”
“ball”
“”
“cat”
“”
“dog”
“”


Step 2: Declare and initialize a string variable ‘search’ with the target string value “dog” to
be searched for.
search = “dog”


Step 3: Declare and initialize ‘high’ and ‘low’ integer variables according to the length of the
given string array.
int low = 0
int high = 7


Step 4: Declare and initialize a variable ‘flag’ to find whether the target string is found or not.


Step 5: Using while loop, repeat step 6, step 7 and step 8 till the condition fails.


Step 6: Find the middle value, If it is an empty string then increment the middle value to the
next non-empty string.


Step 7: Compare the middle value with the given string using
targetString.compare(currentMiddleValue) method. This method,
1. returns 0(zero) if the target string is matched with the current middle value.
2. returns 1 if the target is greater than the current middle value
3. returns -1 if the target is less than the current middle value.


Step 8: If the compare() method’s return value is,
0 => Print “String found” and the index value. Then set the flag to 1 and break the loop.
1 => Set the low to the value next to the middle one. (Right part of the array)
-1=> Set the high to the value before to the middle one. (Left part of the array)


Step 9: Finally check whether the flag value is equal to 0, If the condition is true then print
“String not found” to the console.


Iteration 1: (step 5)
search = “dog”, low = 0, high = 7, flag = 0
0 < 7   -> Condition true
mid = (0+7)/2 (step 6)
mid = 7/2
mid = 3


    0           1           2           3           4           5           6           7
“at”
“”
“ball”
“”
“cat”
“”
“dog”
“”
(Left part)              mid               (Right part)


s[3] = “”
“”.empty() == true   -> Condition true
mid = 4 (Incremented by one)


    0           1           2           3           4           5           6           7
“at”
“”
“ball”
“”
cat
“”
“dog”
“”
          (Left part)               mid         (Right part)


s[4] = “cat”
i = “dog”.compare(“cat”) (step 7)
i = 1 (“dog” is greater than “cat”)
IF : 1==0   -> Condition false (step 8)
IF : 1==1   -> Condition true
Low = 5   (Right part)
IF : 1==-1   -> Condition false


Iteration 2: (step 5)
search = “dog”, low = 5, high = 7, flag = 0
5 < 7   -> Condition true
mid = (5+7)/2 (step 6)
mid = 12/2
mid = 6


    5           6           7
“”
dog
“”
  (Left)      mid     (Right)


s[6] = “dog”
“dog”.empty() == true   -> Condition false


i = “dog”.compare(“dog”) (step 7)
i = 0 (“dog” is equal “dog”)
IF : 0==0   -> Condition true (step 8)
Print “String found” to the console.
Print “Location: 7” to the console.
Set flag=1
Then break
Terminate the loop.


IF : flag = 1 (step 9)
1 == 0   -> Condition false.


Implementation:
//Searching the set of strings using binary search
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string>


using namespace std;


int main()
{
string s[10];
s[0] = "at";
s[1] = "";
s[2] = "ball";
s[3] = "";
s[4] = "cat";
s[5] = "";
s[6] = "dog";
s[7] = "";


string search = "dog";
int i;


int high = 7, low = 0,mid, flag = 0;


while(low <high)
{
mid = (low + high)/2;


//If the string is empty then go to the next non-empty string
if(s[mid].empty() == true)
mid++;


//Compare. 0 for true, -1 for smaller first char, 1 for bigger first char
i = search.compare(s[mid]);


//Found the string
if(i==0)
{
cout<<"String found\n";
cout<<"Location: "<<mid+1<<endl;
flag = 1;
break;
}
if(i==1)
{
//If the target is bigger than the current then go to the right part of the array
low = mid + 1;
}
if(i==-1)
{
//If the target is smaller than the current then go to the left part of the array
high = mid -1;
}
}
if(flag == 0)
cout<<"String not found";


getch();
return 0;
}


Output:
String found
Location: 7


Algorithm Complexity:
O(log n)


 

NoSQL

NoSQL Data models: key-value  Aggregate model.  key or id is used to get the data.  Lookup is based on the key.   document Aggre...