great quotes from a NetFlix employee

January 5, 2012 2 comments

Great quotes from this article:

Who has teams spread over multiple sites and countries? We don’t. It adds communication and synchronization overhead that slows your organization down. For the geeks, think of Amdahl’s law applied to people. We have as many people as possible in the same building on the same site. 

Who has junior engineers, graduate hires and interns writing code? We don’t. We find that engineers who cost twice as much are far more than twice as productive, and need much less management overheadReducing management overhead is a key enabler for an innovative culture. Engineers who don’t need to be managed are worth paying extra fo

Who has to work with people they don’t respect? It’s much too disruptive. The only way to get high talent density is to get rid of the people who are out of their depth or coasting.  

That also applies to what you might call brilliant jerks. Even if they do great work, the culture can’t tolerate prima donna anti-social behavior, so people who don’t trust others or share what they know don’t fit in  So does that mean we value conformity? No but it’s really important to be comfortable as part of a high performance team, so we look for people who naturally over-communicate and have a secure confident personality type

We’ve trained our developers to operate their own code.

Who has a centralized push cycle and has to wait for the next “train” before they can ship their code? We don’t. Every team manages their own release schedule. New code updates frequently, and the pace slows for mature services. Teams are responsible for managing interface evolution and dependencies themselves

Who has project managers tracking deliverables? We don’t. The line managers do it themselves. They own the resources and set the context for their teams. They have time to do this because we took the BS out of their role.Managers have to be great at hiring, technical and hands on enough to architect what their team does, and project manage to deliver results.

Hire experienced engineers who care, and they will take care of code quality and standards without being told how to.

We don’t pay bonuses. We don’t have grades other than senior engineer, manager, director, VP. We don’t count the hours or the vacation days, we say “take some”. Once a year we revise everyones salary to their peers and current market rate – based on what we are paying now to hire the best people we can find

Some of you may be thinking this sounds expensive, but what is the value of being incredibly productive and able to move faster than your competition? 

Give people freedom, hold them responsible, replace the ones that can’t or won’t perform in that environment. Focus on talent density and conserving management attention span by removing the BS from their jobs.

Categories: tech

a tiny ruby retry class

December 31, 2011 Leave a comment

Here’s a tiny ruby retry class.

class Retryable
  def self.attempt(options = {}, &block)
    opts = { :tries => 1, :on => Exception }.merge(options)
    retry_exception, tries = opts[:on], opts[:tries]
      return yield
    rescue retry_exception
      retry if (tries -= 1) > 0

Usage is like this

Retryable.attempt do
     #something that might fail, but you want to try it a few times
Categories: tech Tags:

meditation, how to

November 20, 2011 Leave a comment

From Jack Kornfield’s instructions on mediation.


First select a suitable place for your regular meditation. it can be wherever you can sit easily with minimal disturbance: a corner of your bedroom or any other quiet spot in your home. place a meditation cushion or chair there for your use. Arrange what is around so that you are reminded of your meditative purpose, so that it feels like a sacred and peaceful space. You may wish to make a simple altar with a flower or a sacred image, or place your favorite spiritual books there for a few moments of inspired reading. let yourself enjoy creating this space for yourself. 


Then select a regular time for practice that suits your schedule and temperament. if you are a morning person, experiment with a sitting before breakfast. if evening fits your temperament or schedule better, try that first. begin with sitting ten or twenty minutes at a time. later you can sit longer or more frequently. Daily meditation can become like bathing or toothbrushing. it can bring a regular cleansing and calming to your heart and mind.


Find a posture on the chair or cushion in which you can easily sit erect without being rigid. let your body be firmly planted on the earth, your hands resting easily, your heart soft, your eyes closed gently. At first feel your body and consciously soften any obvious tension. let go of any habitual thoughts or plans. bring your attention to feel the sensations of your breathing. take a few deep breaths to sense where you can feel the breath most easily, as coolness or tingling in the nostrils or throat, as movement of the chest, or rise and fall of the belly. then let your breath be natural. Feel the sensations of your natural breathing very carefully, relaxing into each breath as you feel it, noticing how the soft sensations of breathing come and go with the changing breath. 


After a few breaths your mind will probably wander. When you notice this, no matter how long or short a time you have been away, simply come back to the next breath. before you return, you can mindfully acknowledge where you have gone with a soft word in the back of your mind, such as “thinking,” “wandering,” “hearing,” “itching.” After softly and silently naming to yourself where your attention has been, gently and directly return to feel the next breath. later on in your meditation you will be able to work mindfully with all the places your mind wanders to, but for initial training, one word of acknowledgement and a simple return to breath is best. As you sit, let the breath change rhythms naturally, allowing it to be short, long, fast, slow, rough, or easy. calm yourself by relaxing into the breath. When your breath becomes soft, let your attention become gentle and careful, as soft as the breath itself.


