Developer Happiness

Summarized using AI

Etsy

Chad Dickerson • May 16, 2011 • Baltimore, MD

In his talk at RailsConf 2011, Chad Dickerson discusses optimizing for developer happiness at Etsy, where they prioritize a positive work culture over traditional technology-focused practices. Key points discussed include:

  • Daily Deployment: Etsy deploys code to production approximately 25 times per day with a team of 70 engineers, emphasizing the importance of frequent progress and rapid deployment.
  • Developer Happiness: The focus is on nurturing a culture that values developer happiness, noting that at Etsy, this began with Eric Kastner who highlighted its priority.
  • Trust and Empowerment: A radical decentralization of authority at Etsy enables engineers, product managers, and even board members to participate in code deployment, showcasing a high level of trust in the team.
  • Community and Collaboration: The environment includes communal activities, open channels for communication, and a collaborative atmosphere that enhances both morale and productivity.
  • Craftsmanship: Emphasis on craftsmanship in engineering is reflected in their engineering blog titled 'Code is Craft', highlighting the importance of ownership and pride in one’s work.
  • Feedback Mechanisms: Instant gratification through immediate deployment and community feedback encourages developers to feel a connection to their work and enhances overall satisfaction.
  • Human Connections: Dickerson draws parallels to ideas from Peter Drucker and Charlie Chaplin regarding the importance of human connection in workplace culture, noting that at Etsy, they strive to recognize the individual behind the work rather than viewing it merely as factory labor.

Chad concludes that fostering genuine social connections and community within teams leads to impactful work and success. The essence of optimizing teams for happiness lies in addressing the human aspect of work, contributing to both individual fulfillment and organizational effectiveness.

Through community and open communication, Etsy remains focused on creating a supportive environment that acknowledges and celebrates individual efforts, ultimately driving success.

Takeaways: The prioritization of developer happiness, community engagement, and a culture that fosters meaningful connections are essential ingredients for a successful and productive workplace at Etsy.

Etsy
Chad Dickerson • May 16, 2011 • Baltimore, MD

RailsConf 2011, Chad Dickerson, "Etsy"

RailsConf 2011

