post

What I learned in gamification class

For 2-3 weeks after Prof. Kevin Werbach’s Gamification course ended, I literally felt my weekends were dull without listening to him! And I’m not the only course attendee who felt that way.

The best part about the course for me was how engaging and interesting the topics were and that I could relate so much to the myriad topics he brought up, whether it was self-determination theory, or about games, or about psychology.

He always kept each class within 10 minutes duration each, which was perfect to listen and think / indulge / take in the material.

Just to give an example of the engaging material, where else would you find a professor asking you to watch an excellent movie (by graduate students of an Israeli film school) called Sight and tells you to answer questions about it in your final exam!

I personally feel that there is no point in learning something if it doesn’t teach you to “see with new eyes.” As I was halfway through the course, I suddenly started observing gamification in practice in so many places – whether it is websites or games or loyalty cards. For example, check out comments on the Times of India website:

Gamified comments section on Times of India website

You will notice the points and badges being assigned to users to give them feedback on their actions on the website and recognizing them for their continued patronage of the website. Interestingly, I previously never bothered to read the comments section of newspaper websites because they’re usually full of vitriol and anonymous trolls, but after seeing these badges, I don’t mind reading the comments because it shows that these people have been engaging the comments section for a long time and upvoted by others on the community. Of course, if the community is mostly full of trolls, this wouldn’t be impactful, but in this case, I think the comments section has definitely improved in usefulness.

You can see similar ideas in action at makeuseof.com/game/ who are using lots of extrinsic rewards such as gadgets and giveaways to drive engagement. The course taught us that this usually doesn’t sustain long term if we don’t also consider intrinsic motivation (need to express oneself, need to gain mastery on a subject, etc.), so it will be interesting to see how the MakeUseOf website evolves their gamified system over the coming years.

A friend of mine recently sent me an invite to his new startup product’s alpha version, and immediately my first reaction was: “Where is the onboarding process? Where are the feedback loops?” and then I chuckled to myself “I’ve been gamified.

Getting people started with a new application or software by looking from the lens of “What if this was a game?” has interesting repercussions on how you design the system. Of course, you shouldn’t have annoying animated characters, rather, the emphasis should be on making it fun, which is not as easy as it sounds.

To summarize the gamification design framework that the professor taught us (which is probably explained in more context in his book For The Win):

  1. Define business objectives : What is the meaningful results for the business that you want to see – not how, but what.
  2. Delineate target behaviors : If whatever you design is highly successful, what kind of behaviors would your players (users) be engaging in?
  3. Describe your players : What do you know about them? What is the context? What motivates them?
  4. Devise activity loops : What are the engagement loops – small tight loops of motivation -> action -> feedback -> motivation? What are the progression loops – larger challenges, etc.?
  5. Don’t forget the fun : What are the fun elements? Could be puzzles, problems, surprise, delight, etc.
  6. Deploy appropriate tools : A ton of game elements are available, choose appropriately based on the answers to the above questions, and ensure a coherent system.

There are many companies that provide gamification platforms, I wonder whether they apply such a framework in helping people design a system for their business situation or whether they directly jump to step 6 :).

The next time I ever design a software application, I will surely be using this gamification framework to make a more engaging app.

Regarding the Coursera platform – peer assessment of essays was surprisingly fun – you have to give scores for essays of 5 anonymous students and give them feedback on what you liked and what you wish they had included. This motivated me to analyze their answers carefully and give feedback, and I looked forward to feedback on my own essays. The overall platform was pleasant to use and I only wish they allowed students to submit corrections to the subtitles of the videos as well as give a better prominent dashboard view on when the quizzes and assignments are due – a little gamification wouldn’t hurt ;-).

Overall, the professor and his teaching assistants made the course so interesting that I eagerly listened and ended up earning a 99.3% score and a certificate of accomplishment:

Gamification12 Coursera score

I sure hope to attend more such wonderful Coursera courses in the future and learn about things that I otherwise would never have learned about.

Advertisements
post

Review of Cal Newport’s So Good book

Cal Newport So Good book cover

Last weekend, I read Cal Newport’s latest book – “So Good They Can’t Ignore  You” and was very happy that I read it – it was just the sort of book that helps a person who is a few years into his/her career and is beginning to question many things about his/her own career. Of course, the book is relevant to people in all stages of their career, but I think people who are in this stage are more likely to grok what the book is talking about.

The book starts off by destroying the “passion hypothesis” which states that you “should find work that you love”. The book aptly demonstrates why that is a wrong premise and that loving what you do comes AFTER you’re good at it. He emphasizes:

Compelling (i.e. inspiring) careers often have complex origins that reject the simple idea that all you have to do is follow your passion.

This is where Cal starts talking about career capital:

Basic economic theory tell us that if you want something that’s both rare and valuable, you need something rare and valuable to offer in return – this is Supply and Demand 101. It follows that if you want a great job, you need something of great value to offer in return.

Acquiring career capital requires the craftsman mindset which is about working day in and day out on getting better at your craft. Achieving flow is a good thing, but something equally important is deliberate practice, i.e. intensive work aimed at stretching yourself at your craft:

Geoff Colvin wrote: Doing things we know how to do well is enjoyable, and that’s exactly the opposite of what deliberate practice demands… Deliberate practice is above all an effort of focus and concentration. That is what makes it “deliberate”, as distinct from the mindless playing of scales or hitting of tennis balls that most people engage in.

Cal goes on to explain:

If you show up and do what you’re told, you will reach an “acceptable level” of ability before plateauing. The good news about deliberate practice is that it will push you past this plateau and into a realm where you have little competition. The bad news is that the reason so few people accomplish this feat is exactly because of the trait Colvin warned us about: Deliberate practice is often the opposite of enjoyable.

 

I like the term “stretch” for describing what deliberate practice feels like, as it matches my own experience with the activity. When I’m learning a new mathematical technique – a classic case of deliberate practice – the uncomfortable sensation in my head is best approximated as a physical strain, as if my neurons are physically re-forming into new configurations. As any mathematician will admit, this stretching feels much different than applying a technique you’ve already mastered, which can be quite enjoyable. But this stretching, as any mathematician would also admit, is the precondition to getting better.

 

