Posts

Stopping Toxicity in Your Engineering Culture

Get there by playing your part: being a person that doesn’t casually roll the eyes or point fingers victoriously, a person that believes teaching others is what pushes both you and them beyond the local maxima. If you are a leadership figure, take the extra time to voice those values to your team; find out how your team is really feeling, especially because these things can be so difficult to pick up. So much of blame is a habit, often of insecurity. Jasmine Tsai
Clover Health Senior Software Engineer
Jasmine worked in investment banking and consulting after graduating from University of Pennsylvania with degrees in Economics and International Relations. She was always itching to create, which led her to Hackbright Academy! She’s now a Senior Software Engineer at Clover Health, improving health outcomes for the elderly & low income.

By Jasmine Tsai (Hackbright Academy alumna – spring 2013 class)

Toxicity is a big, alarming word. This is why I was hesistant to use it for a long time. It seems to suggest a baseline of cuss words, blatant discrimination, negligence or incompetence. It also seems like a particularly big accusation; after all, the word “toxic” has such an electrifying edge to it. I’ve come to believe that it is actually nonetheless possible to have toxicity breed among a perfectly otherwise nice, reasonable group of people.

That’s the most important thing I’ve learned with regards to toxicity thus far: it doesn’t need to imply great evil or even utterly apparent dysfunction in a team. It most certainly does not have to mean that the people involved are fundamentally a*sholes. Although all of the above can be true too, at its most innocuous it simply needs a certain level of carelessness and apathy to thrive.

First, let’s define toxicity. We could try to define this with examples, but that’s boundless and not instructive. To me, toxicity is apparent when an environment regularly takes away your energy to be productive or enthusiastic. This could come from fear, but it doesn’t even have to. We do not need to quantify “just how much” energy it takes away. The bottom line is: if you regularly feel more sapped than energized by your environment, it is probably somewhat toxic.

A lot of toxicity, especially in the tech & engineering world, comes from social factors through gender or race discrimination/micro-aggressions, whether or not intentional. Those are big and real things, but not the issues I want to discuss here because they can fill a whole other post of their own. Instead, what I want to talk about is the core friction and conflicts that arise from doing engineering work.

Hypothesis On Why Toxicity Arises

There is a particular kind of pain (and perhaps, joy, to not be so cynical) that is only known to software engineers: the inevitability of having to work on someone else’s code (whose design you disagree with very much), and to have your code eventually be worked on by others (who will almost certainly disagree with you on something). That is the price of being able to do something cool: to be able to build solutions that replicate themselves and run for an extended period of time.

There is almost no other profession like it. Many professions’ “final-products” are more or less expected to be in a fixed state, whose process and source are treated as disposable after the product communicates its value. Think about all the emails that you wrote which proceeded promptly to heaven.

But not engineering. Not only are you expected to build something complex in a present state, you should also, to at least an immediately protective extent, anticipate the complexity in the future. Working in a codebase is like being mired in a time machine, having to battle mistakes of the past, deal with constraints of the present, and also intelligently mitigate the future. Trying to build this “intellectual fortress” can be challenging work that sometimes feels impossible, and probably is impossible to “get right”.

That kind of mental anguish/taxation, I believe, lends a stage to much of the precursors of toxicity. All of which I have taken part in, one way or another. First — there is the pride that creeps up simply because you have devoted much time and thought to it. It takes conscious effort to battle that when it does not always manifest itself consciously. The effect of pride is both an event and a cumulative process. Over time, it can teach one to believe, falsely, that they are always likely to be more correct than others. Second, there is the impetus of that frustration which lends itself to quick and “justified”-feeling responses, however unjustified that may be. Both of these instincts are easily riddled with insecurity.

What Does Innocuous Toxicity Look Like?

Again, overtly toxic behavior is terrible, but I almost think that those things are easier to pick up and label as “wrong”. That is not to say it’s always easy to stand up against them, especially if you are in an organization that is poorly managed and riddled with fundamentally misaligned beliefs.

But what I really want to talk about is the insidious stuff: the stuff that you feel like you can’t quite put your fingers on. The stuff that you feel like isn’t quite right but you feel like you might be pesky just for bringing it up, or that you feel like you should almost let it slide because it seems utterly human and therefore should be forgotten.

