Posted in musings, wisdom

Marissa Mayer at Stanford

Marissa Mayer (VP of Google’s search products and user experience) , also called as the lady of the millennium by some, gives a talk at Stanford University about Google’s philosophy. She keeps simply as nine nuggets:

  •  Ideas come from everywhere
  • Share everything you can (incredibly open culture at Google)
  • Have the company of great people.
  • A license to pursue dreams – that fuels creativity and innovation.
  • Innovation – not instant perfection. When you commit mistakes, you re-invent yourself If you correct your mistakes quickly and go on to do better things, people will forget about it and appreciate the progress made.
  • Data is a-political. Make decisions based on data.
  • Creativity loves constraints.
  • Users, not money. Amass users. That is important than money. Money follows consumers.
  • Don’t kill projects, morph them.

She also talks a little about her personal characteristics that has helped her succeed:

  • She likes to work. 🙂
  • Her desire to surround herself with smart people
  • Do something that others dont like or feel comfortable to do.

She says Google’s motivation is now self sustaining. Almost all employees who come to Google are highly motivated, want to change the world, want to make a positive impact on the people’s lives. Well, that says all about why Google is a synonym for the word success.

Posted in testing

Software Testing

I was given a new, respectful and delightful perspective on software testing by James Bach in a Google Video Becoming a Software Testing Expert. (Do I need to give more in this Google’d world? 🙂 ). The slides that he used in the presentation are available at his website.

He says testing is not science, but an art. It does take random impulses of mind to thoroughly test a piece of software.  He defines testing as:

Testing is the infinite process of comparing the invisible to the ambiguous so as to avoid the unthinkable happening to the anonymous.

He notes what makes an expert:

The ability to do something and be able to smile while doing it is what is to be an expert.

If you are an expert, you gotta be able to comment on what others saying about the thing at hand.

He also gives some valuable advice to the budding experts:

Have confidence in confusion

There are four levels of learning – overcoming obliviousness, overcoming intimidation, overcoming incoherence, overcoming complacence

Developing expertise takes – studying & modelling, observing & recording, Experimenting & performing

Build and protect your reputation. Reputation = Money

Own your methodology.

He has written a book – Lessons learned in Software Testing. It is in my reading list now. Amazon!! when are you opening a shop in India?

Posted in Programming

Some programming lessons learned

in C

  • Always make sure that the parameters that are passed to a function and the variables that are dealing with the parameters are always of the same type (including qualifiers) (get an unsigned long and add all of them in a signed long)
  • Initialize the dynamically allocated structures. They contain a lot of crap.
  • When using library functions make sure you know the behavior of the function and that the parameters being passed are appropriate. (using strncmp for comparing hex strings – a stupid thing to do)
  • Don’t have presumptions about the code – that some part is correct and some is not. It becomes difficult to debug them.