00:00:00.919 So I'm here today not to talk about technology or programming languages, but to discuss optimizing for developer happiness and how we approach it at Etsy. How many of you in the audience are Etsy sellers? Great! And how many of you have bought something from Etsy? Even better! Thank you to all the sellers and buyers.
00:00:10.480 At Etsy, we deploy code to production about 25 times per day with a team of 70 engineers. Although I mentioned I wouldn't focus on technology, this is relevant to our focus on happiness. We have a significant number of people depending on us. There are over 400,000 active sellers on Etsy and more than 9 million registered members. In 2010, our community had over $300 million in sales, and just last month we did about $40 million in sales. Our website receives over a billion page views a month, so it's crucial that we perform our work well, reaching over 150 countries.
00:01:11.240 The way we accomplish this primarily involves culture and community rather than technology alone. We foster a culture that optimizes for developer happiness. Eric Kastner, who some of you may know, was the first in our team to emphasize developer happiness as a priority. Everyone in this room, by virtue of Ruby's design, likely appreciates the importance of developer happiness. At Etsy, we have many practices in place to connect engineers to their work and promote craftsmanship, as Glenn discussed in his talk. We emphasize making it easy to ship software to our users, supported by both internal and external communities.
00:02:16.319 Noah Susman, who runs our testing team, describes Etsy as a chaotic community that is irreverent and self-sustaining, employing various mechanisms to function effectively. The way we operate—deploying 25 times a day with 70 engineers—defies conventional wisdom and expectations. There are no established methods or books dictating how it should work, yet, remarkably, it does. We emphasize continuous progress and frequent shipping, supported by a radical decentralization of authority, which means we trust our team members.
00:03:00.599 At Etsy, we also trust dogs. If you look at our job posts, you will see that dogs are considered part of the team and are expected to contribute as well. Dy and Milo, for instance, have both successfully deployed code, which I will elaborate on later. We use a one-button deployment system at Etsy. There's some fanfare before reaching this button, but once pressed, your code is deployed to millions of Etsy members instantly. It is quite empowering for engineers, as anyone in the office with engineering capabilities can deploy code. Our product managers also have technical skills, allowing them to deploy code; for example, Leland made changes on his first day at Etsy and successfully deployed his edits.
00:04:29.240 Board members have even been involved in code deployment. A few months ago, during a board meeting, Fred Wilson was asked if he wanted to deploy code. He readily agreed when asked, which is a testament to our streamlined process for deployment. In fact, Fred was able to deploy code related to checkout, which turned out quite well. We've made it easy for anyone to deploy code at Etsy, as this process fosters a collaborative and engaging environment.
00:05:49.440 Milo, for example, has been involved in deployments. His paw was guided to the mouse to help manage the process, and like any engineer at Etsy, he kept an eye on the screen while ensuring his code was synchronized with the servers. The experience provided him the satisfaction of watching his code go live, reinforcing our commitment to developer happiness and engagement. Listening to Glenn discuss craftsmanship resonated with me; at Etsy, we have an engineering blog titled 'Code is Craft' where we emphasize the importance of craftsmanship in our work.
00:06:40.760 On our blog, we reference the idea that craftsmen sign their work, which aligns with the philosophy that it's important for engineers to have a voice in their output. Etsy sellers and buyers know the value of handmade items and the dedication of creators. In contrast, at Etsy, we use tools like Mac, TextMate, or even Emacs, along with fostering creative environments where the team can bond over shared activities, such as musicians coding while another plays guitar to enhance the workplace atmosphere.
00:07:55.760 Bill Massie from my team noted that Etsy respects engineering as a craft. He felt welcomed when he saw a banner proclaiming, 'We love engineers.' The atmosphere at Etsy embodies this respect, contrasting with many other companies where such sentiments may not exist, which often leads to a Dilbert-like workplace, an industry-wide frustration. Dilbert has humorously depicted the absurdities in corporate environments for over 22 years, which highlights a longstanding issue in workplace culture.
00:08:48.640 In one particular Dilbert cartoon, the manager’s fixation with productivity demonstrates a myopic approach to team management. While Glenn’s insights into industrial engineering were invaluable, they reminded me of Charlie Chaplin’s portrayal of factory life in 'Modern Times.' Chaplin brilliantly critiques the dehumanizing aspects of factory work, where individuals lose their identity, similar to how software development can sometimes feel like assembly line work devoid of completion satisfaction.
00:10:01.240 At Etsy, we strive to recognize the individual behind the work rather than treating software engineering as factory work. We emphasize human connections within our work environment. To shift this culture, we have initiatives in place, such as communal lunches every Tuesday and Thursday, where members from all teams come together to share a meal, fostering happiness at work. Optimizing this time for happiness contrasts starkly with Chaplin's character, who is deprived of human connection during lunch.
00:11:13.800 The assembly line metaphor echoes throughout our industry and highlights the importance of the human connection in the workplace. Peter Drucker, a pioneering business thinker, explored how the confinement of workers to repetitive tasks denies them the fulfillment of completing a job. This insight applies to software development, where developers may feel disassociated from the outcomes of their work. However, at Etsy, we enable our engineers to see the results of their efforts, which fosters a sense of ownership and fulfillment in their partnerships with the community.
00:12:56.720 Drucker narrated a compelling story from post-World War II, where a factory manager addressed productivity concerns by allowing workers to see the airplanes they were building. This experience created a renewed sense of purpose, leading to increased productivity and reduced absenteeism. Similarly, when developers at Etsy can witness their contributions through immediate deployment and community feedback, their satisfaction levels rise considerably. Dan Ariely emphasizes that allowing employees to feel a sense of completion and ensuring their work is well executed creates a meaningful experience.
00:14:38.720 At Etsy, we have developed a deployment process that enables developers to see their work come to life within a short period after committing code. This instant gratification is essential for maintaining motivation. The community feedback we receive is vital for further enhancing developer happiness, allowing them to witness the impact of their contributions directly. Feedback from members of the community expresses gratitude and satisfaction, reinforcing the importance of every developer’s role in our organization.
00:16:10.000 We've cultivated an environment where our team promotes open communication through channels like IRC, encouraging a culture of collaboration and transparency. New team members often find this atmosphere welcoming and supportive. Our IRC channels serve not only as a tool for collaboration but also as a space for connection. We believe at Etsy that fostering a strong community amongst engineers is just as important—if not more so—than technical competencies. This communal bond subsequently leads to more meaningful collaboration on projects.
00:17:46.040 In closing, it’s crucial to understand that human connection significantly influences productivity and morale. Ducker’s insights regarding the role of community within a corporation resonate with our practice here at Etsy. We see ourselves not merely as a company focused on producing but as a community that thrives on collaboration and support. By prioritizing community and open communication, we ensure that individual effort and achievement do not go unnoticed. Establishing networks for support becomes foundational in our work environment, amplifying success at all levels.
00:19:08.960 As we strive to cultivate genuine social connections and community, I encourage everyone to consider how you can optimize your teams for happiness. Authentic human connections are what ultimately lead to impactful work and successful outcomes. By addressing the human side of work, we promote not only individual satisfaction but also overall company success. Thank you very much for your attention today.
Explore all talks recorded at RailsConf 2011
+8