Great development is about more than code

Most developers start out focusing solely on learning how to write code; usually a specific language and specific techniques. I started out with BASIC; spending many hours tinkering with games and graphics. I loved creating things just to see if I could create them not because there was any need to do so. 

Later I used the same approach to learn the syntax and capabilities of Java. It was easier this time, many of the skills I’d learned from BASIC were applicable despite the language differences. As my knowledge increased I created more sophisticated, and complicated solutions. I felt like I was becoming a better developer and I was, but I still wasn’t what you would call a good developer.

It took many years for me to really appreciate the importance of fully understanding a problem before even thinking about the solution. Spending time, often way more than you feel comfortable spending, thinking about the problem before writing a single line of code is hard. It feels counter-intuitive to see a problem and not immediately start trying to solve it. Experience taught me that good code design does not come from writing code.

Believing that complicated code is better code is a mistake, and one commonly made. Good code is the right code for the problem. It’s the right code for the team (language, tools, level of documentation), and it’s the right code for the problem (testability, maintainability, extendability). Often that means that the best code for the job is the most boring, simplest code. The kind of code that anyone in the team can pick up and work with.

Great developers are those that can see a business problem, collaborate with others, and design the simplest solution to get things done. They’re able to balance their time to support others, investigate ideas, as well as writing code. Being proficient in the language is a big part of their success, but it isn’t the only part. Anyone wanting to increase their development skills needs to look past simply writing code and start learning how to design great (simple) solutions.

2018 in Books

Books_of_2018_-_Google_DocsSometimes we read the book we need to solve the problem at hand. Other times we read a book and only afterwards see the situations that it has taught us to see.

2018 was a little lighter on reading than I would have liked but I did discover, and rediscover some gems.

First up was a reread of The Phoenix Project: A Novel about IT, Devops, and Helping Your Business Win. Five years on from its first publication and it’s starting to feel a little dated but still an excellent book with relevant lessons. Focusing on flow, and making work visible were key takeaways for me this time around.

Next up I read, and loved, Powerful by Patty McCord. Patty writes about recruiting, motivating, and creating great teams based on her experience developing the culture at Netflix.

What takes the place of rules, processes, approvals, bureaucracy, and permissions?” The answer: Clear, continuous communication about the context of the work to be done. Telling people, “Here’s exactly where we are, and here’s what we’re trying to accomplish.”

And

“You want to be a lifelong learner; you want to always be acquiring new skills and having new experiences, and that doesn’t have to be at the same company. The fact is that sometimes you’re hired by a company to do something, and then you do it and it’s done. If I hire people to rebuild my garage, when they’re done I don’t need them to rebuild the back of my house.”

The most practical book I read in 2018 was Accelerate: The Science of Lean Software and Devops: Building and Scaling High Performing Technology Organizations by Nicole Forsgren, Jez Humble and Gene Kim. This is a book crammed full of tips for helping teams achieve success, I particularly appreciated the focus on burnout that threaded its way throughout the book. Important reading.

Radical Candor by Kim Scott was my book of the year. “Radical candor is the sweet spot between managers who are obnoxiously aggressive on one side and ruinously empathetic on the other. It’s about providing guidance, which involves a mix of praise as well as criticism—delivered to produce better results and help employees achieve”. There are many, many great stories and transferable tips shared in this book. A joy to read, and a book that has changed the way I manage and want to be managed.

I ended up highlighting most of the book but this quote neatly sums up how it made me feel

“If you want to build a ship, don’t drum up people to collect wood and don’t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.”

My final book of the year was Switch by Chip Heath and  Dan Heath. Years ago I struggled through Thinking Fast, Thinking Slow, enjoying the message but finding it hard to recall accurately. Switch does a great job of sharing the same message in a far more accessible format. I absolutely loved the Elephant and the Rider metaphor to describe our minds, and I found the stories in the book to be interesting and highly motivating. I can’t wait to put these ideas into practice in 2019.

How was your 2018? Did you discover any books worth shouting about?

Manage the energy for successful meetings

Successful meetings, workshops, and even smaller group discussions rely on creating and managing the right energy. A meeting where everyone has low energy will feel long and boring, whereas a small group discussion with too much high-energy can feel like an argument waiting to happen. 

Experienced workshop designers will know that scheduling breaks at the right time is important, as is the essential “after lunch energiser” to get people engaged again. Meetings and work discussions are no different. 

Finding ways to generate energy is an important part of a successful meeting. A couple of minutes of light-hearted chit-chat as people get settled can help set the tone (if appropriate for the meeting content). If the meeting is mostly about relaying content then it can be easy to rely on powerpoint presentations but finding a way to incorporate physical items such as paper cut outs, or port-it notes can be very effective at engaging the audience. Simple tasks such as grouping statements on bits of paper instead of reading them a list, or asking for agenda items to be written on post-its rather than typed into a document can make the meeting feel collaborative and energising. 

Movement is another great way to generate energy. Having people stand up and move around completely changes the energy in the room and can serve as an excellent switch between stages of a meeting or workshop. Workstations where attendees move around to focus on smaller topics or tasks are fun and help keep people engaged, but even something simple like standing up to stick a post-it note on a wall can be enough to get people focused. Movement can be an effective way to break people away from laptop distractions too, something which can be a big culprit in sucking energy from the room. 

Spending time sitting and writing will reduce the energy and also give people time to think and reflect. I’m a big fan of having people sit in silence for a set amount of time, for example silently writing topic suggestions for 5 minutes at the beginning of the meeting to encourage deeper thinking. In “Time to Think” Nancy Kline writes about the importance of giving people space to think, but also the power of them knowing they won’t be interrupted for a set amount of time, freeing them up to really think. 

Not everyone can think on the spot, and not everyone will be comfortable speaking up in front of a crowd so mixing up the meeting formats can help different people engage in a way that suits them. Having time to prepare and then choose what I’m comfortable sharing is a much kinder way to encourage engagement than putting someone on the spot in a meeting. Sharing the meeting format in advance can give even more time for participants to plan their contribution. 

Bringing groups of people together can have unpredictable results and learning to redirect energy is essential facilitation tool. It can be hard to know in advance that energy will need to be managed but signs such as an unresolved discussion, or lack of actionable outcomes can be good indicators. When discussions becomes heated they can get stuck in a head-to-head energy battle that is difficult to resolve. Re-directing this energy into a different form can really help move things along. Whiteboards, or post it notes for example, can be a new focus for the energy, even a simple request such as “can you sketch that out for me on the board” can help to move the discussion along in a low-conflict way. 

Creating meetings that include both movement and deep thinking can lead to thoughtful discussions with energised attendees. Keeping people engaged and knowing how to resolve deadlocks will lead to more enjoyable, and effective meetings. Try introducing one change with the intention of shifting the energy in your meeting and see whether you see an impact.