You are viewing content from a past/completed QCon

Presentation: Incrementally Refactoring Your Habits With Psychology

Track: Optimizing You: Human Skills for Individuals

Location: Pacific DEKJ

Duration: 10:35am - 11:25am

Day of week: Monday

Level: Intermediate

Persona: Architect, Backend Developer, Chaos/Resiliency/SRE, CTO/CIO/Leadership, Data Engineering, Data Scientist, Developer, Developer, .NET, Developer, JVM, DevOps Engineer, Front-end Developer, General Software, ML Engineer, Mobile Developer, Security Professional, Technical Engineering Manager, UX Designer

Share this on:

This presentation is now available to view on InfoQ.com

Watch video with transcript

What You’ll Learn

  • Learn developer hacks to be a more effective developer.

  • Understand a structured approach to improving your own productivity.

  • Hear about the areas where one developer lost the most time / efficiency and how they improved.

Abstract

When I started on the Atom Editor team, I learned about all these cool things a text editor can do, but I still found myself stuck in my old workflows. In this session, I’ll share the story of how I hacked my habits to go from "mouse addict" to "Atom whiz." I'll dive into researched-backed psychological tips on how to incrementally refactor your habits. You'll leave this session with a framework for applying these tips in your life, no matter what your goals are.

Question: 

What is the focus of your work today?

Answer: 

I build developer tools at GitHub. More broadly, I make technology more inclusive and accessible for people who have traditionally been left out.

Question: 

In your spare time, you illustrate data structures and algorithms with acrylic paint. Tell me more.

Answer: 

When I was learning about data structures, it struck me how beautiful some of them were. I really love the idea of taking something that's generated by computer and trying to reproduce that by hand - both to get it into my head and to show my vision of how this can work to other people. I made a whole series. I was already a painter and artist learning about computer science, this inspired me to see if I could marry fine art and computer science.

Question: 

In my mind, developers are very right-brained people, not just left-brained people (you know sort’a building magic castles in the air). Is software development a left-brained activity?

Answer: 

I read a study recently, saying that people think that the part of your brain that you use when you're writing code is the math part, but actually, it’s the part that's related to language. And that made complete sense to me because one of the things I plan on talking about in my talk is about how writing code is an artistic process. And some of the productivity hacks that I'm talking about come from my time as an artist.

Question: 

The track that you're in is “Optimizing You - Human Skills for Individuals” and your talk is “Incrementally Refactoring Your Habits with Psychology”. Tell me more.

Answer: 

A couple of years ago, when I was working at Pinterest, my manager said “You need to double the amount of code that you're writing if you want to get that Senior Engineer promotion”. Some of that obviously was changing my focus because at the time I was mentoring a new grad and three interns.

I wanted to take a research-based, iterative, scientific, experimental approach to the amount of code I was writing. I wanted to understand what are the gaps that are preventing me from being productive by looking at current research and then figuring out ways to apply that in my life. I had one iteration of that when I worked at Pinterest where I was able to double my output.

Then I started at GitHub a couple months ago and became aware of another large gap in how I was thinking about things. I started on the ATOM team, and I learned about all these cool things that an editor could do. Then I realized by working with some of my teammates that the way I was using my editor could be improved. I was less efficient than they were, so I underwent another iteration of how to change my habits.

I am so excited to present some of these learnings to the audience as a framework that they could use to identify gaps in their own efficiency and address that from several different angles.

Question: 

How would you describe the persona and level of the target audience?

Answer: 

Senior engineers, architects. I’m hoping this will be a “tent pole” talk - in some ways people of all different experience levels still want to grow and get better and iterate on their habits.  People who are hungry for self-improvement will probably get more out of this talk. I am not going to be covering very 101-level text editor shortcuts (find, find-and-replace, comment, open files) because I’m assuming most people in the audience already know those tips.

Question: 

What do you want “that” persona to walk away from your talk with?

Answer: 