Like training a puppy, gently bring yourself back a thousand times. Over weeks and months of this practice you will gradually learn to calm and center yourself using the breath. there will be many cycles in this process, stormy days alternating with clear days. Just stay with it. As you do, listening deeply, you will find that mindfulness developed on the breath helps to connect with and quiet your whole body and mind.


After developing some calm and skills, and connecting with your breath, you can then extend awareness of all the foundations of mindfulness, fully opening to your body and mind. You will discover how awareness of your breath can serve as a steady basis for awareness in all you do.

Categories: me stuff

Hamlet and death

November 20, 2011 Leave a comment

reflecting on Ellen’s life and memorial. I do remember this in one of my favorite Shakespeare plays: In Act V, Scene 1, of Hamlet, Hamlet and Horatio talk with a pair of gravediggers in a cemetery. When Hamlet looks upon the skulls of the dead, he imagines the life they had once enjoyed in the flesh. This leads him to picture the bones of Alexander the Great and Julius Caesar, once mighty men, now moldering in the dust like any other mortal. The reality of death hits Hamlet right in the gut, and he has a “this is your life” moment. Same with me this weekend. live life!…now, not something to postpone.

Categories: me stuff Tags:

consciousness and the ego

November 20, 2011 Leave a comment

What is the difference between consciousness and the ego? {from the buddhist perspective)




Consciousness is pure existence devoid of the ego, and a personality. Though a new born baby may have genetic pointers, which may later influence personality developement,  It does not have a true personality as of yet; and thus is akin to tabula rasa-a blank slate. Such a state is pure consciousness. From then onwards life experiances, in tandem with genetic pointers, shape ones personality and create the ego, or sense of self.


Buddhists believe this false self is where suffering originates. The ego is never satisfied, it craves pleasure, which often cannot be satisfied. The ego is a fragile thing, easily wounded, and ignorant of the transcendent nature of that which is in nature. Also, as the the ego is created from experience it is possible that one may have too many negative experiences, resulting in neurosis or a dysfunctional personality-and ultimately resulting in suffering. According to buddhists the goal of Buddhism is to become aware of the true self, ones pure consciousness, and deconstruct the false self, the ego.



Categories: me stuff

a great software developer

November 19, 2011 Leave a comment

over the years, i’ve observed what i think are the top qualities that make a great developer.   IMO, it’s not that they’re ultra-brilliant, or can crank out 10,000 lines of top quality code a week, it’s a more well rounded package of qualities:

passion.  a great developer will always be reading a tech book, experimenting with a new language or library.  a great developer wants to help spread the knowledge around. a great developer is passionate about their craft and quality.

minimal ego.  big egos are not enjoyable to work with.  the more valuable minimal ego comes from solid self-esteem and good grounding.  minimal egos pair better, are more altruistic, and exercise better judgement.

honor/integrity – to self and community.  a great developer will bring honor to his/her work, is trustworthy even when not watched, and contributes or teaches to their community.

balance.  a great developer knows when to take breaks, when to sleep, to eat well.  this person knows to take time off to ski or bike, and to balance work time with family time.  exercise is good for the brain.  a balanced developer brings more to the table.  a balanced developer is better rested, a better thinker, operates better socially in a team.

judgment.  a great developer exercises good judgement gained from experience, common sense, & trial and error. they know not to squander company resources to an ego trip.  they understand that engineering is about balances, and doing the simplest thing to get the job done.  newbies can augment this facet with mentorship/pairing with other great developers.

desire to get things done.  a great developer has a relentless focus on done.  they work in sustainable rhythm, break things down into chunks of success, and celebrate when done.  they know when to not over speculate, they know when to refactor just enough to get the tests to pass and then call it done.  they understand the importance of the value they’re creating.

Categories: tech Tags:

definition of an awakened person

November 19, 2011 Leave a comment

‎”The great Buddhist saint Saraha remarked, “In my wanderings, I have visited shrines and other places of pilgrimage, but I have not seen another shrine as blissful as my body.” We need to realize that our body is not a beginning point, not a jumping off point to something else. Rather, the body is itself the pathway to realization, and, at its deepest level, the embodiment of enlightenment itself. To know the body is to meet the awakened state. This is why Trungpa Rinpoche said, “There is no division between the spirituality of the mind and the spirituality of the body; they are both the same….” He commented further that the definition of samsara is a mind that parts company with the body. The definition of an awakened person is one for whom there is no separation of mind and body. To know the body is to know awareness. To know awareness in its pure state is to know the awakened state.”

“The body, it turns out, is an ally in meditation practice. Physical distress in sitting calls our mind away from its fantasies of spiritual attainment, and brings it back to the here and now. In Buddhism, this is known as synchronizing body and mind; through practice, our mind attunes itself more and more with the body, the concrete and earthy reality of our situation”

Categories: me stuff
%d bloggers like this: