Welcome to my “personal manual”
This is a guide to help others, especially co-workers, better understand my personality, character traits and preferred ways of interaction with the aim of letting us work together better. It is a living document and subject to change, so I recommend subscribing to updates.
(Last updated: Sunday, March 13th, 2022)
Who am I?
Hello! 👋 I’m Nick Groenen. Currently in my early 30s, I live in Amsterdam in between Lelylaan station and the World Fashion Center. My professional career covers 10+ years of experience in infrastructure and IT operations, currently as Site Reliability Engineer at Castor. I’m also active in my local community as a volunteer with the Dutch Red Cross.
What do I do at Castor?
I’m the team lead for our Platform Team, which means I’m involved with and responsible for just about every aspect of the IT infrastructure which hosts our products.
My team’s mission: To provide infrastructure for Castor that is in line with our (compliance) requirements, and to help developers build and operate reliable and secure services on top of that infrastructure.
In practice, this role involves:
- Managing a team of 4 people.
- Setting the strategy and vision for our (product) IT infrastructure together with other stakeholders.
- Championing for Site Reliability Engineering and helping development teams adopt these principles.
- Supporting my own team members as well as developers from other teams as a Subject Matter Expert (SME) on various infrastructure systems and other technical subjects.
- Participating in our 24/7 on-call rotation, coordinating incident response and facilitating Post-incident reviews.
- Being heavily involved with our security and compliance processes around ISO 9001 & 27001, NEN 7510, HIPAA and GxP.
From October 2019 to August 2021 I was also Castor’s Chief Information Security Officer (CISO), but having two roles was getting too demanding so I decided to step down from this position and make room for a dedicated CISO.
Interacting with me
- 😴 I’m an evening person and don’t do well if I have to get up before 9 am, so I typically don’t start working before 10:00 Amsterdam time (you’ll see this is reflected in my calendar’s working hours as a reminder).
- 🚶 I’ll often step out for an hour towards the middle or end of the day to go for a walk and give my mind a rest. As a knowledge worker, I deliberately use this time to let my mind wander and mull over whatever I’ve been working on that day. The only way to reach me during this time is to call, which you should only do in case of emergencies.
- 🗓 I work 36 hours a week, taking the Friday off every other week (this is also marked in my calendar).
- 📅 I’d prefer to have the morning and early afternoon available for deep work. When possible, please schedule any meetings after 14:30 Amsterdam time.
- 📄 Speaking of meetings, I’m a big fan of asynchronous-first. Before holding a meeting, I expect us to collaborate over a Google or Confluence document, Jira ticket, Miro board or similar medium first to clarify the topic and our positions on it. 1
- 💬 As an exception to this rule, it’s okay to ask directly for a (video) meeting about personal matters or emotionally charged topics. In such cases, it’s better to have access to non-verbal cues like people’s facial expressions and tone of voice.
- 📝 When a meeting is scheduled, the invite should be clear about the purpose and expectations of attendees. For meetings that last more than half an hour there should also be a clear agenda or list of topics to be covered.
- 🕛 I normally try to join a few minutes ahead of time as I value meetings which start and end on time. I’m generally okay with meetings that run over when it’s valuable to continue, but only when explicitly acknowledged and agreed upon by all participants.
- 😣 My tolerance for back to back meetings is really low. I understand that sometimes it is unavoidable, especially when scheduling with multiple participants across different teams and departments, but I wish to avoid it as much as possible. Please leave at least 5 to 10 minutes of buffer between consecutive meetings and leave at least 45 minutes buffer after a block of 1.5 hours of meetings.
I’ve been working this way for many years, but you don’t just have to take my word for it that this is good for you. The following reports from Microsoft research make similar claims and recommendations:
- ❗ It is important that you set clear expectations and give me an indication of the importance/urgency a task has to you. Without this information it’s hard for me to prioritize against my many other tasks, which is likely to put it at the bottom of my to-do list.
- ⬆ I appreciate getting the Bottom Line Up Front. It is however helpful to have references to supporting documents for additional context and information.
- 📧 I can’t guarantee follow-up to messages sent over Slack and you shouldn’t “fire and forget” tasks through chat. If something needs doing, it’s much safer to send me an email or to create a ticket in the relevant issue tracker instead. 2
- 💬 Please go through public communication channels whenever possible. I don’t like receiving direct chat messages (DMs) unless the conversation is really specific to us and/or needs to remain private. Other people might be able to help you as well, and they’ll benefit from having situational awareness about it. 3
- ⌛ It’s okay to send reminders or request status updates on tasks when you’re not getting enough visibility on my progress. I would encourage you to do this.
Asking for my help or input
- 👨🏫 I love giving advice and sharing what I’ve learned. My role places a lot of demands on my time and energy which means I can’t always make time for you, but this should never prevent you from at least asking. Trust me to tell you ’no’ if I’m too busy.
- 🙋 When you reach out to me for help, I expect you to have done your part as well though. If you’re unsure, read Effectively asking for help first.
- 💬 Please go through public communication channels whenever possible. I don’t like receiving direct chat messages (DMs) unless the conversation is really specific to us and/or needs to remain private. Other people might be able to help you as well, and if they can’t, they will learn from seeing my response there. 3
Communication style & socialization
- 🔕 Although I acknowledge that as a team lead/manager, it’s part of my role to be more interrupt-driven and communications-heavy compared to an Individual Contributor (IC) role, I hold the opinion that an “always on” culture is detrimental to people’s health and productivity. I still aggressively try to minimize notifications and interruptions and suggest you do the same.
- ⌛ Having notifications turned off means that in a lot of cases, I won’t immediately respond to your message. It’s best to structure the conversation with an eye towards asynchronous communication. For example, give me all the information/context at once, don’t message me with “Hello” and then wait for me to acknowledge you before telling me what you need. Don’t ask me if I have 5 minutes to chat or if it’s okay to ask a question either - just ask straight away.
- 💬 My stance on instant messaging/chat communication (Slack, etc) is that it is best-suited for “in the moment” conversations when short, direct lines of communication are needed. It’s not suitable for long-term retention of information and I consider chat messages to lose their relevance quickly, so if I’ve been gone for more than a day, I generally won’t read back on any messages that I missed. 2
- 🤝 I’m an introvert and I tend to treat business requests and social conversations as two entirely separate things. If you’re contacting me because you need something done, I prefer getting right to the point. No need for what I would consider shallow social pleasantries first, just tell me what you need straight away.
- 👋 It’s okay to strike up conversation with me if you just want to chat though! As an introvert I find that social interactions will physically drain me over time (in big groups especially), but that doesn’t mean I don’t need any social contact at all.
- 💢 I’m not afraid to speak my mind and can have strong opinions, but I really try to hold them loosely. I welcome opposing points of view as the integration of diverse opinions leads to better outcomes.4 Please challenge me, I’ll always do my best to keep Ego out of it.
Some personal background
I got interested in computers at a young age and started building websites (still on Windows back then) around the age of 14 or 15. Visual design has never been my strong suit, but technical correctness has always mattered to me; even my earliest websites were XHTML-1.0-Strict standards-compliant.
Soon after I started experimenting with Linux as well. My earliest exposure was SUSE 8.1 but I soon switched ran Gentoo for a long time. I credit a lot of my later career success to those early days of obsessing over USE flags and fixing stuff after botched package upgrades.
I’m still close with my family and grew up in a somewhat academic environment. My dad is Professor of Animal Breeding and Genomics at the Wageningen University and one of my two younger sisters also pursued this academic track, while the other went on to become a nurse.
(As a fun anecdote, she and I both signed up as volunteers to the Dutch Red Cross in the same month, without knowing or having discussed this with each other)
Interests outside of work
- Although I no longer play as much as I used to when I was a kid, I still love video games (mainly on PS4 now). My all time favorite is probably The Last of Us (parts Ⅰ & Ⅱ) though I really enjoyed Until Dawn as well.
- Board games. I’m a big fan of the Catan games and Legends of Andor.
- I volunteer for the Dutch Red Cross, where I provide first aid at festivals and sports events and carry a P2000 pager5 as member of a Noodhulp Team.
- Various intellectual pursuits - I love to read, and in order to share my knowledge more easily with others, I’ve started experimenting with my site as a Digital Garden.
- I also love to code and tinker with new technologies. All of my favorite programming languages6 I picked up in my spare time for hobby projects.
What am I up to now?
Extracted from my /now page.
February marked my 3-year anniversary at Castor, but that feels like a lifetime ago as we find ourselves in uncertain times following Russia’s invasion into Ukraine. One weekend I was at the race track in Zandvoort working as a Red Cross first aid responder during a marathon, the following weekend I was helping at a local hotel in Amsterdam Zuid-Oost providing emergency shelter for Ukrainian refugees.
Even so, most of the conflict is far away from us in the safety of Western Europe, and so life largely goes on as usual here.
At work, I’ve been busy with our adoption of Python for some of our internal tooling. After a long hiatus from the ecosystem to focus on Elixir and Rust, it’s been fun to familiarize myself again with some of the current tools, libraries and best-practices. Despite some of its warts, especially around packaging, I must confess I still find a lot of joy in writing Python code.
(Last updated: Sunday, March 6th, 2022)
If you’re looking to schedule a meeting to discuss a problem you’d like us to solve, you may find my Async-first problem-solving template helpful. Create a shared document on Confluence with this content and ask all of the attendees to add their points of view to the first two sections at least two days prior to the meeting itself. ↩︎
Chat messages should be considered ephemeral and any record of conversation that is relevant for later should be captured and processed for archival in a more permanent location, such as Jira tickets or Confluence pages. Important announcements should be communicated through email or another dedicated medium where there is less risk of the information getting lost in a sea of other messages. Ideally, the medium used makes it easy to bookmark the information for later, as well as allowing deep-linking from other places. ↩︎ ↩︎
To contact my team, drop us a Slack message in #dev-infra or send an email to firstname.lastname@example.org. For more information, check out our communication channels and requesting work from the platform team on Confluence. ↩︎ ↩︎
P2000 is the paging-part of C2000, the closed communications network used by all emergency services in The Netherlands. I’m with the team of district Kennemerland and keep mine with me 24/7 whenever I’m in the Amsterdam area. Of the 4 predetermined assembly points in Kennemerland, I can only reach 2 within the 30-minute time-to-arrival requirement when I’m at home. ↩︎
I really enjoy working with Rust and Elixir, though lately I’m also rediscovering Python which I grew up with early in my career. I’m not really a fan of Go as I find it overemphasizes explicitness a bit too much for my own tastes, but I do quite enjoy the tooling and ecosystem around it. ↩︎