<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Playground Inc. - Medium]]></title>
        <description><![CDATA[A human design company. - Medium]]></description>
        <link>https://medium.com/playgroundinc?source=rss----fe255019abd2---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Playground Inc. - Medium</title>
            <link>https://medium.com/playgroundinc?source=rss----fe255019abd2---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 10:34:55 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/playgroundinc" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[So You Want To Build a Design System?]]></title>
            <link>https://medium.com/playgroundinc/so-you-want-to-build-a-design-system-6ce53ed4868f?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/6ce53ed4868f</guid>
            <category><![CDATA[libraries]]></category>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[sketch]]></category>
            <category><![CDATA[design-process]]></category>
            <dc:creator><![CDATA[Ken]]></dc:creator>
            <pubDate>Thu, 18 Oct 2018 16:00:09 GMT</pubDate>
            <atom:updated>2018-10-18T16:00:09.156Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Qu9XZTbuGSnc5WtO4usdLQ.gif" /></figure><p>Whether big, small, or just starting out, all design teams stay on the lookout for tools and software that can be utilized to implement their ideas at an efficient pace in order to collaborate and manage projects. Software to deliver high quality content, but most importantly, a single source of truth.</p><p>The term &#39;single source of truth&#39; varies for each designer, but overall it means a place somewhere up in the “cloud” where designers alike can find the latest design patterns.</p><p>When the document is updated or changed, anybody with access can also see. Sketch Libraries are convenient, and it ensures that the design team has access to the latest information across the board.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/314/0*efVnMYNB_tz5wJR4" /></figure><p>There was a time when the Sketch Libraries system didn&#39;t exist, and the term Sketch Libraries was only being used to indicate a Master Sketch file with reusable components organized as symbols that is their team’s “single source of truth”. Symbols help solve issues such as design consistency as having symbols make things easier to build out pages.</p><p>The “Master” sketch file is controlled by one person who is the “gatekeeper” as their job is to merge symbols, components, icons etc. from every designers’ files that have been approved. While copying these into the master document where everyone else can take and implement them into their designs. Having designs funnelled into a single “master” file helps us to ensure design consistency.</p><p>The gatekeepers job also means keeping everyone updated. When something has changed or has been added, everyone on the team, that uses the master sketch file, has to be notify. This would cause some difficulties such as: symbols were document dependent.</p><p>There was no way for them to be used in other sketch files besides the document they were sorted in. Copying and pasting also caused duplicates within sketch files due to naming conventions, artboard sizes, and if your teammates are working around the globe for people in different time zones, getting them up to date can be a task on its own.</p><h3><strong>Here Come Sketch Libraries</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/843/1*7ONvXxO8UbsB8eWwjg158w.gif" /></figure><p>What are libraries you ask? Libraries are just like normal Sketch documents that contain symbols, but you can connect them to any document you are working on.. When someone on a team makes change(s) within the connected “Master” document, designers’ will be notified that there are change(s) and sync any document that uses symbols from that library. Keeping your team informed and up to date with ease. For any reason a mistake was made before updating, they can see the changes before they opt in.</p><p>The possibilities are endless! Creating a great document structure is key to making a fully functional Design System that your team will love while ensuring efficiencies of the work being created and shared.</p><h3><strong>What Makes a Design System? 🤔</strong></h3><p><strong>Communication Is Key</strong></p><p>Get your team together, have a jam section of what would make a great library, what components and elements would make their work flow better.</p><p><strong>Decide What to Include</strong></p><p>Compile list of what to include in the Sketch Library such: Primary Colours, Icons, Cta’s , Forms etc.</p><p><strong>Naming Hygiene</strong></p><p>Naming Convention Matters! Naming Convention Matters! Say it louder so the people in the back can hear Naming Convention Matters! When it comes to creating a Library, Design System for your team or Just for personal use.</p><p>Organizing layers and artboards in categories into a meaningful naming convention that can be easily spotted saves yourself and your colleagues time having to navigate through the hundreds of symbols, layers and artboards.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Qu9XZTbuGSnc5WtO4usdLQ.gif" /></figure><h3><strong>So What Does This Mean for Your Team?</strong></h3><p>If you’re working in a team, sharing designs day in and day out, working independently or even just looking for a way to streamline and manage on-going projects. Trying to incorporate a Master Sketch Document or Sketch Libraries into your workflow can help. It adds less stress and more productivity per project. This can push forwards your teams’ overall design process.</p><p>Try it out for yourself heres a <a href="https://www.dropbox.com/s/ens5ajq7tgk6m1h/Playground_Sketch%20Library%20Demo.sketch?dl=0">free demo library</a> to test out and play around courtesy of Playground Inc.</p><p>I hope these tips will be useful for your next project.</p><p>Do you have any tips on how your design team manages and maintains a design system?</p><p>Let me know in the comments below.👇 If you found this article helpful, please give it some claps⚡️ 👏</p><p><em>Happy Sketching Everyone!</em>💎</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6ce53ed4868f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/so-you-want-to-build-a-design-system-6ce53ed4868f">So You Want To Build a Design System?</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[CSS Custom Properties are here.]]></title>
            <link>https://medium.com/playgroundinc/css-custom-properties-are-here-383693c05ecb?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/383693c05ecb</guid>
            <category><![CDATA[css]]></category>
            <category><![CDATA[custom-properties]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[css-variables]]></category>
            <dc:creator><![CDATA[Jenny Veens]]></dc:creator>
            <pubDate>Mon, 17 Sep 2018 16:39:57 GMT</pubDate>
            <atom:updated>2018-09-17T16:52:12.753Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xsQkAEsMgVcvD5O60VOZwQ.png" /><figcaption>CSS Custom Properties allow for some new CSS experimentation.</figcaption></figure><p>In this article I’m going to tell you all about CSS Custom Properties, as well as give you some examples of how to use them and why they’re so awesome!</p><p>Variables in CSS are no new idea. We’ve been using preprocessors like Sass and Less for some time now, partly for the convenience that they afford us with variables.</p><p>Using variables in our CSS stylesheets has several benefits:</p><ol><li>It allows us to keep any reusable values in one place. If a value changes, we no longer need to execute a find-and-replace to make the update. And as long as we have been using the variables for the appropriate CSS property values, we don’t have to worry that there might be a value lurking somewhere that was missed.</li><li>We can reduce the amount of typing we need to do to set our CSS property values. A great example here is saving your font stack as a variable. Now you don’t need to remember each specific font-family and their order in the stack — you can just set it to a variable and reuse that throughout your styles.</li><li>Variables can make our code easier to read. Now instead of mentally trying to decode a hex code in our mind, we can easily tell that it represents the ‘Primary’ brand colour, or maybe an ‘accent’ colour. And if we’ve been strategic in setting up our variables, the relationships between them become more apparent. (ex. column width &amp; # of columns).</li></ol><p>While preprocessor variables are an improvement over vanilla CSS, they do have some limitations:</p><ol><li>Our preprocessor variables compile down to pure CSS. Once compiled, it’s almost impossible* for us to tell (except by our own knowledge of how the CSS was written) which values were which variables. <br>* Source maps provide us with a way to link our compiled CSS to its uncompiled preprocessor version. Primarily used in development but they can be sometimes spotted in the wild.</li><li>Our preprocessor variables have no knowledge or connection to the DOM. We have no way of scoping or inheriting a variable. This means that all values are global, and they will always have a static value.</li><li>Related to the point above, media queries have always been a bit troublesome with preprocessor variables. Since we can’t scope them, there is no way to redefine them within a media query block, and typically we are stuck with just creating sm, md, lg variations of our variables and using them in the appropriate query. Additionally, we must redeclare our CSS rules in each breakpoint, leading to lots of repetitive code.</li></ol><p>CSS custom properties bring us all the things that we’ve been loving about our old friends, preprocessor variables, as well as helping us overcome some of the limitations.</p><h3>That’s great. How do I use them?</h3><p>CSS Custom Properties are pure CSS, and they behave the same way other properties do in terms of the cascade and inheritance. Like other properties, custom properties must be defined on a CSS selector to be valid. To make a variable available globally, we can define it on the :root element.</p><p>Custom properties are defined with a -- prefix. Custom property names can be any combination of alphanumeric characters and — or _. Unlike regular CSS properties, they are case-sensitive.</p><pre>:root {<br>   --my-new-custom-property: #BADA55;<br>}</pre><p>To access the value of our variable, we don’t just use the property name as you might think:</p><pre>/* DOESN&#39;T WORK */</pre><pre>.selector {<br>    background-color: --my-new-custom-property;<br>}</pre><p>CSS now has a var() function, which we can use to extract the value of our custom property:</p><pre>/* WORKS! */</pre><pre>.selector {<br>    background-color: var(--my-new-custom-property); <br>}</pre><p>The var() function also takes an optional second parameter, which will be a default value if the custom property isn’t defined.</p><pre>.selector {<br>    background-color: var(--my-new-custom-property, #ffff00);<br>}</pre><p>It’s worth noting, that unlike with our preprocessor variables, our custom properties can only be used as values for existing CSS properties. We cannot use their values as property names, or CSS selectors.</p><h3>Scoping Custom Properties</h3><p>Scope allows us to define the value of a variable in a specific context. I mentioned earlier that CSS Custom Properties are aware of the DOM, so we can leverage the normal behaviour of the CSS cascade and inheritance to change the value of our custom properties.</p><p>This is very useful for theming components, or entire pages. In these cases, a custom property defined further down in the CSS, or with a more specific selector than the initial declaration will win out and be the value that the browser uses to render the element.</p><p>In this example, our .button styles are inverted when the button is hovered.</p><pre>.button {<br>  color: white;<br>  background-color: midnightblue;<br>}</pre><pre>.button:hover {<br>  color: midnightblue;<br>  background-color: white;<br>}</pre><p>We can clean this up with CSS Custom Properties. Let’s add in some variables and update the styles for our buttons:</p><pre>:root {<br>  --foreground: midnightblue;<br>  --background: white;<br>}</pre><pre>.button {<br>  color: var(--background);<br>  background-color: var(--foreground);<br>}</pre><pre>.button:hover {<br>  color: var(--foreground);<br>  background-color: var(--background);<br>}</pre><p>We’ve defined 2 variables to style our buttons, they are --foreground and --background. Now when we hover our buttons those values get inverted. We can utilize the CSS cascade to update those custom properties for themed sections.</p><pre>.themed {<br>  --foreground: peachpuff;<br>  --background: darkslateblue;<br>}</pre><p>Since the .themed selector is more specific than :root and is located further down in our document, the cascade and inheritance will overwrite these values for any child elements of .themed. Now any buttons within a themed element will get the new custom property values applied. There is no need to redefine the button styles with the new colours! The text and background colours of each section are also defined with these same variables, and there is no need to redefine the styles here either. Big wins!</p><p>For a full demo, have a look at this codepen:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fembed%2Fpreview%2FZjgyvG%3Fheight%3D600%26slug-hash%3DZjgyvG%26default-tabs%3Dhtml%2Cresult%26host%3Dhttps%3A%2F%2Fcodepen.io%26embed-version%3D2&amp;url=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fpen%2FZjgyvG&amp;image=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fm.cdpn.io%2Fscreenshot-coming-soon-small.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/8d40c6ecd22b996b641b5d1ac241d599/href">https://medium.com/media/8d40c6ecd22b996b641b5d1ac241d599/href</a></iframe><h3>Streamlined Media Queries</h3><p>The current state of media queries with preprocessor variables goes something like this:</p><ol><li>Decide which breakpoints you will work with</li><li>For each breakpoint, create a new variation of the variable that needs to change (eg. $gutter-lg, $gutter-md, $gutter-sm).</li><li>Work with the appropriate variable in each media query.</li></ol><p>For example, to change the columns and gutters for our grid, we might do something like this:</p><pre>$columns-sm: 1;<br>$columns-md: 2;<br>$columns-lg: 3;<br>$gutters-sm: 10px;<br>$gutters-md: 20px;<br>$gutters-lg: 30px;</pre><pre>.grid-container {<br>  display: grid;<br>  grid-template-columns: repeat($columns-sm, 1fr);<br>  grid-column-gap: $gutters-sm;<br>  grid-row-gap: $gutters-sm;<br>}</pre><pre><a href="http://twitter.com/media">@media</a> (min-width: 600px) {<br>  .grid-container {<br>    grid-template-columns: repeat($columns-md, 1fr);<br>    grid-column-gap: $gutters-md;<br>    grid-row-gap: $gutters-md;<br>  }<br>}</pre><pre><a href="http://twitter.com/media">@media</a> (min-width: 1000px) {<br>  .grid-container {<br>    grid-template-columns: repeat($columns-lg, 1fr);<br>    grid-column-gap: $gutters-lg;<br>    grid-row-gap: $gutters-lg;<br>  }<br>}</pre><p>This approach clearly has some problems:</p><ol><li>We have to define as many variables as we have breakpoints, just to cover the changes that need to happen within each media query, or we could define multiple values within a map — either way, it’s not as simple as it could be.</li><li>Our variables are all globally scoped, meaning that we can accidentally use the wrong variable variation in any breakpoint.</li><li>This is a somewhat simple example, and we can already see the repetition required to make our styles work.</li></ol><p>With CSS Custom Properties, we can simply update our variables and let the CSS cascade take care of the rest!</p><pre>:root {<br>   --columns: 1;<br>   --grid-gutters: 10px;<br>}</pre><pre>.grid-container {<br>  display: grid;<br>  grid-template-columns: repeat(var(--columns, 1), 1fr);<br>  grid-column-gap: var(--grid-gutters, 15px);<br>  grid-row-gap: var(--grid-gutters, 15px);<br>}</pre><pre><a href="http://twitter.com/media">@media</a> (min-width: 600px) {<br>  :root {<br>    --columns: 2;<br>    --grid-gutters: 20px;<br>  }<br>}</pre><pre><a href="http://twitter.com/media">@media</a> (min-width: 1000px) {<br>  :root {<br>    --columns: 3;<br>    --grid-gutters: 30px;<br>  }<br>}</pre><p>Check out this example below to see what I mean:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fembed%2Fpreview%2FoMzBNr%3Fheight%3D600%26slug-hash%3DoMzBNr%26default-tabs%3Dcss%2Cresult%26host%3Dhttps%3A%2F%2Fcodepen.io%26embed-version%3D2&amp;url=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fpen%2FoMzBNr&amp;image=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fi.cdpn.io%2F226532.oMzBNr.small.f053774b-3b4c-431f-9a65-070f07a9312c.png&amp;key=d04bfffea46d4aeda930ec88cc64b87c&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/734282c9e37db0eb2909146dcde4a07e/href">https://medium.com/media/734282c9e37db0eb2909146dcde4a07e/href</a></iframe><p>You can compare the above example with a similar version written with Sass variables instead of custom properties here:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fembed%2Fpreview%2FQBKvJd%3Fheight%3D600%26slug-hash%3DQBKvJd%26default-tabs%3Dcss%2Cresult%26host%3Dhttps%3A%2F%2Fcodepen.io%26embed-version%3D2&amp;url=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fpen%2FQBKvJd&amp;image=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fi.cdpn.io%2F226532.QBKvJd.small.3be0c5ff-956e-4baf-82e1-4a4f95e4cb1c.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/11ba2b3aa1c5d18e1c1abdeddd38beef/href">https://medium.com/media/11ba2b3aa1c5d18e1c1abdeddd38beef/href</a></iframe><h3>Other Amazing things we can do:</h3><p><strong>Calc()<br></strong>The CSS function calc() was just <em>meant</em> for CSS Custom Properties (okay, so not actually, but they work so well together!). We can let calc take care of all the math and completely change our layouts by updating our variables.</p><pre>:root {<br>  --columns: 2;<br>  --gutters: 10px;<br>}</pre><pre>.calc-cards {<br>  display: flex;<br>  flex-wrap: wrap;<br>  margin: calc((var(--gutters) / 2) * -1);<br>}</pre><pre>.calc-card {<br>  width: calc((100% / var(--columns)) - var(--gutters));<br>  height: 200px;<br>  margin: calc(var(--gutters) / 2);<br>  background-color: deeppink;<br>}</pre><p>In the below example, try changing the values for --columns or --gutters and see what happens to the layout:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fembed%2Fpreview%2FbjgVVE%3Fheight%3D600%26slug-hash%3DbjgVVE%26default-tabs%3Dcss%2Cresult%26host%3Dhttps%3A%2F%2Fcodepen.io%26embed-version%3D2&amp;url=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fpen%2FbjgVVE&amp;image=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fi.cdpn.io%2F226532.bjgVVE.small.5440613b-828b-4917-895f-e664521003a6.png&amp;key=d04bfffea46d4aeda930ec88cc64b87c&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/d4b92ee4178aa6a3d4ecb7f2187673d8/href">https://medium.com/media/d4b92ee4178aa6a3d4ecb7f2187673d8/href</a></iframe><p><strong>Update with JavaScript:</strong><br>Custom properties don’t get compiled down to their values. Anywhere that they are used with var() as a property value remains when we view the site in our browser.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/952/1*9kDd14GZhyG2MdF2jHcysQ.png" /><figcaption>CSS Variables live on when we view our site in the browser.</figcaption></figure><p>We can take advantage of this and update them dynamically with JavaScript!</p><p>Using JavaScript, we can update any of our custom variables on a selected element by calling .style.setProperty(customPropertyName, customPropertyValue).</p><p>Check out this CodePen, where we can easily update the CSS using HTML inputs and JS:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fembed%2Fpreview%2FKBgqEG%3Fheight%3D600%26slug-hash%3DKBgqEG%26default-tabs%3Dhtml%2Cresult%26host%3Dhttps%3A%2F%2Fcodepen.io%26embed-version%3D2&amp;url=https%3A%2F%2Fcodepen.io%2Fjennyveens%2Fpen%2FKBgqEG&amp;image=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fi.cdpn.io%2F226532.KBgqEG.small.6d3a8b8f-ee7f-4676-b5d9-e2acd395180a.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/15d737edaa448eae794104b878b81934/href">https://medium.com/media/15d737edaa448eae794104b878b81934/href</a></iframe><h3>That’s great, but is this something we can actually use?</h3><p>Current support for custom properties is looking really good!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ehS-8HgyKDKErRYPCl7_TQ.png" /><figcaption>Screenshot from caniuse.com taken August 16, 2018</figcaption></figure><p>If you need to support older browsers or IE, you can always set your styles for those browsers, then update your CSS to use custom properties within feature queries.</p><pre>// set styles here that will be used in browsers that don&#39;t support<br>.selector {<br>   background-color: red;<br>}</pre><pre>// Use a fake variable to test if the browser supports variables<br>@supports (--test-var: value) {</pre><pre>   // Overwrite our previous rule to use custom properties<br>   .selector {<br>      background: var(--primary-color);<br>   }<br>}</pre><p>Yes, if you need to support older browsers, it does take a little more work. But the features custom properties bring us make it so worth it!</p><p>We’re actually already using CSS Custom Properties here at Playground Inc — A while back, we created a Playbook to contain our policies. Each section of the playbook is themed a different colour, so it seemed like the perfect place to make use of custom properties. View the site here: <a href="https://playbook.playgroundinc.com/">playbook.playgroundinc.com</a>.</p><h3>Thank Yous</h3><p>HUGE THANKS to <a href="http://lea.verou.me/">Lea Verou</a>, <a href="http://unakravets.com/">Una Kravets</a>, and <a href="https://wesbos.com/">Wes Bos</a> for creating such incredible resources for learning about the latest and greatest in web development. I would still be struggling to work these things out myself if it wasn’t for you.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=383693c05ecb" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/css-custom-properties-are-here-383693c05ecb">CSS Custom Properties are here.</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Design Reflection: What I’ve learned from my internship at Playground Inc.]]></title>
            <link>https://medium.com/playgroundinc/a-design-reflection-what-ive-learned-from-my-internship-at-playground-inc-cf82a52a649d?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/cf82a52a649d</guid>
            <category><![CDATA[user-experience]]></category>
            <category><![CDATA[product-design]]></category>
            <category><![CDATA[ux-design]]></category>
            <category><![CDATA[internships]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[Anna Ballares]]></dc:creator>
            <pubDate>Wed, 05 Sep 2018 20:04:21 GMT</pubDate>
            <atom:updated>2018-09-05T20:26:56.486Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Bb36qOLjAPeKUlc-PCh9yQ.jpeg" /></figure><p><em>I have recently completed a 4-month product design internship at </em><a href="https://playgroundinc.com/"><em>Playground Inc</em></a><em>. in Toronto, Canada. It was a rewarding experience that allowed me to gain valuable experience in the UX/UI field. I was immersed in various product design-driven projects, exposed to the digital design community and considered an integral member of a team of multi-disciplined, talented, creative and motivated individuals. This article aims to shed light on my experience as a design intern, and to impart a few words of advice for those planning on pursuing an internship in the future.</em></p><h3><strong>Humble Beginnings</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tJM2TB5EuyKWX-Dt" /><figcaption>A few desk buddies that I brought to work. Everyone at work has their own unique little collection!</figcaption></figure><p>During the first week of my internship, I learned more about the Playground team and went through the onboarding process. Being the new girl on the block, I remember being a nervous (and overly sweaty) wreck. This feeling, fortunately, didn’t last long as I started to feel at ease and welcomed within Playground. I got along well with the leadership team, fellow designers and developers not only because of our shared interests, but because the people who work there treat one another like one big family.</p><p>I have never felt excluded or singled out from anything, from Slack channel conversations to team lunches to asking my opinions regarding design decisions, to weekly stand ups to discussing the projects we are working on that week. It was evident from the start that Playground is an open and positive workspace that encourages people to express themselves however they see fit. The overall vibe of the company is relaxed and easy going, but professional and goal-oriented when it came to completing projects.</p><h3><strong>Getting used to the #InternLife</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zYK-a-8LxyoiJFoQZjMZjg.png" /><figcaption>Some of the Playground designers doing their thing</figcaption></figure><p>My tenure at Playground consisted of working on a variety of projects. A few of the tasks I was given but not limited to: creating weekly illustrations for internal projects and social media channels, participating in brainstorming sessions for the studio’s social media initiatives and beginning stages of projects, gathering notes and attending client meetings with the product design team, presenting ideas internally with directors and product designers during ideation workshops and jam sessions, assisting with user research such as field testing, surveys, interviews and usability testing, designing wireframes and app concepts under the direction of product designers and a design lead.</p><p>What really surprised me was that all that I have learned so far is just scratching the surface of the broad topic that is UX/UI. Being able to intern here helped me realize that I not only want to pursue this for a design career, but that there is a constant need for new emerging technologies, software and research methodologies to learn to successfully create great digital products for mobile and web.</p><h3><strong>Sharing a few things I’ve learned</strong></h3><p><strong>1. Ask questions if you need help. Don’t be afraid to speak up.</strong></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FDUrdT2xEmJWbS%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fgiphy.com%2Fgifs%2FDUrdT2xEmJWbS&amp;image=https%3A%2F%2Fmedia4.giphy.com%2Fmedia%2FDUrdT2xEmJWbS%2F200.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="319" frameborder="0" scrolling="no"><a href="https://medium.com/media/aa9bdfb44e8f74c11ad5dfc39cb07d22/href">https://medium.com/media/aa9bdfb44e8f74c11ad5dfc39cb07d22/href</a></iframe><p>Getting hired as an intern might be a bit overwhelming and daunting at first, but it doesn’t mean that the company expects you to know <em>everything</em>. There is also a <strong>huge</strong> difference between constantly asking for help on every task and reaching out for direction on tough calls and clarifying something on the design brief. Reaching out for help and asking questions to address an issue early is 10x better than doing something on your own and failing.</p><p><strong>2. It’s okay to make mistakes</strong>…<strong> just as long as you learn from them!</strong></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2F9Hc5GrcxM452M%2Ftwitter%2Fiframe&amp;url=https%3A%2F%2Fgiphy.com%2Fgifs%2Fmrw-health-insurance-9Hc5GrcxM452M&amp;image=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F9Hc5GrcxM452M%2Fgiphy-downsized-large.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="193" frameborder="0" scrolling="no"><a href="https://medium.com/media/3b9b091f60a6dd676d95a5b7376ebe8d/href">https://medium.com/media/3b9b091f60a6dd676d95a5b7376ebe8d/href</a></iframe><p>You are in a good position to be a sponge during your internship, meaning you are able to learn as much as you can from other designers and applying it to real world projects. But another important part of being an intern is also making mistakes and learning from them, because how else can you improve and grow as a designer?</p><p><strong>3. Working as an intern is different from being in school.</strong></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FlSVL6vdhdZVPW%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fgiphy.com%2Fgifs%2FlSVL6vdhdZVPW&amp;image=https%3A%2F%2Fmedia4.giphy.com%2Fmedia%2FlSVL6vdhdZVPW%2F200.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="326" frameborder="0" scrolling="no"><a href="https://medium.com/media/ffc6a3c1883b988d6c0a9a04e2b83fca/href">https://medium.com/media/ffc6a3c1883b988d6c0a9a04e2b83fca/href</a></iframe><p>Your internship and school are two completely different things. In school, you are given a design brief in the form of an assignment and taught the necessary skills through lessons to thrive in a job. During your internship, however, you are expected to have these skills ready to apply to the projects you’ll be working on. Your project lead or manager will not hold your hand, so you must be prepared to be accountable for your work. That means understanding what is expected of you when it comes to tasks, understanding the brief and seeing the project through with your team.</p><p><strong>Pro tip:</strong> It helps having good organizational skills and time management skills to thrive in your internship. Try using the apps <a href="https://www.milanote.com/"><strong>Milanote</strong></a>, <a href="https://asana.com/"><strong>Asana</strong></a>, <a href="https://asana.com/"><strong>Monday</strong></a><strong> </strong>or <a href="https://trello.com/"><strong>Trello</strong></a> to help with this!</p><p><strong>4. Talk to the people around you. Build relationships with the team.</strong></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2F26h0oQ3erWGYjdSi4%2Ftwitter%2Fiframe&amp;url=https%3A%2F%2Fgiphy.com%2Fgifs%2Freadingrainbow-teamwork-levar-burton-reading-rainbow-26h0oQ3erWGYjdSi4&amp;image=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F26h0oQ3erWGYjdSi4%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="326" frameborder="0" scrolling="no"><a href="https://medium.com/media/a5ce3e68ccc65a855b0a3ae507b4ae5a/href">https://medium.com/media/a5ce3e68ccc65a855b0a3ae507b4ae5a/href</a></iframe><p>Most of what you’ll get out of an internship is meeting and communicating with other people. I was very fortunate to work for a company that encourages open communication, whether in the form of a 1-on-1, meetings or getting a coffee from around the corner. Do your best to <strong>show enthusiasm!</strong> Maybe join communal team lunches. Attend team building activities. Offer to help with other tasks around the studio. Join Lunch n’ Learns. Participate in brainstorming sessions. Looking for various opportunities to make an impression upon your peers and team members boosts office camaraderie, and shows them your curiosity and willingness to be part of the team.</p><p>After your internship is over, remember to continue being a professional and avoid burning bridges with people at work. Maintaining a solid relationship with the team will only benefit you in the long run. If they also had a positive experience and the feeling is mutual on both ends, they are more likely to give you a great recommendation letter/referral, consider you for freelance work or another position in the future!</p><p><strong>5. Embrace the art of learning, even outside of work.</strong></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2Fq1mHcB8wOCWf6%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fgiphy.com%2Fgifs%2Fhomer-simpson-the-simpsons-reaction-q1mHcB8wOCWf6&amp;image=https%3A%2F%2Fmedia4.giphy.com%2Fmedia%2Fq1mHcB8wOCWf6%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="241" frameborder="0" scrolling="no"><a href="https://medium.com/media/ce4574c3d60f20d8743299e83e376e2c/href">https://medium.com/media/ce4574c3d60f20d8743299e83e376e2c/href</a></iframe><p>Just because you are in the workforce doesn’t mean you stop finding ways to improve your craft. It’s important to invest in your skills, and <a href="https://youtu.be/Dh-ULbQmmF8"><strong><em>“level up”</em></strong></a> what you know. The design industry is constantly evolving, and it’s critical for designers to keep up, learn new software and gain new insights into design trends, emerging technologies and the future. Take advantage of online resources such as <a href="https://www.skillshare.com/"><strong>Skillshare</strong></a> and <a href="https://www.udemy.com/"><strong>Udemy</strong></a>. If you feel that you can benefit from learning in a compact class structure, look into taking full-time or part-time courses at <a href="https://hackeryou.com/"><strong>HackerYou</strong></a><strong>, </strong><a href="https://brainstation.io/"><strong>Brainstation</strong></a><strong>, </strong><a href="https://redacademy.com/"><strong>RED Academy</strong></a><strong> </strong>or<strong> </strong><a href="https://bitmaker.co/"><strong>Bitmaker GA</strong></a><strong>.</strong></p><p>Improving your skills and investing in your growth can only benefit your goal of being a proficient, well-rounded designer after school, when you start your internship and eventually transition into an Associate Designer position.</p><h3><strong>Key takeaways from this opportunity</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*F5Nd9enhaozvB9xHl2w-aA.jpeg" /><figcaption>Myself (left) adding to an ideation session with clients.</figcaption></figure><p>This opportunity further cemented my interest to pursue digital design, and was a wonderful segue into learning more about UX/UI both in my career and through additional learning in the future. Securing an internship here helped me see that it is important to: Be empathetic, prioritize work, listen and take constructive criticism, put the user first and design around their needs, be open to collaborate with others to find solutions and learn from the people you are working with.</p><p>My product design internship at Playground Inc. truly felt like a blur. I learned a lot along the way and I’m thankful for the mentorship I have received. I have gained new friends, new experiences, and most of all, a new perspective on what kind of career truly suits and excites me.</p><h3><strong>About Playground Inc.</strong></h3><p><em>Playground Inc. is a human design company. We build products that people use every day. We focus on design, strategy, and technology. We’ve been building unique digital products, platforms, and experiences for the past 9 years.</em></p><p><em>We are a diverse team of creatives from many backgrounds with a shared desire to help make the web a better place.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cf82a52a649d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/a-design-reflection-what-ive-learned-from-my-internship-at-playground-inc-cf82a52a649d">A Design Reflection: What I’ve learned from my internship at Playground Inc.</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What I learned from 200 design interviews]]></title>
            <link>https://medium.com/playgroundinc/what-i-learned-from-200-design-interviews-fc4d99c1c314?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/fc4d99c1c314</guid>
            <category><![CDATA[design]]></category>
            <category><![CDATA[interview-questions]]></category>
            <category><![CDATA[design-interview]]></category>
            <category><![CDATA[hiring]]></category>
            <dc:creator><![CDATA[Dave Senior]]></dc:creator>
            <pubDate>Mon, 30 Jul 2018 15:29:15 GMT</pubDate>
            <atom:updated>2018-07-30T15:29:14.685Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9oXe7NAhpNzgYmaPwGbKnQ.jpeg" /></figure><p>I’ve been on the frontlines of interviewing all sorts of designers to help us make digital things. Personally, I’ve hired 40 design team members (so far) and I’m still not sure if I’m doing it right<a href="https://giphy.com/gifs/game-of-thrones-arrow-4sM16dIFEQpi0">.</a> Although there’s been substantial change in both the industry and what people think about design — my approach to hiring hasn’t changed very much over time.</p><p>We get the opportunity to work on some really cool stuff. <a href="https://playgroundinc.com/">Playground Inc.</a> is trusted to design the flagship experiences and applications, take on large UX organizational tasks, and create comprehensive design systems for Fortune 500 clients and consumer brands across North America. We’ve thankfully managed to surround ourselves with designers who have not only been capable, but have excelled.</p><p>For context, we’re a 20 person design company that receives 5 unsolicited resumes a week and upward of 40 when were actively hiring for a role. Do we have a secret? Probably not, but either way — here’s our approach after 9+ years of meeting people:</p><h4><strong>All designers are multidisciplinary. Even if they don’t know it yet.</strong></h4><p>For the past 9 years, we’ve seen tools change, we’ve seen new roles emerge, and we’ve seen silos created. Good designers have the ability to learn, adapt and grow alongside this constant change. We’ve never hired anyone who specializes in information architecture or wireframing. We’ve also never hired someone exclusively for UI design, illustration, or motion graphics. Same goes for research, design thinking, or design strategy. We believe these are tools. Tools that can be learned, developed, and nurtured. To us, IA and wireframing are ways to articulate plans and design solutions. There are certainly people who are really, really, good at a particular discipline, but for our team — the most value is added when we don’t box designers in.</p><p>We focus on the current strengths of a person, their potential and the things that got them in the room with us in the first place. If someone is interviewing at Playground, chances are they’ve done a little bit of everything — even if they can’t articulate it. We try to pull it out of them with thoughtful questions. We have a ‘learn by doing’ mindset here, so it’s crucial to be around the right mentors in order to find where they will add the most value. We want our designers to develop their craft with an open perspective on the different tools available to make that craft stronger and more dynamic.</p><h4>2. <strong>Stop hiring for fit — what will they add?</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/340/1*n38kj1LIw7mn4gvEWSeoug.gif" /><figcaption><a href="https://www.linkedin.com/pulse/how-i-hire-its-all-cultural-contribution-fit-diego-rodriguez/">Cultural fit isn’t a thing</a></figcaption></figure><p>Hot take: <a href="https://www.forbes.com/sites/larsschmidt/2017/03/21/the-end-of-culture-fit/#768a933b638a">Cultural fit is bullshit</a>. Do they think like you? Do they act like you? Do they look like you? Do you immediately get along after a few interviews? In my opinion, all of these things constrain your ability to truly evaluate a person. We think of new team members as additions to the culture. What emerges should be a net positive for everyone here — but how can you measure that during an interview?</p><p>When we hire, we specifically think about what someone adds to our already dynamic team. We embrace differences in experience and personality. We want to be challenged and shown different perspectives on the world. We also welcome differences in expectation of work. For example, someone coming from a high pressure advertising or startup environment typically brings a unique perspective if given the right opportunity. Someone who is an empathetic thinker will teach others to ask better questions. Someone who prototypes in code, will shepherd others looking to learn. Empower people to bring something new to the organization, let go and allow the culture to emerge and evolve in unexpected positive directions.</p><h4>3. <strong>Skip the resume. It’s not about their experience, but how they’ve gained it.</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/1*5rFXGzLw8BZl8kpbHqkP7Q.gif" /><figcaption>Who is you?</figcaption></figure><p>This may be controversial, but I only give resumes a quick glance. I want to see their work. If they have demonstrated they have the raw skills, they’ve got an interview.</p><p>We ask a lot of questions that <em>hopefully</em> encourage storytelling.</p><h4>Here are some questions I’ve asked in the past:</h4><ul><li>How did you find design? Did it find you?</li><li>How did you get here?</li><li>How do you learn?</li><li>What type of designer do you want to be?</li><li>What are you most excited to work on?</li><li>To you, what’s important about the internet, technology and people?</li></ul><p>Our industry moves so fast. If your portfolio looks and feels contemporary — that’s probably a good sign that you’re able to keep up. Past experiences can be so deceiving. They may not apply to the context of our organization or our expectations of a designer.</p><p>What I’m most interested in is how they afforded themselves those experiences? Did they teach themselves design until they had enough spec work for someone to hire them? How did they get their first design job? Did they learn from being on a team with other designers or were they a Lone Ranger? Why do they care about design? How do they learn about it? What are their first memories of getting started? Who are their heroes? Who do they learn from daily? The probes are specifically about the designer’s framework for learning and growth.</p><p>In my experience, even the most shy person will become comfortable if they’re talking about a topic they truly care about. Sometimes it’s one story, or the mention of one person that provides a clue into whether they would be a good hire or not. Find out if they care about their craft and determine if they have developed a framework for learning. Additionally, find out how they developed their design taste. There’s plenty of time to teach them new applications or processes later — so long as they have the desire and ability to learn.</p><h4>4. <strong>Be transparent</strong></h4><p>During our first interview, I’ll do 3 things. Learn about the person, sell them on Playground, and tell them what to expect next. When learning about the person, we find out what their goals are, the context of their previous work, and how Playground can help them in their career journey. We’re first collaborating to understand if this is the right role for them.</p><p>The first meeting is typically with someone like me. The second is with our Creative Director, <a href="https://medium.com/u/9cbffa96c35a">Ryan Bannon</a>. The third meeting is with the team they will be working with everyday. During these three conversations — we’re able to find out if they are curious, if they love their work, and if they are going to work well with others. No interview is longer than 90 minutes, and most are shorter than 60. After each one, our internal team debriefs together.</p><h4>5. <strong>Enough spec work</strong></h4><p>We’ve tried wireframing exercises and asking <a href="https://www.quora.com/Why-are-questions-such-as-How-many-gas-stations-are-there-in-the-United-States-bad-interview-questions">problem solving style questions</a>. We’ve even tried a ‘solve out-loud’ type of approach in the past — but nothing has been as consistent in identifying great designers as learning about <em>how</em> someone learns. We allow our candidates the appropriate space and time to walk us through their work. From there, we will be able to ask how they’ve made decisions, how they asked questions, and what level of experience they have within our specific context.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/500/1*WBPCmIUgNS-_e7py4RGkvQ.gif" /></figure><p>Our work changes with every new client or challenge we take on — so we look for the drive to dig deep, understand nuance, and be flexible. <em>That’s really it.</em> From their portfolio, we should see evidence of that type of thinking and evidence of raw skills.</p><p>It’s our job to figure out if they have the raw skills, that’s the stuff we work on before inviting someone into the interview. Once that’s out of the way, let’s get to know each other, what excites us, what motivates them to keep up and push themselves. Whiteboarding and homework exercises usually lack context and are often solving unrealistic problems. On a project, we would never have a designer solve every problem by themselves, with limited information, in a short timeline — so why is that expectation during the interview? We are looking for team members, contributors and inspiring folks to learn from everyday.</p><h3>Lesson Learned</h3><p><strong>This may seem obvious but the people who actively work on design every day should be reviewing candidates and the ones conducting interviews.</strong></p><p><strong>Know the candidate you are talking to before the interview. Take some time and do your research. Appreciate that this may be a big deal for them. Try to identify some unique questions that prove you give a shit about them. This goes a long way in helping build respect and trust. Never show up cold or unprepared.</strong></p><p><strong>Build lasting relationships. Perhaps the person isn’t the right fit today — but they could be someday. This is the perfect opportunity to give constructive advice and help them develop into someone we’d kill to have on our team.</strong></p><p>Much like Sway, we don’t have all the answers. Being an agency has given us the unique privilege of working with a lot of different people, nourishing growth and practicing design in almost every context imaginable. This approach has worked well for us (so far) but we’re no strangers to insight-based iteration and change.</p><p>Marco Rogers <a href="http://firstround.com/review/my-lessons-from-interviewing-400-engineers-over-three-startups/">shared his thoughts</a> recently on hiring engineers for startups and we saw a lot of parallels. While our techniques are different, the human centred hiring insights stayed the same. You don’t know what you are hiring for, and get the whole team involved, always debrief and skills are to be nurtured.</p><p>I’m curious, how do you hire designers? Does it look anything like our process? From your perspective — what’s the single most important question to ask? Let’s talk about it.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fc4d99c1c314" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/what-i-learned-from-200-design-interviews-fc4d99c1c314">What I learned from 200 design interviews</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why I look forward to weekly 1:1s and how you can get the most out of yours.]]></title>
            <link>https://medium.com/playgroundinc/why-i-look-forward-to-weekly-1-1s-and-how-you-can-get-the-most-out-of-yours-83d68c174d1d?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/83d68c174d1d</guid>
            <category><![CDATA[culture]]></category>
            <category><![CDATA[self-improvement]]></category>
            <category><![CDATA[management]]></category>
            <category><![CDATA[careers]]></category>
            <category><![CDATA[productivity]]></category>
            <dc:creator><![CDATA[Jenny Veens]]></dc:creator>
            <pubDate>Fri, 27 Jul 2018 15:20:31 GMT</pubDate>
            <atom:updated>2018-07-27T15:42:30.630Z</atom:updated>
            <content:encoded><![CDATA[<h3>Why I look forward to weekly 1:1s and how you can get the most out of yours</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p14r0gMh6Y0swu9GMVgeWw.jpeg" /><figcaption>Mel looks forward to her 1:1 with <a href="https://medium.com/u/81a76faed6e7">Scott Boniface</a> but — you guessed it — that’s another article.</figcaption></figure><p>A short while ago, our Technical Director, <a href="https://twitter.com/wchwd">Maja</a>, wrote a post here on Medium titled ‘<a href="https://medium.com/playgroundinc/how-we-approach-1-1s-with-the-technical-team-at-playground-inc-and-how-you-can-too-6de7b7f4ed4a">How we approach 1:1s with the technical team at Playground Inc. and how you can too</a>’. If you’re a manager considering bringing 1:1s to your team, I highly recommend that you <a href="https://medium.com/playgroundinc/how-we-approach-1-1s-with-the-technical-team-at-playground-inc-and-how-you-can-too-6de7b7f4ed4a">give it a read</a>.</p><p>If you are instead on the other end of the 1:1 meeting — or, if you’re a manager looking to further understand how this process can be valuable to your reports — this post is for you.</p><p>Prior to my career at <a href="https://playgroundinc.com/">Playground</a> I had never participated in a 1:1. A typical meeting with my manager was for an annual performance review, or to discuss a specific technical problem I was having trouble with. And so, when first presented with the idea of meeting weekly for a 1:1, I wasn’t quite sure what to expect.</p><p>After going through a few 1:1 meetings, I could see some real benefits:</p><ol><li><em>Having regular meetings made me feel supported.</em> If I was encountering any issues, either technical or otherwise, I knew I had a safe space to voice any concerns. These meetings are also a great reminder that my manager is there to help me whenever I need it, and I can always reach out if I feel the need.</li><li><em>They allow time to get to know your manager and build trust. </em>Not all of what is discussed in a 1:1 needs to be directly work-related. This is a great chance to get to know your manager better, and for them to get to know you as well. After all, we’re all human. Let’s treat each other as such :) In addition, having organic conversations that aren’t just about work might lead you to discuss new paths and opportunities you may not have otherwise been afforded.</li><li><em>I don’t feel stressed or panicked if I encounter a new problem</em>. Knowing that I have support and that there is already time set aside for when I can talk gives me the mental space to focus on the solving the problem. If my 1:1 meeting comes around and I haven’t made any progress, I have an excellent opportunity to gain some fresh perspective. I am absolutely not saying that you should struggle with a problem for a week before getting help with it, but 1:1s can be a great opportunity to talk things out (and sometimes, that’s all you need to arrive at the solution).</li><li><em>I get insight into how I’m performing on my team and within the company. </em>These weekly meetings are a great time to discuss any successes or shortcomings.</li><li><em>I learn about what’s happening at the company. </em>1:1s are a great opportunity for me to learn if there is anything new going on with the company. I spend much of my day coding or doing research, and have a tendency to really “zone in” to my screen. 1:1s are a time to break away from this, and give me a chance to hear about any new clients coming on board, new projects in the pipeline, or new members joining the team. It’s exciting to hear about new things happening!</li></ol><h3>How to have productive 1:1s</h3><p>A successful 1:1 meeting shouldn’t just be up to your manager. They can be treated as opportunities to reflect, learn, and improve. Here are some things that have worked well for me to have great 1:1 meetings:</p><ol><li><em>Make a plan</em>. Take some time to jot down the points you want to touch on during your weekly 1:1. This doesn’t have to be a formal agenda, but can serve as a reminder to make sure you get what you need out of the meeting.</li><li><em>Take notes</em>. Every week I bring my notebook into the meeting with me. This way I can keep track of anything we discussed that I want to remember for later, as well as keep track of anything that I have promised my manager I would look into or work on. I have also written here the points that I want to address and afterwards my notes serve as a record of our meetings.</li><li><em>Review</em>. By taking notes each week you can look out for recurring themes in your meetings. Are you running into the same types of problems over and over again? Is there something you can do to break out of that pattern?</li><li><em>Celebrate your successes</em>! For a while, I was noticing that I was spending the majority of my 1:1s discussing problems I was facing. In my job I spend a lot of time problem solving, and I’m constantly thinking about the current problems I’m facing — and how I can either work around them, or overcome them. This theme was so dominant I was neglecting to mention the things that were celebration-worthy. I started making a point of also talking about my successes at work to ensure my meetings had a positive spin and that my achievements weren’t going unnoticed (including being forgotten by myself). I leave my 1:1 meetings excited about the work I’m doing and what’s to come.</li></ol><p>If you’re currently practicing 1:1 meetings and are feeling like you’re not getting as much out of them that you could, I encourage you to incorporate some of these points into your next meeting.</p><p>1:1 meetings are a valuable tool, but they need to be used effectively and with purpose to work. Let’s also keep in mind that we’re all different people with varied expectations and ideas of success. Your productive 1:1 might look different than my 1:1. What makes 1:1 meetings valuable to you?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=83d68c174d1d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/why-i-look-forward-to-weekly-1-1s-and-how-you-can-get-the-most-out-of-yours-83d68c174d1d">Why I look forward to weekly 1:1s and how you can get the most out of yours.</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[3 P's for Young Entrepreneurs]]></title>
            <link>https://medium.com/playgroundinc/3-ps-for-young-entrepreneurs-9d382d2936ad?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/9d382d2936ad</guid>
            <category><![CDATA[lessons-learned]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[mindfulness]]></category>
            <category><![CDATA[young-entrepreneur]]></category>
            <category><![CDATA[founder-advice]]></category>
            <dc:creator><![CDATA[Samaneh Sadaghiani]]></dc:creator>
            <pubDate>Mon, 23 Jul 2018 17:01:01 GMT</pubDate>
            <atom:updated>2018-07-23T17:24:13.320Z</atom:updated>
            <content:encoded><![CDATA[<h3>3 P’s for Young Entrepreneurs</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ELdiaZcOoYm1pZbBZH-TAw.jpeg" /><figcaption>Photo by <a href="http://s13photography.com/">s13photography.com</a></figcaption></figure><h3>Be Present</h3><p>Learn to speak without seeking validation. Learn to listen without formulating a response.</p><p>Be present so you can perceive patterns around you.</p><p>Be present so you can solve and predict the problems of those patterns.</p><h3>Be Purposeful</h3><p>Know what you want. More importantly, know why you want it. Asking why is a powerful tool. Use it often.</p><p>Building your dreams takes plenty of fuel, yet your energy is limited. Do not waste it.</p><p>Find ways to replenish yourself throughout the day.</p><h3>Be Patient</h3><p>Dream big, then work backwards to find a path.</p><p>On that path, be a farmer. Plant seeds and water them regularly.</p><p>Search for people who can nourish you along the way. Without space to deepen, you won’t grow very tall.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9d382d2936ad" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/3-ps-for-young-entrepreneurs-9d382d2936ad">3 P&#39;s for Young Entrepreneurs</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Positive Culture, Pull Requests & Code Reviews]]></title>
            <link>https://medium.com/playgroundinc/positive-culture-pull-requests-code-reviews-c6557c1f06b5?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/c6557c1f06b5</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[feedback]]></category>
            <category><![CDATA[pull-request]]></category>
            <category><![CDATA[collaboration]]></category>
            <category><![CDATA[code-review]]></category>
            <dc:creator><![CDATA[Dave Naluz]]></dc:creator>
            <pubDate>Wed, 18 Jul 2018 16:33:19 GMT</pubDate>
            <atom:updated>2018-07-18T16:33:18.862Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3ZoESektt-hp20jgifR_5Q.jpeg" /><figcaption>Code reviews are probably going to happen online, but it’s nice to collaborate IRL too</figcaption></figure><p>At <a href="https://playgroundinc.com/">Playground Inc</a>. we value having an open and nurturing environment for everyone. We try to instill this type of culture within all of our teams. Pull requests are usually associated with code review and an approval process for getting some sort of functionality into a project or to fix an outstanding software bug — at Playground, the engineering team sees pulls requests as an opportunity to teach, learn and foster different approaches to different problems we encounter in our daily work. An idea isn’t good or bad, it has different trade-offs.</p><h3>Anatomy of a Pull Request</h3><p>A pull request starts with an idea. Providing an explanation within the request is a good way of helping everyone on the team understand why the change is being made. We should be mindful and aware that not everyone on the team has a full understanding of the scope of the change. Providing a history of the problem being solved helps any new team members jumping on to the project get more acquainted with the project and the specific pull request in question. The more detail we provide for others, the more helpful it will be in speeding up the process of reviewing and ultimately approving the request.</p><p>To help everyone on the team, pull requests should typically only update one logical piece of the project. Introducing multiple logical changes in a single pull request could make it harder for the team to review and is more likely to introduce unexpected bugs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Y_qqYaxSujAtiM7A5TOYGQ.png" /><figcaption><a href="https://medium.com/u/3db6ae742491">Kate Drwęcka</a> provides context.</figcaption></figure><p><strong>Reviewer(s): </strong><em>The person(s) that are tasked with reviewing the bug fix / new functionality.</em> As a reviewer we should attempt to keep the pull request approval list as short as possible. Having lingering pull requests could be hindering work on future functionality. A prompt review of a pull request also helps the reviewer if they have any questions for the author as the work of the author will be fresh in their mind.</p><p><strong>Author/Reviewee: </strong><em>The person who created the initial pull request.</em> As the author we should try to test the code to the best of our ability to ensure the reviewer(s) are receiving our best work and to help them do their job in an efficient manner.</p><p><strong>Title: </strong>Providing a descriptive title (Feature/Bug Fix/Refactor) helps members quickly identify what the pull request is about. Many times pull requests are tied to a ticket in a project management software system (JIRA, waffle, etc.) and these tickets usually have an ID of some sort assigned to them. Including this ID in the pull request title is a great way for identifying which ticket it belongs to. The title may be different from project to project, and the team should identify the best format for the project.</p><p><strong>Description</strong>: Using the description section of a pull request is a great place to provide the extra details that don’t fit in the title. Explaining why the change is being applied will give team members an overall understanding of the change and will help them understand the issue and in-turn help the process move along more smoothly. Another useful method for helping teammates navigate the pull request is to provide a list of the files being affected and a brief description of what has changed. While the pull request has the changelogs for all files, giving people a quick overview of the files affected is a great way of helping them navigate how the changes are related to each other.</p><h3>Reviewing a Pull Request</h3><p>Reviewing a pull request can sometimes be difficult especially if the person reviewing has no context as to what the bug fix is or the what the new functionality does. As a reviewer try to be in the right frame of mind when reviewing a pull request. Giving kind and constructive feedback takes time and energy, focus on yourself first. If you are pressed for time, not feeling well or hungry let the author know that you need to take care of those things first. You will be surprised how much of a difference mindset makes when reviewing a pull request.</p><p>Understanding the issue/feature will help you move forward in the approval process — before reviewing code try to understand the requirements for the change. If you do not understand something ask the author for clarification.</p><p>As a reviewer we should try not to jump to conclusions — instead assume that the author has done something for a reason. A general rule when encountering code / logic that you do not understand is to put yourself in the shoes of the author. Having empathy when phrasing your questions will go a long way in keeping them engaged and in a positive mindset to help answer any questions you may have. The feedback you receive from the author may surprise you and help give them a better understanding into the logic they used to solve the problem.</p><p>A reviewer’s questions should be as important as the pull request itself — as a team we should not be “nitpicking” stylistic code choices. We should be reviewing the logic and structure of a pull request while avoiding the trap reviews about aesthetics of code.</p><p>If the pull request passes all tests and is ready to be merged, providing a positive message is a great way to end the pull request process. Let the author know that they did a good job! Using gifs and emojis is a fun way to do just that.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pXGES9eGH0CLRxrVSC6ATg.png" /><figcaption>Brian can’t even.</figcaption></figure><h3>Creating a Pull Request</h3><p>As mentioned earlier pull requests should only be modifying a single piece of logic. Author(s) should keep changes small so that the reviewer(s) can review the change easily and quickly. Large pull requests can complicate the review process and can lead to some missed testing coverage by the reviewers. Help the reviewers by keeping the pull requests small so they can approve the requests with as little issues as possible. Another great method for the author to support the team is linking to any documentation that may be relevant to the changes whether it is a library being used or documentation written by the author. The author should try to avoid refactoring code in addition to any logical changes. Refactoring should be done in its own pull request to avoid uncaught errors that may occur. It’s great practice to also speak with the reviewers while working on the feature/bug. Getting early feedback from your peers about different implementation options may help relieve any stress that may come with a code review.</p><p>Be mindful when receiving feedback, the author should try to assume that the reviewer has the best intent in the feedback they provided. Giving constructive criticism may be the hardest part of a pull request especially if the code doesn’t pass certain tests or if the author has forgotten a specific condition required in the feature. Though we identify different people within the ecosystem of a pull request (author/reviewer), everyone should think of themselves as the owner of the project as everyone is working towards the same goal in creating amazing code!</p><h3>In Conclusion</h3><p>When creating/reviewing a pull request it is important to remember that it’s not only about the code. Remember that there people involved on both sides and that we’re all are trying to accomplish a common goal. This practice not only benefits the project but it can help you develop your listening and communication skills as well. This makes you into a stronger teammate who is capable of providing mindful, constructive feedback.</p><h3>Resources</h3><p>Here are a few resources that we found to be inspiring for us. They provide examples of technical pitfalls to avoid, communication guidelines to follow and an overall framework to use when creating and reviewing pull requests.</p><p><a href="http://amyciavolino.com/assets/MindfulCommunicationInCodeReviews.pdf">http://amyciavolino.com/assets/MindfulCommunicationInCodeReviews.pdf</a></p><p><a href="https://www.atlassian.com/blog/git/written-unwritten-guide-pull-requests">https://www.atlassian.com/blog/git/written-unwritten-guide-pull-requests</a></p><p><a href="http://blog.ploeh.dk/2015/01/15/10-tips-for-better-pull-requests/">http://blog.ploeh.dk/2015/01/15/10-tips-for-better-pull-requests/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c6557c1f06b5" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/positive-culture-pull-requests-code-reviews-c6557c1f06b5">Positive Culture, Pull Requests &amp; Code Reviews</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How we approach 1:1s with the technical team at Playground Inc. and how you can too]]></title>
            <link>https://medium.com/playgroundinc/how-we-approach-1-1s-with-the-technical-team-at-playground-inc-and-how-you-can-too-6de7b7f4ed4a?source=rss----fe255019abd2---4</link>
            <guid isPermaLink="false">https://medium.com/p/6de7b7f4ed4a</guid>
            <category><![CDATA[mentoring]]></category>
            <category><![CDATA[culture]]></category>
            <category><![CDATA[leadership]]></category>
            <category><![CDATA[management]]></category>
            <category><![CDATA[coaching]]></category>
            <dc:creator><![CDATA[Maja Witter]]></dc:creator>
            <pubDate>Tue, 10 Jul 2018 18:15:19 GMT</pubDate>
            <atom:updated>2018-07-10T23:33:06.807Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kF0-7tr6fKBNEyGS_41SjQ.png" /><figcaption>How <a href="https://medium.com/u/ec0d564fe933">Scott Boniface</a> approaches 1:1s with Mel. That’s a different article, though.</figcaption></figure><p>For the first years of <a href="https://playgroundinc.com/">Playground</a>’s existence we were afraid of too much management, of too much process. We’re all smart, capable and busy people. Let’s stay out of the way so folks can get their work done. If they need something, they’ll say something, right?</p><p>Maybe that works with a small team. A team that’s been there since the early days. Conversations are ad-hoc and we all learn by osmosis. But it doesn’t scale.</p><p>And how do you scale? By being intentional. By making space.</p><p>Having regular 1:1s is a practice that opens doors, that builds relationships. It’s never the only line of communication, but it provides a guaranteed time and place to connect.</p><h3>Ok, so what are we talking about anyway</h3><p>Ideally, a 1:1 should be led by your report. You have created a space where they can be comfortable expressing themselves and communicating with you about what’s really going on. How exactly to do that is probably beyond the scope of this post, but it’s a slow process of building trust and proving worthy of keeping that trust.</p><p>1:1s will likely be different with different people, and that’s okay. They may ebb and flow with the same person too. Maybe this time you need an hour, or maybe just five minutes. As long as you’re both communicating with each other, you’re good.</p><p>Until you’ve established a rhythm and cadence, it will be useful to provide an initial structure from which to work. It will also be useful to circle back on particular themes once you have a natural flow too.</p><h3>A general structure</h3><p>Pick and choose as you need and feel free to make it your own. Not all questions will be necessary at all meetings. These are presented in an order that seems to work, but there’s no need to be strict.</p><h4>Getting started</h4><p>Small talk. Love small talk.</p><p>Honestly, this is an important part of building that trust we were talking about earlier. This is an opportunity to demonstrate that you care, that you’re interested.</p><h4>Following up</h4><p>Anything brought up in a past 1:1 that requires revisiting.</p><p><em>Did I say I would take care of something or look into something?</em></p><ul><li>Here’s where we talk about how that went and any potential next steps.</li></ul><p><em>Did they say they would work on something or look into something?</em></p><ul><li>How is it going? What’s next?</li></ul><h4>Checking in</h4><p>Immediate:</p><ul><li>How are you doing?</li><li>How do you feel about the project you’re working on?</li><li>What’s it like working with the project team?</li><li>How are you feeling about X’s leadership on the project?</li><li>What’s it like working with the client?</li><li>Is there anything you’re concerned about?</li></ul><p>Me:</p><ul><li>Is there anything I can do to help you?</li></ul><p><em>Rarely do people have a specific ask in response to this very open question.</em></p><p><em>Usually this kind of help can be identified in the context of answers to other questions. Maybe I help them think through a possible solution to a problem they’re facing. Or maybe I can see that there’s something going on that I should take the initiative on and deal with. A more specific offer, “Could doing X help solve Y?” can be very productive.</em></p><p><em>I think it’s still good to ask the open question straight up. And to ask it regularly.</em></p><ul><li>Is there something I’m not doing that I could be doing?</li><li>Is there something I’m doing that I shouldn’t be?</li></ul><p><em>People really seem to appreciate these questions. Again, maybe there isn’t always much that comes up but being open to and making space for feedback is important.</em></p><h4>Big picture</h4><ul><li>How are you feeling about Playground?</li><li>How do you feel about your role here? The work that you’re doing?</li><li>Is there anything about the company that you’re worried about?</li><li>Is there anything we’re not paying attention to that we should be?</li></ul><h4>Goals</h4><ul><li>We’ve set some goals back at the performance review. Where are we at?</li><li>Does anything need to change?</li><li>What are next steps?</li></ul><h4>Sharing</h4><ul><li>What am I working on?</li></ul><p><em>This may or may not be directly relevant and that’s ok.</em></p><ul><li>What am I thinking about or planning for the longer term?</li><li>Is there something specific I’m working on that I can share and invite feedback on?</li></ul><h4>Feedback</h4><p>Did something happen that’s worth celebrating? Did something happen that needs correcting? Did a client or team member say something nice about the person I’m meeting with and can I share it with them? Is there something I’m concerned about? How are we doing with professional goals? With the points in our performance matrix?</p><p><em>Always following positive feedback with negative feedback can establish a pattern where the positive gets negated, because the person is just waiting for the negative. Be careful about this.</em></p><h4>Connecting</h4><p>How are things otherwise? Maybe this is just more small talk. Or maybe there’s room to talk about bigger or more personal things, if the person feels comfortable. Never push for it, but make room if it needs to happen. Be a support. Build rapport. Maybe share something too, if appropriate.</p><p>Is there something big going on in their life? Could this affect work in some way? Is there something we can offer that might help?</p><p><em>An offer of help must only be something that can be delivered upon. Don’t make promises you can’t keep.</em></p><h4>Wrapping up</h4><p><em>Summarize the session.</em> How is the person feeling? What are the challenges that we’ve identified and what steps are we taking to address them?</p><p><em>So people know they’ve been heard.</em></p><p>Reminder that I’m available to chat or support or work through anything outside of 1:1s.</p><p>Thanks for checking in!</p><h3>Troubleshooting &amp; tools</h3><p>1:1s can include brief status updates, but that shouldn’t be the main focus. It’s about checking in, giving and receiving feedback, discussing performance, following up on goals people have set, and identifying opportunities for growth. They can also be a place to work through difficult problems, whether technical/design or interpersonal. But when it comes to working through interpersonal problems or challenges, how exactly do we do that?</p><h4>Roleplay</h4><p>If we’ve identified that the person needs to have a difficult conversation with someone and isn’t super clear on how to proceed, offer up a safe space to practice that conversation. Play the part of the person they have to talk to and try out the conversation. If it would be helpful, you can offer also to switch parts. Take a step back and break down the conversation. How did it go? How did it feel? What could be better?</p><p><em>It’s good to identify and brainstorm different ways of approaching the conversation, but let’s not be prescriptive. We can coach people and help them figure out how to handle what’s going on, but let’s not tell them a specific way as if it were the only way. There are ways.</em></p><h4>Scenario analysis</h4><p>Is there something big coming up, around which there’s uncertainty or anxiety? Let’s work through it.</p><p>What’s the worst possible thing that could happen? How will you feel when that happens? How might you respond? Is this even a likely scenario that could happen? Or is it a product of fear?</p><p>What’s the best possible thing that could happen? What does that look like? What’s the likelihood of things going this way?</p><p>What probably is the thing that’s going to happen? How will that feel? How will you respond? Do you feel equipped to respond?</p><p><em>Yes.</em></p><h3>1:1s as a practice</h3><p>It will take time. Time to get to where you’re going. And time to figure out where it is anyway that you’re going to be going. Take that time.</p><p><em>With thanks to </em><a href="https://medium.com/u/e488558b7560"><em>Mike Ferrier</em></a><em> who years ago shared a framework that the above is built upon. </em><a href="https://twitter.com/redconservatory"><em>Nicole Chung</em></a><em> for the thoughtful feedback.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6de7b7f4ed4a" width="1" height="1" alt=""><hr><p><a href="https://medium.com/playgroundinc/how-we-approach-1-1s-with-the-technical-team-at-playground-inc-and-how-you-can-too-6de7b7f4ed4a">How we approach 1:1s with the technical team at Playground Inc. and how you can too</a> was originally published in <a href="https://medium.com/playgroundinc">Playground Inc.</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>