Recent Posts
Archives

Posts Tagged ‘Collaboration’

PostHeaderIcon [PHPForumParis2022] Code Review: We Didn’t Come to Suffer! – Anne-Laure de Boissieu

Anne-Laure de Boissieu, a backend developer at Bedrock, delivered a heartfelt presentation at PHP Forum Paris 2022 on transforming code reviews into positive, constructive experiences. As a member of the Duchess France network and an organizer of the Mixit conference, Anne-Laure shared personal anecdotes and practical strategies to make code reviews less daunting and more collaborative, drawing from her experience at Bedrock and her passion for community engagement.

Reframing Code Reviews as Collaboration

Anne-Laure began by addressing the emotional challenges of code reviews, recounting instances where feedback felt personal or discouraging. She argued that code reviews should be a collaborative process, not a source of suffering. By adopting a constructive mindset, developers can focus on improving code quality rather than defending their work. Anne-Laure emphasized the importance of clear communication, citing her own experiences at Bedrock, where supportive feedback helped her grow as a developer.

Best Practices for Effective Reviews

Drawing from Bedrock’s workflow, Anne-Laure shared actionable best practices for code reviews. She advocated for assigning a “buddy” to new developers for initial reviews, conducting verbal feedback sessions to reduce misunderstandings, and addressing complex feedback in person. Referencing Amélie’s talk on onboarding, she highlighted small tasks, like adding a name to a list, to familiarize newcomers with workflows. These practices, Anne-Laure argued, create a supportive environment that fosters learning and aligns with team standards.

Building a Positive Review Culture

Anne-Laure emphasized that human interactions are key to successful code reviews. She cautioned against piling up written comments, which can escalate tensions, and encouraged direct discussions to resolve issues. By sharing her journey from feeling hurt by feedback to valuing constructive critiques, Anne-Laure inspired developers to approach reviews with empathy and openness. Her insights underscored the role of team dynamics in creating a culture where reviews enhance collaboration and professional growth.

Links:

PostHeaderIcon [DotCSS2018] DotCSS 2018: Natalya Shelburne – CSS at the Intersection of Mental Models

Natalya Shelburne, a designer-turned-software-engineer, delivered a thought-provoking talk at DotCSS 2018, exploring CSS as a nexus of diverse mental models. Drawing from her experience as an educator and career switcher, Natalya examines why CSS sparks debates about its efficacy and ownership, advocating for tools that foster collaboration across disciplines.

The Clash of Mental Models

Natalya frames CSS as a battleground where designers and developers, shaped by distinct prior knowledge, encounter cognitive dissonance. A designer accustomed to global styling may find CSS’s cascade intuitive, while a programmer seeking control flow might view it as chaotic. This dissonance, while a natural part of learning, can lead to public frustrations that reinforce silos between job roles.

Natalya argues that these debates—whether CSS is “broken” or “awesome”—stem from the intersection of mental models. By embracing cognitive dissonance as a learning opportunity, developers and designers can grow beyond their comfort zones, fostering a more cohesive industry.

Building Collaborative Tools

To bridge the gap between design and development, Natalya advocates for tools like design systems and prototype environments. She shares an example from a project where a designer proficient in HTML/CSS but not JavaScript collaborated with a JavaScript-focused developer. By creating a style guide and a private prototype route, the team enabled the designer to contribute semantic HTML and CSS, which the developer then connected to data and abstractions. This approach minimized handoff gaps, allowing both team members to expand their skills.

Natalya’s Harvard Extension course further illustrates this philosophy. By assigning roles outside students’ expertise (e.g., a JavaScript developer designing UI), she created a safe space for experimentation, resulting in improved collaboration and skill growth. These tools and practices empower teams to transcend arbitrary barriers, enhancing productivity and creativity.

Embracing Flexibility for Growth

Natalya emphasizes that above-average learning requires deliberate flexibility. By challenging assumptions and embracing discomfort, individuals can become “unicorns”—professionals adept at multiple disciplines. This flexibility not only enhances personal growth but also enables the creation of inclusive tools that empower entire teams. Natalya’s call to action is clear: build interfaces that accommodate diverse mental models, fostering a collaborative and innovative web community.

Links: