Closing RailsConf 2015 was the brilliant and marvelously entertaining Kent Beck. His keynote was more of a lessons learned session discussing the challenges he has encountered through his career and sharing his insight with the crowd.
A man cannot be comfortable without his own approval. Mark Twain
What does ease mean at work?
Ease does not mean you don’t risk anything.
Ease does not mean that you don’t work hard.
Ease at work means a state of comfort.
That you are free form that nagging feeling in the back of your mind that you should be doing something else. Ease means doing that you should be doing, where you should be doing it, when you should be doing it.
The last part of ease is the sense of facility - you can see this in athletes that make it looks so easy while working hard. There’s a precision and elegance in the hands of a master that we aspire to. Getting there is really hard work, but, once you get there, it’s fantastic. It’s when you are working and you look up to find that hours have passed. Ease is getting into the flow.
My work matters
Unlike other forms of work, like construction where you can point at houses or buildings, programming doesn’t have solid examples of meaning. Think about refactoring. Does that work matter? How can we ensure that the work we feel so good about matters?
Talking to people, measuring performance, tracking changes - does the work we do matter? We have a limited amount of time in our lives, so we need to make sure what we do is valuable.
When we get that feeling of “Does this really matter?” we need to take the time to investigate to find out before we dive in.
My code works
The JELLO model - a way to know when to make a release. Software, like JELLO, is always wiggling, so an engineer chooses to release it at the exact moment when is stable for just a second.
Clearly, that’s not the right way of releasing code. Releasing code is a choice. Testing is a choice. If it doesn’t help, then don’t do it. If it helps, then do it.
Ship when you are confident in your code. If that means testing, then that’s want you should do. It’s critical confidence in your facility to ensure confidence that your code works.
We are not robots.
People should be proud of their work. Pride is an emotion. We have to acknowledge we are social animals. There is a primal need to feel pride in your work. Too often, we expect people to be emotionless robots. We plan, develop, and ship. Where is the celebration? There needs to be recognition of accomplishment in development cycles.
I can sleep when the wind blows.
Kent Beck saved this bit of wisdom for last. The parable of a farm hand that claims to be able to “sleep when the wind blows” has been told and readapted in spiritual messages for a long time, but the message is the same: preparation and hard work are valuable assets that go unappreciated until they are needed.
Feeling Alive
I left the keynote feeling optimistic, which is strange for me. Most of the times I leave conferences, I’m anxious about the work that I am doing, how I’m doing it wrong, and the multitude of new practices I need to start implementing. Generally, I feel equal parts overwhelmed and ignorant. This time it was different. I realize that other feel these same things, and that it’s not a sign of weakness, but a sign that there is more to learn. After all, overcoming these constant struggles is what excites me about development.
Next year, RailsConf will be in Kansas City, MO, and I can’t wait to see where I am then. I didn’t feel like a member of the Rails community when I first entered the convention center, but now I am a Rails champion. Let’s go.