I never felt represented in C++ conferences, and that's OK

This thought was sparked by the diversity and inclusion panel from Meeting C++, a recording published recently. I will comment on the video itself later in this post, however, I wanted to explain where this comes from.

There’s a new wave in the technical community that talks a lot about inclusivity and representation. Perhaps a lot of these discussions are necessary - by the sound of it, many US and western-based companies tend to be built on discriminatory hiring and internal promotion practices. Maybe they are, maybe they are not. I cannot be the judge of that - my contact with these firms was only at superficial level - either as a user of their products, or reading about them in the papers.

The #include <C++> community is among these. Quoting the website includecpp.org:

#include <C++> is a global, inclusive, and diverse community for developers interested in C++. Here, you can find a welcoming space to learn and discuss C++. We also provide resources to create safer, more inclusive, community gatherings.

It’s not a bad idea. A community for developers interested in C++? Sure, I’d love to hear more. A welcoming space to learn and discuss C++? I’m game. Safer community gatherings? I’m not sure what that means, but sure, safety is important. Inclusive? I never felt included in community gatherings. That is something new to me.

Not that I didn’t attend community gatherings. I actually spoke to a local geekmeet at one point of time, I can’t remember the topic, and I can’t remember if it was any good, nor do I feel like rewatching the recording to see if it was any good. I am my worst critic, I know how ignorant I used to be, and in a few years time I will probably shudder at the thought of how ignorant I was when I was writing this very article. It’s part of growing up, and I ended up accepting that (and not looking back a lot). But even as a speaker I never felt included, nor represented, which is strange enough because the best representation of oneself is themselves, right?

Thing is, I should feel represented or included in these conferences. Because while the video sparked this thought in my head, I realize that technically, I’m represented there, and I should be included. I am not.

It’s a thing that took me quite a lot of time to process (unfortunately, a health issue now gives me way too much time to process this kind of things). But the more I thought about it the clearer it was to me (no spoilers, I will explain eventually). Indeed, I am not represented in these conferences. Even if I have all the characteristics of someone who should’ve felt included. Like:

  • I’m white. Most speakers at the C++ conferences are white.
  • I’m a male. Most speakers at the C++ conferences are male.
  • I’m Romanian, and one of the most important C++ speakers out there is Andrei Alexandrescu, of Romanian origin, bringing the thick accent and sometimes some lovely Romanian thoughts in his presentations.
  • I have 20+ years of activity in the technical field, more than half of the time I was doing C++ professionally.
  • I watched most of the big C++ conferences talks that were published in the past 10 years, and that is a lot. It’s content I consume a lot.

Still, I am not represented, nor included. As a matter of fact, these conferences are aggressively not-inclusive to me personally, although, from what I understand, the numbers say the conferences have more diverse speakers. Everyone is enthralled by the social progress made by these conferences, with the help of #include <C++>. That’s awesome. More power to you. But I think the approach is wrong.

What’s wrong about inclusivity?

Absolutely nothing.

Inclusivity is a good thing for popularization conferences like the C++ ones are. While an elite pays for access to the conference itself, the elite also supports the costs of bringing these speakers, emparting their knowledge, and then they distribute the content freely, even if this happens a few days/weeks later. While things in the C++ world change fast, having access to the full contents of the CppCon conference for free in the same year that the conference is held is a huge thing for all developers across the globe.

For me, that’s as inclusive as it gets. The content is free, is valuable, is religion, sex, and culturally agnostic. C++ doesn’t care about your sexual preferences, partners, religious beliefs, political views, racial biases and preferences and so on. Sure, the presenters might come with a personal baggage, their presentations are never culturally agnostic. Naturally, each speaker brings their own cultural background. I find this refreshing, but it’s not something I need from my C++ conference.

So yes, the content is there, for free, accessible to anyone with a bit of bandwidth and a computer able to play youtube videos. I don’t see how these technical conferences can get any more inclusive.

How about representation?

I never had a question when the main engineer in the Star Trek: The Next Generation was a black, blind man. Geordi LaForge is one of the characters that made me really love technical stuff. Geordi LaForge was miles away from anything I was like, yet I wanted to be like him.

I told many times the story of how I ended up loving computers and wanting to become a game developer. It was Prince of Persia, running on a 386 computer, and my imagination was immediately infused with the adventures of a semitic man in a Middle Eastern country. I wasn’t represented in that, and I couldn’t be. The marine from DOOM? No resemblance to me. Kitana from Mortal Kombat was no representation of me either.

Fine, you might say, but it’s not the fact that you weren’t represented in everything, it’s the fact that some are not represented at all. And you might find some things like characters with the same color of the skin (not origin, because Romanian characters are rarely anything good to identify with). Or sex. Or aspirations? But I’m telling you about the things that made me follow the current carreer path. 10 years later, my ideal engineer was not O’Brien, but LaForge. I read Dumas and enjoyed it a lot more than others. When I wanted to write, I wanted to write like Dumas. And let’s talk about music, because my teens and early twenties were all about music.

