Distributed Datastore Basics

Basics:
  1. Distributed DB is divided into different nodes & Data is spread across the nodes. 
  2. There is no Master/Slave config in distributed DB. 
  3. Every machine is given the responsibility of saving part of the data based on some logic.
  4. If some node goes down its fine since some of its data is captured into some other node. 
  5. Primary responsibility of a node is to store all the data. Secondary responsibility of another node(backup) will be to store part of that data. So a primary node will store all the data and several secondary nodes will store parts of the data. In case of loss, data will be retrieved from several secondary nodes.
  6. Consistent hashing concept is used to distribute the data across several nodes.
    1. It will determine the hash of data and spread it across different partition keys. 
  7. Primary datastore will take care of hashing the partition key and finding the respective node for storing it.
  8. In No-SQL datastores like Cassandra there is a replication factor, which is usually a number. Let's say replication factor is 3 then the data will be stored onto 3 different nodes. 
    1. Let's say the backup strategy is to store the data into the next available node. So in that case the data will be stored in the computed node, then next available node, then next available. 
    2. So its a combination of consistent hashing and backing up the data into different nodes. 
  9. To handle more load extra nodes will be added. This will automatically assign the responsibility of the distributing the data across new and existing nodes using Gossip protocol. 
    1. All nodes talk to each other so they everything about each other. 
    2. If a node goes down it will not hear or talk anything. When other will communicate to it there will be no response. They'll understand that the node is down so they will share the responsibility amongst themselves automatically. Another node will become primary node to hold the data of that range let's say 10-20k. 
  10. Similar strategies are implemented in Redis, HDFS, Cassandra, 
    1. HDFS has master node/name node and data node. Data resides in the data node. 
    2. In such cases ZooKeeper can take care of assigning responsibilities to slave nodes if master goes down. 
  11. Commodity computers are like normal desktop that we use at home but with extra capabilities. 

    Why you need to scale?
    Performance is degraded as customers are complaining that requests are taking more time.

    Vertical Scaling: 
    Upgrade the server to handle volume of requests easily. Upgrading single server's capability much more. 

    Horizontal Scaling:
    1. Add more machines to the cluster. 
    2. Cheaper than vertical scaling. 
    3. If service is not heavily used then more machines can be removed from the cluster. Service is not impacted since you are adding more machines to direct the traffic and removing the machines so requests are served by some or the other machine at any given point.
    4. Moreover, we can store the machines in different continents. 
    Conclusion:
    1. Vertical scaling is cost efficient in short term as you are buy less H/W. Horizontal scaling is cost efficient in long run. 
    2. Vertical scaling is not fault tolerant as its only one machine. 

    Advantages of distributed systems: 
    1. Fault tolerance:
      1. If server in a country goes down then requests can be directed to another server in another country.
      2. User will see more latency but the service remains available. 
    2. Low Latency:
      1. You can place the server near to where most requests are originating in case of HS but in VS there is only few servers so users will wait for their response. 
      2. Time taken to send and receive the request will go down. Only time consumed will be the time taken by the service. 

You might also like:

How to answer behavioral questions?

 Why should we hire you?

  1. To answer this questions, specify why are you a good fit to the role and the company. 
  2. If you doing some volunteer activities and if it matches the responsibilities of the company then you can specify that. For example, I regularly volunteer at 'X' organization. It requires me to work on some many things at the same time like marketing, sales, event planning, people management, resource management. I enjoy doing all of these activities at once. This role requires me to handle people & marketing hence based on my volunteer experience, I believe I am a good fit!


Why are you leaving your current job?
  1. To answer this question, don't specify that you are bored at your current organization. Instead specify something like this: After being there for 3 years, learning has slowed down. Company isn't growing that much and it is impacting my growth. 
  2. If you are looking for stability then mention that. If you are looking for a role with specific skills then mention that. 
  3. Always mention something along the line of what you want to do and how the current organization is not offering it!


What do you like to do in your spare time?
  1. To answer such questions try to come across as someone who shows initiative & who is willing to try out multiple things. 
  2. These days the roles are not one-dimensional. Instead they are multi-dimensional and expect people to have experience in wide variety of areas. So mention something like: 
    1. Working on a side project
    2. Volunteering
    3. Online learning 
    4. Hobbies
    5. Working out, cooking, etc