I’ve come to believe otherwise. “Innocuous” toxicity is just as toxic, especially over time — it differs from the truly horrible stuff because it offers no mechanism of dissociation. It feels hard to simply write a certain person or behavior off because “it just doesn’t seem bad enough”. Yet in the mean time, it is taking away just as much of your energy and preventing your growth.

I am talking about: the casual eyerolls when someone mentions “some bad code somewhere”, or the mention of a person’s name whom for some reason the team has agreed as “having a certain style” (code for bad); the talking behind someone’s back about the code they wrote; the quick equating of someone’s ability as a competent engineer to solely their code; the quickness to point fingers at someone almost as a victory when something breaks; the public shaming when you disagree with someone or believe that they are doing something wrong.

These things often feel like you are doing the right thing: you are the guardian of quality! the loud advocate of correctness! But in fact you are just doing the easy thing. It is easier and feels gratifying to point out someone else’s mistake; it is seriously debatable whether that gesture can count as “teaching” and will result in better code over time. In fact, as a result of fear many people are much more likely to stop really asking the questions they need to ask to grow.

All of these things are not exclusive to engineering. They can happen just as much elsewhere. Other forms of toxicity are endemic to other industries. Still, none of that negates the fact that we have some work to do.

How To Battle The Seeds Of Toxicity?

First, stop doing these things yourself. I will be the first to admit that I’ve probably done many of those things, because it made me feel like I got to be part of a club. I felt such an inherent anxiety of being judged (and feeling the high probability of so given what I had witnessed) that I sought to gain a false feeling of protection by judging others. In the end, it really only made me a terrible person, and delayed my own growth because it reinforced my fear in failing. Except for those that I know very consciously try to mitigate this impulse, I have seen engineers at almost every level do this. It’s a thing people really like to do.

Strive for a truly blameless culture. Not just blameless postmortems when things go wrong, but blameless day-to-day. If you are worried about that leading to laxness, I say that humans are more intelligent than that and there should be a way of instilling caution in people without demoralizing fear. If you feel like something could be better, please take the time to teach other people and explain it. I believe that a team should be collectively responsible for each other. There should be a clear sense that growing as a team as a whole shifts the whole curve up.

It’s good but not enough to be simply “blameless” — that can just easily become an interpretation of utter apathy. The pillar of that blamelessness is support. Support via teaching. Support via active mentoring. Support via actually being supportive and generous in your tone and approach. Support via showing that you are willing to invest in someone’s long-term technical and career development. When you hire someone, start with the assumption that they are wildly competent rather than making them prove so; answer their questions without penalizing them.

Get there by playing your part: being a person that doesn’t casually roll the eyes or point fingers victoriously, a person that believes teaching others is what pushes both you and them beyond the local maxima. If you are a leadership figure, take the extra time to voice those values to your team; find out how your team is really feeling, especially because these things can be so difficult to pick up. So much of blame is a habit, often of insecurity. Find out why your team feels a certain way, find out why you feel this way.

This blog post was originally posted at Jasmine Tsai’s blog.

Behind the Scenes at Tech Companies: Employees Teach Each Other How to Code

Successful, thriving company culture becomes evident in its employees. Specifically, employees will be empowered to find ways to give back and empower others — and there’s no better place to start than with your co-workers.

By Angie Chang (Director of Growth, Hackbright Academy)

Online petition website Change.org is committed to empowering people everywhere to create change.

“This requires bringing a diverse set of skills and perspectives to age-old problems,” said Warren Colbert, a director of product management at Change. He also mentors at CODE2040, where top minority engineering students nab lucrative internships and mentorship at Silicon Valley tech companies.

It’s no secret that technology startups lack women in engineering (industry average is 10-15 percent), but change happens from within when a company’s leaders prioritize hiring from a diverse pool of candidates.

The tech company’s efforts to change the gender ratio in the engineering department included partnering with women’s engineering school Hackbright Academy earlier this year.

By providing mentorship and support from senior engineering leaders, Change.org successfully recruited and onboarded Jasmine Tsai after she graduated from Hackbright Academy, an accelerated women’s engineering school in San Francisco.

Giving Back And Making Change

“Even though I am a junior engineer, there is still stuff I can teach,” says Jasmine.

Read the full article at The Huffington Post – filed under “Girls in STEM”.