This is what you should experience in your own pursuit of “good”. If you’re not uncomfortable, then you’re probably stuck at an “acceptable level.”

 

Pushing past what’s comfortable, however, is only one part of the deliberate-practice story; the other part is embracing honest feedback – even if destroys what you thought was good.

I had a big a-ha moment as I read this passage:

  • I used to “stretch” myself regularly long ago when I used to read many computer science papers and I was constantly trying out new technology, these days I’m just stuck when it comes to reading papers, for example, Out of the Tar Pit and On Lisp papers have been on my reading list for a long time and perhaps I’ve been avoiding it exactly because it is not an enjoyable activity if your mind is being stretched.
  • When people say I’m “not learning anything new”, it is because there is no deliberate practice in their lives. We are more comfortable doing what we already know rather than learning something new which will possibly makes our work simpler and better. This is the “simple vs. easy” that Rich Hickey (obligatory mention) talks about.
  • This is what Leo Babauta is referring to in the Habit of Starting: “You are comfortable with what you’re doing (reading online, probably), and the habit is less comfortable (it’s too hard). We cling to the comfortable.”
  • Open source programmers tend to be better programmers because of the feedback they get from people they collaborate with – who are people who care about their craft, and not the type of colleagues or managers whose sole goal is to mark a task as done without attention to how it has been implemented.
  • This is what Chad Fowler talked about in the Passionate Programmer book : “Practicing may include learning more about your programming environment (APIs, libraries, methodologies, etc.), sight reading (reading new pieces of open source code to improve your ability to read and understand code), improvisation (introduce new constraints in small projects to improve your thinking abilities) and so on.”
  • I’ve been kicking myself that I know all these concepts but have not yet been able to put it into practice. There’s always hope that I’ll start chanting the mantra “deliberate practice” everyday for an hour or two.

The point is that “hard work” is not the answer, “hard work deliberately intended to improve your craft” is the answer.

And what do you do after you keep acquiring career capital? You invest it on yourself in a few ways such as acquiring more control:

At this point, Lulu’s skills were so valuable that finding clients was no problem. More importantly, working as a contractor also gave her extreme flexibility in how she did her work. She would travel for three or four weeks at a time when she felt like getting away. “If the weather was nice on a Friday,” she told me, “I would just take the day off to go flying” (she obtained her pilot’s license around this time). When she started work and when she ended her days were up to her. “A lot of these days I would take a niece or nephew and have fun. I went to the children’s museum and zoo probably more than anybody else in the city,” she recalls. “They couldn’t stop me from doing these things, as I was just a contractor.”

This story sounds familiar because I started freelancing with some of the same mindset – at that stage of my career after having worked at Yahoo!, Adobe, my own startup (creating a product) and Infibeam (in the hot area of ecommerce), I had acquired enough career capital that I was getting good job offers but I wanted to experience freedom of cutting down the miscellaneous corporate activities and focus purely on coding and that is what my life has been about – that was how I was able to work out of Goa in a road trip.

Of course, that career capital is not going to last forever. That is where I need to work even harder and start acquiring more career capital.

If control is not what you’re seeking, there is another thing that you could invest in : a mission:

A mission is a unifying focus for your career. It’s more general than a specific job and can span multiple positions. It provides an answer to the question, What should I do with my life? Missions are powerful because they focus your energy toward a useful goal, and this in turn maximizes your impact on the world – a crucial factor in loving what you do. People who feel like their careers truly matter are more satisfied with their working lives, and they’re also more resistant to the strain of hard work.

How do you get to finding a mission? That’s where you need significant career capital to be at the cutting-edge of your work:

The examples of joint discoveries in scientific breakthroughs [where multiple people make the same scientific discoveries around the same time] surprised me, but it would not have surprised the science writer Steve Johnson. In his engaging 2010 book, “Where Good Ideas Come From”, Johnson explains that such multiples are frequent in the history of science. Consider the discovery of sunspots in 1611: As Johnson notes, four scientists, from four different countries, all identified the phenomenon during that same year. The first electrical battery? Invented twice in the mid-eighteenth century. Oxygen? Isolated independently in 1772 and 1774. In one study cited by Johnson, researchers from Columbia University found just shy of 150 different examples of prominent scientific breakthroughs made by multiple researchers at near the same time.

 

Big ideas, Johnson explained, are almost always discovered in the “adjacent possible“. We take the ideas that we’ve inherited or that we’ve stumbled across, and we jigger them together into some new shape, he explained. The next big ideas in any field are found right beyond the current cutting edge, in the adjacent space that contains the possible new combinations of existing ideas. The reason important discoveries often happen multiple times, therefore, is that they only become possible once they enter the adjacent possible, at which point anyone surveying this space – that is, those who are the current cutting edge – will notice the same innovations waiting to happen.

 

Scientific breakthroughs, as we just learned, require that you first get to the cutting edge of your field. Only then can you see the adjacent possible beyond, the space where innovative ideas are almost always discovered. A good career mission is similar to a scientific breakthrough – it’s an innovation waiting to be discovered in the adjacent possible of your field.

When you reach the cutting edge of your field, you start seeing the new possibilities combining old and new ideas, and that’s where innovative new ideas come and that’s where your mission is found.

For example, using “big data” to make breakthroughs in understanding of genes requires someone to have observed the “big data” phenomenon and applying them to medical field and that becomes their mission in advancing that science. Of course, all this doesn’t apply only to science, it can apply to any field, whether it is material fabrics in fashion industry or new kinds of crowdsourcing for philanthropy or innovation (think Kiva, Kickstarter, Quirky). For example, why did Zynga come up with the idea of social games on top of Facebook? Because they were at the cutting edge when they saw Facebook rise and wanted to take advantage of it in games and they knew how to do that. And so on.

