I work as a consultant. This means switching between different roles and different teams.
Inspired by 12 manager READMEs, I’m building this Consultants README, to help my clients get the best for me – and address my sins.
First a little background. I have a bachelors degree in Computer Science and I’ve spent a lot of time teaching.
I’m a decent programmer, but no rock star. I’ve been a web developer, app developer and a Perl programmer before becoming a consultant.
I’ve taught android programming, LEGO Mindstorms and Computer Architecture and been a kindergarten teacher, though not simultaneously.
I am very passionate about all things software development. I care.
These are the values that permeate everything I do, or at least these are the things that I wish to be the foundation of my decisions and my interactions.
Curiosity. Curiosity is a big driver for me, I want to learn. I believe a healthy dose of curiosity is necessary to be a good software developer, craftsman, manager or leader. Curiosity about the people around you, about your craft and about yourself. Keep your curiosity alive and you will be awesome to collaborate with.
Passion. I believe everyone is passionate about something, and I pity those who have yet to find their passion. In a work context I assume that you are passionate about your job. If nothing else let’s be passionate about doing our job well.
Human Interaction. Humans make the world go round, even if it sometimes is indirectly through computers. I have a high respect for humans, and the way we interact with each other. Being aware of how we interact and trying to create constructive behaviours is key.
Language matters. I’ve always liked language(s). I love reading, and some might say I love talking. Choosing the right words in a conversation, or the right kinds of words are so important. As a teacher it can tell me something about understanding. As a consultant or a coach it is something that I can influence to create better collaboration.
Respect. I respect other people and love to be in diverse constellations. I expect respect to be in the forefront of any collaboration. I also believe that acknowledging the value of other peoples time and attention is a sign of respect.
Science. I believe in the scientific method. We should reason about what we are going to do, what we expect to happen and how to determine if a thing we did was a success. When we are doing things blindly we are not being professional. We should never be satisfied with “it works, but I don’t know why”. If nothing else this should be seen as a learning opportunity.
Fun. Humor is a very important part of human interaction and relationships. I’m quick to laughter and not shy to throw a joke. If we are going to work seriously together, we will be more effective if we can also have fun together.
Even though I try to be the best possible, and take care of how I interact with people. I have some anti-patterns that I am aware of.
By making you aware of them, I hope you will help me address them when relevant and help me break these bad patterns.
Too meta. I reflect on stuff. A lot. Some might say a tad much. If I get too carried away discussing meta stuff to get in way of the real work, pull me back to the task at hand. Be aware though, there is a lot of value in the meta stuff.
Domination. If no one takes charge of a meeting, or of stuff, I tend to rise to the occasion. This is not always beneficial, especially if my timeout period for when no one is taking the lead is not aligned with the team I’m currently working with.
I’m always right. I am often right. At least I often feel that I am right. I tend to use quite assertive language and body language. If you disagree with me, or just are unsure on my reasoning, challenge me. Make me argue. Convince I’m wrong.
Overuse of methods. I read a lot. I talk a lot to people about process, agile and things in that realm. This means I pick up new tricks, exercises, sayings or way of workings. Of course everything needs to be tried out, so that is the bane of people around me. Everyone is a test subject. Stop me when this get out of hand.
Impatience. I want things to happen. In the small scale I’m pretty patient. I can wait my turn for the coffee maker. In the macro-scale I’m less patient though. I acknowledge that there is such a thing as change capacity, and respect that. If I’m too impatient remind me that we are already changing things, we will get there.
Idealism or pragmatism. I can sometimes be too black and white in terms of going all in on pragmatism or idealism. I hope to live in the gray area called optimistic realism, but I might lose my way, and need some help to get pulled back from either extreme.
Getting started. I want to do stuff right. I think about it, rather than just get started. Sometimes I over do this. Even though I very much subscribe to the agile values and principles. The primary measure of success is working software”. Please remind me of this principle.
Finalizing. When the solution has been figured out, problems lose some of their glamour to me. This means that I’m not very good at pushing for the alst 20%.
Everything is awesome! I love learning stuff, and as mentioned above I highly value curiosity. This can have the drawback of me knowing a lot of new stuff, and wanting to introduce it to everyone. Similarly to the “too many methods” section, let me know if this takes over.
I hope that this text has helped you get a feeling about my values and caveats. I hope you’ll enjoy interacting with me 🙂