The Epilogue of Hackbright and Career Transition: All the Feelings, All the Things, Live Them All

Jasmine studied International Relations and Economics at UPenn, working in investment banking and consulting after graduation. She always found herself perpetually slightly restless and itching to create. Now she is a software engineer at Change.org after graduating from Hackbright Academy in spring 2013. She loves the intersection of the arts and engineering, and has a special place in her heart for education-related causes in technology.Jasmine Tsai
Change.org Software Engineer & Hackbright Alum
Jasmine studied International Relations and Economics at UPenn, working in investment banking and consulting after graduation. She always found herself perpetually slightly restless and itching to create. Jasmine loves the intersection of the arts and engineering, and has a special place in her heart for education-related causes in technology.

By Jasmine Tsai (Hackbright Academy – spring 2013 class)

I had wanted to write a post about my career transition and Hackbright for the longest time, but it was daunting to try to do justice to something so big and so sweeping for my life. There were always a million things that I wanted to say about it simultaneously – a million pieces of fragmented sentiments and a million epiphanies and another million exclamations of just pure awe. It seemed difficult to capture precisely the magic, love, and good work that make up this experience.

But at some point I had to, before I unknowingly moved into the next phase of my life and the memory of this deep transformation faded in my mind. Many people have already written about the technical parts of the program (code a lot. code some more. and then more) and their love for coding (I have written something similar myself here). All of these go without saying and are the heart of what Hackbright is made of. I know these posts have all been tremendously useful to those curious about Hackbright and, more broadly, transition into a software development career.

But right now, I want to write about something else: feelings, emotions, fears, the steady happiness from doing good work. All of the undercurrents that propel us in what we do and color how we approach the challenges in life (invited or uninvited), as we try to pull ourselves up against our own fears and also those that others try to impose on us.

The reason why I wanted to write about this was because of what I had read in a fellow classmate’s blog and how it hit me in the stomach and made me tear up a little.

From Kelley’s blog:

And to Hackbright… Thank you. Thank you for teaching me ALL THE THINGS. Thank you for giving me some of the best friends I will ever have. Thank you for showing me that apathy is overrated.


That is the most valuable thing about Hackbright – that inarticulable personal transformation you go through when you work really hard for something against your daily fears, and the accessory magic that happens when you do so with a bunch of dynamic people equally passionate about life – many of who teach you the meaning of generosity. I was a stand-offish wreck during Hackbright, but I was lucky to be part of a truly one-of-a-kind cohort where everyone was deeply talented in their own way. There were girls that painted beautiful things, girls that baked us macarons, girls that made us delicious Russian cocktails, girls that wrote down the good things that happened everyday so they can remember appreciate life — the list goes on forever. They taught me that pride is overrated and ultimately an impediment to growth, and that you end up missing out on so much else if you are only self-absorbed in your own work. They also taught me that it’s COOL to want to learn everything and also be kind to everyone in the process.

For those that are attending Hackbright right now or looking to attend in the future: I truly believe that that is the most beautiful and rewarding part of the process, so don’t miss out on it. Don’t deny your fears just because they seem like they will swallow you up. Doing that will allow them to mutate into pride, insecurities, or an isolation from others. Instead, look them in the face and embrace the tremendousness of what you are trying to do and let what happens next change you. You will not drown in your fears just because you admit to them: instead, your honesty will allow you to be resilient against what may be challenging next.

For those that have attended Hackbright: we did it!….only to realize, for both those working and not working, that there is only so much more to come. So many more things to learn, so many more moments to feel stupid and unqualified, and so many future opportunities to fail again. Well, part of that is the nature of our career choice and we may be secretly masochistic (I mean, passionate believers in knowledge). Part of that comes with how we made our career transition, which sometimes places doubts in others as well as our own heads. Technical aptitude will come with time and practice, but as for the part about not believing in yourself: think about what you had to battle with to get this far — not just code, but your personal demons too. You have had to give up much more certainty and deal with much more cynicism than some of the people in your career tracks right now, and that already gives you a complexity that others cannot take away. You fought hard to be here. You chose to be here. You had to uproot the trajectory of your life and manually correct it, one line of code and one day of unemployment at a time. You didn’t simply “drift” into your position now. That makes you kind of awesome.

And with that — off to learning another million new things.

This blog post was originally posted at Jasmine Tsai’s blog.