Friday, May 11, 2012

I'm a developer again

It's official: in the next few weeks, I'll be doing linux driver development at my company.  I hope I can bring some of my testing experience into this position, and having had this experience, I can definitely say that all developers should have a testing background, and all testers should have a development background.

While reading some scheme paper (I can't recall which one), there was a quote by Richard Feynman where he said, "What I cannot build, I do not understand".  I think this is really something that has to be understood.  It is in fact why I studied Computer Science and not Electrical Engineering.  A long time ago I read a saying describing, in a nutshell, the difference between scientists and engineers: "Scientists build in order to learn.  Engineers learn in order to build".  By that criterion, I am most definitely a scientist.  I want to build things so that I understand them.  My end goal is not actually whatever I built, but what I learned.

So getting back into driver development will help me understand better how operating systems work.  Creating my own language will help me better understand the theory of computation.  Implementation is, in my eyes, a necessary evil; a means to an end, but not the end itself.  Without rolling up your sleeves and getting your hands dirty, you won't really understand something.

This is also the key to Buddhism.  People are often surprised when I tell them Buddhism is not a religion or a philosophy.  To the western mind, this doesn't seem possible.  So people ask me if Buddhism eschews beliefs, is not a religion, and also distrusts concepts ( and is thus not a philosophy) what could Buddhism possibly be? When I say that a true Buddhist is a mystic, most are truly confused.  What is a mystic you ask?  A mystic trusts only his experience and awareness.

A Buddhist doesn't ruminate, or contemplate.  The only way to "know" is to be aware.  It is the acting of "being", and simply being conscious of this moment.  The only way to "know" life is to 100% fully be in it.  One doesn't "get" life by simply regurgitating what prior masters said.  The only way to know life is to roll up your sleeves and live it.  It is not to be gained through mental fortitude, nor steadfast belief.  This is no different than saying one "knows" math by reading a book on it.

So although I am nervous about dealing with customers again (that's definitely one nice thing about being in Test, we don't deal with clients directly), this is really something I needed to do.  I am looking forward to digging deeper, and being able to say, "what I have built, I understand".

No comments:

Post a Comment