Where do you want to see yourself in next five years?
Interviewers ask this to:
  • Understand if you really want this job.
  • See if you have any plan for the future! 
  • Test your ambition. 
  • Ensure the company can give you what you want. 
Answers can include that you want to be a Lead person of a growing department or organization within the company. You might want to be in a specific domain. So to answer this question always have a 2,3,5 year plan ready. If you are interviewing for a higher roles then have 10 year plan ready! 






Product Manager Q&A

What is the best way to interface with customers? 

  • Face to face meetings
  1. I believe face to face meetings are the best if you have the luxury to meet your customers. During your f2f meetings, you can see how your customers are using your product and you will be able to gain some valuable insights. 
  2. For ex: If you have a business product then ask for customers for the flow diagrams that include your product in the flow. Ask them about any client proposals that they are working on and have worked on. Study those as nuggets of information can be found there. As a data PM, it is always useful to read these plans to understand how and where your products are used.

  • Phone calls
  1. If f2f meetings are not possible then go with phone call. Try to schedule a regular phone call with your customers to understand the pain points. 
  2. Ask them directly: Is there something you would like us to improve for you. What works best for you? What needs to be improved? Most often they have their answers ready.

  • Emails
  1. In come cases, just the emailing works. If this is the case then make them a priority and respond them within reasonable times. Sooner the better.! This shows them they you care about delivering a quality product. 
  2. If they are requesting a feature from you and you know its going to take time, try to be open about the timelines. Ask them if there is anything they would like you to do while the much needed feature is in process. This softens the customers a bit and they are open for negotiation. 

---------------------------------------------------------------------------------------------------------------------


What's the best way to work with the executives?

  1. Executives are busy people and they appreciate brevity. What is important to you might not be important to them. So we always have to be mindful of their time. 
  2. They care a lot about strategy than tactics. They care about business and product goals more than day to day execution. 
  3. Any suggestions that move the needle in direction of business goals will gain their attention. So to make any interaction valuable with them, focus on strategy and tell them on how you can help them better achieve the goals.
  4. While talking to them its important to talk about revenue generation, strategy, important KPIs that relate back to strategy, product metrics that are helping achieve the KPIs.
  5. While working on a problem, they are looking for solutions and which solution will work best for them. They usually care less about day to day execution but its best to have that information handy when asked! 
  6. Don't provide wrong answers to them. If you don't know, tell them you will get back to them after looking into it.
To summarize while working with executives:
  1. Talk about:
    1. Strategy
    2. KPIs
    3. Business and Product Goals
    4. Solutions to existing problems. 
  2. Avoid talking about: 
    1. Tactics
    2. Only problems
    3. Wrong answers

---------------------------------------------------------------------------------------------------


What's your approach to hiring? 

Hiring the best is always the motto of any organization but other dimension to hiring is 'How well this person will solve the business problem at hand'. Here are few common dimensions to consider while hiring: 
  • Business goals
  1. Let's say my team is really swamped and they could use some help then I will hire someone with specific skills set. I will work with the team manager to identify a specific skill-set that will benefit the team. And if I know exactly what projects we have to deliver and if we get a person with the exact skill set then I will go ahead with that person.
  2. However if I am hiring for an long term business goals then I will hire someone with determination and eagerness to learn. Someone who might not have demonstrated bigger professional achievements but is willing to explore and take on challenges.  I will look for someone who has done some projects on the side that explains their motivation to try new things and new challenges.

  • Cultural fit
  1. Every organization is different. I will conduct cultural fit interview based on situation. If company is fast paced then I will pick a candidate who likes such an environment. 
  2. If company is stable and not looking for much innovation then will pick a candidate accordingly.

  • Love for company's product offering
  1. It best to see if they are interested in company's product offering. If someone hates the company's product then there is no point hiring them. Their work will reflect it in the product. If they are not doing it with love then why affect quality of the product. 


----------------------------------------------------------------------------------------------------------------------------

How do you know an industry is ripe for disruption?

These points can provide some insights into it. But they are just the pointers, you will have to do some research to strengthen your insights. 
  1. Power is consolidated
  2. Consumers are using outdated Technology
  3. Business pratices aren't changing despite -ve feedback
  4. The research backs you up
  5. Reference: Link
----------------------------------------------------------------------------------------------------------------------------


