Build Your Culture Like a Product — Lessons from Asana’s Head of People
👥 Build a people strategy by talking to employees across all levels, not just leadership
📊 Use engagement surveys to gather quantitative data on organizational health
🗺️ Create a prioritized roadmap for addressing key people/culture issues
📣 Over-communicate plans and changes until you feel like you're repeating yourself
🚀 Invest heavily in onboarding new hires, even if it temporarily slows productivity
🔺 Construct a “cultural pyramid” with mission, values, and impact decisions
🤝 Align company culture with product attributes and goals
🧠 Practice “conscious leadership” in the executive team by checking ego and embracing vulnerability
🌟 Focus on being a company-wide leader, not just a functional leader
🏗️ Build deep trust through accountability, transparency and showing vulnerability
10 things software developers should learn about learning
🧠 Human memory is intricate, involving spreading activation and unexpected connections.
📝 Two main memory systems: long-term memory and working memory; chunking aids in retention.
🕵️♂️ Experts recognize patterns quickly; beginners rely on reasoning and familiarity with code.
📔 Learning new concepts: abstract-to-concrete-to-abstract transitions are effective.
💡 Memorization remains important for faster problem-solving and pattern recognition.
🔄 Spacing and repetition are beneficial learning strategies.
💻 Problem-solving skills are domain-specific and require practice within that domain.
👓 Experts may find it challenging to effectively train beginners due to blind spots.
🔮 Prediction of programming ability based on factors like aptitude and practice is complex.
🌱 Having a growth mindset is crucial for effective learning and overcoming failures.
How to make architecture decisions
🏗️ Architecture decisions can be challenging, especially when they impact multiple teams or have wide-ranging consequences.
🤔 Not making an explicit decision can lead to informal decisions accumulating over time.
🚧 Constraints from decisions can be positive, creating "guard rails" for engineering teams.
⏰ The "last responsible moment" is a guiding principle for decision-making, but it can be hard to recognize.
👥 Collaborative and inclusive approaches to decision-making are crucial for buy-in and relevance.
📝 Lightweight decision records can help create a "shared memory" for architecture decisions.
How we decide what to build
🧭 Agree on product principles to guide decision-making and make it easier to say no to ideas
🗺️ Map out everything users want to avoid tunnel vision and explore all options
⚖️ Prioritize potential features by effort vs impact using 2x2 grids
👤 Make ownership clear to speed up decision-making and implementation
🧪 Test ideas with minimal effort through MVPs and prototypes before investing further
Why Work Rituals Bring Teams Together and Create More Meaning
🏢 Work rituals improve team performance and create more meaning for employees
🔄 Rituals differ from habits by having more personal significance and meaning attached
😌 People use rituals to cope with emotions like anxiety, grief, and to boost enjoyment
👥 Simple collective rituals can make tasks feel more meaningful to team members
🗣️ Bottom-up rituals created by employees tend to be more effective than top-down imposed ones
🔑 Even if work rituals feel awkward, research shows they can still improve team bonding
Mental Health in Software Engineering
🧠 Mental health issues in software engineering are common but not discussed enough
🚀 Leadership roles in tech startups can lead to increased anxiety and stress
🔄 Work-life balance is challenging but crucial for long-term success and well-being
🚫 Learning to say "no" and setting boundaries is important for mental health
🏃♂️ Physical activity like walking can help clear the mind and reduce stress
🤝 Empathy and understanding are essential for better team interactions
🆘 Seeking professional help for mental health issues is a sign of strength, not weakness
🗣️ Learning to communicate effectively and push back on unreasonable demands is crucial for developers
🏃♂️ Many businesses and managers operate in a chaotic manner, often setting arbitrary deadlines
💰 Raising prices can lead to better clients and less stress for developers
🧘♀️ Taking breaks, finding hobbies outside of coding, and maintaining work-life balance are important
🚶♂️ Simple practices like daily walks can help manage stress and anxiety
🕰️ Setting boundaries and treating work as just a job, not one's entire identity, is beneficial
That’s all for this week’s edition
I hope you liked it, and you’ve learned something — if you did, don’t forget to give a thumbs-up and share this issue with your friends and network.
See y’all next week 👋