iflix insider: The Engineers
We, at iflix, are growing — rapidly. Not only are we growing as an organization, but also as an engineering group. Currently, we have engineers in Malaysia, Australia, the Czech Republic and South Africa.
Rapid growth is challenging.
Rapid growth across continents, in various timezones and within culturally diverse environments, is exponentially challenging.
Until recently, we haven’t done the best job of addressing these growth challenges. As such, silos have formed, negative behavior sets have formed — negatively impacting our cohesion, collaboration, agility and ultimately, our productivity.
Reset. Let’s re-align.
One way of aligning is by defining a moral and behavioral code — a fundamental shared set of principles.
This post is an almost verbatim replication of the presentation I gave at the first iflix engineering off-site.
It’s a collection of values discerned from the various conversations with multiple engineers — summarized and grouped.
“that is, while there is value in the items on the right, we value the items on the left more”
The above quote is from the (in)famous Agile Manifesto and it serves as the template for the presentation.
the collective > individual
supportive > directive
this is a collective (individuals that operate as a group) — and whilst we are individuals, our aim is to be individual contributors to the group
be supportive — give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime
- Mentorship and growth are consistent — yearn to grown and yearn to become an elder
- Help each other grow, technically and personally
- Be proactive about self improvement, ask for feedback
- Roles are ever changing
- My code is our code — we will not play the blame game
- We never pass the buck
- We have input into which projects we work on
- Autonomy is aligned with accountability
inclusivity > status quo
supportive > self-interested
let’s open ourselves up to new ideas, ways of thinking, personality types; of experience, background, age, gender, sexual preference and various other traits that make us human — it would be an injustice to settle for the status quo and let ourselves stagnate in our way of thinking
self interest (like self preservation) is a constant, but shouldn’t be at the expense of being supportive of one another
- A diverse team is important (gender, background, personality, experiences, skills, etc), it exposes us to new perspectives and ideas
- We want balance between continuity and variety with whom we work
- Give each other the benefit of the doubt — be empathetic
- Provide each other a platform where we can fail safely
- Hold each other accountable, but always remain civil
open communication > closed doors
closed door conversations are inevitable; our aim is to decrease the frequency — don’t mandate participation, but be inclusive
- It’s important to have face-to-face contact
- Over communicate whenever possible — embrace openness
- We tell the truth about progress
- Verbal communication is important, but so is visual and written communication
- We will understand our product and nurture it to maturity
- Responsibility of design, architecture, implementation is shared
automation > manual repetition
quality > feature delivery
proactive > reactive
simple > clever
proven > unproven
automation means repeatability — means less work, means fewer inconsistencies
we have to deliver, but we should not be favoring delivery over quality
being proactive in increasing quality and refactoring for simplicity — it leads to a eventual net productivity gain
try to choose proven technology sets with communities and support — be leading edge rather than bleeding to death
- Simple is always better than clever — create balance between pragmatism and the ideal
- Be proactive over reactive — create options and always increase quality
- Quality and delivery aren’t directly opposed
- We don’t require complete consensus, but we do try to get people on the same page
- Embody laziness as a virtue — automate (almost) everything
- Standardize infrastructure + tooling — but be empowered to experiment
inspirational > average
- Be curious and exploratory — strive for better
- We’re courageous, because — the collective
- We want to create a best-practice template for other teams to follow
I believe we’ve built a great first iteration of our engineering foundation, one on which we can build upon and refine as we keep growing.
The final challenge is this — how do we adopt and embody these values across all of our regions? And then — hold ourselves accountable when we stray…
Finally, thank you Dan Pupius for your post in re: the Medium Engineering group’s value set — and for indirectly contributing to our value set. Brent Snook for the consistent great everything-Agile conversations and for the Values of Extreme Programming enlightenment. And, my partner in engineering + karaoke crime, Ray Hilton.
Reproduced, with permission, from Medium.