In 2 mins, describe what a PM does. 

  1. A PM is a person who works tirelessly with different departments to constantly fill in the gaps that arise while product development, research, testing, legal, operations, resourcing teams etc. 
  2. PM works with the Legal team to fill gaps between technical teams and Legal fine prints. 
  3. Works with procurement teams to ensure appropriate deals/tools/resources are procured for the product to be delivered in time.
  4. Works with Engineering to translate business requirements to technical requirements. 
  5. Works with Executives to keep them aware of progress and assures them their business goals and key KPIs are achieved. 


Top skills for 2020/2021

 Top skills that you can learn in 2020 & 2021 are: 

  1. Coding
  2. Graphic Designer
  3. Animator
  4. Video Editing
  5. Digital marketing
  6. Web Development
  7. App Development
  8. Social Media Influencer


Media Ad Concepts

Personalization concepts:

There are many categories of web personalization including

  1. Behavioral
  2. Contextual
  3. Technical
  4. Historic data
  5. Collaboratively filtered
There are several camps in defining and executing web personalization. A few broad methods for web personalization may include:
  1. Implicit
  2. Explicit
  3. Hybrid

---------------------------------------------------------------------------------------------------------------------------

Media Ads Concepts

  1. Ad inventory: The number of ad spaces available with the publisher. If a publisher has 100 spots, where s/he can display the ads then 100 is ad inventory.
    1. It is valued in terms of the site traffic or ad views that can be delivered to the advertiser.
    2. It is calculated in number of page impressions. If site A has 100 impressions/day and site B has 1000 impressions/day then site B can ask for more money from advertiser because site B can reach to many websites. 
  2. An ad value can be calculated as page impressions X average number of ads on your website pages Although above formula is simplest of all. 
    1. Moreover, it can be calculated by the location of the ad. Ads displayed at the top of the webpage demands for more money since it is the prime stop as compared to ads displayed at the bottom. 
  3. Fill Rate: It shows how much of your ad space has been rented out and how much of it is empty. Higher the fill rate better are the chances since it means your website is in high demand.
  4. Revenue: A website’s revenue can be calculated by number of leads or actions are performed after clicking on the ad or after cpm(cost per 1000 impressions)

---------------------------------------------------------------------------------------------------------------------------


Metrics Concepts:

Here is the summary of articles on Product Metrics. Article: Only Metric that counts
Summary: 
  1. Are people using the product? Once you find that out, find out:
    1. Why do they use your product? 
    2. How frequently? 
    3. What key actions they perform while using it? 
  2. Answers to above questions will tell you who are core users, who:
    1. Come directly
    2. Return weekly/monthly
    3. Share it with others
  3. Reference:
    1. https://news.greylock.com/the-only-metric-that-matters-now-with-fancy-slides-232474cf414c

---------------------------------------------------------------------------------------------------------------------------

Ad Ecosystem:

This section will explain you the basics architecture of ad ecosystem. Definitions of different components and how those components work together to render ads:


Publisher:
  1. Runs online business or websites that has user traffic.

Ad Network:
  1. Aggregator of publisher ad inventory that is packaged by contextual channels, audience types or buying options(CPC, CPA, CPM). This inventory is sold. 
  2. It is an entity/company/organization that connects advertisers to websites.
2.     It enables to deliver ads to consumers, perform targeting, tracking, and reporting of impressions.
3.     Inventory of online ads include:
a.     Blogs
b.     Rss feed
c.      Web pages
d.     Mobile pages
e.     Instant messages
f.      Mobile apps
g.     Adware Emails
h.     Other media
4.     A publisher(new york times) can integrate with an ad network. Ad network can then display certain ads
5.     Large publisher sells remnant(not sold = 10-60%) inventory through ad networks. Smaller ones sell everything through the ad networks.
6.     Large ad networks include:
a.     Search engines
b.     Media companies
c.      Tech vendors


Seller Side Platform:
  1. Platform for publishers to manage ad inventory and enables routing to different ad exchanges


Ad Exchange:
  1. Enables buying and selling of Media ads from multiple ad networks.A marketplace for buying and selling of ads. Ad inventory is auctioned to advertisers/agencies.
  2. Handles Real time Bidding for publisher that includes:
  3. -       Purchases inventory at individual impression level
  4. -       Bidding in real time(milliseconds)
  5. Ensures that publishers can maximize value of their inventory.
  6. Ensure that advertisers purchase individual impressions at fair price.            