I think I should stop here because I have quoted enough from the book and don’t want to be sued by the publisher or anything like that. There is a lot more interesting concepts and learnings from the book. I recommend that you go buy and read it!

post

Learning Gamification by attending a MOOC

I remember when @Ravi_Mohan kept talking about MOOCs and how excited he is by it, I didn’t pay attention to it at the time. A few weeks ago, I watched Daphne Koller’s TED talk and was blown away. I ended up signing up for one of the courses and have been enjoying the course since a week. 4 more weeks of class to go :)

MOOCs stand for “Massively Open Online Courses”. The idea of online educational videos is not new – Academic Earth, Khan Academy, etc. have been around for some time. What is new is online full-length courses taught by the best professors who teach the same courses at the best institutions + actual course schedule (it has a start date and an end date) + actual grading on quizzes and homeworks. This translates to any university course brought online with many more benefits – the videos can be watched any time anywhere, you can pause, replay and rewind the professor’s talk any number of times (I do that more often than I thought I would!), you can interact with other students all over the world in the forums. Phew!

When I was browsing through the list of courses (Coursera has the most courses), I saw a course on gamification. Since it was a business course, something I was curious about and something non-heavy, I decided to take up that course instead of any heavy technical course – out of fear that I might not enjoy a full-length course after having last studied 7 years ago. Watching an hour-long video is one thing, watching a continuous topic for six weeks is something else!

The course I signed up for is on the topic of gamification. The statistics on the students who have signed up for that one course is astounding : in a survey sent to the students, 71,000 students participated which revealed they’re from 147+ countries. Out of 40% who responded to the survey, 9000+ from USA, 1700+ from Brazil, 1700+ from India, 1000+ from Canada. That’s right, 1700+ from India.

The course is taught by Prof. Kevin Werbach (he has his own Wikipedia page) who teaches at the Wharton school, which is supposed to be one of the the best B-schools anywhere. Another plus.

Gamification is defined as “the use of game elements and game design techniques in non-game contexts.” If you’ve ever been encouraged to get more followers on twitter by constantly watching the follower count – then you’ve experienced what gamification can feel like. Similarly, if you’ve participated in Stack Overflow and noticed the badges, the points and the avatars, then you’ve seen gamification at work. Gamification as a concept is new, and only commonly known since 2010.

Gamification, obviously, is inspired from games. The most surprising things I’ve learned in this course is how pervasive games are. I grew up playing Atari and video games such as Mario and I played a little “Quake 2” and “Unreal Tournament” when I was at Yahoo! but have not played games since then. Did you know that “the game industry is $66 billion worldwide (DFC 2011), that’s double the Hollywood box office revenues”? I didn’t know that until I took this course.

On top of that, “online games are expected to surpass retail games (playstation, xbox, nintendo wii, PC) in 2013”. This is astounding considering that  “XBox Live currently has 35,000,000 monthly uniques and 1,20,000,000,000 (120,000 million) minutes time spent per month.”

That’s just online – what about mobile? “40% of US/UK adults have played a mobile game in the last month” (PopCap/Information Solutions).

If you consider the ever-increasing use of loyalty programs, social graph connections with businesses, frequent flyer program tiers, gold/platinum credit cards, etc. gamification is all around us and we may not even realize it. Heck, even if you use the Pomodoro technique like I do, you have experienced gamification.

Prof. Werbach does a fantastic job of explaining things and getting the student excited. I already finished the quizzes and written assignment for week 2 ahead of schedule because I finished the videos early because I couldn’t stop listening to him. (I hope I maintain the pace for the rest of the weeks and balance work and this course.)

In contrast, I also had signed up for the Statistics One course on Coursera – the first ten minutes of the first lecture was so undecipherable that I quickly un-enrolled.

In summary, lessons learned: (1) Always listen to Ravi Mohan and (2) MOOCs are a fantastic way forward. Anyone anywhere can learn the best courses. Think about that.

 

Update on 20 Sep, 2012 : Also see this great short article in Forbes magazine by the founders of Coursera talking about the issue of access to education, not only about better education.

post

Freewriting – Review of the Accidental Genius book

Semi-regularly, I’ve been doing something I called “Paper Therapy.” The idea was simple: “Write on paper till your brain has nothing left in it.”

This stupidly simple idea has often been miraculous in helping me clear my mind and think of ideas or options that I was unable to just “think in my head.”

And I observed many others felt this way as well, for example:

Writing is a miraculous process. You find things you never knew were inside your own head.

— @littlecalculist

and:

I write with my hands on paper as much as I can to get my eyes off of the monitor and my hands off the keyboard. Yes taking notes on something like evernote is more useful down the road, but for me there is something more free about jotting notes on paper. It gives me a mental break, a physical break, and if I come up with something really useful, I’ll type it in a note program. As an added bonus, the retyping of it usually lets me come up with something new to add.

— http://gorban.org/post/14162629940/thinking-time

When I was going through the PersonalMBA Reading List, I came across a book called Accidental Genius by Mark Levy, and I immediately wanted to read the book because it talked about a concept called freewriting which sounded eerily similar to what I used to call “paper therapy”. So I bought the book from the Kindle store and read the entire book on my iPhone with the Kindle app.

One of the revelations as I was reading the book was that freewriting has been used as a technique for ages, especially by prose writers.

So what is freewriting? As Mark Levy says:

As expansive and impressive as the mind is, it’s also lazy. Left to its own devices, it recycles tired thoughts, takes rutted paths, and steers clear of unfamiliar and  uncomfortable territory. You could say that one of its primary jobs is to shut off, even when there’s important thinking to be done.

Freewriting prevents that from happening. It pushes the brain to think longer, deeper, and more unconventionally than it normally would. By giving yourself a handful of liberating freewriting rules to follow, you back your mind into a corner where it can’t help but come up with new thoughts. You could call freewriting a form of forced creativity.

Freewriting is a fast method of thinking onto paper that enables you to reach a level of thinking that’s often difficult to attain during the course of a normal business day.

 

