It's what happens when there's not enough time during the day...

Sep 22, 2024 - Sep 27, 2024
Durham Convention Center

How To Be A Developer - And Other Lies We Tell Ourselves

Presented: Sep 24, 2024

Abstract

In the children's book "Am I Even A Bee?" by Felicity Muth, Osmia begins feeling uneasy when she notices that she doesn't look like other bees at all. She even notices that some flies, moths, or beetles look more like bees than she does. Her perspective changes when she bumps into another unlikely bee named Xyla.

Our journey as developers sometimes follows a similar pattern. We may question what it means to be a developer in the first place and we're not quite sure how we fit in. On the other end, when we grow to be more experienced, we may inadvertently (or sometimes consciously) make it more difficult for others to belong.

What is the role of community in an individual's sense of identity, and what are some of the ways that we try to come to terms with our place within the developer landscape? Let's find out... together!

Notes

I was humbled and honored to have been asked to present a keynote for DjangoCon US 2024, and my initial idea gravitated toward the ebb and flow of isolation and community that I've experienced as a developer.

As a result, I ended up spending a lot of time reflecting on my own identity, who I am in the context of the Django community. This means I took a lot more time on my intro than I thought I would.

Intro

I am a person.

But also...

I've done some talks in the past two years.

I have (or had) some hobbies.

I am a husband and father to the two most wonderful people I know.

And here is a list of only some of the jobs/titles I've held in the past:

The Mirror Stage

Jacques Lacan was a psychiatrist/psychoanalyst that lived for a large part of the 20th century who popularized the concept of The Mirror Stage.

The concept is based on Lacan's theory that describes the phase in which an infant begins to recognize themselves apart from their environment. If you have children, you may remember those moments when your baby began to look into a mirror with a tinge of recognition and confusion. At some point, they began to identify with this representation of themselves, and as such, started to understand their own autonomy.

In Lacan's development of this idea, he came to believe that individuals were ultimately trapped in this cycle of subjectivity--of seeing themselves through an outside representation.

Ultimately, we, as individuals, begin to identify with the signs and symbols that are outside of ourselves. We identify with a name, which is meant to be a representation. But these definitions are forever encapsulated by other definitions.

More

Part 1: The Simulation

During my talk, I made up a fake "technology" to help me illustrate different personality shifts that developers might experience at any point in their life.

Person/AIity

From the talk:

Here's how it works. A device is placed on your head that connects to your neural network. Your brain signals are then integrated to a vast datastore of nearly infinite proportions. That data may have been harvested from unsuspecting participants of virtual and augmented reality headsets, but without that data, we never would have been able to invent the Person/AIity technology, so it's a win for everyone! I think?? (Hmmm, that sort of sounds familiar, doesn't it? Well, we're here now, so let's go along with it, no?)

Personality Simulations

I would recommend watching the video (when available) for the full effect here. I'll try to summarize some of the scenarios that were covered during the talk. (Note: Each block represents a different personality simulation)

Finds safety in numbers. Looks up to mentors or leaders for guidance. Feels unsure of their own judgement. Suffers from anxiety, insecurity, and self doubt when those are not present.

Prefers to avoid conflict. Tries to maintain peace and establish harmony amongst themselves and others. Sometimes becomes complacent or withdrawn when faced with unavoidable conflict.

Highly motivated for success and achievement. Embodies those qualities and is motivated by the attention. Can become overly image-conscious, self-absorbed when challenged.

Self confident, assertive, and inspiring. Likes to challenge convention and is okay with confrontation. Can become controlling and combative when feeling a loss of control.

Empathetic and generous. Provides guidance and support when needed. Becomes resentful and aggressive when feeling underappreciated or unwanted.

Sees themself as different than others. Sensitive and introspective, but generally thoughtful and creative. Can become moody and melancholy when feeling vulnerable or ineffective.

Having a principled view, tends to be organized and orderly. Can slip into perfectionism or criticism when their own high standards can't be met.

Busy and spontaneous. Has a strong sense of FOMO (fear of missing out). Finds joy in a variety of experiences, but has problems with impatience and impulsiveness.

Alert, insightful, and curious. Has an avarice for knowledge and figuring things out. Fears being useless or "not knowing" how to do things. Can become detached, yet high-strung and intense.

Side note

Not mentioned during the talk (though touched on during one of the questions), the descriptors above are based on a personality framework/system known as The Enneagram.

This was not highlighted during the talk because it was not meant to be a focal point of the talk. Instead, it was used as a framework to highlight certain personality traits that can develop under certain circumstances.

Of course, the danger of any personality assessment is the user's tendency to then over-identify with their personality type. This would be counter-intuitive, based on the theme of my talk, which was meant to show, in part, the dangers of over-identifying with any form of classification or self-identification.

If you find the Enneagram as a useful tool for understanding yourself, this is a good thing! However, if you're skeptical, or find it limiting or incomplete--that is also okay.

For the curious, here is a more complete run down of the type descriptions: The Enneagram Institute - Type Descriptions (hint: I did not follow the traditional/consecutive order of the types during my talk, but I did cover all nine!)

Part 2: The Looking Glass

My journey to the DjangoCon US stage as a keynote speaker resembles the classic xkcd comic, Python Environment.

From the talk:

There is not always a clear template, a set path, or a distinct avenue to follow which will get you to where you are going, and this can be true at any stage in your life.

But also:

The inverse could be true. There are individuals that have had a vision for what they want to accomplish, and they set out from an early age to achieve those goals, and have found success through discipline and determination. There are others that found a community and caring mentors that have helped them along...

And Other Lies We Tell Ourselves

Self-identity is already fractured (think, the Mirror Stage), and here are two ways in which we misunderstand the statement, "I am a developer".

First

There should be no "singular" interpretation of what it means to be a developer.

These may all encompass what it means to be or not to be a developer.

But in the same way, we can also individually embody this strange duality.

Have you felt flighty and scattered, jumping from one thing to the next? By harnessing your energy into more focused goals, you will bring energy, joy, and perspective to stale projects.

Do you feel disconnected when you're not part of a group, or have someone to look up to? By finding a worthy cause or purposeful community, your will more than likely be committed to fighting for and defending that community.

Are you feeling burnt out and resentful because of all the thankless tasks you've volunteered for? Your capacity to embrace others empathetically is unmatched. Don't be afraid to ask for affirmation and space for self-care, which in turn will allow you to deliver unbound love for others.

Second

Being a developer means nothing in isolation.

Ultimately, if you want to create software of any kind, you you will need to think about your users. If you are employed or participate in open source, you will be part of a team. You will often have people you report to. You may have others who report to you. And in this wonderful, sometimes almost magical profession of taking ideas and creating programs that actually do something, you will be interacting with way more people than you may have thought necessary.

Examples:

All of the thrills, the satisfaction, the energy of being an engineer will come in the context of how it is expressed in community. Whether that community is made up of a team at work, open-source acquaintances, friends, or end users.

A loyalist needs community to feel supported and assured. A helper seeks to provide support to others in spite of themselves. A challenger can be domineering, but also a great leader, becoming an agent of change.

Personally

This talk has been quite an emotional journey for me. I tend to be an introvert/know-it-all, and it is easy for me to become detached and self-absorbed.

But community is what holds an immeasurable amount of knowledge for me to gain from, as well as a thirst for the insights and perspectives that I can provide.

I didn't get a chance to thank all the people in the Python community who have been instrumental in my journey so far, but I hope to reach out to you all to let you know how much I appreciate your kindness.

Summary

To be a better developer, be a better person to others.

P.S.

Feel free to reach out to me if some of this resonates and you'd like someone to talk to about what this might mean for you going forward. (Mastodon/LinkedIn links are on lower left side of the page.)