DSP:
  1. Platform that enables media and audience buying for advertisers in real time on ad exchanges    
  2. Evaluates and bids on each individual impression through RTB based on available user data.
  3. Takes care of RTB for advertisers.
  4. Centralized campaign management, reporting, optimization to meet advertiser’s objective.

RTB process:
  1. Publisher puts the available inventory on the ad exchange
  2. Ad exchange holds auction for each impression
  3. DSP receives the bid from advertisers.
  4. DSP evaluates the impression and calculate bid amount based on its value to advertiser. 
  5. Ads from winning bid are shown on the publisher’s site.

Advertiser:
  1. Spends on marketing to grow their business.

---------------------------------------------------------------------------------------------------------------------------


More resources:

  1. 5 things ad tech product managers should consider when planning their company's future
    1. NOTES:
      1. While contacting SSPs lot of information like user browsers, location, etc can be collected from requests & processed auctions.
      2. User information can be collected via the DMP. They will have services that will provide you user information via cookie syncing services.
      3. Consider inventory types like TVs or VRs where ad can be served in future. Product requirements should take care of such things. 
      4. Consider use of machine learning algorithms to generate metrics that will help describe if correct data is collected and if right metrics are generate. 
      5. TODO: Look at new video ads protocol
      6. Make the product flexible to allow for change in trends
      7. Cost of scale: Don't let technology costs kill the when scaling comes into picture.  
  2. Confessions of an adtech product manager

Things I learnt about Money

 Money is a tricky topic. There are so many nuanced things to learn about Money itself apart from how it affects other aspects of our life. So read these tips and hope you can use them in various aspects of life!


  1. Money is never enough but you should define how much you should earn to stay happy.
  2. More you make, the more you spend. So saving and spending wisely is the key to success.
  3. Money is not the solution to every problem. 
  4. Running behind money is a useless pursuit since there is no upper limit on the amount.
  5. Money is just a number so define your upper limit and save that much. Saving $1 billion might be a difficult task but for some it might be possible.
  6. Once you die, the amount of money you will have saved will not matter. What will matter is how good life you spend and how many things you experienced in life. So strike a balance between making money and enjoying your money and saving + investing some money
  7. Everything in life can't get a price tag.
  8. Money shouldn't be the foundation of relationships. If it is the foundation then you are into that relationship for all the wrong reasons.
  9. You shouldn't call your relatives or parents only when you need money. Keep money out of relationships.
  10. Don't think that others' money is yours. Many people have the habit and it is really destructive. 
  11. There are many legit ways to make money. People make money by teaching classes, selling art, providing services, by working for someone, etc. So NEVER think that the legit ways of making money are limited. 
  12. Many people fall into the trap of making money illegally. This is bad for your present and future and it could destroy your family's future. So make money through legal ways.
  13. Many people fall prey to quick rich schemes. There are no such schemes that will make you rich quickly. Steady income and consistent hard work will increase your money. 

Things I learnt in my 20s

 20s could be an amazing time in your life if you want to be. Here are some tips that can help you make most of your 20s to set the tone of future. Its very much possible to implement these tips in your 30s so there is no rush but knowing these tips and implementing them in 20s could help you tremendously. So read on!


  1. 20s is the best age of life. Major changes happen during that time.
  2. 20s are the time to concentrate on a career.
  3. 20s are the years to have most fun since responsibilities will increase as one gets older.
  4. Chances of falling into true love increases in your 20s.
  5. People who stay friends with you in your 20s will most likely stay with you till the end.
  6. Having a lot of money in one’s twenties is overrated.
  7. Many things are overrated in your 20s.
  8. One can enjoy their life really well in their 20s because of having time, some money, and energy.
  9. Climbing to the top of the corporate ladder in one’s 20s is overrated.
  10. Many people think in their 20s that they will stick to their career for their entire lives.
  11. Majority of them end up changing careers at later points in life.
  12. One starts enjoying finer things in life during their late 20s.
  13. People in their early 20s want to go back to their late teens and people in late 20s want to go back to their early 20s.
  14. People in their 20s worry a lot about their finances and future. And it could increase in the future if once is not saving and wisely investing the money.

So in the end, 20s are the best years. Don’t waste them by excessively working and don’t destroy your career by wasting time excessively. Learn to achieve a balance and make the most of your 20s. 

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.


NoSQL

This one is reviewed but I need to delete its copy from hubpages or somewhere NoSQL Data models: key-value  Aggregate model.  key or i...