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

Proposed Tracks

  • Practices of DevOps & Lean Thinking

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

  • Operationalizing Microservices: Design, Deliver, Operate

    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.

  • Developer Experience: Level up your Engineering Effectiveness

    Improving the end to end developer experience - design, dev, test, deploy and operate/understand.

  • 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 without a PhD

    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.

  • Building Predictive Data Pipelines

    From personalized news feeds to engaging experiences that forecast demand: learn how innovators are building predictive systems in modern application development.

  • Modern Languages: The Right Language for the Job

    We're polyglot developers. Learn languages that excel at very specific tasks and remove undifferentiated heavy lifting at the language level.

  • Delivering on the Promise of Containers

    Runtime containers, libraries and services that power microservices.

  • Evolving Java & the JVM

    6 month cadence, cloud-native deployments, scale, Graal, Kotlin, and beyond. Learn how the role of Java and the JVM is evolving.

  • Trust, Safety & Security

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

  • Beyond the Web: What’s Next for JavaScript

    JavaScript is the language of the web. Latest practices for JavaScript development in and out of the browser topics: react, serverless, npm, performance, & less traditional interfaces.

  • Modern Operating Systems

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

  • Optimizing You: Human Skills for Individuals

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

  • Modern CS in the Real World

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

  • Human Systems: Hacking the Org

    Power of leadership, Engineering Metrics and strategies for shaping the org for velocity.

  • Building High-Performing Teams

    Building, maintaining, and growing a team balanced for skills and aptitudes. Constraint theory, systems thinking, lean, hiring/firing and performance improvement

  • Software Defined Infrastructure: Kubernetes, Service Meshes & Beyond

    Deploying, scaling and managing your services is undifferentiated heavy lifting. Hear stories, learn techniques and dive deep into what it means to code your infrastructure.