What’s more empowering than Snap’s „The power”? I recently wondered if the initial „commercial” in Russian can be considered cultural appropriation, and I think it can. Then I love cultural appropriation. „Amerikanskaja firma Tranceptor Technology pristupila k proizvodstvu computrov «Personalny Sputnik»” sends chills down my spine and makes me want to jump on the dancefloor. Favorite artist throughout the 90s? Tupac Shakur - so much so that in ‘99 I was presenting a summary of the 7days theory in my English classroom, basically I was presenting a theory similar to that of „Elvis faked his death”. I learnt English from Tupac’s lyrics. I felt empowered by his words. He’s my rougher edge. My teens are filled with Tupac, Dr. Dre or Snoop Dogg.

The first „original” album I ever bought was Neneh Cherry’s Man (I discussed piracy many times in the past 10 years, but if you want to discuss piracy, I’m open, @me on twitter). It’s a long and complicated story about Neneh Cherry’s album, and I feel it’s not the place and time to discuss it, but that moment was very important to me, as it opened me to a new musical genre and to some ideas I wasn’t really aware of.

Anyway, the point is that the things that I consider essential to me and to my education… I never felt represented in them. And since the past days offered me the chance to actually reflect on this, I don’t think that being represented would’ve improved things.

I don’t think a white LaForge would’ve made things different. I don’t think a white Prince would’ve made things different. And I think that a white Tupac doesn’t make sense at all. A Neneh Cherry being a man wouldn’t have helped either. You can like something without being represented. You can get inspiration from something even if it’s unlike you, maybe even more so. You learn more from things that are not like you.

How does the fact that I’m not represented in some things I really enjoy and consider formative make me feel?

I couldn’t give a rat’s ass, the same way nobody gave a damn in my formative years if I’m represented in the culture I consume or the field I’m trying to break into. And that’s the best and healthiest attitude.

Let’s talk about privilege

First of all, read this with the caveat that personal example is not proof nor reason enough. Now, let’s. I hear I have a lot of privileges because I’m white, working in IT, and I’m a man. Being white in a predominantly white country is no priviledge, let me tell you this much. The fact that I chose IT as a career actually made me be shunned for my choices - being labeled as nerd and avoided in social interactions. The specialization I followed at the university level had generally fewer female students and it was thus less popular for people in my generation. Fewer women meant less fun, fewer parties, and generally a boring, unrewarding University experience, as it also didn’t feel at all like it’s a money-maker. The exams to enter the university were hard, bot I had no extra points for sex, color of skin or sexual orientation. They were some math problems, and they were quite hard - there was no pittance based on anything else but the results of that exam.

It was an exam I wasn’t confident I would pass, so I had to seek employment. In the summer before I had to take this exam I worked at a net cafe doing all sort of menial jobs, and I had to take a few days off to actually be able to take the exam. I couldn’t afford a computer, job or no job. The only computer I owned was a ZX80-based computer bought at great expense somewhere in my early teens.

During the faculty I had to seek employment again. The first salary as a network administrator at the university I was also following afforded me a quarter of the price of a pizza at a restaurant near the University. Up until the second year of university I didn’t own a PC - all my computer-science work has been done on paper. And I can go on about this.

I was born in a communist society, and I know how committees that want to control the minds of people fail. I experienced that first-hand. I experienced what it’s like to be hunted down for thinking the wrong thing, or the right thing in the wrong place, or for asking the wrong questions, or for asking the right questions. I know how important freedom of speech is. I appreciate the value of conversation, and of expressing one’s mind. I can accept the fact that I’m privileged enough to survive a society that shuts you down, that fears the truth and hates you for speaking it. I, therefore, speak my mind even at the expense of other people’s comfort and I encourage others to do the same. That’s why in this post I want to emphasize that even if I think some people do some things wrong, it’s their right and privilege to do it. I would only beg that they would re-analyze and perhaps re-consider their position.

How important is representation in C++?

Back to our sheep (a Romanian saying). C++, the language, is agnostic of a myriad of social issues. It is culturally insensitive - it’s English-language centric, but it’s so culturally insensitive that the restricted English idioms it imports are difficult to master even for a native English speaker. C++ is closer to mathematics than it is to English literature, and the same can be said about a lot of other programming languages. This is why, in many ways, computer code is an equalizer. In the wise words of Mr. Torvalds, „show me the code” should speak louder than anything else when it comes to technical stuff.

But obviously, C++ is not just a language, it is surrounded by a community as well. It can be welcoming or harsh, and I’m glad that there are people who are building friendly communities. I can see why sometimes I might want to ask someone a question about the language and expect an answer that is friendly enough.

