Ibrahim Diallo got his first computer when he was five, which triggered a lifelong passion for programming.
He has worked as a software engineer in the US for 12 years and in 2018 wrote a much-read blog about how he was fired by a machine, which the BBC covered.
Now, as race issues once again take centre stage in America and beyond, he has shared with the BBC his experience of being a black programmer.
From college to the workplace, I couldn't help but notice that something was missing. Well, some people to be more specific. Where are my fellow black software engineers?
Black people make up 13% of the US population, we are naturally in the minority. But in the tech workforce, we are missing. Among the top eight largest tech companies in the land, black people account for only 3.1% of the workforce. If you only count software engineers and those who work in IT, the number plummets even lower.
Companies report a percentage when asked about the number of black employees. But these numbers can be deceiving. How many presidents of the United States were black? The answer is 2.2%. It feels more tolerable than the reality of just one. So a better question should be, what does it feel like to be a black programmer? The short answer: it is lonely.
I am a Guinean citizen, who went to French school in Saudi Arabia, and now lives in California. I grew up hearing multiple languages spoken around me every day. This experience is what shaped my less-than-common accent. My French is not French, my Fulani is not Guinean, my Arabic is not Arab, and my English is certainly not American. As a result, interviewers have a hard time guessing where I am from in phone interviews. They can never tell I am black.
Image copyright Ibrahim Diallo Image caption Ibrahim wants to see much more diversity in the tech industryIn 2011, I worked for a company that employed 600 to 700 people. This meant in my team of 30 people or so, I was the only black person. On the entire floor there were four black people, each in their own separate team. The first time I met one of my black colleagues, it was like recess in grade school.
I had so many questions. Who are you? Where are you from? Which school did you go to? How did you become a programmer? But the only thing I said was: "Do you wanna be best friends?" We are still friends to this day.
I spent years working as a consultant hopping from company to company doing projects that lasted from a couple of days to a few months. In all the teams I worked with, I've only met one other black software developer.
I worked for AT&T in a department that had around 150 employees. We were mostly engineers and technical managers. Yet, we were two black software engineers. Where are the other black developers? (The BBC asked AT&T for a response to this but has not yet received one.)
I don't think that it is accidental. My experience of getting a job as a software developer is filled with unfair treatment. For example, the first day I show up for a job interview, the interviewer always looks surprised. Like he didn't expect me to be black.
When I work as a consultant, I can talk with the manager many times over the phone. But the day I come to the office in person, they are taken aback. I often get: "I couldn't tell where you are from on the phone." The fact that they have to say it, tells you everything.
My last name is not common in the United States, so it is hard to place me in any particular group. Because of my upbringing, my accent is just as unusual. I can't help but imagine that if I sounded more African American or just African, I'd be getting fewer opportunities. However, I have a 0% success rate with video interviews.
I've been to job interviews where the receptionist will take me to a whiteboard room. When the interviewer comes in, he'd say: "I'm sorry, you must be in the wrong room."
I've been on stage at a tech conference where I spoke about building our infrastructure. When I get off stage, the talking heads ask all technical questions to my non-technical colleagues instead.
I'd go to see investors with my colleagues and for some reason, I'm mistaken for someone who just happened to be wandering in the building. My worst sin as a start-up founder is being present when an investor embarrasses himself by making insensitive comments. When they realise it, the only thing they want to do is leave the room. Good luck getting an investment from them.
I believe that these can be honest mistakes. Sometimes, people make assumptions that turn out to be wrong. It is only human. There is no grounds to accuse someone of racism. But when it happens over and over and over, you can't help but feel frustrated. You realise that people's natural instinct is to think you don't belong there.
If you are black and you join a Zoom meeting where everyone is white, eventually someone will say: "I think someone joined our room by mistake." If you are black and take a group picture with your white colleagues one evening, eventually someone will make the joke that all they see are your teeth. If you are black and hang out with your white colleague, people will always assume you are the subordinate.
I'd like to believe that my work speaks for itself. That the years I spent tinkering with computers are reflected in my words. That my passion for programming exudes when I speak. But I also can't help but think that I am caught in a numbers game. I am the 0.1% of black people who end up working as programmers.
Meeting black people on the job feels like we are a fluke in the system. As if we were accidentally hired. Perhaps we are hired to meet a quota to score diversity points. Though a very small quota. I can't be the only black person who wants to work in tech. Though here I am, the only black person in the video conference call in our weekly company meeting.
Peter Steiner, a cartoonist at the New Yorker, captured the core spirit of technology in one of his comics. It shows a dog sitting at a computer desk, talking to another dog. It is captioned: "On the internet, nobody knows you're a dog."
The computer doesn't care about the colour of your skin. It doesn't care about the group you belong to. It doesn't care if you are a dog. It processes your commands all the same. I got into computing because it was the coolest thing in the world. I developed a passion for it at an early age and saw myself doing meaningful work.
But what I didn't know is that I don't belong. Everywhere I go, I am the lone black programmer.