As I mentioned earlier, freewriting is nothing but writing profusely on paper. It doesn’t matter what grammar you use, it doesn’t matter what you write because nobody else is going to read it, it doesn’t even matter whether you even read what you wrote! What’s important is to get the thoughts flowing and externalizing it by doing the physical action of writing fast on paper. If you can’t think of what to write, write gibberish. If you get distracted by other thoughts, write down those thoughts! The idea is to not filter anything out, these are your real thoughts and you need to externalize them.

The point is to extrapolate to write continuously. If you wrote about a problem, what are the causes and possible solutions? If you wrote about a dream, write about how and whether you are following those dreams. If you had a nightmare, write about the possible subconscious meanings of the nightmare. If you suddenly remembered some random quote from a book you read ages ago and forgotten about it, then write about that and what it means to you. If you had an altercation, write about whether it occurs frequently or whether there is a pattern. Try to explore your mind and try to explore the facts as much as possible.

The result of this exercise can only be felt, it’s hard to explain. The liberation you feel and the sudden “lightness” you feel is amazing.

Accidental Genius book cover

Mark goes on to explain six secrets of freewriting:

1. Try Easy

Trying easy will help you in any area of your life. Conventional Wisdom tells us that we have to give no less than 110 percent to keep ahread. Yet conversely, I have found that giving 90 percent is usually more effective.

It’s like the first day of gym – they make you do so much exercise and you’re so sore the next day that you never go back. Don’t do that! Instead work till you reach the edge of your current capacity and then stop. Repeat it the next day, and so on. So, if you feel you can only write 500 words, do only that much, don’t push yourself beyond that. If someday, you feel you can write more, go right ahead.

2. Write Fast and Continuously

By writing fast, you invite your mind to operate at a pace that’s closer to its normal rate of thought, rather than the lethargic crawl you usually subject it to when you write sluggishly.

Imagine you’re attending a talk and the speaker talks very slowly. Your mind races ahead and you tune out eventually in a few minutes and either doze off or walk out. Same thing applies here, if you write slowly, your mind races ahead. Instead, write as fast as your brain thinks. Remember, nobody is going to read this but you. So it’s perfectly okay to WRITE SLOPPY. Use bad handwriting, use shortcuts, use phrases that only you understand, do whatever it takes to keep your writing at the pace of your thoughts. That’s when the magic happens.

By writing continuously, you force the edit-crazy part of your mind into a subordinate position, so the idea-producing part can keep spitting out words.

If you don’t write continuously, it’ll break your flow of thoughts as well as you start to “edit” what you wrote in your head. That’s not good. So write non-stop and keep the pen moving.

The plan is to move fast and don’t stop writing, with the understanding that the more words you pile onto the page, even if they’re lousy words, the better your chance at finding a usable idea. In the freewriting game, think quantity before quality.

3. Work Against a Limit

Use a time limit, say 10 min, to practice non-stop, fast and easy freewriting. And then take a break. The reasons for this are obvious if you have read my review of the Pomodoro Technique book.

4. Write the Way You Think

Freewriting isn’t writing, per se; it’s a means of watching yourself think. Since you’re writing for yourself, you don’t need to polish your raw thoughts to please others. All that matters is that you yourself understand your logic, references, word choices, and idiosyncratic ideas.

If you really do end up showing your freewriting to someone else (without polishing it), they probably can’t make sense of it! Because you are free to use your own idioms, your own phrases, your own language, basically, the way YOU think. That’s probably a sign of “good” freewriting.

5. Go with the Thought

The whole time I was scribbling, I would say to myself something like “Go with the thought. Agree with what you just wrote, and logically extend it… Be whimsical if you like, but make sure the whimsy naturally follows what preceded it… Based on this new thought that just appeared on the page, what might happen next?

This intoxicating game of “agreeing and extending,” during which I effortlessly fleshed out scenarios, took up pages of my writing until my hand grew tired, my timer went off, or even more important, I had discovered some provisional methods for tackling a problem.

The whole point of freewriting is to extend your thoughts beyond what your mind usually is used to. Even if you have a recurring thought in your mind, you usually stop thinking about it at the same logical point, either you give up, or your brain just shuts down and doesn’t want to think about something so uncomfortable. That’s exactly where freewriting helps you to keep flowing and “free”ly continue thinking about the same topic and externalize the thoughts, and hopefully have a breakthrough on that topic.

6. Redirect Your Attention

Whatever the situation, you’re on the freewriting bus, motoring along, when suddenly you hit the brakes. The road ahead is washed out, and you don’t know how to proceed.

Quickly, you consult your checklist of freewriting rules: Try easy, check. Writing fast and continuously, check. Inoffensive kitchen timer counting down ten-minute intervals, check. Now you’ve run out of ideas. You’ve reached the end of your thoughts, or so you believe.

Time to use a focus-changer.

Focus-changers are questions like:

  • What was I thinking there?
  • How else can I say that?
Those are two of my favorites. They push me to see again what I’ve done and think I already know. They also challenge me into generating fresh thought, even after I believe I’ve run out of road. But those aren’t the only focus-changers you can use.
Focus-challengers have endless numbers or forms. Here’s a partial list of some helpful ones:
  • How can I make this exciting?
  • How can I add value?
  • What else can I say about this subject?
  • Why am I stuck at this particular point?
  • How can I get unstuck?
  • What am I missing here?
  • What am I wrong about here?
  • Why?
  • How can I prove that?
  • How can I disprove that?
  • What do I think about that?
  • If I continue to think that way, what might happen?
  • What solutions can I borrow from past problems that can be applied to this current one?
  • What does this remind me of?
  • What’s the best-case scenario?
  • What’s the worst-case scenario?
  • What am I doing right?
  • What am I doing brilliantly?
  • How can I jump the track?
  • What strengths of mine (or my company’s) can I apply?
  • What weaknesses need to be compensated for?
  • What’s the proof that that statement is true?
  • How am I the wrong person for this project?
  • How am I the right person for this project?
  • How would an arbitrator judge that?
  • If I wanted to make a big mistake here, what would I do?
  • What data do I need that I don’t yet have?
  • How would I describe the situation to the CEO?
  • How would I describe it to my mother?
  • How would I describe it to my most supportive friend?
  • How would I describe it to a disinterested stranger?