And I expect people in a community to be treated equally, as long as they understand their own technical ability. That means that I wouldn’t expect to see discussions on the subtleties of the C++ standard on template metaprogramming coming from a person who barely knows to write a for loop. Sex, gender, race have nothing to do with the language, and from my point of view they shouldn’t be an issue.

Same goes for the crowd that speaks at conferences. I never cared for anyone’s race, country of origin, employment, only for the knowledge they shared. Conferences are either valuable to me or they are not. I can find value in a lecture on the basics of programming, as well as more difficult topics. For me, this is how science is supposed to work. We discuss content, not race, skin color, or the sex of the person putting an idea on the table.

And, most importantly, I don’t think that a certain color of the skin, a certain sex, religion or sexual orientation brings anything valuable to the table. A certain set of experiences, sure. You can tell me how you managed to teach underprivileged children from a remote location C++, and I could apply this when working with people coming from similar communities.

But the wave of inclusivity for the numbers’ sake sickens me.

It sickens me because we can never know if some content is valuable on its own, or because it’s presented by a woman, an indian, a black person, a chinese person, a gay person. And that takes away from the merits of people who are those underrepresented categories, that did make it at a high level and deliver valuable content.

Read it again, because it’s a lot to take in.

The impostor syndrome

Have you ever wondered if you’re an impostor? If you’re promoted to a place where you don’t deserve, a position you’re not qualified enough for? Have you ever questioned your position? The trust people place in you? I think we all have at one point of time.

And that answer is quite different if you have been hired as a „diversity hire”, or you’ve been tested fairly and equally. You’ll look back ten years from now over your first conference where you spoke - and you’ll always wonder if you were accepted there because of your genitals. Or your sexual preferences or your social weirdness. And that is a scary thought to fight once you’re on top. Because you cannot ever reply to someone who tells you that you were brought there because you’re a woman, not because you’re good. Because you decided to transition, not because you love to create C++ programs. Or because of your race.

You want to be the token black person there? The token trans? The token woman? Do you want to be the woman or the expert? Because that changes a bit how you view the forced inclusivity that now seems to permeate the technical field.

So you’re anti-inclusivity, then?

No, you’re not reading this right. Let me explain again: the technical field, at its core, in its vanilla form, is inclusive by default. There is no basis for non-inclusivity in the technical fields, no philosophical argument against inclusivity. That means that forced inclusivity just disturbs this natural tendency.

I heard about women-only conferences, but never about men-exclusive conferences. I heard about programs like sheplusplus, deeply discriminatory by design. Just because it’s a discrimination you like it doesn’t make it less of a discrimination. We can discuss a lot about positive discrimination, its effects and how it changes society. I agree that it can be good. But activism usually undermines professionalism, and excessive activism creates a whole set of different problems.

So I’m for inclusivity. But I don’t need faulty philosophy at a C++ conference.

Back to our sheep

I love confusing you with those sheep. Now, as I said, I was watching the inclusivity and diversity panel at the Meeting C++ conference. Now, I don’t question the legitimacy of such a panel. It can be useful. Reportedly, even big tech firms have primitive and discriminatory hiring practices. If such panels solve real problems, more power to them. But that wasn’t the case for the panel in question. That panel reminded me of the eagerness and obliviousness of party aparatchiks.

The discussion had no real impact whatsoever. I think there were a few reasonable points as well, but generally speaking, it was a conference that I can evaluate at about 2 facepalms/minute due to the ignorant, clueless and self-patting on the backs as well as the confused babbling in topics that were way over the panel member’s heads.

I don’t think that inclusivity and diversity are topics that shouldn’t be approached. But the fact that some people are part of „diverse backgrounds” doesn’t make the panel members qualified to actually discuss inclusivity. From the primitive approach of „diversity is enumerating how many people have vagina on-stage” of the organizer to the „the C++ conferences are only for angry white men” shouted out by a privileged white woman, there are very few things to learn from this panel. I’d name here the input from Basit Ayantunde and Gabriel Dos Reis. Basit suggested that he wanted his opinion to be judged on its merits rather than the color of his skin, and Mr. Dos Reis accounted his experience with his current employer, where he rightfully asked to be there not as „the token black guy” but for his input and contribution. These are absolutely valid points which actually go counter to the movement of diversity and inclusivity, since forced diversity and inclusivity means that Mr. Dos Reis would be there to fulfill a quota, and Mr. Ayantunde’s opinion is not necessary as valuable as his skin color if there is a scarcity of people of color in a firm.

And these things were not discussed properly. Instead, we understood that diversity and inclusivity should make you feel at work the same way you feel at a supermarket (which, apparently, is good), and that some people don’t feel good if they don’t see people like them in a project they work on.

