Recently we’ve been wondering what traits contribute to people being good developers and team members. Early on in our conversations we realised that they aren’t really specific to developers, so we, rather cheekily, themed them “things to teach your children” as we believe they are general enough for them to be useful to any individual and worthwhile for society. In doing so, we dabbled with some ideas and found four statements to express our thoughts (all coincidentally beginning with D):
- Decision Making
We believe these four concepts, whilst incomplete, are crucial and often neglected and so deserve our attention. The rest of this post attempts to describe what they mean to us and offer some related materials for each.
Ignorance is the constraint
– Dan North
For some reason schools and organisations still insist on learning being expressed primarily memorising facts and rules, we believe more attention needs to be focused on the skill of learning, rather than just what is being taught.
Today’s world is one in which we don’t and cannot know everything, there is simply too much and it changes too quickly. To thrive in this environment, our most important skills are the ability to effectively learn and to identify and evaluate opportunities to do so.
I’m not a great programmer, I’m a pretty good programmer with great habits.
– Kent Beck
We’re not referring to subjecting people to external discipline. Many of us don’t know how to effectively use our time, much of it is wasted by a lack of energy, will or focus. We believe the most important discipline comes from within. Great benefits come from understanding the benefits of self-discipline and forming good habits and rituals.
- The 7 Habits of Highly Effective People – Stephen R. Covey
- Pomodoro technique – Francesco Cirillo
- Flow: The Psychology of Happiness – Mihaly Csikszentmihalyi
- Personal Kanban – Jim Benson, Tonianne DeMaria Barry
When it comes to making decisions, it’s clear, our brains are flawed instruments.
– Chip & Dan Heath
Increasingly, we find ourselves making many decisions every day, as we become more conscious of this we find it utterly bewildering that we don’t seem to have enough understanding of how to approach making these decisions. We seem compelled to make these decisions quickly at the point when we know the least and yet attempt to predict the future. We need to embrace the uncertain and complex nature of the world, in order to make better decisions, or to put it differently, to defer or to commit deliberately to a decision.
- Thinking Fast Thinking Slow – Daniel Kanehman
- Becoming a Technical Leader – Gerald Weinberg
- Embracing Uncertainty – Dan North
- Real Options – Chris Matts
- Decisive – Chip Heath and Dan Heath
When we understand the needs that motivate our own and others behavior, we have no enemies.
– Marshall Rosenberg
By this we mean respecting each other, demonstrating empathy and understanding for the uniqueness of each and every one of us. To do this, we need to be able to effectively trust and communicate with each other, which is notoriously difficult. Ultimately this is the ability to love ourselves and each other, an ability we struggle with each and every day. What would it mean for this to be explicitly taught in our schools and organisations, rather than hidden behind rules, regulations and policies?
- A Mind of its Own – Cordelia Fine
- Nonviolent Communication – Marshall Rosenberg
- Difficult Conversations – Bruce Patton, Douglas Stone, Sheila Heen
- Interpersonal Conflict – William Wilmot, Joyce Hocker
These are by no means intended to be complete, merely to inspire, as we believe these are often neglected and deserve to be higher on our agenda both as individuals and as a society. We love having these kind of philosophical debates and felt that this one had some legs beyond us, so we want to share them. We’d love to hear from you.
Marcin and Marc