Thursday, January 24, 2013

Deciding factor

Life is full of choices and we have to decide. Yes, there are choices even when you fool yourself into believing that you don't have any choice. Sometimes choices are for trivial stuff, other times decisions of life.
Shall I do what is norm or do what I think is right?
Shall I bide time (and count miserable days) with people I don't like or go searching for something better?
Shall I say it or swallow it?
Shall I start my company or keep this well-paying job?
... and so on, questions never stop. So how do you decide?

It's very simple, Choose the path that makes you happy.

If people around you have accepted rat race quagmire life and are carrying on the way it is then decide whether that is making you happy or not. If not, people’s opinion is waste.
If people around you are succeeding by being servile or by falling in line but if that doesn't sound like you. Then decide what makes you happy.
World will push you to some mould and expects you to fit in there. Do you fit in or are you discontent there, decide based on your happiness. But even after spending years inside the mould if you feel you don’t really belong there then it is the time to search for happiness.
Sometime people says that its just short term pain but I’ll happy one day. That one day is today. Tomorrow never comes.
Struggle doesn't means unhappiness. Struggle can be road to freedom, path to happiness. If you've chosen your struggle and it's not enforced on you, then you'll feel happiness even in struggle.
Expectations from family, society, job, friends is just mirage. Once you've decided something then people and environment will mould themselves accordingly. Whatever you decide, you may wonder if that is right and wrong; there is no right or wrongWill you do it if money is not a criterion or if you don’t have to please anyone? Any money, place, person that makes you miserable is Not worth it. 

Choose Happiness.

Sunday, January 13, 2013

Why not?


Do I need to change my job? Shall I wait for another 3 months?
Do i need to start a startup?
Why should I be the one who stand up for this cause?

Every question you ask yourself you are putting yourself in defense. Reasoning with self is good but asking "do I need to stand up for this?" at the start of reasoning means that subconsciously we've already told our mind that we should not do it. We are reinforcing fear and dissuading courageMetaphorically this is like you telling yourself that you can’t even run 1 km and then try to persuade yourself to run a Marathon.

Why not put ourselves in doer’s shoes and start reasoning/introspection by asking ourselves 'why not?' There are chances that you’ll think from totally  different angle. 
Why not change the company?
Why not start a startup?
Why not I stand up for this?

Why, how, are the words for people finding excuses. 'Why not' is for doers. Why not frees you from shackles of doubt. Doubt is always there, even Mark Zuckerberg was skeptical of Facebook as a company when he started it. In fact every entrepreneur has been. But why not startup? Let’s start up.

When you need to ask yourself any question start with: Why not?

Friday, December 28, 2012

Design considerations for Codecademy

Codecademy is a great website for learning programming. It is helping thousands (may be millions) of people learn how to code. Content wise Codecademy rocks however there are few design areas where Codecademy can improve on. Before I want to start on I want to state it categorically that am not a professional designer. I am just a grateful user who wants to give my feedback to a very useful website that is giving so much to users. Here I go:
(Note: please click on blog images for bigger, better and clear images)

Codecademy header needs to be visible. Always.
Codecademy header


Header contains a company’s brand identity (logo) and the most important links. Moving header outside visible page (like in image below) when user scrolls down is not a good option. Always flaunt who you are.

Codecademy header not visible





Other moving and fixed parts:
Editor area and Result area should always remain fixed on web page independent of scroll (unless when user scrolls to the bottom of the page for footer). Even now Editor and Result areas are somewhat fixed but slightly moves up and down as user scrolls up or down. There is no need for them to move. While writing a line of code user is generally focused on a particular line in editor area and simultaneously going through lesson's instructions. When user scrolls up/down the lesson instruction pane, Editor area also wavers up/down because of which user need to refocus/find her line of code again. Lessons' instructions should move up and down independent of right hand side Editor and Result area. 

Run, Reset and Save options:

Run, Reset and Save buttons/info is getting duplicated on screen hence eating a lot of precious web space. Info from both the highlighted areas (in image above) can be clubbed in a single horizontal row. Something like: 
Green Run button (Ctrl+enter) then Red Reset button (Alt+R) then Grey Save button (Ctrl+S).
This will also free up some space for increasing height of result area so that users can see more lines of result in result area. Exercises where result is displayed in various lines will be better and fully displayed in that case.

Movement from one section to other:
When one section is finished in a course then link to next section is shown in result area. If we click on that link then next section instruction set appears but it is never completely visible on web page. Some part of the lesson is always hidden at the top. A user has to scroll up the instruction panel to see start of new section’s instruction set.

Wrapping text in Editor as well as Result area:

If some error message is longer than width of the result area then result area doesn't auto-wrap the message. It just goes beyond the console area and is not visible.

Codecademy track>>course>>section alignment:


Course hierarchy seems to be displayed in disorderly fashion on web page. Track>>Course (for ex JavaScript>>Getting Started with Programming?) is on right hand side while section name (“Why learn programming” in this case) is on left hand side. If all three of them can come neatly on left hand side (may be like: JavaScript>>Getting Started with Programming>>Why learn programming?) then hierarchy will be more clear and some precious web space can be spared for Editor/Result area.

Thursday, December 20, 2012

Would I love to work this on my deathbed?


This might seem a bit extreme criteria to evaluate what you really want to work on but answer to this will tell you whether the job that you are doing now is meant for you or not. Whatever you would love to work on your deathbed you should be doing that now. Earning livelihood by doing some job will make you like so many people who want to just do their job, earn, retire early so that they can enjoy their life -- metaphorically it's like saving up sex for old age. Why would you want to retire if you love what you are doing? If you don’t love your work then nothing great will ever be created by you.