Focus-changers are simple questions to ask yourself, in writing, that help you redirect your mind toward the unexplored parts of a situation.

A good sword for Freewriting

It’s because of my indulgence of freewriting why I was asking tweeps about a good pen to write with, I got suggestions for:

I’m grateful for the suggestions by my twitter followers, and quite surprised that I’m not the only one who’s holding on to pen and paper! I’m yet to go out to a store and buy any of them, but it’s great to know the recommendations so that I don’t have to do the trial and error :)

I finally bought the Pelikan cartridge ink pen and loving it! Having such a good pen makes me more indulgent in the freewriting process.

One of the tweeps, Fayad Fami, also pointed to this ad that I agree with – “The more you write, the better you remember”:

Final Thoughts

The book goes on to explain many different aspects of freewriting – why it is useful to write, how to prompt it, using facts, letting loose, substituting concepts from other areas to solve problems, importance of quantity in freewriting, importance of lying about a situation to widen your view of a situation, holding a paper conversation with yourself or someone else, concept of sometimes doing a marathon rather than a sprint of writing, importance of being honest, importance of detailing, how to extract usefulness from a business book (like I do with my blogging about what I learned from each book!), how to use freewriting to keep your focus on what you want to make of your life, how to use freewriting to write for a public audience (a colleague, a boss, a blog, a book, etc.), helping others to freewriting, noticing things around you, and so on. It is best to learn about these by reading the book.

To sum up, as Josh Kaufman says in his review of the book:

Daily externalization and self-elicitation are heavy-duty creativity tools that will do wonders for your productivity. Give it a try: the results will surprise you.

post

Talk on Productivity at Barcamp Bangalore 10

At Barcamp Bangalore 10 on Saturday, I talked about GTD, Pomodoro and Productivity:

NOTE: If you have trouble viewing the web version, there is also a PDF version of my slides.

I was nervous when preparing for this talk because it is not a concrete topic, it’s something abstract and perhaps even illusive for many people, so when I started off my session, I asked people to set aside their cynicism for half an hour, I then established some source credibility, explained my view of how I look at productivity, success and happiness, and how GTD and Pomodoro tie into all this. The presentation above is quite self-explanatory, so I’ll not repeat that again, except for the demo-on-whiteboard part where I did a live session about how to do Pomodoro.


(photo by @the100rabh)

The session went surprisingly well, and most people grokked what I was explaining, which I’m still very surprised about. I guess part of it is because (1) the audience was so interactive and asked questions and (2) most people in the audience have already tried experimenting with todo lists and GTD, so it is a problem they were already facing, so they assimilated what I was saying very quickly.


(photo by @anenth)

The best part about Barcamp is that I got to talk about a personal obsession of mine and I would have otherwise probably never gotten a chance to discuss such a topic in-person with other people who are interested in this topic.

Some of the feedback on my session:

It was even more fun to hear from people when days after the conference, they were actually trying out the Pomodoro technique:

There were many other good sessions in Barcamp that I liked, I especially loved the sessions about the Namma Cycle project and about ShreeKumar’s adventures and how to survive while doing a yatra across the country, talking the locals, etc.

And I really do hope that the Namma Cycle project takes off – Murali who effused passion when talking about it has shown a lot of progress already – got sponsorship, got government buy-in, and is starting off at Bangalore University and has big dreams about turning Bangalore into a cycling city. That seems to be already under way, with the new cycle stand near M G Road.

Overall, even my non-techie wife thoroughly enjoyed the day and was inspired by the people she met at Barcamp. And that really says it all for me on how much I enjoyed going to Barcamp again.

Special thanks to SAP Labs India for hosting the Barcamp in their beautiful campus and the great lunch as well. And not to forget, all the organizers of BCB10, kudos to you guys for making it happen!

P.S. Regarding the Quantified Self phenomenon, I highly recommend reading the New York Times article by Gary Wolf on The Data Driven Life.

Update: Just remembered a related old article of mine – Creativity and Organization is Impact”.

post

Passionate Programmer book review

Every once in a while I get an email like this:

Sir, I am a beginner to python and programming. I started with the C++
and found it hard so one day via google I found your perfect tutorial
“A byte of Python”. I read the whole tutorial in one day because it is
so interesting and helpful. Sir, I have created the script to backup
files from directory as you mentioned. Please see the script once and
tell me if I have chances in programming career. Sir I am final B.tech
student and I love programming. But I was rejected by every company
during campus placement because of my poor communication skills and
due to this my confidence level is very low. Sir I have also created a
web based application using PHP, MySQL and Kannel on Debian based
server for intra-college communication. Sir, I am regular reader of
your blog and I respect what you are doing to help freshers like me.
Sir I would like to know if you have any advice for me.

And like this:

I want to thank you about this great book ;-). I am a 20-years-old
student in computer science from Bulgaria and i found this book very
interesting and helpful. I’ve been programming in python for half a
month. I had little experience in C from the university and I wanted
to learn a high level language with simple syntax like Python and then
learn C++ and start writing useful programs. I send you a solution of
the problem in the end of the book that is just a demo version. Can
you give me a hint what i got to improve to make the address book
program better and give me the source code of your solution? I really
want to become a programmer so any advices especially from a man with
your knowledge would be highly appreciated! Thanks.

For a long time, I used to scratch my head for every such email because I really didn’t know what advice I have to offer. I did end up writing How Fresh Graduates Can Grow which a lot of students have liked.

In the past couple of years, I have started replying with just one line – I ask them to read The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler. I happily  recommend this book knowing that if they actually do read and apply the principles in this book, they can’t go wrong.

I had read this book in its first edition when it was called My Job Went to India and I read it again when the renamed second edition came out.

The title of the book is self-explanatory but what makes the book special from other regular career books is that it is geared specifically to the art of software programming as well as explaining networking and many soft concepts/human aspects in a for-geeks “53 recipes” style.

