340 Matching Annotations
  1. Dec 2020
    1. Two-way Computed Property Admittedly, the above is quite a bit more verbose than v-model + local state, and we lose some of the useful features from v-model as well. An alternative approach is using a two-way computed property with a setter: <input v-model="message"> // ... computed: { message: { get () { return this.$store.state.obj.message }, set (value) { this.$store.commit('updateMessage', value) } } }

      Handling forms in vuex - use computed properties with a getter and a setter,

      the getter - pulls the value from the store the setter - commits the value to the store

    2. Components Can Still Have Local State Using Vuex doesn't mean you should put all the state in Vuex. Although putting more state into Vuex makes your state mutations more explicit and debuggable, sometimes it could also make the code more verbose and indirect. If a piece of state strictly belongs to a single component, it could be just fine leaving it as local state. You should weigh the trade-offs and make decisions that fit the development needs of your app.

      This is a common pattern I've seen with people adopting tools like [[redux]] or [[Vuex]] for [[state management]] without understanding the [[problems that state management tools aim to solve]]

      • [[Its ok to have local state]]
      • [[Not all state needs to be app state]]

      Not only does putting all of the state into the store cause extra indirection, it can make things complicated if you are putting in state that is tied to the lifecycle of a component - needing to clear / reset the state the next time it loads.

      It can also add complications when you have multiple instances of a component - and trying to make all of it's state got into Vuex - for example, if you had multiple carousel components on a screen - would there be value in trying to manage that state in vuex?

    1. As we advocate in our Agile Product Management overview, the more involved that a product manager is with the development team, the better. That involvement should be along the lines of a product owner who champions customer needs, the "why" of the product. When the involvement blurs into tasking, the "how" for a team, then there is a problem. Even with the best of intentions, this kind of utilization mindset tends to hide problems: defects, hand-offs, and unknowns. Interleaving scope and process tends toward locking scope, schedule, and quality. That's a recipe for failure.
      • The [[Product Manager answers the why]]
      • The [[Scrum Master answers the how]]
    2. Scrum Master vs Product Manager

      [[Scrum Master vs Product Manager]]

    3. When starting out with scrum, it can be a huge help to have someone in the role who has seen scrum working before. Better yet, has seen many examples of it working. For this reason, scrum masters are often hired as consultants, rather than as full-time employees.

      some companies are not able to afford a full time scrum master, but having someone that knows the process well and can provide agile coaching can be important to adopting scrum properly.

    4. As facilitators, scrum masters act as coaches to the rest of the team. “Servant leaders” as the Scrum Guide puts it. Good scrum masters are committed to the scrum foundation and values, but remain flexible and open to opportunities for the team to improve their workflow.

      [[scrum masters are facilitators and coaches]], they understand

      • [[scrum fundamentals]]
      • [[scrum values]]

      While [[agile is a mindset]], [[scrum is a framework for getting things done]]

    5. Scrum has a clearly defined set of roles and rituals that should be followed
      • What are the [[scrum roles]]
      • What are the [[scrum rituals]]
    6. Summary: The scrum master helps to facilitate scrum to the larger team by ensuring the scrum framework is followed. He/she is committed to the scrum values and practices, but should also remain flexible and open to opportunities for the team to improve their workflow.

      the scrum master is someone that facilitates the team, and helps ensure that the scrum framework is followed, and values adhered to.

    1. Functional consistency makes your product more predictable. Users know how an element behaves, and therefore will also feel more safe and secure to interact with it even on a page/screen they visit for the first time.Visual consistency includes the colors, fonts, sizes, positions and other visual aspects of your UI which help your users cognitively identify and classify UI elements. A certain font color, for example, could be strategically used to help your users understand what they will get if they push a specific button.

      some of the goals of a design system, and a component based design system is to have [[functional consistency]] and [[visual consistency]]

    2. The core of the problem lies in the words “as code and design tools”.Designers need to collaborate with developers to build UX/UIs together. Yet, they work on different sources of truth, using different tools. Instead of a mutual dialog, their joint workflow becomes a broken conversation.

      even though designers and developers work together, we are still in the mindset of thinking about design tools and development tools - instead of developers and designers working from the same source of truth, we are playing a game of broken telephone.

    3. Sometimes, systems just scale the problemA UI design system is more than the code of a component library. It’s more than the colors, styles, and margins of your elements. It’s an ever-growing and ever-evolving creature that entails your brand and your user’s feelings.

      If you don't understand the problem - you can [[scale the problem instead of solve the problem]], and it's important to remember that a [[design system is more than a component library]]

    4. Getting placed in the middle of this workflow can be challenging. Designers and developers don’t work using the same tools, don’t see the same things, don’t share the same concerns, and don’t even always use the same words.

      even though designers and developers are working towards the same vision - our concerns, how we get there, and the things we tend to care about can be very different.

      When we don't have a common shared language either - it can make it difficult to have a good workflow, and collaboration between designers and developers.

    1. Instead of publishing a single one-size-fits package for components, we create an ecosystem where everyone works together yet deliver independently. The design system’s team role is to facilitate and regulate, not block or enforce.

      I think this is a really important point - the design system's team is to facilitate, not gatekeep.

    2. The marketing team, however, needs some more concrete components like a marketing “heading” or “action-button”. These are not a part of the base-ui design system but are a part of another Scope called “Evangelist”. They belong autonomously to the marketing team in this GitHub repo. Since they use components from base-ui, they get updates from the base-ui team.

      the most generic, reusable pieces are part of the base design system, however for bit - they have an "Evangelist" design system.

      If you look at their package.json in their github repo - you can see the dependencies on their base ui

    3. At Bit, we have more than just one design system. We have different teams that build and share their components, in a UI component ecosystem.

      a design system doesn't need to be the responsibility of a team, but can be considered an ecosystem.

    4. What you see here is a page composed of shared components. However, these are independent components developed and owned by different teams and published from different projects, which are mixed and integrated together.

      the move towards single page applications, component centric frameworks, etc has shifted how we view building webpages.

      It is not so much that we are building a page, but we are building components that we assemble into a page.

      We’re not designing pages, we’re designing systems of components.—Stephen Hay via atomic design

    5. The design of your system is not ready until you have two assets:a) A style-guide that defines the styling and implementation of your UI. This is usually a rather long document with a lot of text and typography.b) A set of reusable visual elements that bring together both visual (UI) and functional (UX) consistency through components. This is usually a rather large canvas with elements drawn on Figma or Sketch etc (we use both).

      there are two [[primary assets of a design system[[

      • the style guide
      • the reusable elements - an implementation of the style guide
    6. Visual consistency means creating a unified style-guide standard for colors, fonts, sizes, positions, and every other part of your visual language. Aspects such as typefaces, typography, primary and secondary colors can still be specified as part of the design system.

      Design systems are more than components, but a design language that brings consistency across your application.

      Instead of having to ask 'what font', 'what size', 'what color' should things be - you follow the rules of the design system.

    7. Instead, we had to audit and turn our existing visual language into an organized system.

      There are a few approaches to starting a design system, however starting it as a new greenfield project may not be possible depending on your company / team / etc.

      At times, you need to [[audit then order]] what you have

    8. The benefits of our system go way beyond UI/UX consistency. We greatly accelerated and scaled our development, improved our product quality, and greatly improved work between developers, designers, and everyone else.

      Design systems enable faster development and delivery, and help teams scale - and have value beyond UI/UX consistency.

    1. Unlike data scientists — and inspired by our more mature parent, software engineering — data engineers build tools, infrastructure, frameworks, and services. In fact, it’s arguable that data engineering is much closer to software engineering than it is to a data science

      while Data Engineering has it's origins in Business Intelligence and Data Science - it is also closer to software engineering in some ways - as data engineers build tools, infrastructure and frameworks to support data needs.

      They are building the tools to enable the Data Scientists, and other consumers of the data (BI,etc)

  2. Nov 2020
    1. Identify, classify, and apply protective measures to sensitive data. Data discovery and data classification solutions help to identify sensitive data and assign classification tags dictating the level of protection required. Data loss prevention solutions apply policy-based protections to sensitive data, such as encryption or blocking unauthorized actions, based on data classification and contextual factors including file type, user, intended recipient/destination, applications, and more. The combination of data discovery, classification, and DLP enable organizations to know what sensitive data they hold and where while ensuring that it's protected against unauthorized loss or exposure.


    2. Implement firewall rules to block egress to malicious or unauthorized destinations. A network firewall is one of several lines of defense against threats. This is a starting point where you can ensure that data egress does not occur without explicit permission.


    3. Create an acceptable use and data egress traffic enforcement policy. Include stakeholders to define your acceptable use policy. It should be a thorough policy that protects your company's resources, including a list of approved Internet-accessible services and guidelines for accessing and handling sensitive data.


    4. Best Practices for Data Egress Management and Preventing Sensitive Data Loss


    5. Threats Involving Data Egress

      [[Threats Involving Data Egress]]

    6. Egress filtering involves monitoring egress traffic to detect signs of malicious activity. If malicious activity is suspected or detected, transfers can be blocked to prevent sensitive data loss. Egress filtering can also limit egress traffic and block attempts at high volume data egress.
    7. Data Egress vs. Data IngressWhile data egress describes the outbound traffic originating from within a network, data ingress, in contrast, refers to the reverse: traffic that originates outside the network that is traveling into the network. Egress traffic is a term used to describe the volume and substance of traffic transferred from a host network to an outside network.


    8. Data Egress MeaningData egress refers to data leaving a network in transit to an external location. Outbound email messages, cloud uploads, or files being moved to external storage are simple examples of data egress. Data egress is a regular part of network activity, but can pose a threat to organizations when sensitive data is egressed to unauthorized recipients.Examples of common channels for data egress include:EmailWeb uploadsCloud storageRemovable media (USB, CD/DVD, external hard drives)FTP/HTTP transfers

      [[Definition/Data Egress]]

    9. What is Data Egress? Managing Data Egress to Prevent Sensitive Data Loss

      [[What is Data Egress? Managing Data Egress to Prevent Sensitive Data Loss]]

    1. How can I create Internet ingress and egress security patterns for AWS

      [[How can I create Internet ingress and egress security patterns]]

    2. Egress in the world of networking implies traffic that exits an entity or a network boundary, while Ingress is traffic that enters the boundary of a network.
      • [[egress]] is the data, or traffic that [[exits a boundary]]
      • [[ingress]] is data or traffic that [[enters a boundary]]
    3. What do Egress and Ingress Mean in the Cloud?

      [[What do Egress and Ingress Mean in the Cloud?]]

    1. So far, all the grouping we've done is according to the unique values within a column or set of columns (using PARTITION BY). However, you can do even fancier things by making the group relative to each row. In other words, as SQL runs through each row, it will perform a calculation for the surrounding rows. This allows you to do things like get a sum for only the 5 previous rows. Here is a diagram that demonstrates which rows SQL will consider (in purple) when it reaches a given row (in aqua), if we tell it to look at the 5 previous rows:

    2. Though we have covered a lot, there is one more feature of window functions that can give you even more analytical power. It's called the "frame clause," and it allows you to calculate things like rolling averages, cumulative sums, and many other interesting values.
    1. Psychologists have found that units—also referred to as schemas—of information are stored in our long-term memory.2 These schemas can be activated by sights, smells, and sounds. When these schemas are activated, our memories become easier to access. Priming suggests that certain schemas are activated in unison, which in turn leads related or connected units of information to be activated at the same time. Once related schemas are activated and more accessible, it becomes easier for us to draw related information into memory more quickly, and we can thus respond faster when the need arises. For example, the schemas related to rainstorms and slick roads may be linked in our memories. As a result, when we drive and it is raining, the memory of slick roads comes to mind, leading us to slow down and take precaution.There are numerous types of priming that can occur. Each one works in a specific way that produces different effects.

      [[units of information]] or [[schemas]] - stored in long term memory.

      Once these schemas are activated - memories associated to them are easier to access. Like having a smell remind you of a place - once that schema is activated, other things attached to it are easier to remember.

    1. What is the STAR interview method?The STAR interview method is a technique you can use to prepare for behavioral and situational interview questions. STAR stands for: situation, task, action and result.This method will help you prepare clear and concise responses using real-life examples.Hiring managers ask behavioral interview questions to determine whether you are the right fit for a job. By using the STAR strategy, you can make sure you’re fully addressing the interviewer’s question while also demonstrating how you were able to overcome previous challenges and be successful.

      The [[STAR method]] can help people prepare for [[behavioural interview]] questions

    1. 6. What is the biggest professional challenge you have overcome as a data engineer?Hiring managers often ask this question to learn how you address difficulties at work. Rather than learning about the details of these difficulties, they typically want to determine how resilient you are and how you process what you learn from challenging situations. When you answer, try using the STAR method, which involves stating the situation, task, action and result of the circumstances.Example: “Last year, I served as the lead data engineer for a project that had insufficient internal support. As a result, my portion of project fell behind schedule and I risked disciplinary measures. After my team missed the first deadline, I took the initiative to meet with the project manager and proposed possible solutions. Based on my suggestions, the company assigned additional personnel to my team and we were able to complete the project successfully within the original timeline.”

      never heard of the [[STAR method]] before

      • situation
      • task
      • action
      • result
    2. 5. Do you consider yourself database- or pipeline-centric?Interviewers frequently bring this question up to determine whether you have a focus area and if it matches with the needs of the company. In your response, provide an honest assessment of your specialization. Try your best to reflect the whole scope of your technical knowledge and experience, especially if you have the skills for both data engineering specialties.Example: “Because I usually opt to work for smaller companies, I am a generalist who is equally comfortable with a database or pipeline focus. Since I specialize in both components, I have comprehensive knowledge of distributed systems and data warehouses.”

      with data engineers -

      • [[Data Engineer - Generalist]]
      • [[database-centric]]
      • [[pipeline-centric]]
    3. 4. Can you explain the design schemas relevant to data modeling?Hiring teams may question you about design schemas as a way to test your knowledge of the fundamentals of data engineering. When you respond, do your best to explain the concept clearly and concisely.Example: “Data modeling involves two schemas, star and snowflake. Star schema includes dimension tables that are connected to a fact table. Snowflake schema includes a similar fact table and dimension tables with snowflake-like layers.”
      • [[data modeling]]
      • ability to explain schemas and schema types, [[star schema]] [[snowflake schema]]
    4. In-depth questionsThe following interview questions enable the hiring manager to gain a comprehensive understanding of your competencies and assess how you would respond to issues that may arise at work:What are the most important skills for a data engineer to have?What data engineering platforms and software are you familiar with?Which computer languages can you use fluently?Do you tend to focus on pipelines, databases or both?How do you create reliable data pipelines?Tell us about a distributed system you've built. How did you engineer it?Tell us about a time you found a new use case for an existing database. How did your discovery impact the company positively?Do you have any experience with data modeling?What common data engineering maxim do you disagree with?Do you have a data engineering philosophy?What is a data-first mindset?How do you handle conflict with coworkers? Can you give us an example?Can you recall a time when you disagreed with your supervisor? How did you handle it?

      deeper dive into [[Data Engineer]] [[Interview Questions]]

    1. Step 6: "Align Resources" The final step translates the selected, developed solution into an action plan that may include, among other things: to do lists time-lines and milestones lists of people who need to get involved lists of issues that need further work

      [[productive thinking model/Align resources]].

    2. Step 3: "What's the Question?" The third step frames the challenge by turning it into a question. This is accomplished through brainstorm-like techniques eliciting as many questions as possible, and then clustering, combining, and choosing the question or questions that seem most stimulating.

      [[productive thinking model/Ask "What is the question?"]]

    3. Step 1: "What's Going On? Establishes a context for the problems or opportunities being addressed, exploring different ways of stating the so-called "itch", exploring what factors, circumstances, and entities are involved, and what a solution might look like. There are actually five sub-steps to this phase: "What's the Itch?", generating a long list of perceived problems or opportunities, often re-stating similar ones in several different ways, and then looking for patterns and clusters with the mass in order to select one key "problem" to address "What's the Impact?", digging deeper into the issue and identifying how it affects the world "What's the Information?", describing various aspects of the problem in detail "Who's Involved?", identifying other stakeholders in the issue "What's the Vision?", identifying what would be different if the issue were resolved, in the form of a "wish" statement (e.g., "If only my dog didn't run away when I let him outside.")

      [[productive thinking model/Ask "What is going on?"]]

    1. Step 6 – Align Resources In this last step you determine which actions and resources are necessary to implement the definitive idea. You also identify the people who will be responsible for the implementation of the specific parts of the idea and what other resources are required. This part of the process will have to be fleshed out in detail and is therefore relatively time consuming.

      [[productive thinking model/Align resources]].

    2. Step 4 – Generate Answers At this stage many ideas are generated. By getting as many answers to the catalytic questions as possible, stakeholders will come up with promising and intriguing ideas that can be developed. At this stage long lists of ideas and answers are created from which the best ones are chosen. This stage is not yet about definitive solutions, but it establishes a basis.

      [[productive thinking model/Generate answers.]]

    3. Step 3 – What´s the question? This step addresses the order in which essential questions must be answered to achieve the Target Future. These are the so-called catalytic questions that put the wheels in motion. It is about trying to ask the right questions in which it is important to identify each problem with respect to the central subject. From this the catalytic questions are distilled to achieve the Future Target.

      [[productive thinking model/Ask "What is the question?"]]

    4. Step 2 – What´s success? In this second step it is about developing the Target Future into a concrete, desired situation. What could eventually lead to success? Using this step specific and observable success criteria can be defined which enable you to imagine how this objective can be met in the best possible way. You are allowed to use your senses and questions like ‘how does it feel, what will it look like and “what are your thoughts on this” can direct the brainstorm more concretely towards the desired output. By defining success criteria in advance, the ideas that stakeholders come up with can be assessed more effectively. The success criteria are described using DRIVE, which is an acronym for Do – Restrictions – Investment – Values – Essential outcomes; what do you want the solution to do – what are the restrictions, what resources are available to achieve your objective, what values must this objective deliver – what outcome must it have? The outcome of this step makes that the vision of what you want to achieve is not only clear but highly motivating.

      [[productive thinking model/Ask "What is success?"]]

    5. Step 1 – What´s going on? By answering the five questions (with multiple sub questions), the subject is tackled in the broadest possible way. The following questions are considered in the first step: What is the problem? / What is the question? What is the impact of this possible problem? What information do we already have? What information do we need in relation to the problem and/or question? Who is already involved in the problem or question? What is the vision of the situation and what does the Target Future look like?

      [[productive thinking model/Ask "What is going on?"]]

    1. The Productive Thinking Model was developed by author and creativity theorist, Tim Hurson, and was published in his 2007 book, "Think Better." The model presents a structured framework for solving problems creatively. You can use it on your own or in a group. The model consists of six steps, as follows: Ask "What is going on?" Ask "What is success?" Ask "What is the question?" Generate answers. Forge the solution. Align resources.

      [[productive thinking model]]

    1. LinkedIn, via the New York Times, reported these ‘soft skills’ as the most in demand in 2016. Communication Curiosity Adaptability Teamwork Empathy Time Management Open-Mindedness

      [[soft skills]]

    2. Workplace Skills In 2011 the Institute for the Future identified 10 Future of Work Skills for 2020. Sense-making Social Intelligence Novel & Adaptive Thinking Cross-cultural Competency Computational Thinking New Media Literacy Transdisciplinarity Design Mindset Cognitive Load Management Virtual Collaboration

      [[workplace skills]] [[future of work skills]]

    1. Self-Actualization Self-actualization refers to feeling fulfilled, or feeling that we are living up to our potential. One unique feature of self-actualization is that it looks different for everyone. For one person, self-actualization might involve helping others; for another person, it might involve achievements in an artistic or creative field. Essentially, self-actualization means feeling that we are doing what we believe we are meant to do. According to Maslow, achieving self-actualization is relatively rare, and his examples of famous self-actualized individuals include Abraham Lincoln, Albert Einstein, and Mother Teresa.

      [[self-actualization]] - this can fit in with [[[Intrinsic Motivation]] - the feeling of "living up-to your potential" can also align with [[motivation]] and [[Perceived abilities]]

    2. Esteem Our esteem needs involve the desire to feel good about ourselves. According to Maslow, esteem needs include two components. The first involves feeling self-confidence and feeling good about oneself. The second component involves feeling valued by others; that is, feeling that our achievements and contributions have been recognized by other people.

      first aspect is self-confidence, the second is feeling valued by others - feedback, recognition, etc

    1. Examples of external extrinsic rewards include:competing in sports for trophiescompleting work for moneycustomer loyalty discountsbuy one, get one free salesfrequent flyer rewardsExamples of psychological extrinsic rewards include: helping people for praise from friends or family doing work for attention, either positive or negative doing tasks for public acclaim or fame doing tasks to avoid judgment completing coursework for grades Is it effective?Extrinsic motivation may be more effective for some people than it is for others. Certain situations may also be better suited for this form of motivation. For some people, the benefits of external rewards are enough to motivate high-quality continuous work. For others, value-based benefits are more motivating. Extrinsic motivation is best used in circumstances when the reward is used sparingly enough so it doesn’t lose its impact. The value of the reward can decrease if the reward is given too much. This is sometimes referred to as the overjustification effect.The overjustification effect happens when an activity you already enjoy is rewarded so often that you lose interest. In one study, researchers looked at the way 20-month-olds responded to material rewards compared to their response to social praise or no reward. Researchers found that the group that received material rewards was less likely to engage in the same helpful behaviors in the future. This suggests that the overjustification effect can start at an early age. There’s some evidence that an excessive amount of extrinsic rewards can lead to a decrease in intrinsic motivation. Not all researchers agree, however. The idea was first explored in a study published in 1973. During the study, some children were rewarded for playing with felt-tip pens. This was an activity they already enjoyed. Other children weren’t rewarded for this activity. After continued reward, the reward group no longer wanted to play with the pens. The study participants who weren’t rewarded continued to enjoy playing with the pens.A meta-analysis from 1994 found little evidence to support the conclusions from the 1973 study. Instead, they determined that extrinsic motivation didn’t affect long-term enjoyment of activities. However, a follow-up meta-analysis published in 2001 found evidence to support the original theory from 1973. Finally, a more recent meta-analysis from 2014 determined that extrinsic motivation only has negative outcomes in very specific situations. But for the most part, it can be an effective form of motivation. Depending on how it’s used, it’s possible that extrinsic motivation could have negative long-term effects. It’s likely an effective method when used in addition to other forms of motivation. ADVERTISEMENTTry a top-rated app for meditation and sleepExperience 100+ guided meditations with Calm’s award-winning meditation app. Designed for all experience levels, and available when you need it most in your day. Start your free trial today.START FREE TRIAL What are some of the cons to using extrinsic motivation?A major drawback to using extrinsic motivation is knowing what to do when the reward is gone or its value is exhausted. There’s also the possibility of dependency on the reward. The usefulness of extrinsic motivators should be evaluated on a case-by-case and person-by-person basis. Extrinsic motivation and parentingVery few studies have explored the long-term effects of continuous extrinsic motivation use with children. Extrinsic motivation can be a useful tool for parents to teach children tasks and responsibilities. Certain extrinsic motivators, like support and encouragement, may be healthy additions to parenting practices. Some rewards are often discouraged because it may lead to unhealthy associations with the rewards later in life. For example, using food as a reward may lead to unhealthy eating habits. For small developmental tasks, extrinsic motivators like praise can be very helpful. For instance, using praise can help with toilet training. If you use external rewards, try phasing them out over time so that your child doesn’t become dependent on the reward. TakeawayExtrinsic motivation can be useful for persuading someone to complete a task. Before assigning a reward-based task, it’s important to know if the person doing the task is motivated by the reward being offered. Extrinsic motivators may be a useful tool to help children learn new skills when used in moderation. For some people, psychological extrinsic motivators are more appealing. For others, external rewards are more attractive. It’s important to remember, however, that extrinsic motivation isn’t always effective.ADVERTISEMENTTalking will helpLife can be more manageable. Use Babylon by TELUS Health to see a mental health counsellor on your phone. A receipt will be provided for claim reimbursement, if applicable.GET THE APP Last medically reviewed on September 25, 2017 7 sourcescollapsedHealthline has strict sourcing guidelines and relies on peer-reviewed studies, academic research institutions, and medical associations. We avoid using tertiary references. You can learn more about how we ensure our content is accurate and current by reading our editorial policy.Cameron J, et al. (1994). Reinforcement, reward, and intrinsic motivation: A meta-analysis. DOI:10.3102/00346543064003363Jovanovic D, et al. (2014). Relationship between rewards and intrinsic motivation for learning – researches review. DOI:10.1016/j.sbspro.2014.08.287Lepper MR, et al. (1973). Undermining children’s intrinsic interest with extrinsic reward: A test of the “overjustification” hypothesis. DOI:10.1037/h0035519Sheppard DP, et al. (2015). The role of extrinsic rewards and cue-intention association in prospective memory in young children.doi.org/10.1371/journal.pone.0140987Theodotou E. (2014). Early year education: Are young students intrinsically or extrinsically motivated towards school activities? A discussion about the effects of rewards on young children learning.roar.uel.ac.uk/3632/Warneken F, et al. (2008). Extrinsic rewards undermine altruistic tendencies in 20-month-olds. DOI:10.1037/a0013860Why parents shouldn’t use food as reward or punishment. (n.d.)urmc.rochester.edu/encyclopedia/content.aspx?ContentTypeID=160&ContentID=32FEEDBACK:Medically reviewed by Timothy J. Legg, Ph.D., CRNP — Written by A. Rochaun Meadows-Fernandez — Updated on September 18, 2018related storiesUnderstanding Negative ReinforcementAuthoritarian Parenting: The Right Way To Raise My Kids?Should You Practice Permissive Parenting?Is Twirling Your Hair as a Habit a Symptom of an Underlying Condition?9 Deceptively Simple Things I Can’t Do Because Anxiety

      [[Examples of [[extrinsic motivation]]]]

    2. Examples of extrinsic motivation

      [[Examples of [[extrinsic motivation]]]]

    3. DefinitionExtrinsic motivation is reward-driven behavior. It’s a type of operant conditioning. Operant conditioning is a form of behavior modification that uses rewards or punishments to increase or decrease the likelihood that specific behaviors will recur. In extrinsic motivation, rewards or other incentives — like praise, fame, or money — are used as motivation for specific activities. Unlike intrinsic motivation, external factors drive this form of motivation.

      [[extrinsic motivation]] is [[reward-driven behaviour]].

      expandOn [[operant conditioning]] - unlike [[intrinsic motivation]] - external factors drive [[extrinsic motivation]]

    4. What Is Extrinsic Motivation and Is It Effective?
    1. The overjustification effect has inspired an entire field of study that focuses on students and how to help them reach their full potential. Though experts are divided on whether extrinsic rewards have a beneficial or negative effect on intrinsic motivation, a recent study showed that rewards may actually encourage intrinsic motivation when given early in a task.

      [[question]] What is the [[over-justification effect]]

    2. Understanding the factors that promote intrinsic motivation can help you see how it works and why it can be beneficial. These factors include:Curiosity. Curiosity pushes us to explore and learn for the sole pleasure of learning and mastering.Challenge. Being challenged helps us work at a continuously optimal level work toward meaningful goals.Control. This comes from our basic desire to control what happens and make decisions that affect the outcome.Recognition. We have an innate need to be appreciated and satisfaction when our efforts are recognized and appreciated by others.Cooperation. Cooperating with others satisfies our need for belonging. We also feel personal satisfaction when we help others and work together to achieve a shared goal.Competition. Competition poses a challenge and increases the importance we place on doing well.Fantasy. Fantasy involves using mental or virtual images to stimulate your behavior. An example is a virtual game that requires you to answer a question or solve a problem to move to the next level. Some motivation apps use a similar approach

      factors that [[promote [[intrinsic motivation]]]]

    3. Researchers examined how reward timing influenced intrinsic motivation. They found that giving an immediate bonus for working on a task, rather than waiting until the task was completed, increased interest and enjoyment in it. Getting an earlier bonus increased motivation and persistence in the activity that continued even after the award was removed.

      by having a reward/bonus earlier on when working on a task can improve the enjoyment of working on it, and the enjoyment of 'working on the task for the enjoyment of it' is an element of [[intrinsic motivation]]

      When working on software and building teams - the rewards that can help motivate people, could be positive feedback, even critical feedback if there is trust there -

    4. Both can be effective, but research suggests that extrinsic rewards should be used sparingly because of the overjustification effect. Extrinsic rewards can undermine intrinsic motivation when used in certain situations or used too often

      while both [[intrinsic motivation]] and [[extrinsic motivation]] ca be useful, [[extrinsic motivation]] tends to rely on [[extrinsic rewards]]

      [[extrinsic rewards]] should be used sparingly - they can undermine the effectiveness off [[intrinsic motivation]], they can also lose value over time if used too often - and at times, relying too heavily on [[extrinsic rewards]] can be seen as coercion or bribery

    5. Intrinsic motivation factors

      [[Intrinsic motivation factors]]

    6. participating in a sport because it’s fun and you enjoy it rather than doing it to win an awardlearning a new language because you like experiencing new things, not because your job requires itspending time with someone because you enjoy their company and not because they can further your social standingcleaning because you enjoy a tidy space rather than doing it to avoid making your spouse angryplaying cards because you enjoy the challenge instead of playing to win moneyexercising because you enjoy physically challenging your body instead of doing it to lose weight or fit into an outfitvolunteering because you feel content and fulfilled rather than needing it to meet a school or work requirementgoing for a run because you find it relaxing or are trying to beat a personal record, not to win a competitiontaking on more responsibility at work because you enjoy being challenged and feeling accomplished, rather than to get a raise or promotionpainting a picture because you feel calm and happy when you paint rather than selling your art to make money

      [[Intrinsic motivation examples]]

    7. Intrinsic motivation examples

      [[Intrinsic motivation examples]]

    8. ExtrinsicYou do the activity in order to get an external reward in return.Goals are focused on an outcome and don’t satisfy your basic psychological needs. Goals involve external gains, such as money, fame, power, or avoiding consequences

      [[extrinsic motivation]]

    9. Intrinsic motivation vs. extrinsic motivation

      [[[[Intrinsic motivation]] vs. [[extrinsic motivation]]]]

    10. Along with satisfying these underlying psychological needs, intrinsic motivation also involves seeking out and engaging in activities that we find challenging, interesting, and internally rewarding without the prospect of any external reward.

      moving up [[Maslow's Hierarchy of Needs]] - [[Self Actualization]], [[Esteem]], [[Love and Belonging]] - and these are also factors that can influence [[Intrinsic Motivation]]

    11. The most recognized theory of intrinsic motivation was first based on people’s needs and drives. Hunger, thirst, and sex are biological needs that we’re driven to pursue in order to live and be healthy.

      these examples of [[intrinsic motivation]] line up with the [[Physiological needs]] in [[Maslow's Hierarchy of Needs]]

    12. Intrinsic motivation is the act of doing something without any obvious external rewards. You do it because it’s enjoyable and interesting, rather than because of an outside incentive or pressure to do it, such as a reward or deadline. An example of intrinsic motivation would be reading a book because you enjoy reading and have an interest in the story or subject, rather than reading because you have to write a report on it to pass a class.

      In my prompt for What are the [[components of motivation]] - which is a prompt that came from [[The 3 Components of Motivation (highlights)]] I had initially put down

      • [[Intrinsic Motivation]]
      • [[Extrinsic Motives]]
      • Abilities, or [[Perceived abilities]]
    1. The Hierarchy of AnalyticsAmong the many advocates who pointed out the discrepancy between the grinding aspect of data science and the rosier depictions that media sometimes portrayed, I especially enjoyed Monica Rogati’s call out, in which she warned against companies who are eager to adopt AI:Think of Artificial Intelligence as the top of a pyramid of needs. Yes, self-actualization (AI) is great, but you first need food, water, and shelter (data literacy, collection, and infrastructure).This framework puts things into perspective.

      [[the hierarchy of analytics]]

    1. "Disabled person" vs. "person with a disability" Example: "He is a disabled person" vs. "He is a person with a disability." Impact: This is one of the most debated areas of disability language, particularly between North Americans and Europeans. "Disabled person" is sometimes seen as putting the disability first, and describing the person according to it. However, proponents point out that "disabled" is a description of society and its treatment of disability; in other words, one is "disabled" by society's problems with access, inclusion, and so forth. This is often related to the social model of disability, emphasizing the experience of disability rather than the condition itself. This idea is most prevalent in Europe, especially in the United Kingdom. In North America, "person with a disability" prevails because of person-first language, which tries to put the person at the forefront above everything else; in other words, the person is not defined by his/her disability. It has a smaller emphasis on society's role in the experience of having a disability.

      This reminds me of the tedx talk Why everything you know about autism is wrong by [[Jac den Houting]] and the differences between the [[medical model of disability]] and the [[social model of disability]]

      but the idea with the [[social model of disability]] - is that the person is being disabled by the environment,

    2. Examples: "John suffers from cerebral palsy." "John is inflicted with cerebral palsy." "John is physically challenged." Impact: These terms immediately suggest that the person with the condition has a poor quality of life. While having a disability may have an impact on one's well-being, many people have still managed to live productive and fulfilling lives. Some have even turned their situations into a positive, such as Rick Hansen, Christopher Reeve, Temple Grandin, and more. With this in mind, it makes little sense to automatically generalize all people with disabilities as "suffering." Instead, saying something simple like "John has cerebral palsy" or "John uses a wheelchair" would be a drastic improvement. It treats the person's condition as-is, without any judgment or assumptions about quality of life.

      the language that we use to describe disabilities can influence both how others see people with disabilities, but also impact how people view themselves.

    1. These kind of heuristics “provide guidance by creating if/then scenarios in a vivid, memorable way” and function “as a conceptual beacon.” These kinds of clearly articulated catch phrases make it easier to make decisions in support of specific team goals, such as “You can’t prevent mistakes but you can solve problems graciously” or “If someone is rude make a charitable assumption.”

      [[[conceptual beacon]]

    2. Finally, the section on “Establish Purpose” is really fun to read — as he goes to lengths to repeat, a lot of the slogans and catch phrases seem hokey or corny or obvious but the fact is that teams who create compelling, clear goals and articulate them like that are described as “high purpose environments” because they know what they are doing as a team. These catchphrases establish a link between a goal or behavior and “consistently create engagement around it.”He also talks about how positive feedback can create a “virtuous spiral” of success (and no need to mention how the opposite happens as well!).

      [[Creating the Culture Code/Establish Purpose]] and building the [[virtuous spiral]]

    3. To create safety, Coyle offers a few tips, including:Over-communicate Your Listening (and avoid interruptions)Spotlight your Fallibility Early On — Especially if you are a leaderEmbrace the MessengerPreview Future Connection — connecting the dots between where we are now and where we plan to beOverdo Thank-Yous — that includes “thanks for letting me coach you” — as a way of affirming the relationship and “igniting cooperative behavior.”Be Painstaking in the Hiring ProcessEliminate Bad ApplesCreate Safe, Collision-Rich SpacesMake Sure Everyone Has a VoicePick up the trash — make sure leaders are helping with tasks that are “menial” — rolling up their sleeves goes a long way to creating that safetyCapitalize on Threshold MomentsAvoid Giving Sandwich Feedback — handle negative and positive feedback as two different processesEmbrace Fun — “it’s the most fundamental sign of safety and connection.”

      [[Creating the Culture Code/Build Safety]]

    4. Coyle also addresses a popular conception that highly successful cultures are happy places: “They are energized and engaged, but at their core their members are oriented less around achieving happiness than around solving hard problems together.”This goes back to “this is a safe place (to give effort” — creating connection, giving feedback, and communicating the big picture are important. But with the negative (say, giving feedback on poor performance) there is reward (belonging).

      While happiness can be important, it's more of a "[[is this a safe place to give effort]]"

    5. In building safety, there are some real physical patterns of interaction that help create a bond in a group, these include:Close physical proximityProfuse amounts of eye contactPhysical touch (handshakes, fist bumps, hugs)Lots of short, energetic exchanges (no long speeches)High levels of mixingFew interruptionsLots of questionsIntensive, active listeningHumor, laughterSmall, attentive courtesies

      [[Creating the Culture Code/Build Safety]]

    1. Desired behaviours create almost flock-like coordination, and are nurtured through continuous communication of mottoes and catchphrases, as seen in organisations like New Zealand All-Blacks rugby team (Pressure is a Privilege, and It’s an honour, not a job) and KIPP schools (Prove the doubters wrong, and Be the constant, not the variable).

      as we start to [[establish purpose]] - the group can have have [[flock-like coordination]] - what are the [[social signals that we broadcast]], and how do others respond?

    2. Share vulnerability“Exchanges of vulnerability, which we naturally tend to avoid, are the pathways through which trusting cooperation is built,” Daniel explains. Cooperation is a group muscle that is strengthened through risk taking and being vulnerable together.

      [[Share vulnerability]] - I like the phrasing of [[Cooperation is a group muscle]]

    1. Denise Young Smith, Apple's new vice president of diversity and inclusion, doesn't believe being a minority or a woman are the only criteria for diversity, Quartz reports."There can be 12 white, blue-eyed, blonde men in a room and they're going to be diverse too because they're going to bring a different life experience and life perspective to the conversation," Young Smith said on-stage at the recent One Young World Summit, held in Bogotá, Colombia.

      [[diversity of white people]] is [[not diversity]]

    1. Continue the DiscussionIt takes time to learn. Even more time to unlearn harmful behaviors or beliefs. It takes practice and intentional effort to sustain behavior change. In order for the learning to stick, the dialogue must continue. Schedule recurring small discussion groups after the initial workshop to unpack, digest, and reinforce the learning. Consider providing additional training that builds on the knowledge they just gained. We typically recommend addressing microaggressions, debiasing feedback and performance review, inclusive goal setting, or practicing thoughtful allyship as potential follow-up training topics for different groups.

      [[9 Unconscious Bias Training Best Practices]] [[Continue the Dicussion]]

    2. Agree on Next Steps and Commit to ActionDon’t just leave the workshop with some vague promise of increasing diversity and inclusion. What are people actually committing to do with the knowledge they just gained? Dedicate time to brainstorm action items as individuals, teams, or as a whole company. Make sure to take notes and follow-up with the group afterwards with reminders or progress updates.

      [[9 Unconscious Bias Training Best Practices]] [[Agree on Next Steps and Commit to Action]]

      How do we avoid having the training be a [[check the box and done]] type of situation, how do we hold each-other accountable?

    3. To reduce resentment, work with the exec sponsor(s) to craft the right message prior to the workshop, so people understand the importance of the session and can respect the learning space.

      messaging is important, the wrong mindset going in can create the environment for the nay sayers to plant in and stay firm

    4. Hold detractors accountable — this is where having skilled facilitators will play a critical role. Prioritize those who want to learn, while quickly understanding what the detractors need to stay focused and engaged.

      [[skilled [[facilitators]]]] play a key role in being able to [[manage nay-sayers]] and the [[bad faith actors]] that are trying to control the room and slow things down.

    5. Manage Nay-SayersDepending on the company culture and how the workshop was messaged prior, you may have some nay-sayers in the room. Be prepared for determined haters who may try to derail the conversation. Understand that if you don’t manage them effectively, not only could it impact the learning experience of others, but it can also further harm people who may already be marginalized in the workplace (e.g., do you know how to respond to questions like “isn’t that reverse racism?”).

      [[9 Unconscious Bias Training Best Practices]] [[Manage the Nay-Sayers]]

    6. Discuss tactical strategies people can employ right away to overcome them. What are some actionable steps for individuals, teams, and companies can take to overcome and minimize the negative effects of unconscious biases? What are some potential immediate, short-term, and long-term goals we can have to make progress? There’s data and research out there you can base your recommendations on.

      [[Provide Practical, Actionable Strategies]]

      People are going to make mistakes, learning how to rebound and recover and do better is important.

    7. 6. Provide Practical, Actionable StrategiesDon’t just talk about what unconscious bias is and where it comes from. Being mindful about our own biases is a great first step, but it’s not enough to create lasting, sustainable organizational change.

      [[9 Unconscious Bias Training Best Practices]] [[Provide Practical, Actionable Strategies]]

    8. 5. Incorporate Interactive Activities and MovementNo one likes to just sit and listen to someone blab for two hours. You don’t need to do “trust falls” (watch the video, it’s hilarious) to make things interesting. Get creative! Incorporate activities that encourage physical movement (but make it accessible to all bodies) and group work. At Awaken, we love activities that incorporate role playing, fish-bowl theaters, post-its, flip charts, group work, and trust falls (just kidding).Learning should be experiential, not didactic.

      [[9 Unconscious Bias Training Best Practices]] [[Incorporate Interactive Activities and Movement]]

    9. 4. Lecture Less, Discuss MoreFrom experience, we know real learning happens when people share their stories, ask questions they have been too afraid to ask, or successfully navigate the inevitable tension arising from differing perspectives.Because we often work with data-driven teams (tech companies, engineers, financial services, etc.) we include compelling data from credible sources in all of our workshops, but we make it a point to quickly pivot once the necessary credibility has been established to do the actual hard work (“heart work”). After all, research has shown data isn’t all that effective at changing people’s hearts and mind!It is imperative to provide ample time to allow for these types of dialogues to happen. Lecture less. Minimize slides. Ask thought-provoking questions and guide the group through tough conversations. Provide time for self-reflection and group shares. Encourage vulnerability and make learning personal. Create the container in which personal growth can happen through discomfort.

      [[9 Unconscious Bias Training Best Practices]] [[Lecture Less, Discuss More]] - we need to [[Encourage vulnerability]] and make learning personal, and create an environment that allows people to [[grow through discomfort]], instead of feeling discomfort and shutting down.

    10. 3. Set Ground RulesAt Awaken, we always begin our workshops by setting some ground rules. We like to call them “Community Agreements.” These are a set of collective agreements we make to each other in order to make the learning environment feel safe(r), compassionate, and effective for everyone. In a way, we are modeling how we want the culture of the room to be.Simple reminders about confidentiality, being present, or assuming positive intent can go a long way in designing a compassionate space for conversations that could potentially feel uncomfortable or risky.

      [[9 Unconscious Bias Training Best Practices]] [[Set Ground Rules]]

    11. Great facilitators know how to manage a room filled with people with varying degrees of awareness, desire, and knowledge and can create a safe(r) learning environment to encourage learning that is relevant for everyone.

      [[Great facilitators know how to manage a room]] - how do we bring facilitation to the remote world?

    12. 1. Secure Experienced FacilitatorsHaving skilled facilitators is the most important when it comes to conducting any type of D&I workshops. Look for people who are knowledgeable about a broad spectrum of D&I topics and can navigate challenging questions swiftly while demonstrating both compassion and criticality.

      [[9 Unconscious Bias Training Best Practices]] [[Secure Experienced Facilitators]]

      These can be sensitive topics, and if handled poorly can set your efforts back. People that are proven, and can navigate sensitive topics smoothly are cruical.

    13. Think of well-executed Unconscious Bias Training as the gateway to additional D&I programming and education journey

      [[unconscious bias training]] is the first step in a longer term [[education journey]], and it should be built upon and reinforced - and also start to make it's way into how a company runs, managed, etc

    14. Unconscious Bias still seems to be the hottest topic right now and the most likely topic to get you started on your organization’s Diversity & Inclusion journey. Its universal and approachable nature (vs. talking about racism or privilege in plain terms, for example) might just be the key to opening many other doors to advance inclusion in the workplace.

      approaching it as [[unconscious bias]] training may get the ball rolling, we need to do more than that.

    15. Silver Bullet BandaidToo many organizations think conducting a one-time Unconscious Bias training will solve all of their diversity and inclusion issues. While it may give some people the satisfaction of having “checked the box,” there is just no silver bullet for creating lasting behavior and culture change.

      [[6 Common Reasons Why Unconscious Bias Training Can Backfire]] [[Silver Bullet Bandaid]]

      I remember when a place I worked did a D&I training - once, and no one could remember when, or who went to it, or if we could do it again.

      It is not a silver bullet, it is not a one and done thing - and it needs to be a continued effort.

    16. Boring As F*** LecturesThere’s no cure for boring lectures besides JUST NOT DOING BORING LECTURES. In the age of endless giphys and memes that make us feel whole again, why the hell would people pay attention to stuff that makes them depressed AND bored because someone is reading off text-heavy PowerPoint presentation written in Times New Roman and using way too many animated transitions!? Why?? Say no to boring lectures. We can do better.

      [[6 Common Reasons Why Unconscious Bias Training Can Backfire]] [[Boring as Fuck Lectures]]

      Modern training and education needs an overhaul in general

    17. Lack of Practical, Actionable StrategiesAwareness alone is not enough to create culture change. Workshops that focus solely on concepts and theories may be intellectually stimulating but without actionable recommendations, people will go back to their old habits of relying on their unconscious biases to make important decisions.

      [[6 Common Reasons Why Unconscious Bias Training Can Backfire]] - [[Lack of Practical, Actionable Strategies]]

      Courses are failing at giving ways for people to take action on what they have learned, and to be held accountable for it - and to demonstrate continued change and effort. It can be easy to lave the session feeling good, but then doing nothing

    18. 3. Detached from Social Justice IssuesThis is the most frustrating part about crappy Unconscious Bias Trainings. Too often, Unconscious Bias (and many other Diversity & Inclusion topics) is treated as some scientific / academic concept that becomes an “interesting thought exercise” that is detached from all the oppressions (e.g., racism, sexism, transphobia, homophobia, Islamophobia, etc.) we experience in our society. In order to create real change, we need to understand Unconscious Bias as a fundamental social justice issue that gives birth to all kinds of -isms in our society, not some standalone concept that is nice-to-know.

      [[6 Common Reasons Why Unconscious Bias Training Can Backfire]] [[Detached from Social Justice Issues]]

      White people are the worst at this, and viewing the lived experiences of people as some sort of [[interesting thought experiment]] - this is not the time for some [[academic theory]], but to bring in reality - [[Kim Crayton]] talks about this quite a bit, and is part of why she no longer recommends [[White Fragility]]

    19. 2. Normalizing BiasMany workshops fail to educate people on the harmful effects of unconscious biases. This leads to normalization of unconscious biases (“well, I guess we all have biases!”) without provoking any meaningful change in people’s behaviors.

      [[6 Common Reasons Why Unconscious Bias Training Can Backfire]] [[Normalizing Bias]]

      Instead of just accepting that we have a bias, we need to start training ourselves to recognize the situations of which that bias may have a negative impact, thinking back to thinking fast/slow

    20. 1. The Nay-Sayer ProblemWhen Unconscious Bias Training is made compulsory without proper messaging or executive sponsorship, some people might feel forced to attend and become resentful. These detractors may end up clouding the entire training with their resentful attitude and push-backs.Think people with their arms crossed, leaning back, rolling their eyes, asking combative “devil’s advocate” questions from the back of the room. #ugh. This attitude can make learning difficult for everyone, and the negativity can spill onto others in and outside of the training session. Remember, cynicism is contagious.

      [[6 Common Reasons Why Unconscious Bias Training Can Backfire]]

      We also need to watch out for [[bad faith actors]] and learn to spot them, and ignore or remove them - https://twitter.com/e_p82/status/1284467273173028864

      [[cynicism is contagious]]

    1. And if your company’s in-house team is not equipped to do this, hire experienced people — but do your homework in vetting the right people (like my team via Awaken, but really, there are many others), and try to hire folks from marginalized communities (black, brown, queer, women, trans) and those whose teachings are grounded in social justice.

      [[storytime]] when I tried to get an external group in when realizing we didn't have what we needed in house. When the suggestion was to crowdsource the labour onto employees and [[marginalized folk]] .... I facepalmed, hard

    2. People are learning about inclusion WITHOUT the exposure to exclusion.

      there is also an aspect of people not understanding that [[inclusion is the lived experience]] of the person - I can't tell someone that they are included, if they do not feel included.

    3. What’s truly sad (but not shocking) about this whole situation is that this person, James Damore, a Havard educated, seemingly well-intentioned fella, had steadfast beliefs based on his complete misunderstanding of how “sexism” or “discrimination” actually work.And that’s the problem with the way we talk about diversity and inclusion in the business world.People are learning about unconscious bias WITHOUT the foundational knowledge of the cycle of socialization.People are learning about microaggressions WITHOUT the context of power dynamics.People are learning about “diversity programs” WITHOUT true understanding of concepts such as privilege or allyship.

      While there are some people with good intents in the [[DEI]] space - it's starting to become apparent that there are some [[foundational concepts]] that we are missing, such as understanding how [[cycle of socialization]] impacts [[unconscious bias]]

      or not understanding the role of [[power dynamics]] and [[microaggression]]

    1. Don’t educate at the expense of marginalized people in the room — never tokenize individuals or force personal story sharing → Think critically about each group exercise / activity to ensure intimacy and vulnerability are created consensually

      [[Tips for Discussing the “Basics”]] [[Don’t educate at the expense of marginalized people in the room]]

      This is an important one, and I've heard horror stories, especially once the [[George Floyd]] protests started - how companies had their Black employees share their personal stories of trauma.

      I've also seen this at work before, where a queer individual also has to play advocate and educator on-top of wanting to just do their job.

    2. Provide real-life scenarios and practical examples to make them come to life → Prepare relevant examples in advance and solicit input from audience

      [[Tips for Discussing the “Basics”]] [[Provide real-life scenarios and practical examples]]

      I think that [[Crescendo Moments]] does a good job with this, although it can be hard to tell how many people are engaging with it. I often feel like the only one sharing in the channel

    3. Ensure the integrity of the concepts are not lost while allowing differing perspectives → Secure skilled facilitators who can put guard rails on discussions that can easily go rogue (and cause more harm than good)

      [[Tips for Discussing the “Basics”]] [[ensure the integrity of the concepts are not lost]]]

    4. Make learning personal and discussion-based, rather than didactic lecture-based → Structure time for introspection and pair-sharing

      [[Tips for Discussing the “Basics”]] [[make learning personal]]

    5. Create a compassionate space in which people can engage without judgment, shame, or fear → Try setting a set of ground rules prior to discussing

      [[Tips for Discussing the “Basics”]] [[create a compassionate space]]

    6. Fundamental Concepts for Understanding Diversity, Inclusion, and Equity.Identity —what is social identity? How does our identity shape the way we experience the world? Why is it important to recognize all of our identities? What does it mean to bring our whole-selves to work? Why do we need to talk about race? Why can’t we just be one human race?Privilege — what is privilege and why does it make us feel defensive when we hear the word? Why do we have to talk about privilege? Is privilege bad? Should I feel guilty if I have privileges? How do we move forward from defensiveness to allyship using privilege?Power — how does power operate in our society and at work? Who has power? What power dynamics are at play along the identity lines? How do we shift power? What does it take to redistribute power equitably?Discrimination — what does discrimination mean, really? Can something be called “reverse discrimination?” Why or why not? How are power and privilege related to discrimination?Cycle of socialization — how do we learn stereotypes? Where do our unconscious biases actually come from? How do we break the cycle of socialization?Intersectionality — what is intersectionality? What do people mean by “white feminism?” Why is intersectionality important? How do all of our different identities intersect? How do we make sure our efforts are intersectional?Allyship / accomplices — what does it mean to be an “ally?” Who gets to decide who is or is not an ally? Why do we fear being an ally? What happens when an “ally” makes a mistake? WTF is an ally cookie?Systemic oppression vs. personal experience — how do we differentiate between personal experiences / exceptionalism from systemic and institutionalized oppression? What do we say when someone in the dominant group (e.g., White, cis-men, Christian, heterosexual, etc.) says something like: “I’m a white person but I struggled a lot in my life. I don’t understand what you mean by ‘white privilege’ because I feel like I didn’t have any special privileges.”Microggressions — what are microaggressions and how are they different from someone just being a jerk or passive aggressive? How do I know when I’m microaggressing? What if I didn’t mean it that way?Nonviolent communications — how do we move forward as a team when someone makes a mistake? How do we engage in uncomfortable conversations in a way that doesn’t erode our relationships? How do we acknowledge when harm is caused and take responsibility for our actions? How do we express our hurt without completely expending ourselves or being tokenized?

      [[Fundamental Concepts for Understanding Diversity, Inclusion, and Equity.]]

    7. Why? Because well, these “basics” can make people feel uncomfortable. These are not safe topics, like “unconscious bias,” or “diversity of thought.” But how do we change without a little bit of discomfort? We can no longer afford diluted, surface-level workshops that just “check the box” — it’s just not working.

      we need to learn to [[get comfortable with being uncomfortable]]

    8. I find it very difficult to engage in any conversations around “D&I” unless there’s some type of baseline, a basic level of agreement and understanding around key, fundamental concepts. But these basic, yet critical, concepts rarely get unpacked or even brought up in most of today’s corporate D&I trainings.

      Getting to a shared vocabulary and understanding is important, and have noticed how [[Kim Crayton]] will go over definitions - so that the audience knows for the rest fo the talk, she is speaking to that meaning

    9. I’ve written about how companies should respond to #MeToo and other political issues that can no longer tolerate their silence.

      while silence is an option, lack of speaking up can be telling in where your values are

    10. On multiple sales calls, I’ve heard *heads of Diversity & Inclusion* say to me, “we’ve been trying to recruit more women and people of color, but it’s been really difficult. We just don’t want to lower the bar!”

      "we just don't want to lower the bar!" ... sigh --- it's not about lowering the bar.

    11. There’s a dangerous trend happening in the world of “progressives” and Diversity & Inclusion. People are learning what to say and what not to say, without understanding the actual meaning behind their words. People are memorizing formulas, rather than learning how to analyze, adapt, and respond critically.

      I've noticed this as well, and at times can tell whens someone has been "coached" on how to hit the right talking points, but fail to be able to follow through.

    1. “Diversity of Thought” should be achieved as a result of diverse representation. Our thoughts and perspectives aren’t developed in a vacuum. The way we think, problem-solve, communicate, lead, see the world… is largely shaped by our lived experiences, often rooted in our identities. The way we achieve real “diversity of thought” and reduce blindspots in organizations is by ensuring people from all walks of life are given seats and actual power at the table (inclusion and equity).

      saw it again louder for those in the back - [[[[Diversity of Thought]] should be achieved as a result of [[diverse representation]]]]

    2. The author, Chief Talent Scientist at the Manpower Group (I mean, come on), argues “if your goal is to have people who behave and think in different ways, you should focus less on their gender, nationality, and ethnicity, and more on how they behave and think.” In another article, he argues the best way to manage unconscious bias in the workplace is to manage your reputation and make others believe you are not biased, while trivializing and misrepresenting the impacts of unconscious bias by casually stating “prejudiced and stereotypical biases, we should remember that they are mostly explicit rather than implicit, and conscious rather than unconscious.”

      this sounds a lot like [[manipulative abuse]] and [[gaslighting]] to me

    3. His argument feels vaguely familiar to the one we encountered via James Damore’s Google Manifesto. Such shallow understanding of why diverse and equitable representation matters disregards the importance of undoing centuries of systemic oppression and disparities experienced by various identity groups, while achieving nothing but making cis, straight, white men in positions of power to feel at ease while looking around the room at similar faces.

      I forgot about the [[James Damore]] manifesto

      [[diversity of thought]] allows [[white cishet men]] feel like they are actually doing the work to tackle the [[systematic oppression]] in their companies or industries, but not actually doing the real work - it's a self congratulatory pat on the back

    4. arguing against demographic diversity. In the article, he conveniently co-opts the diversity movement for “personality” diversity, which he calls “deep” diversity vs. demographic diversity that prioritizes gender and race as “surface” diversity.

      The Case For Boosting Cognitive Diversity In Organizations - [[Tomas Chamorro-Premuzic]] -- trying to position "[[personal diversity]] as being deep", while other types as shallow - greatly discredits and invalidates the lived experiences of marginalized and underrepresented groups

    5. A quick clarification — it’s important to note I’m differentiating “Diversity of Thought” from neurodiversity, which aims to make room for neurological differences (Dyslexia, Attention Deficit Hyperactivity Disorder, Autistic Spectrum, Tourette Syndrome, and others) and advocates for access to various communities often marginalized.

      It's good to call out the distinction from [[neurodiversity]] from [[cognitive diversity]] and [[diversity of thought]]

      When thinking of [[neurodiversity]] - there is also the intersectionality of being Black, a Person of Color, etc and being neurodiverse.

    6. In the last 2–3 years, I’ve observed the phrase “Diversity of Thought” gain momentum among many tech leaders and beyond. Proponents of this approach argues the way we think and express our opinions, our eclectic personalities, the myriad of leadership styles and Myer-Briggs results, are just as, if not more, important than demographic diversity that focuses on one’s gender, race/ethnicity, sexual orientation, religion, disability, etc.

      while the idea of [[diversity of thought]] may have started off a little more innocent (or not...), it's changed over the years to uphold the status quo, while distracting from [[DEI]] efforts that are aimed at improving representation, and lived experience

    7. “Diversity of Thought” without Diverse Representation is Status Quo

      [[diversity of thought]] needs [[diverse representation]] - diversity of thought should be an outcome, by not the goal.

    1. How does an organization prioritize culture enhancement over culture fit? It is a mindset shift. When evaluating talent either to join or advance within your organization, ask yourselves the following: Does this candidate/current employee offer a way of thinking that uncovers a deficit within our current culture? Does this candidate/current employee possess a skillset that we need, but do not have currently? Is this candidate/current employee a change catalyst? What differences does this candidate/current employee have that we can celebrate? How does this candidate/current employee challenge us to be better individually and collectively? How will we give this candidate/current employee the space to bring his/her whole self to the role and the organization? If we would not have considered this candidate/current employee in the past, what is prompting us to do it now? Do we have the diversity that we need at all levels to empower change? If not, then how do we ensure that we do? Introspection. Commitment. Change Enablement. Empowerment. Hard Work. These are the steps to take us from the outdated reality of culture fit to the essential standard of culture enhancement.

      [[question]] how do we move from [[culture fit]] to [[culture add]]

    2. It is a new day and hiring solely for “culture fit” is just simply no longer good enough. For companies to advance and empower change, culture enhancement must be integrated into an organization’s strategic people plan, and that people plan must align with and empower the overall business strategy.

      [[[[culture fit]] is not good enough]]

    3. Culture Fit or Culture Enhancer?

      [[culture fit]] vs [[culture enhancer]] vs [[culture add]]

    4. There is no space to employ Whole Brain Thinking. An organization that operates in the Chamber of Reverb will never achieve its full potential. Ironically, by prioritizing culture fit, an organization actively opts out of leveraging its complete continuum of thinking. Failing to adopt a Whole Brain Thinking model that acknowledges and holds space to apply the four thinking styles – Instinctive, Intellectual, Intuitive and Rational – stifles employees’ creativity and ultimately hinders the organization’s ability to innovate, complete, and evolve.

      [[There is no space to employ [[Whole Brain Thinking]]]]

    5. Frequently, the absence of conflict in an organization is directly correlated to its lack of diversity, including diversity of thought. Abraham Maslow contended that “you will either step forward into growth, or you will step backward into safety.” The world is changing; safety is synonymous with extinction.

      [[Meaningful conflict is vital for growth]] -- if there is a lack of conflict int he organization, or a lack of healthy conflict - it could be due to a lack of diversity, or people falling into group think and an echochamber

    6. So, why is conflict routinely viewed as negative?

      [[[[Meaningful conflict is vital for growth]]

    7. Meaningful conflict is vital for growth.

      [[Meaningful conflict is vital for growth]] - although we seem to live in a culture where people tend to avoid conflict as much as possible.

      When falling victim to our tendencies of trying to [[avoid conflict]] - it can place us into the [[ruinous empathy]] or [[insincere manipulation]] territory

    8. Agreement and “like” are not the same. Just because a person agrees with you does not mean they like you, and conversely, a person who disagrees with you does not necessarily dislike you. Agreement often hinders growth because it promotes comfortability and reinforces the status quo. Comfortability and status quo are the main drivers of the Chamber of Reverb. Organizations, and the individuals within them, must embrace being uncomfortable for true consensus building and innovation to emerge. Change occurs from discomfort and innovation is born out of disruption.

      [[Agreement and “like” are not the same]] - this is an excellent point. I think this can also fall into the same trap of "if you don't have something nice to say, don't say anything at all" - the focus on being "nice" all the time, can be used as a tool to further oppress or silence individuals with differing views, expirerencs, etc

    9. The guise of culture fit has given many organizations acceptable ways to circumvent diversity, whether deliberately or inadvertently. We all want to work with people we like, those with whom we are comfortable and have minimal conflict. That is human nature and there is nothing wrong with that – or is there? The problems surface when everyone looks, acts, thinks, approaches challenges, etc. in the same manner

      when looking for a [[culture fit]] - it can actually work against your efforts to improve [[diversity]]

    10. Identifying and acknowledging inequities can be a difficult because it requires a look inward at how our biases drive our decisions, challenging our foundational belief systems and forcing us to unlearn so much of what we have been taught.

      [[culture fit]] makes it easy to find people that "are like us", but by doing this - it is prone to our own biases, and to challenge those biases can often require some inward reflection that is not always the most comfortable to do. We need to learn to be ok with being uncomfortable.

    11. These types of engagement styles, some fluid and some inflexible, shape and contribute to an organization’s cultural identity by establishing its norms. However, if not cultivated with intentionality, these cultural norms often produce what I refer to as the Chamber of Reverb. At first glance, it appears amazing. Relationships are seamless. Work flows effortlessly. Every person echoes every other person in the organization in every way. Although it may appear to be harmonious, it is a discordant environment built on shaky ground.

      [[culture fit]] and the [[chamber of reverb]] -- never heard the term chamber of reverb before, but I like it.

    12. What is Culture Fit? At its most fundamental premise, culture fit is a concept defined as having an employee’s beliefs and behaviors align with the core values and company philosophy of his or her employer. But culture fit is so much bigger than the definition it is often given.

      at a surface level, [[culture fit]] may not seem like a bad thing - as it's about getting into alignment with a company and core values, however it doesn't cover enough

    13. Why Hiring for Culture Fit No Longer Fits

      [[culture fit]] falls short, and can end up with a group of people just like you, looking for a [[culture add]] and what people can bring is better.

    1. 4 Steps to Getting Started with Cognitive Diversity Don’t expect that bringing together a bunch of people with widely different backgrounds and experiences will be the miracle cure for all your business problems. Go beyond the surface to get the benefits of diversity of thought: Define cognitive diversity within your organization and measure it Provide the tools to make it practical and tangible Develop leaders who encourage cognitive diversity, facilitate it, and manage it Apply your awareness. of your team's cognitive diversity to think differently about stubborn challenges and tough problems

      [[Cognitive Diversity]]

    2. When we talk about cognitive diversity, we’re talking about this diversity of thinking preferences. Each of the four preferences—analytical, organized, interpersonal and strategic—contribute value to the business. You can’t run an organization and remain successful over the long term without all of this thinking in play and, often, in very specific ways. From our database of more than two million thinkers, we can even identify patterns of thinking that are common in particular occupations.

      [[cognitive diversity]] vs [[diversity of thought]]

    1. Diversity of thought should be an outcome of successful diversity and inclusion policies, not the target itself. If we really want to advance diversity and inclusion, then we can’t just talk the talk. Our target should be in hiring diverse candidates, ensuring representation from marginalized people. This will help create new innovations and understand global markets.Misunderstanding diversity of thought and neglecting actual diversity in itself can be dangerous. Let’s not forget where the real focus should be on: diversity of people.

      [[Diversity of thought should be an outcome of successful diversity and inclusion policies, not the target itself]]

    2. Your company needs to represent your customers. Did you know that manufacturers used to test the safety of seatbelts and airbags mainly on test dummies that were the size of “an average male”? It’s one of the leading causes as to why women suffered more injuries or fatalities in car crashes. In fact, women drivers were 47 % more likely to be injured in a car crash. You will not be able to understand new markets if you don’t have representation from that market, giving you access to new perspectives and insight.

      [[Your company needs to represent your customers]]

    3. By focusing on diversity of thought we downplay historical facts and social biases that have been, and still remain to be, oppressive towards marginalized people. It wasn’t until 1980 that the world democratically elected the first female president. Sexual minorities, people of colour, women, religious minorities, people with disabilities and other marginalized people have throughout history faced oppression and discrimination. In other words, emphasizing merely diversity of thought might just be a reflection of the existing power structures within a society.

      [[By focusing on diversity of thought we downplay historical facts and social biases that have been, and still remain to be, oppressive towards marginalized people]]

    4. By focusing on diversity of thought you might lose focus on the real reasons why we need D&I initiatives in the first place. Research has proven that foreign sounding names have a much lesser chance of being called back to job interviews. Almost up to 90% of people with disabilities are left outside of working life in developing countries whereas in industrialized countries the figure is between 50% and 70%. We need diversity and inclusion in order to ensure equity and to break down the barriers of privilege that we often turn a blind eye to.

      [[By focusing on diversity of thought you might lose focus on the real reasons why we need D&I initiatives in the first place]]

    5. Without diverse representation and visible diversity, you risk inclusion. Employees who don’t see their identities reflected feel a lower sense of belonging. A room full of diversity of thought won’t make someone from an underrepresented population feel that they belong or are included. Representation, meaning to have representatives from different marginalized people, creates a stronger sense of belonging.

      [[Without diverse representation and visible diversity, you risk inclusion]]

    1. A room full of diversity of thought won’t make someone from an underrepresented population feel that they belong—but there are many efforts that can help increase belonging.

      a room full of white people, even if a very diverse group of white people - is not a diverse group.

    2. Foster Belonging Through Diversity Employees who don’t see their identities reflected in their workplace feel a lower sense of belonging, and that can lead to higher churn and lower productivity. C

      if focused on [[diversity of thought]] - it does not do much to improve [[representation in the workplace]], which can impact an employees experience and feeling of [[inclusion]]

    3. There are many systems of oppression that have formed today’s society, and corporate leaders have the opportunity to work towards dismantling these systems. This can be done by creating equitable opportunities that address the different barriers that people have faced. A focus on diversity of thought can be a distraction from the work that should be done to break down systemic inequities.

      if focusing on [[diversity of thought]], it can cause companies to get distracted from the harder work that needs to be done to break down [[systemic barriers]] within their organizations and industries.

    4. Diversity of thought is one outcome of successful diversity, equity and inclusion (DEI) efforts, but should not be the target in itself. By focusing on diversity of thought, we may distract ourselves from the real reasons we need to be focusing on DEI initiatives, and the internal culture shifts required to move the needle in a sustainable way. Working towards diverse representation—as opposed to diversity of thought—in our companies is important for a few core reasons.

      [[diversity of thought]] is an outcome of effective DEI efforts - but is not a target in itself.

      If we focus on diversity of thought as a target, it can give a false sense of "we are doing something right", while not doing anything to create really inclusive environments, or help with vulnerable groups

    5. As the topic of hiring a diverse workforce continues to make its way into more corporate discussions and conference agendas, the concept of “diversity of thought” keeps getting conflated with this work. Diversity of thought is the idea that people in a group don’t need to look different or identify with an underrepresented group in order to bring varying, diverse viewpoints to the table. While this is technically true, it is a risky concept to find comfort in.

      [[diversity of thought]]

      via - [[Kim Crayton]] - "I'd be careful with the "diversity of thought" concept because it is often used to create another false and harmful binary that all speech is equal

      This is why is it important to ALWAYS attempt to identify and prioritize the most vulnerable"


    1. CodeScene’s quality gate triggers in a GitHub check on code health decline.

      [[code health]] [[quality gate]]

    2. When analysing code, I always emphasize trends over absolute values; is it getting better or worse? As a technical leader, I never want our code to get worse no matter what level we start at. Trend measures also make up good targets and goals. Refactoring or re-designing a complex hotspot is a long-term process. An improving code health trend provides important feedback to the organization and serve as motivation to the people actually doing the work. Behavioral code analysis is all about visualizing the evolution of a system, not just a static snapshot at a point in time.

      [[tends are actionable]]

    3. This means that anything you can do to provide an early detection mechanism is valuable. That way, your organization can do pro-active refactorings while they are still affordable and avoid future maintenance headaches.

      [[pro-active refactoring]] vs [[reactive refactoring]] - if we are waiting for the number of crits / sev 1 / etc to come up to say this area of the code base needs some attention, then it may already be too late - --- how can we fit in more proactive refactoring, and explain the value in a [[business context]]

    4. Second, once a hotspot has declined in code health it tends to stay that way; the cost to restore its health will always compete with more pressing immediate concerns,

      being able to detect trends early, and correct them soon is important - as if the [[code health]] declines too far, it tends to stay that way as other issues get prioritized.

    5. Trends are actionable

      with [[code quality]] / [[code health]] --- it's the [[trends that are actionable]]

    6. Before we dig deeper, let me explain the reasoning behind the Code Health vocabulary. We wanted to avoid overly general terms like “quality” or “maintainability” since they are contextual, poorly defined, and suggest an absolute truth. Instead, I found that it’s the trend that’s important: Is the code evolving in the desired direction? Are our development hotspots getting better or worse? Code Health aligns nicely with this reasoning and introduces a positive vocabulary. Let’s get specific by looking at an example from Facebook’s React codebase:

      [[code health]] and [[code quality]] is not an absolute truth - it is a trend, and is it moving in the right direction.

    7. The factors are chosen based on research, and known to correlate with increased maintenance costs and the risk for defects (some common examples include detecting Brain Methods, DRY violations, Developer Congestion, Knowledge Distribution, etc.). CodeScene then weights and scores the findings according to an extensive set of baseline data from real-world codebases to come up with the normalized code health metric.
      • [[Brain Methods]]
      • [[DRY violations]]
      • [[Developer Congestion]]
      • [[Knowledge Distribution]]
    8. CodeScene was developed to address these challenges by automatically prioritizing technical debt based on development hotspots. Using hotspots, you can detect an overlap between complex code that developers also have to work on often. That’s code where paying down debt has a real impact. The Code Health metric was designed to complement hotspots by providing that assessment in an automated and reliable way. That combination also limits false positives to what’s actionable.

      can use [[hotspots]] to help [[prioritize [[technical debt]]]]

    9. Measure the Code Health of your Codebase: a continuous feedback loop for engineering decisions based on data

      [[code health]

    1. Inspiration and Tooling All of these analyses are completely automated, repeatable, and quick. That makes it possible to monitor software development just like we would monitor any other aspects of our system such as performance, page visits, or downtime. And yes – the features described in this article are now released and available via the SaaS version at codescene.io as well as in the CodeScene on-prem version. Like most CodeScene metrics, the emphasize in delivery performance is on trends over absolute values. This aligns with what has always been my general recommendation: it’s more important that you – as an organization – move in the desired direction than meeting a specific threshold or number. Metrics are supporting and guiding information, not a replacement for expertise. Finally, some closing credits and additional reading recommendations: CodeScene’s technical and organization metrics represent the evolution of the ideas in my previous book, Software Design X-Rays. The business metrics are inspired by the great work of Dr. Forsgren, Humble, and Kim in Accelerate together with the classic lessons from The Goal by Eliyahu Goldratt. Gene Kim’s book The Phoenix Project opened my eyes to the perils of unplanned work in a software context. Finally, thanks to everyone on Project X and thanks for letting me share your data. You rock!

      [[tooling for code quality]] [[tooling]]

    2. This in turn freed time from senior developers who could now contribute to the overall developer productivity through coaching and automation. Translated to the business world, this means lower direct costs in terms of employees, and also lower indirect costs in terms of additional coordination. As a positive side effect, the organization got a motivational boost too. It’s more fun to build something new than panicking over critical bugs.

      this can free up [[senior engineers]] and [[senior developers]] to spend more time on coaching, mentoring, automating, leveling up others - and not being in [[fire fighting mode]] all the time

    3. As you see in the preceding graphs, paying down technical debt in critical hotspots translated into increased throughput and a 50% reduction in unplanned work.

      if we can reduce [[technical debt]] in the hotspots - this can translate to an increase in [[throughput]], and a [[reduction in [[unplanned work]]]]

    4. Unlock the Untapped Potential In this particular project, the most fascinating outcome was the realization that the badly needed extra capacity already existed within the organization

      [[untapped potential]] - the capacity we need may exist within the organization

    5. Just as CodeScene was able to identify alarming patterns before the changes were made so that any new tech debt could be prevented, it was also able to measure the positive effects of the changes. As the preceding graphs show, the amount of unplanned work and the variability of lead times both decreased, resulting in an increased throughput. The improvement is remarkable, and one of the most impressive turn-arounds I have seen. Software doesn’t have to rot.

      It can be a challenge to [[make the business case for refactoring]] - as engineers can have a difficult time putting it into a business context.

      We also [[can't manage what we can't measure]] - and finding ways to help measure and visualize this will be important.

    6. The organization also had to ensure that the refactored hotspots stayed healthy; we don’t want carefully refactored code to slip back. For that purpose, the organization enabled soft quality gates integrated into existing developer workflows. Finally, more specific improvements were done in re-shaping engineering and collaborative strategies. The outcomes were measured and visualized to ensure there was a real effect:

      as we [[refactor hotspots]], need to ensure that the quality does not slide back - and can use methods like [[soft gates]] / [[soft quality gates]] to help with that

    7. Refactoring at scale is challenging and a significant investment, so communicating the progress is important both from a business perspective but also as a motivational effect to developers. In this case we used a combination of complexity trend visualizations and Code Health Metric as shown in the preceding example.

      [[refactoring at scale]]

    8. Throughput Decline: Not only do we see a shift towards more unplanned work in the graphs above; the graphs also show that the organization delivers less over time. Part of this efficiency loss was due to the constant context switches required to act on critical support issues.

      [[throughput decline]] - [[the cost of context switching]]

    9. Ad-hoc Work: The high amount of unplanned work also meant that the most experienced people were busy doing critical ad-hoc bug fixes rather than driving the product forward or supporting the new team members. This explained why it had become so hard to plan for new features.

      [[ad-hoc]] work can also break the flow / concentration of developers - and the continual split attention can have an impact on the quality, and delivery of both the fixes, and new feature work

    10. Wasteful Delivery: The additional engineering people they wanted to hire were already on-board. They were just busy reacting to unplanned work due to an increase in the defect rate. If that could be mitigated, the delivery capacity could be doubled without any additional hires!

      [[wasteful delivery]] - when considering the high cost of on-boarding and turnover, adding more people has both a big impact on the bottom line of the company, but also the ability to scale the product.

    11. By communicating the business impact, we now had management’s attention to turn to the root causes and inspect technical trends – such as Code Health Decline – as well as the team structures and architectural alignment. With all stakeholders now sharing the same view of the development work and system health, the organization could conclude that:

      once we understand the [[business context]] and the impact to the business - we can then start doing a [[root cause]], and understanding the tech trends, [[technical debt]], team structure, architecture, etc - and speak to them in terms of [[business value]]

    12. When analysing codebases, I rarely start by displaying technical metrics. They are vital for sure, but we first need to put them into a business context. The preceding graphs helped us do just that. I mean, I want longer time to market with much less predictable costs and delivery said absolutely zero managers in the history of business. Ever.

      I like the idea of not having the initial focus being on [[technical metrics]] - as understanding things in the [[business context]] is important

    13. Unplanned work steals capacity and leads to inherently unpredictable delivery that turns an organization into a reactive rather than pro-active entity. In fact, in “The Phoenix Project” – a wonderful and highly recommended book – Gene Kim describes unplanned work as the silent killer of IT organizations. Minimizing unplanned work is paramount for any IT organization.

      the [[impact of [[unplanned work]]]] is it can impact capacity, and is a cause of unpredictability in the delivery cycle.

    14. Throughput in Planned vs Unplanned Work: The graph to the left is even more interesting as it contains the initial hints at what’s actually happening. That graph measures throughput with an emphasize on unplanned work. Now, what’s unplanned work? Typically, everything related to features or improvements is planned, whereas bugs, re-work, and service interruptions are unplanned. Let’s see why unplanned work is relevant.

      [[throughput]] - [[planned work]] [[unplanned work]] - what things fall under planned and unplanned, and how are they impacting things?

    15. Lead Time for Work Items: The lead time graph shows how much time developers spend working on something before it is released. The graph caught the attention of the product management because, when translated to a business context, the increased lead times mean a longer time to market. The variability in lead times (the shaded, green area in the graph) was also a concern since it indicates low predictability during development or inappropriately scoped work items, often both.

      [[lead time]] - how long developers spend working on something before it's released. What this means to [[product management]] is that it will take longer to get to market.

      If there is [[variability in [[lead time]]]] - it can be a sign of challenges with scoping work, and and unpredictability during development.

    16. As a consequence, the organization soon noticed the familiar set of symptoms indicating deeper problems. The most visible symptom was a surge in the number of support issues. Maybe that could be resolved by hiring more testers or even expand with a first line support?

      While the business may see the bugs come in, churn, unhappy customers - and think that we may need to solve by adding more engineering people, we should be considering other options.

    17. Case Study: Turning a Crisis into Success The project had gotten off to a good start, and now the organization decided to scale-up with more developers. However, the existing collaborative strategies were adapted for a small and tight-knit team, and didn’t scale well.

      in [[rapid growth]] startups - how teams worked together at a smaller size, can have challenges as the company grows.

      [[scaling challenges]] are more than just scaling technology, but [[scaling culture]], [[scaling collaboration]], and need to think of how we approach [[collaborative strategies]]

    18. When we accumulate technical debt, experienced developers are typically aware of this. All the business side will see, however, is cards moving across a Jira board. The first signs of trouble tends to be the effects on the product roadmap. Suddenly, features take longer to implement and we tend to lose predictability too; the flow of completed work slows down. The gut response is a cry for more developers, more testers, more of everything. However, losing predictability during software development is a sure sign that more people isn’t the solution. As I pointed out in Visualize Brooks’s Law: When More People Makes a Late Software Project Later, it might actually worsen the situation. Without clear data and engineering intelligence we simply don’t know. Adding more people is a bet at best, and a dangerous one. Let’s see how to get real data instead by looking at a project facing severe issues.

      I've noticed the desire to throw more people at the problem, when often fewer people working better together is the way forward. [[too many cooks]]

    1. n short, with Dagster and dbt, you can:Explicitly model the dependencies between your dbt models and processes that use other technologies;Schedule and execute pipelines that include both dbt and other technologies;Monitor your dbt models in the same tool you use to monitor your other processes, with historical and longitudinal views of your operations.Learn moreWe encourage you to play around with this example or to try Dagster with your existing dbt projects. You can find comprehensive guides in the dbt docs and the dagster-dbt API docs.Please feel to join our Slack and let us know how you’re thinking of integrating dbt with Dagster. And we are always happy to provide tech support in GitHub Discussions if you encounter any problems.Huge thanks to David Wallace at Good Eggs, whose community contributions laid the groundwork for this package.If you’ve been working on an integration between Dagster and another ecosystem tool that you might want to contribute back to open source, please get in touch. The core team is happy to help support you in contributing integrations back upstream.

      [[[[dagster]] and [[dbt]]]]

    2. This makes monitoring a breeze. Once metadata is recorded, it can viewed longitudinally. So, for example, you can track the execution time of dbt models over many runs, and find developing bottlenecks before they become problems.

      [[[[dagster]] [[dbt]] benefits]]

    3. What’s more, Dagster is able to consume detailed metadata produced by the execution of the dbt models, and display it natively within a shared single portal.

      [[dagster]] can give a portal into what is going on with [[dbt]] to help understand what is going on, debug, monitor performance, and other [[o11y]] needs

    4. Orchestrating dbt models with other computationsTo see how this works in practice, let’s look at a simple Dagster pipeline that orchestrates dbt models together with other, heterogeneous processes operating on your data. (The full code for this example is available on Github.)In this pipeline, we’ll download a raw .csv dataset from the public internet, then load it into a database using Pandas. We’ll run a series of dbt models to transform the data, run our dbt tests on the resulting database artifacts, and produce some plots using the transformed data. Finally, we’ll upload those plots to Slack for visibility.While contrived, this example illustrates how dbt is often embedded into a larger context. Before dbt can operate on data, it has to be ingested from somewhere, using tools that lie outside of its purview. And after dbt has transformed data, that data is consumed by downstream users, who may use a wide range of technologies to do their work.The dbt solids execute alongside the other components of the pipeline. You can see below that logs emitted by the running dbt models are streamed back to a central view, along with logs produced by solids making use of other technologies.

      this type of needing to process a CSV + do database queries is not that far off from some of the work we frequently need to do.

      [[dbt]] [[dagster]]

    5. In the case of dbt, rather than executing dbt models as black boxes, the framework can accumulate information about dbt runs over time, making that information available for longitudinal views and connecting it back to individual runs of your pipelines with no marginal setup effort.Engineers can monitor dbt model execution in the same tool they use to monitor other technologies on the data platform.Observability boils down to a couple of simple capabilities that we think everyone operating with data needs. With Dagster, individual dbt users can self-serve questions like “Which dbt models are at risk of becoming bottlenecks in our reporting pipeline?” And engineers can monitor dbt model execution in the same tool they use to monitor other technologies on the data platform.

      how [[dbt]] enables [[o11y]]

    6. Support for observability is built into the system. Whether the nodes in your orchestration graph (what Dagster calls solids) run dbt models or reports in Mode, instigate Spark jobs or perform pure Python computations, they yield a stream of structured metadata back to the framework as they execute. This metadata makes deep integrations with other technologies possible.

      [[observability]] is built into the system, and is becoming an important need for security and compliance as well, [[o11y]]

    7. Maybe your dbt models depend on source data tables that are populated by Stitch ingest, or by heavy transform jobs running in Spark. Maybe the tables your models build are depended on by analysts building reports in Mode, or ML engineers running experiments using Jupyter notebooks. Whether you’re a full-stack practitioner or a specialized platform team, you’ve probably felt the pain of trying to track dependencies across technologies and concerns. You need an orchestrator.Dagster lets you embed dbt into a wider orchestration graph.

      It can be common for [[data models]] to rely on other sources - where something like [[Dagster]] fits in - is allowing your dbt fit into a wider [[orchestration graph]]

    8. What does Dagster bring to the table?Dagster orchestrates dbt alongside other technologies and provides built-in operational and data observability capabilities. No matter the size of your dbt projects, you probably need it to interoperate with processes built in other tools.

      [[dbt]] handles the transformation, but not the [[data orchestration]],

    9. We love dbt because of the values it embodies. Individual transformations are SQL SELECT statements, without side effects. Transformations are explicitly connected into a graph. And support for testing is first-class. dbt is hugely enabling for an important class of users, adapting software engineering principles to a slightly different domain with great ergonomics. For users who already speak SQL, dbt’s tooling is unparalleled.

      when using [[dbt]] the [[transformations]] are [[SQL statements]] - already something that our team knows

    10. What is dbt?dbt was created by Fishtown Analytics to enable data analysts to build well-defined data transformations in an intuitive, testable, and versioned environment.Users build transformations (called models) defined in templated SQL. Models defined in dbt can refer to other models, forming a dependency graph between the transformations (and the tables or views they produce). Models are self-documenting, easy to test, and easy to run. And the dbt tooling can use the graph defined by models’ dependencies to determine the ancestors and descendants of any individual model, so it’s easy to know what to recompute when something changes.

      one of the [[benefits of [[dbt]]]] is that the [[data transformations]] or [[data models]] can refer to other models, and help show the [[dependency graph]] between transformatios

    11. Dagster and dbt: Better Together

      [[dagster]] [[dbt]]

    1. We then estimate the relative weight each touch played in leading to a conversion. This estimation is done by allocating “points” to touches: each conversion is worth exactly one point, and that point is divvied up between the customer’s touches. There are four main ways to divvy up this point:First touch: Attribute the entire conversion to the first touchLast touch: Attribute the entire conversion to the last touchForty-twenty-forty: Attribute 40% (0.4 points) of the attribution to the first touch, 40% to the last touch, and divide the remaining 20% between all touches in betweenLinear: Divide the point equally among all touches

      [[positional attribution]] works by identifying the touch points in the lifecycle, and dividing up the points across those touches.

      There are four main ways to divvy up this pointing

      [[question]] What are the four main ways to divvy up positional attribution]]

      • [[first touch]]
      • [[last touch]]
      • [[fourty-twenty-fourty]]
      • [[linear]]
    2. Conversions:You’ll also need to know when a customer converted. For a typical ecommerce company, this is the time of a customer’s first order.

      [[conversions]] - typically when someone becomes a [[paying customer]] with a [[first order]] - does the same hold true for [[Partnership Management Programs]]?

    3. Once you have pageviews in your warehouse, you’ll need to do two thingsSessionization: Aggregate these pageviews into sessions (or “sessionization”) writing logic to identify gaps of 30 minutes or more.User stitching: If a user first visits your site without any identifying information (typically a `customer_id` or `email`), and then converts at a later date, their previous (anonymous) sessions should be updated to include their information. Your web tracking system should have a way to link these sessions together.This modeling is pretty complex, especially for companies with thousands of pageviews a day (thank goodness for incremental models 🙌). Fortunately, some very smart coworkers have written packages to do the heavy lifting for you, whether your page views are tracked with Snowplow, Segment or Heap. Leverage their work by installing the right package to transform the data for you.

      [[1. Gather your required data sources]] - once we have data, we need to do two things [[sessionization]] - the aggregation of pageviews / etc into a session

      and [[user stitching]] - when we have a user without any identifying information, and then converts - kind of like the anonymous users / signups - and trying to tie them back to a source

    4. 1. Gather your required data sourcesSessions:Required dbt techniques: packagesWe want to use a table that represents every time a customer interacts with our brand. For ecommerce companies, the closest thing we can get to for this is sessions. (If you’re instead working for a B2B organization, you should consider using a table of interactions between your sales team and a potential customer from your CRM).Sessions are discrete periods of activity by a user on a website. The industry standard is to define a session as a series of activities followed by a 30-minute window without any activity.

      [[1. Gather your required data sources]]

    5. How to build an attribution model

      [[How to build an attribution model]]

      • [[1. Gather your required data sources]]
      • [[2. Find all sessions before conversion]]
      • [[3. Calculate the total sessions and the session index]]
      • [[3. Allocate points]]
      • [[4. Bonus Join in revenue value]]
      • [[5. Bonus Join with ad spend data]]
      • [[6. Ship it!]]
    6. The attribution data modelIn reality, it’s impossible to know exactly why someone converted to being a customer. The best thing that we can do as analysts, is provide a pretty good guess. In order to do that, we’re going to use an approach called positional attribution. This means, essentially, that we’re going to weight the importance of various touches (customer interactions with a brand) based on their position (the order they occur in within the customer’s lifetime).To do this, we’re going to build a table that represents every “touch” that someone had before becoming a customer, and the channel that led to that touch.

      One of the goals of an [[attribution data model]] is to understand why someone [[converted]] to being a customer. This is impossible to do accurately, but this is where analysis comes in.

      There are some [[approaches to attribution]], one of those is [[positional attribution]]

      [[positional attribution]] is that we are weighting the importance of touch points - or customer interactions, based on their position within the customer lifetime.

    7. transparent attribution model. You’re not relying on vendor logic. If your sales team feels like your attribution is off, show them dbt docs, walk them through the logic of your model, and make modifications with a single line of SQL

      [[transparent attribution model]]

    8. The most flexible attribution model. You own the business logic and you can extend it however you want, and change it easily when you business changes

      [[flexible attribution model]]

    9. hat’s it. Really! By writing SQL on top of raw data you get: The cheapest attribution model. This playbook assumes you’re operating within a modern data stack , so you already have the infrastructure that you need in place: You’re collecting events data with a tool like Snowplow or Segment (though Segment might get a little pricey) You’re extracting data from ad platforms using Stitch or Fivetran You’re loading data into a modern, cloud data warehouse like Snowflake, BigQuery, or Redshift And you’re using dbt so your analysts can model data in SQL

      [[cheapest attribution model]]

    10. So what do you actually need to build an attribution model?Raw data in your warehouse that represents customer interactions with your brand. For ecommerce companies, this is website visits. For B2B customers, it might be conversations with sales teams.SQL

      to build an [[attribution model]] we need the raw data - this raw data should capture the [[customer interactions]], and in our case - also partner interactions, or people working with the partner?

    11. Marketers have been told that attribution is a data problem -- “Just get the data and you can have full knowledge of what’s working!” -- when really it’s a data modeling problem. The logic of your attribution model, what the data represents about your business, is as important as the data volume. And the logic is going to change based on your business. That’s why so many attribution products come up short.

      attribution isn't a data problem, it's a data modeling problem]] - it's not just the data, but what the data represents about your business.