There are hordes of stories of people working unbelievable number of hours everyday, people working very hard despite very unfavorable conditions. You can't make those people work like that just for livelihood, they work for their love. People working on job wait for 5 pm.

Mathematician Euler lost one of his eyes in his twenties but that didn't handicap his love for math. In fact he went on to say that "I’ll have less of distraction". He kept working and lost vision in his second eye at age of 70. Even complete blindness couldn't stop him working on solving mathematical problems. He proved to be even more productive in his blindness and worked for 17 years in total blindness.

This is not madness for mathematics. This is epitome of love for the job/love.

Find your love.  If you haven't found it yet, keep looking. Don't settle.

Wednesday, October 10, 2012

Give me the estimate

If you are managing people who are doing work that has not been your forte then estimation can be deluding process for you. You can't estimate yourself in this case so first you ask for estimates and then try to validate them. The moment you ask for estimate from a person you are asking for his commitment, asking for his word. No one in this world wants to be proven wrong, even to himself. No one wants to go back on their words. So the moment estimate is asked that person start to estimate by including all risks, all possible disasters that may happen, all possible subjective worries. When estimate is done after factoring in all these fears no doubt estimate will be inflated. 

You can get estimates reviewed by peers or specialist within/outside team but most probably you won't find any deviation. People within an organization have a healthy fear or healthy respect or social/professional dependency with each other so until something is not glaringly wrong it won’t be pointed out.
Validating estimate by established estimation standards never work. Standards are too general whereas estimate has to be specific. So standards can act as guideline but they can never validate estimate.
Getting estimate from a person and then boss him to cut it down 20% and then continuously sit on the top of his head to finish it even faster never helps.

So how work can be get done in more efficient manner?  

By placing your faith in the person. Tell him not to worry about missing deadlines, not to worry about repercussions, not to worry at all. Request him to work, just work and give his best. By faith all the buffer estimates (read fears) evaporates. Once the assurance is given to the person, keep faith in him. Don’t start moaning the moment something goes out of the line. Keeping faith doesn't mean that you forget about him. Do keep track of the progress at mutually comfortable level. Keep judging the person. If at any point you feel your faith is being misused, act.

There are circumstances when estimation will be mandatorily required so only faith won't serve the need. But whenever possible give faith a chance.

Faith will give you positive surprises. In today’s world people are not treated with faith and that’s why world is so cynical, cautious and inefficient. You give a person your faith and there will be occasions when you will be pleasantly surprised. There will be times when you’ll find gem of a person.

Monday, September 17, 2012

You won’t start a startup


If you feel that you’ll earn enough in 2 years and then you’ll start a startup, that’s not gonna happen. You’ll never earn enough (it’s human psyche; ask Warren Buffet if he has earned enough). For you to start working on your dream project - passion, food and shelter is all you need.

If you feel that you’ll settle down first and then you’ll start a startup, that’s not gonna happen. Life doesn’t give you time to settle down, there is always more life. You settle down when you are dead. Startup is a roller coaster experience so better start a startup when you are not settled.

If you feel that you want to give yourself some time so that you can learn enough and read enough for a startup then keep learning and reading, startup not gonna happen[1]. You can never learn enough for a startup unless you are working on your startup. Reading books/ blogs/articles/essays for 1 year is equivalent to working in your startup for 1 day

If you think you will think of an Awesome Idea first then you'll startup, that's not gonna happen. There are no awesome ideas. All ideas for startup look small, niche, not-great at first. They shape up to be a great idea on the way. So if you’re not already on the way, then it's not gonna happen.

If you're working for some giant company that pays you enough but you dream that you'll get out one day then that's not gonna happen. Decent pay in Giant organization will make you comfortable, lazy and coward. Forget that startup; keep pleasing people for your next promotion/salary-hike. Or be courageous and give shape to your idea.

When you start making how-to-climb-the-ladder plans in your current organization but you feel that you'll think about, or focus on, startup in parallel, that's not gonna happen. You don't do startup in parallel. Either you do startup or you don’t but never ‘in parallel’. It’s full time job. It's 24*7. May be not 24*7 work but 24*7 focus and dedication for sure.

When time flies you'll not see it fleeting. When it’ll be 2 years and then 5 and then 10 years you'll not even realise. Time flies. It’s going on now. It’s now or never.

If startup is your want and not your need, you won’t start one.

[1] Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking. – Albert Einstein

Wednesday, August 8, 2012

Worst thing about

What’s the worst thing about your product/service?
What’s the worst thing about your website?
What’s the worst thing about your team?

When you seek feedback from people in superlative term, it works. People answer more openly. If you ask “Name two things that can be improved in our product?”, it gives the impression that you are trying to be defensive or you created this questionnaire just because your manager asked you to.

Create a contest amongst your customer support executives on what’s the worst thing about your product/service. Results will surprise you.
Create a contest amongst your Beta testers on what’s the worst thing about your mobile app.
Create a contest amongst your newly hires on what’s the worst thing in hiring and onboarding process.
Create a contest amongst your employees on what’s the worst thing about your company's intranet portal.

Contests are better than surveys. People willing to give feedback will answer in both the cases but certain set of people tend to act when there is a carrot on the other side.
When you start finding worst thing en route you’ll find nearly all the flaws.
Creating great stuff means you need to go to great lengths.

What’s the worst thing about this blog?