Some of my favorite recipes/lessons are:

4. Be the worst

Legendary jazz guitarist Pat Metheny has a stock piece of advice for
young musicians, which is “Always be the worst guy in every band
you’re in.” Being the worst guy in the band means always playing with
people who are better than you.

Being the worst guy/gal on the team has the same effect as being the
worst guy in the band. You find that you’re unexplainably smarter.
You even speak and write more intelligently. Your code and designs get
more elegant, and you find that you’re able to solve hard problems
with increasingly creative solutions.

6. Don’t listen to your parents

I remember talking to a friend about potentially moving out of this
company, and he said, “Is it your destiny to work at $bigcompany for
the rest of your life?”
Hell no it wasn’t!_ So, I quickly found
another job and left.

This movement marked the clear beginning of a nonlinear jump in my
success in the software industry. I saw new domains, I worked on
harder problems, and I was rewarded more heavily than ever before. It
was scary at times, but when I decided to be less fear-driven and
conservative in my career choice, the shape and tone of my career – my
life – changed for the better.

15. Practice, practice, practice

When you practice music, it shouldn’t sound good. If you always
sound good during practice sessions, it means you’re not stretching
your limits. That’s what practice is for. The same is true in sports.
Athletes push themselves to the limit during workouts so they can
expand those limits for real performances. They let the ugliness
happen behind closed doors – not when they’re actually working.

Our industry tends to practice on the job. Can you imagine a
professional musician getting onstage and replicating the gibberish
from my university’s practice rooms? It wouldn’t be tolerated.
Musicians are paid to perform in public – not to practice. As an
industry, we need to make time for practice.

Practicing may include learning more about your programming
environment (APIs, libraries, methodologies, etc.), sight reading
(reading new pieces of open source code to improve your ability to
read and understand code), improvisation (introduce new constraints in
small projects to improve your thinking abilities) and so on.
[paraphrased]

32. Say it, Do it, Show it

You should start communicating your plans to your management. The best
time to start communicating the plans is after you have executed at
least one cycle of the plan. And – this is an important point – start
doing it before they ask you to do it. No manager in his or her right
mind would be unhappy to receive a succinct weekly e-mail from an
employee stating what was accomplished in the past week and what they
plan to do in the next. Receiving this kind of regular message
unsolicited is a manager’s dream.

Start by communicating week by week. When you’ve gotten comfortable
with this process, start working in your thirty, sixty, and
ninety-day plans. On the longer views, stick to high-level, impactful
progress you plan to make on projects or systems you maintain. Always
state these long-term plans as proposals to your manager, and ask for
feedback.

The most critical factor to keep in mind with everything that goes
onto a plan is that it should always be accounted for later. Every
item must be either visibly completed, delayed, removed, or replaced.
No items should go unaccounted for. If items show up on a plan and are
never mentioned again, people will stop trusting your plans, and the
plans and you will counteract the effectiveness of planning. Even if
the outcome is bad, you should communicate it as such. We all make
mistakes. The way to differentiate yourself is to address your
mistakes or inabilities publicly and ask for help resolving them.
Consistently tracing tasks on a plan will create the deserved
impression that no important work is getting lost in the mix.

43. Making the Hang

Speaking for myself (and extrapolating from there), the most serious
barrier between us mortals and the people we admire is our own fear.
Associating with smart, well-connected people who can teach you things
or help you find work is possibly the best way to improve yourself,
but a lot of us are afraid to try. Being part of a tight-knit
professional community is how musicians, artists, and other
craftspeople have stayed strong and evolved their respective artforms
for years. The gurus are the supernodes in the social and professional
network. All it takes to make the connection is a little less
humility.

Of course, you don’t want to just randomly start babbling at these
people. You’ll obviously want to seek out the ones with which you have
something in common. Perhaps you read an article that someone wrote
that was influential. You could show them work you’ve done as a result
and get their input. Or, maybe you’ve created a software interface to
a system that someone created. That’s a great and legitimate way to
make the connection with someone.

44. Already Obsolete

You have to start by realizing that even if you’re on the bleeding
edge of today’s wave, you’re already probably behind on the next one.
Timing being everything, start thinking ahead with your study. What
will be possible in two years that isn’t possible now? What if disk
space were so cheap it was practically free? What if processors were
two times faster? What would we not have to worry about optimizing
for? How might these advances change what’s going to hit?

Yes, it’s a bit of a gamble. But, it’s a game that you will
definitely lose if you don’t play. The worst case is that you’ve
learned something enriching that isn’t directly applicable to your job
in two years. So, you’re still better off looking ahead and taking a
gamble like this. The best case is that you remain ahead of the curve
and can continue to be an expert in leading-edge technologies.

Looking ahead and being explicit about your skill development can mean
the difference between being blind or visionary.

P.S. This lesson was the reason why I started admiring DHH even more after seeing he is not afraid to include CoffeeScript and SCSS in Rails 3.1

51. Avoid Waterfall Career Planning

The important thing to realize is that change is not only possible in
your career but necessary. As a software developer, you would never
want to pour yourself into developing something your client doesn’t
want. Agile methodologies help prevent you from doing so. The same is
true of your career. Set big goals, but make constant corrections
along the way. Learn from the experience, and change the goals as you
go. Ultimately, a happy customer is what we all want (especially when,
as we plan our careers, we are our own customers) – not a completed
requirement.

I probably put more excerpts from the book here than I should, but I wanted to drive home the point on some of the non-obvious-but-critical points that the book raises that every software developer should ponder about.

Go buy the book / ebook now!

Update: Also see Top 5 Developer Skills That Will Get You Hired or Promoted

post

PESIT Alumni Newsletter Guest Editorial

I was recently asked to write memoirs of my college life for a guest editorial for my alma mater’s alumni newsletter, and I jotted down a few thoughts while reminiscing the past. Long-time readers may not find these stories new. For the others, I have hyperlinked the related old stories for your online reading pleasure:

