{"id":322679,"date":"2020-10-16T07:45:33","date_gmt":"2020-10-16T14:45:33","guid":{"rendered":"https:\/\/css-tricks.com\/?p=322679"},"modified":"2020-10-16T07:45:35","modified_gmt":"2020-10-16T14:45:35","slug":"people-problems","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/people-problems\/","title":{"rendered":"People Problems"},"content":{"rendered":"\n

Just the other day, Jeremy Keith wrote that problems with performance work isn\u2019t only a matter of optimization and fixing code, but also tackling people problems<\/a>:<\/p>\n\n\n\n

It struck me that there\u2019s a continuum of performance challenges. On one end of the continuum, you\u2019ve got technical issues. These can be solved with technical solutions. On the other end of the continuum, you\u2019ve got human issues. These can be solved with discussions, agreement, empathy, and conversations (often dreaded or awkward).<\/p>

I think that, as developers, we tend to gravitate towards the technical issues. That\u2019s our safe space. But I suspect that bigger gains can be reaped by tackling the uncomfortable human issues. <\/p><\/blockquote>\n\n\n\n\n\n\n\n

This was definitely shocking to learn when I joined a company a few years ago and found that there was a mountain of performance work that I couldn\u2019t do alone. I started trying to teach folks about performance, as well as holding office hours and hopping onto projects and teams that needed help. But I realized that all this work didn\u2019t help. The website I was working on in my spare time was getting slower<\/em>, despite my best efforts.<\/p>\n\n\n\n

Frustrated and exhausted, one day I sat back in my chair and realized that I couldn\u2019t do all this work alone. The real problem was this: there\u2019s no incentive for folks to care. If performance magically improved by ten thousand percent, no one in the company would have noticed. Customers would have noticed, but we all probably wouldn\u2019t have. Except me, because I\u2019m a nerd.<\/p>\n\n\n\n

In Ethan Marcotte\u2019s latest talk<\/a>, <\/a>he describes this people problem when it comes to design systems:<\/p>\n\n\n\n

Creating modular components isn\u2019t the primary goal or even the primary benefit of creating a design system. And what\u2019s more, a focus on process and people always leads to more sustainable systems.<\/p><\/blockquote>\n\n\n\n

Design systems are about good, quality front-end code just like performance is, too. But if people within an organization are not incentivized to use the components within a library or talk to the design systems team, then that\u2019s where things quickly get bonkers. <\/p>\n\n\n\n

I\u2019d maybe simplify this people problem a bit: the codebase is easy to change, but the incentives within a company are not. And yet it\u2019s the incentives that drive what kind of code gets written \u2014 what is acceptable, what needs to get fixed, how people work together. In short, we cannot be expected to fix the code without fixing the organization, too.<\/p>\n\n\n\n

The most obvious incentives are money and performance ratings, or even hiring a person or team dedicated to this particular line of work. Improving visibility into performance problems and celebrating big wins is another thing that can be done to shift the balance and make folks care more about this whole new area of expertise. But these things really have to come from the top down; not from the the bottom up. At least that\u2019s been true in my experience.<\/p>\n\n\n\n

My point here is that there\u2019s no single solution to fix the incentive problem in large organizations. It sounds silly, but in order to make that website, the biggest hurdles to overcome are those incentives. If no one cares about performance work today, then shouting and screaming and being a jerk about it won\u2019t help at all. <\/p>\n\n\n\n

Trust me, I have been that jerk.<\/p>\n","protected":false},"excerpt":{"rendered":"

Just the other day, Jeremy Keith wrote that problems with performance work isn\u2019t only a matter of optimization and fixing code, but also tackling people problems: It struck me that there\u2019s a continuum of performance challenges. On one end of the continuum, you\u2019ve got technical issues. These can be solved with technical solutions. On the […]<\/p>\n","protected":false},"author":223806,"featured_media":292921,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[4],"tags":[1396,713,710],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/07\/wireframe.jpg?fit=%2C&ssl=1","jetpack-related-posts":[{"id":295970,"url":"https:\/\/css-tricks.com\/a-codebase-and-a-community\/","url_meta":{"origin":322679,"position":0},"title":"A Codebase and a Community","date":"September 27, 2019","format":false,"excerpt":"I woke up one morning and realized that I had it all wrong. I discovered that code and design are unable to solve every problem on a design systems team, even if many problems can be solved by coding and designing in a dark room all day. Wait, huh? How\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/09\/DT3131442-scaled.jpg?fit=1200%2C701&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":269325,"url":"https:\/\/css-tricks.com\/going-offline\/","url_meta":{"origin":322679,"position":1},"title":"Going Offline","date":"April 11, 2018","format":false,"excerpt":"Jeremy Keith has written a new book all about service workers and offline functionality that releases at the end of the month. The first chapter is posted on A List Apart. Now that the latest versions of iOS and macOS Safari support service workers, I can\u2019t think of a better\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/04\/website-offline.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":255224,"url":"https:\/\/css-tricks.com\/unified-styling-language\/","url_meta":{"origin":322679,"position":2},"title":"A Unified Styling Language","date":"May 26, 2017","format":false,"excerpt":"This article by Mark Dalgleish will go down as one of the most important front-end development articles of 2017. It's about the hot topic that is \"CSS in JavaScript\". Mark walks us through how that's actually not a simple and singular idea, but a continuum of concepts and implementations. There\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":281197,"url":"https:\/\/css-tricks.com\/the-ethics-of-web-performance\/","url_meta":{"origin":322679,"position":3},"title":"The Ethics of Web Performance","date":"January 14, 2019","format":false,"excerpt":"Tim Kadlec on the issues surrounding poor web performance and why it\u2019s so important for us to care about making our sites as fast as possible: Poor performance can, and does, lead to exclusion. This point is extremely well documented by now, but warrants repeating. Sites that use an excess\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/11\/css-running.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":303619,"url":"https:\/\/css-tricks.com\/blame-the-implementation-not-the-technique\/","url_meta":{"origin":322679,"position":4},"title":"Blame the implementation, not the technique","date":"February 17, 2020","format":false,"excerpt":"I'm not sure we've gotten much better at this since Tim Kadlec wrote this in 2012: Stop me if you\u2019ve heard this one before.\u201cResponsive design is bad for performance.\u201d\u201cUser agent detection is bad. Don\u2019t segment the web.\u201d\u201cHybrid apps don\u2019t work as well as native apps.\u201d\u201cCSS preprocessors shouldn\u2019t be used because\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/12\/css-tricks-logo-gradient-outline.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":151281,"url":"https:\/\/css-tricks.com\/solved-flexbox\/","url_meta":{"origin":322679,"position":5},"title":"Solved by Flexbox","date":"September 26, 2013","format":false,"excerpt":"Philip Walton looks at common CSS layout issues that were a pain in the butt before Flexbox.","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"featured_media_src_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/07\/wireframe.jpg?fit=1024%2C1024&ssl=1","_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/322679"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/223806"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=322679"}],"version-history":[{"count":9,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/322679\/revisions"}],"predecessor-version":[{"id":322694,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/322679\/revisions\/322694"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media\/292921"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=322679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=322679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=322679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}