And this is where the talk about privilege comes in. For most people, work is not necessarily pleasant. Sure, pleasant work is a good thing, but work is something done out of necessity - life is what happens outside of work. The panel, however, viewed work as the lifetime destination. Nobody owes you an environment where you feel like at the supermarket, I’m sorry to tell them that. Anyway, I have a striking feeling that sometimes the panel members don’t know what is private life and what is work, and they get all that confused.1

In a similar context, one of the speakers suggested that she contributed to building the #include <C++> community because if there wasn’t a community around it she would’ve switched the technology. That is one privilege she wasn’t aware of, and a powerful privilege that most of us do not have.

But you be the judge of that panel. If you see more than some people patting themselves on the back or adding checkmarks to their corporate CV, you’re more understanding than me. The only thing that that panel brought was this thought:

I never felt represented in the C++ conferences…

Back to our sheep. My point was that there is no need to feel represented in a C++ conference, unless your goal is to be a speaker in the C++ conferences. And if the #include <C++>’s goal is to make potential speakers in the C++ conference feel more welcome, then perhaps they should say that, and make it #speak_at_c++_conferences instead. Knowledge is universal, and by accepting in your life the cultural juggernaut that is the English language, the knowledge is also accessible.

Another point I want to make is that perhaps if I saw people like me at the conference I would probably challenge them the way I challenged the diversity panel. It’s notoriously easier to challenge people who are like you, because you feel like you’re their equal, intellectually or otherwise.

That’s why when a Romanian speaker like Andrei Alexandrescu takes the stage, I’m glad I don’t feel represented. I can learn from him and from his presentation. Not feeling represented helps me to process much easier the information that Andrei brings to the table.

The only thing that you can learn from people who are like you is to continue to make the same mistakes you, as a group, do. Learning means being confronted with people who are not like you, who think things differently. That is the real diversity, not in people being „like you”, but being „unlike you”. And because we’re talking about a technical topic, we’re talking about people who understand technology better or different from you, regardless their age, sex, race, and so on.

Conclusion

But, of course, there is one question still remaining, a question that obsessed me for the past days. Why, really, don’t I feel represented in the speakers? Most are white men, like me, and although I never thought to identify myself as a „white man” (I don’t know what this identity would mean), the diversity theory says that I should identify with those people. I don’t.

I don’t identify with Romanian speakers either. Andrei is a demi-god of C++, one doesn’t identify with demi-gods. Other Romanian speakers are very unlike me, and I feel quite far away from them. So no, I don’t feel represented, nor do I identify with the people on the stage. As a matter of fact, I think it was easier to feel represented by Kate Gregory (aka „the super-competent woman on my screen”, as my girlfriend names her). So what trickery is this?

I think there’s a trap laid in front of all the computer engineers. Our education is usually quite imbalanced, and we tend to treat social issues like engineering problems. So we were told that we should identify, mathematically, with people who look like us, who are like us, who talk like us, who think like us. And that is a trap that we see reflected in the way social media is built (by, unsurprisingly, technology companies), and the way the whole discussion about diversity and inclusivity is done.

The approach is completely wrong. Blaming „angry white men” is not a solution, there’s no use antagonizing a category of people that in their youth was possibly marginalized by society for their love for technology. There is a simple way to verify if your assumptions are ignorant - replace white with black, and listen to how things sound like.

Sure, there are things to be done, social progress that needs to happen. But just because something happens in the US doesn’t mean things are the same all around the world. That’s just cultural colonialism, and I spoke about this topic on several occasions. But focusing on the higher tier is not enough. I don’t care if there are more women speaking at conferences, I care about why they are avoiding the field at a lower level: why not enough women are interested in being programming grunts, like me.

And social progress is not built on faulty, engineering criteria that don’t care about cultural background. As far as I’m concerned I want to keep the field as inclusive as it is at the core, pure, untainted. I upheld this principle in my entire career, and I held others at the same standard, whenever it was in my power to do so. And I exposed fraud when I saw it. Just like I did now.

Diversity and representation is wrongly approached in IT. In this case, it’s better to do nothing than do the things that are happening now. This is a path towards segregation, sexism, and a sure way to disharmonious work-places. The complete opposite of what these sort of gathering claim they pursue.

Oh, and just to make things clear, I did finally understand why I don’t identify with the people speaking at the conferences. It’s about wealth, about employment opportunities, about mentality and the hyper-competent approaches towards the topic each individual on the stage approaches. They are almost all hyper-competent people who are not afraid to ask themselves „what do they do if they don’t have a job tomorrow”. And that has absolutely nothing to do with their race, sex, religion, or nationality.


  1. Patricia Aas is a repeat offender in this sense, she has a full talk on „deconstructing privilege” at C++ on Sea 2019, where some of her talking points are about aparent abuses in the work place that are most likely intrusions in the private life in social context on the employer’s premises. But that particular talk deserves to be challenged on a phrase by phrase basis, and it’s not the place to do it. ↩︎