Every time I remember PESIT, it reminds me of three things – hectic schedule, great peers and great teachers. In hindsight, that’s what a good life is all about.

Let me explain.

About the hectic schedule – PESIT made us attend a lot of classes and do a lot of extracurricular activities. Like any other typical student, we used to curse our fate for that. When I look back now, it was a great training for us to prepare for life “in the real world”, i.e. the professional life. They prepare you for the hustle. It’s not enough to have opportunities, it’s how you make use of them that matters.

Speaking of peers – we had quite an eclectic batch who had a wide range of interests which made for interesting discussions. Today, they are musicians (Gaurav Vaz is the bass guitarist in The Raghu Dixit Project), screenplay writers (Pawan Kumar wrote the screenplay for Manasaare and Pancharangi kannada movies), entrepreneurs, managers and, of course, robot scientists and engineers. Imagine people of such calibre hanging around together in college. Fun times indeed.

Speaking of teachers – there are two teachers who have made a distinct impression in my mind and my appreciation for computer science – Shrividya madam who taught us Compiler Design (I’m a Computer Science student) and Shylaja madam who taught us Data Structures. A good teacher can make all the difference between a subject being drab or it being exciting and interesting. I must thank lecturers such as these for keeping my enthusiasm for computers going and prodding me to enjoy and learn the subject deeply.

Seniors – There are many seniors in our college to whom I’m indebted. Right from how they used CAT (the Clarion Aptitude Test) to prepare us for campus interviews, to teaching us the upcoming areas of interest such as Linux. Everyone takes Linux for granted in the industry today, but it was not so 6-7 years ago, and I’m glad our seniors took the effort and interest to introduce us to the topic when we were in college.

In fact, that was what led me to my interest in entrepreneurship and technology. Let me give you two examples.

Entrepreneurship – Back then, in the days when dial-up internet was the fastest service you could get, it was hard to get the latest versions of Linux which used to be multiple CDs, for example, 3-4 CDs of 700 MB would take months to download over dial-up. So we hit upon an idea to acquire such CDs and then sell CD copies over the Internet. I think we were in 5th or 6th semester at that time. We called the service lincds.com (no longer present) and we sold it all over India and even sent a few CDs all the way to Mombasa, Kenya. We also sold CDs to our own college, thanks to encouragement by Nitin Pujari sir. He ordered 100 CDs from us so that it can be used in the college. I still remember burning CDs all night long while watching a cricket match and I used to walk over to the desktop every six minutes to pop in a new blank CD to burn! And I spent the rest of the weekend installing Red Hat Linux on all the computers in the Aryabhatta lab. Great memories.

pesit_alumni_newsletter_1

Technology – When Red Hat Linux 9 was released, thanks to LinCDs.com, I got access to it early and was learning my way through and learned a few things. In CS stream, we have to write a project using databases. Everyone used VB and Oracle. My project partner and myself, influenced by our seniors, wanted to use open source, so we requested to use Qt and MySQL respectively instead. This was met with resistance from our lecturer saying “MySQL is a small utility on Linux, it is not a real database” and did not let us proceed. We were lucky that Nitin Pujari sir and Badri Prasad sir intervened and let us do it our way. In hindsight, they exercised great faith in us and I thank them for that. We built a software for managing a medical laboratory and had a good learning experience. Little did I know that that experience would eventually lead me to an internship and subsequently a job at Yahoo!. At Yahoo!, we used MySQL to run massive critical systems :). I’m grateful that our HoD supported us in our quest to learn.

On the same note, we used Qt to build the user interface of our software. At the last minute, we were informed that we had to write an installer that we have to run in front of the external invigilator to install our software on any new machine. Other students had it easy because Microsoft Visual Studio would automatically generate it. We had no such alternative. So I ended up learning Python language and writing the installer in that because that could run on any machine. One thing led to another and I ended up writing my notes on learning the language and called it a book with the title “A Byte of Python.” I was recently informed that this is a compulsory text book for computer science students in PESIT! I wish those students who read the book know that I wrote that when I was still in PESIT :)

A mentor of mine keeps telling me that “There are two times in your life that you innovate – one is when you’re in college, and the other is after you retire.” If there are any current students reading this, my humble request to you is please don’t waste your precious college years. It’s a great time to both have fun and to learn – please make the most of it. PESIT gives many good opportunities such as PPR and many other avenues. You will not realize the value of this until you step into professional lives, so I would advise you to not regret later and put in all your efforts now when in college. It’s better to struggle now for four years and enjoy the rest of your lives than have masti now and struggle for the next forty years!

Lastly, I want to thank all my teachers in PESIT, I am constantly amazed at their untiring efforts in teaching students and working towards their best interests despite the students’ general lackadaiscal attitudes. I hope this small note reassures you that you are all making a difference and I thank you for that.

Swaroop C H

Student of 2004 batch of B.E. in Computer Science.

pesit_alumni_newsletter_2

Note 1: Special thanks to Sriranga Chidambara for sending me the scanned copy of the printed newsletter.

Note 2: No, that photo and profile was not my idea.

post

To get somewhere, you already have to be there

The irony in this world is that “To get somewhere, you already have to be there.”

From an individual perspective:

  • If you want to make money, you need to already have money.
  • To get a job, you need to be one-year experienced and not a fresher.
  • If you’re experienced and want to apply for a job that you really want to work on, you should already have the background of working in that area, and you should already know how to do all that the job entails.
  • If you want to write a book, publisher expects you to have already written a book before.
  • To be listened to, you need to be an expert, not an amateur, but how do you eventually become an expert if you’re never listened to?

From a startup perspective:

  • If you want to get funding, your startup should be in a position to not need funding.
  • If you want to stock your product in ezone, you should not be a 1-product company, but a 5-product company.

And on and on.

To get somewhere, you already have to be there.

P.S. I’m not condemning, condoning or approving of the situation. Just making an observation.

post

To Masters or not?

39 people have asked me “The case for master degrees. Should or Shouldn’t ?” This article is for those 39 people.

