Dear allies and friends,
You're out here and I see you. Thank you for being here and taking the time to offer coding tips and solid career advice that 4 jobs and many years of self study would not have given me. A lot of you are deeply passionate, opinionated and experienced, have the best intentions but sometimes your delivery can use some improvement.
This is the one day I will do the work of explaining what's helpful and how to help, from my able-bodied and hypervisible perspective. Then the other 364 days I can spend levelling up, advocating for myself and actually helping others! ๐
This isn't a list of ideals; if I've listed this, it's because someone did something I found really helpful, and I wanted to share it with you all.
1. Listen.
Find out what it is exactly they're having trouble with. Separate one problem from another if they're conflating things. Helping someone new may seem extremely boring and tedious but those with the right attitude will collect and learn what they can piece by piece from others who have time. If you are short on time, point them to the right resources. A link or video that explains the relevant problem might be helpful, while your favourite white papers might be too overwhelming.
2. Don't say something is actually easy or simply provide the solution when someone is stuck.
Ask questions like "What are you trying to accomplish?" "Why do you think it's stuck?", "Have you tried ____?" to encourage problem solving. Helping them break down the problem or large concept, pointing out which part doesn't work or help them realize what their assumptions or mental models were. Guide them to find an answer to explain why your solution works.
3. Lead by example. Be humble and human.
Own mistakes and apologize when wrong. When this kind of behaviour comes from people with experience or at the top, it sets a tone for people to be psychologically safe and intellectually vulnerable. Soon, other team members start doing it too.
On a similar line, please use your power or seniority to create a healthy environment for learning and sharing difficulties. That means having a kind one-on-one with those who may share dismissive or elitist attitudes with coding, or casually discouraging offensive jokes on the spot. Comments like "What, you don't know ____?", eye-rolls and sighs when someone asks a question, or "We already went over this last week!", "Just read [link]", "This is bad" without an explanation of how to improve create a fearful environment and decreases trust in team members.
3.5 Share the difficulties you've also experienced, if you have.
Don't make it up though.
For a long time I felt programming was something of a personal talent. If I was not logical or mathematically inclined as such and such, I would not be able to do certain things. This is not true after hearing even senior folks once struggled with simple things. It brings some common ground to the table and demystifies the treachery of 10x competence. I realize that programming is a type of thinking that can be learned and requires practice.
4. If your correspondence is over a longer term, point out any gotchas if someone comes back stumped.
Hearing the exceptions first usually doesn't help them avoid them as people often learn by doing, and usually they discover it themselves.
5. Explain, in the easiest terms.
You are not mansplaining if someone doesn't already know something. And if you suspect they might feel patronized you can say something like "You may already know this, ..." (I actually use this line with men a lot because I don't want to embarrass them or put them on the defensive for not knowing something lol)
If they're asking, they've already expressed they don't know (and gotten over the fear of looking stupid). You will help them a long way!
6. Check in or reach out if someone is receiving a glib or less than friendly response.
This might be their first impression of a community and kind strangers have made a huge difference towards my impressions of working in tech. There are many tech worlds, and I am lucky to have found the ones I like to inhabit.
7. Encourage them to keep trying
Because the most mediocre of us have had all had crises of confidence and occupational stalemates. If they're really unsure about continuing or thinking about quitting, help them figure out what they want to do with programming or why they enjoy it.
This last one is just my opinion:
-1. Quotas mean nothing without the means to support minorities
Open doors for them, but only when you're sure they'll succeed or have a buddy. Be invested in their growth. Most people without CS degrees or typical mentorship work doubly hard to prove themselves.
Yes, of course we need to have more femme, trans and queer and nonbinary leaders of color. But I doubt even the most confident and capable of senior devs from a marginal position will be able to invoke much change or stand for much if your work culture encourages problematic attitudes.
Don't just throw their resume in the door because there is a need to have representative interviewees, or if you know the culture is intolerant and clique-y, or there are no resources for onboarding/mentoring them, or if they're not ready to succeed in a role. That won't level the playing field. It's just going to make it more unappealing.
Forget Culture Fit
Stop emphasizing or speaking of interviewing for "culture fit". It feels like a needless assessment of assimilation to get through the door.
We get that you want to hire a decent human who isn't a maniacal sociopath, who's able to work with others. Just saying what a great and open-minded workplace you have is fine and dandy. We've all heard that before.
In the case of already-hired coworkers who from minorities, develop the curiosity to understand where people are coming from. (Ok, the first question probably should not be racially or ethnically where they are really from since they get asked that a lot, but their view of things, their previous jobs, their favourite movies or foods...) Allowing them to be themselves without question, celebrate their own holidays, have their accents, wear the clothes and hair they want without scrutiny is a baseline expectation for feeling welcome somewhere.
Note: This article does not reflect the opinions of my employers, previous, current or future. This article reflects the opinion of many projects and communities I've been a part of.
Top comments (7)
Thank you for the list. For number 2, don't forget the power of leading questions. "Did you check...?" "Have you read...?" "Why do you think it's behaving that way?" The goal is to teach someone to think. It's harder and more frustrating that just giving someone the answer, but far far more rewarding.
And for 3, absolutely be humble, but if you're senior or a leader, be confident with it. Own what you know as well as what you don't know, and help others understand how you close that gap.
Thanks for those tips! I added them to the list!
I can only recommend psychedelic substances to everyone! It helps you find answers on questions you got your whole life carrying around with yourself and even the current questions you got. Psychedelics help you see your life in a totally new perspective and from there you can advance with good progress towards the direction you wish for. Love life!
This comment ๐๐๐
If only drugz aided me that way. I unfortunately have max productivity sober
Yeah you probably take/took the wrong drugs. ๐๐
Great article Jen, your points are spot on and do a good job of defining practical steps that friends and allies can adopt.
To your 5th point, I always felt empowered when, after asking my dev mentors for help, they replied: "Summarize for me what you're clear on and where you need help".
Later on, one of them explained that they do that to avoid mansplaining by accident, and to focus their response specifically on where I needed help.
Yes! I still encounter this while explaining to peers what I'm stuck on... like "yes i know how to google and read the docs", with such people I have to be be very explicit about what I tried already and what is blocking me.