I want them to walk away with at least one productivity trick they didn’t know about before, and a plan for how to apply this trick in their own life.

Question: 

How can people apply the outcomes of your talk – can you give me an idea?

Answer: 

I will talk about a bunch of things I did, how I thought they were going to work out and then how it actually worked out when I put this into practice. Hopefully, people leave with the theory and the practice.

There's one section on research-backed principles of making habits stick, like social accountability. Then plans using behaviorist principles like positive reinforcement. I'm also citing studies for all of these relevant things. And then there's the editor workflow tips section and there's the things that happen outside.

Basically, you need sort of an understanding of what you're doing, like keeping a work log of what you're working on, so you can understand where you're slow. Where I thought I was slow was not actually where I was slow in practice.

I hope audience members walk away with at least one idea that they didn't have before for how to increase their productivity.

Question: 

What technology problem keeps you up at night?

Answer: 

How can we keep marginalized people safe online? We do more and more of our communication online, and social media is not very safe for anybody (especially, if you're a person of color, if you're a woman, if you're an LGBT person).

Speaker: Tilde Thurium

Software Engineer @GitHub

Tilde Ann Thurium is an artist, engiqueer, and activist. Currently, they are an engineer building Atom editor at GitHub. In previous lives, they have done stints as a florist, a security guard, and a Human Resources wench. In their spare time, they illustrate data structures and algorithms with acrylic paint.

Find Tilde Thurium at

Tracks

  • Optimizing Yourself: Human Skills for Individuals

    Better teams start with a better self. Learn practical skills for IC.

  • Modern Data Architectures

    Today’s systems move huge volumes of data. Hear how places like LinkedIn, Facebook, Uber and more built their systems and learn from their mistakes.

  • Practices of DevOps & Lean Thinking

    Practical approaches using DevOps and a lean approach to delivering software.

  • Microservices Patterns & Practices

    What's the last mile for deploying your service? Learn techniques from the world's most innovative shops on managing and operating Microservices at scale.

  • Bare Knuckle Performance

    Killing latency and getting the most out of your hardware

  • Architectures You've Always Wondered About

    Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, & more

  • Machine Learning for Developers

    AI/ML is more approachable than ever. Discover how deep learning and ML is being used in practice. Topics include: TensorFlow, TPUs, Keras, PyTorch & more. No PhD required.

  • Production Readiness: Building Resilient Systems

    Making systems resilient involves people and tech. Learn about strategies being used from chaos testing to distributed systems clustering.

  • Regulation, Risk and Compliance

    With so much uncertainty, how do you bulkhead your organization and technology choices? Learn strategies for dealing with uncertainty.

  • Languages of Infrastructure

    This track explores languages being used to code the infrastructure. Expect practices on toolkits and languages like Cloudformation, Terraform, Python, Go, Rust, Erlang.

  • Building & Scaling High-Performing Teams

    To have a high-performing team, everybody on it has to feel and act like an owner. Organizational health and psychological safety are foundational underpinnings to support ownership.

  • Evolving the JVM

    The JVM continues to evolve. We’ll look at how things are evolving. Covering Kotlin, Clojure, Java, OpenJDK, and Graal. Expect polyglot, multi-VM, performance, and more.

  • Trust, Safety & Security

    Privacy, confidentiality, safety and security: learning from the frontlines.

  • JavaScript & Transpiler/WebAssembly Track

    JavaScript is the language of the web. Latest practices for JavaScript development in and how transpilers are affecting the way we work. We’ll also look at the work being done with WebAssembly.

  • Living on the Edge: The World of Edge Compute From Device to Application Edge

    Applied, practical & real-world deep-dive into industry adoption of OS, containers and virtualization, including Linux on.

  • Software Supply Chain

    Securing the container image supply chain (containers + orchestration + security + DevOps).

  • Modern CS in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Tech Ethics: The Intersection of Human Welfare & STEM

    What does it mean to be ethical in software? Hear how the discussion is evolving and what is being said in ethics.