Well, the correct answer almost always is “It depends.”

But let me give a few points to think about. Obviously, I’m answering from the perspective of CompSci students. Students of all disciplines can draw analogies to their respective fields.

Question: Do you want to focus on theory or on practice?

If you picked theory, why aren’t you thinking of a PhD? If you picked practice, why aren’t you thinking of the actual practice of coding and joining a job? Remember, Software engineering is not the same as Computer Science!

In other words, what are your reasons for doing a Masters? Be specific and clear. List down the pros and cons of doing an M.S. degree.

For example, here are few arguments for not doing a M.S.:

  • You have been studying for 16 years (10 + 2 + 4) or so. Instead of studying for a further 2 years, why not take a break and work for the same 2 years? You can still do a M.S. after that if you please and you would have earned money to support yourself as well.

  • If you haven’t been able to decide during graduation on what it is that you want to do in life, how are you going to gain this knowledge when you’re in post-graduation? Does giving yourself “2 more years to decide” really work? Even if the answer is yes, at what cost?

  • Maybe the question you should be asking yourself is How to Get a Valuable Education Without Mortgaging Your Life? Josh Kaufman answers it beautifully, but obviously he has a strong opinion on the subject. You should draw your own conclusions.

  • Now that you have read the arguments, against doing an M.S., write down your arguments for doing an M.S.

    Update : Read the excellent comments below on the positive aspects of doing a Masters.

Once you have a pros-and-cons list, it will be far easier to decide what to do. If you are still asking the same question, you might as well ask “Should I learn Java or C++?”

Whether you decide to do a Masters or not, I would recommend keeping two things in mind:

  1. Focus on building up an impressive list of things you’ve done. Follow the Zen Valedictorian Philosophy.

  2. If you already have a few ideas in mind that you want to achieve, then just go ahead and apply The Pyramid Method.

Thinking from a big picture perspective, perhaps The Real Question is: What do you want to do with your life?

If you don’t know the answer, then the answer is:

Fix the lifestyle you want. Then work backwards from there.

Cal Newport

Update: See “The obsession of Indians with the MBA degree”, a similar discussion at StartupDunia.

post

Why I do Time Tracking

The Idea

A couple of months ago, I was going through a “productivity drought.” I used to repeatedly bounce between tasks. I couldn’t concentrate enough. Work was suffering.

I thought to myself “Just how bad is the situation? Can I quantify it?” Then I started using a very old and boring concept: the stop watch.

Only that I used an iPhone application called TimeJot which is specifically a time journalling application meant for this purpose.

The idea was pretty simple:

  1. Have 5-7 different categories of projects and actions that I normally engage in. Everything else is not considered productive time.
  2. “Projects and actions” are defined as anything that needs to be done, whether at office or home.
  3. Every time I start on one of these activities, start the timer.
  4. Every time I get distracted or switch to something that is not part of the task at hand, I stop the timer.
  5. The most important thing is to keep the timer sacred. It is okay to be not productive, but it is not okay to lie to yourself. If the timer is on, you are working with full focus on the task at hand. If the timer is off, you’re on a break, do whatever you want.

The Results

I have been following these 4 simple steps and I have learned a lot about myself and it has had a profound effect on my productivity:

  1. Realization of how many context switches I do per day! Because I have to stop the timer every time I get distracted, it became really clear on how many times I started switching browser windows! Now, I have (almost) stopped reading tech news websites during work hours and certainly stopped twittering.
  2. I started analyzing and experimenting on how to increase the number of productive hours. One of the best things that worked for me was the switch off WiFi during the first two hours of work everyday. Once I disconnect myself from the global consciousness, I tend to focus on the task at hand. Once in the flow, it is not easy to lose that focus. So switching on WiFi access (which is of course required for regular work) later is okay.
  3. Now that I had the data, I realized how much I’m glued to the computer. So I started restricting myself on weekends to spend less time in front of the computer and more time doing other activities. This resulted in two things: (1) Spending lesser number of hours at the computer but more focused hours and (2) Finally getting around to the big pile of books that are waiting to be read.
  4. Realizing that I’m not investing time in learning new things at all.
  5. Realizing that I waste too much time pondering and not enough time doing. But again, what is needed is moderation not elimination. It is these ponderings that round up my thinking and learning, after all.
  6. Realizing that I am more productive if I wake up early but I just love being a night-owl. A hard problem to solve.
  7. Learning that I work best when there are big chunks of work as opposed to many small things.
  8. Learning that when I focus, I really really focus. But getting to that point is difficult. An important aspect to know about oneself, because once I started accepting that there is a warmup period of several days before I really become productive with a new task, I was fighting myself a little lesser and going with the flow.
  9. I count exercise time also as productive time, so on the days that I cycle to work, I get a bonus one hour of productivity that day and I feel good! And this has the side-effect of encouraging me to go for running and cycling which has drastically gone down these days.
  10. The data provided a stark picture on how much time I spend on non-important things and I started ruthlessly cutting down on all the distractions. And I could prove to myself that I was successful in this initiative only from the data.

That’s a lot of things that can be learned about yourself with a simple stop watch :-)

It’s Not That Crazy

If you think it is crazy to be doing this, then did you know that Matt Mullenweg, the founder of WordPress does time tracking as well?:

> “One of my favorite programs that we didn’t make is Rescue Time. It runs in the corner of my computer and tracks how much time I spend on different things. I realized that even though I was doing e-mail only a couple of minutes at a time, it was adding up to a couple of hours a day. So I’m trying to reduce that. I have a WordPress plug-in that filters all my messages based on the sender’s e-mail address — so high-priority e-mails go into one folder and the rest go into others. Tim Ferriss, who wrote The 4-Hour Work Week, advocates checking e-mail twice a week, but that is too severe for me. Instead, I’m trying to implement Leo Babauta’s approach from The Power of Less. He suggests small steps, like checking e-mail five times a day instead of 10. It’s like dieting: People who binge diet gain it all back. That happens to me with e-mail.”

[Read more…]