What about mine? Should we turn it on somewhere? One one one. I don't know. We can try. What about no? Well, no idea. Well, it's hard to say, but I can, I can, we can assume that it works. I don't know. Okay, then we can say it works. Okay, okay. Perfect. Okay, I mean, let's start. We're out of time. So, hi everyone. Thanks for coming so early. Like it's been incredibly early for me. I'm like, I don't know, I'll try to wake you up if I can, but we'll see how it goes. So, I'm Dimitri and I'm here to talk to you about benchmarking. Now I'm actually curious about how many of you actually have something to do with databases. Yep. And how many of you actually curious about database performance and like, you know, benchmarking stuff, profile and so on? Okay, I see. I've got my audience. That's really cool. Yeah, one note. So, the point is that I know everybody pretty much got like strong opinion about benchmarking and performance. That's why in this talk we'll try to like reduce the scope a little bit. And what we're going to talk about is following. So, usually what happens and what usually I was doing personally is that when you would like to evaluate the performance of your database, like maybe in conjunction with an application or just like, you know, separately within some particular environment, you just pick up some particular workload generation to, you know, like something that runs to PCC or, I don't know, DHE, whatever existed out there.  And then you start this tool, you run, you get some numbers, you're happy, you report those numbers, maybe in some, I don't know, in some reports high up the line, you know, to let other people know what's going on. And then you forget about this. And then maybe after a week or so, you try to reproduce the benchmark.  So, in this situation, it's very unpleasant situation to be in, unfortunately.  It's very embarrassing, but that's why I have learned this stuff. So, usually what happens is that, yeah, you figure out maybe there was some misconfiguration, or maybe there was something that was forgotten, I don't know, cloud infrastructure was behaving strangely. Anyway, you figure this out, if you fix your numbers, you repeat it again, you correct your numbers in the report, and so on, but now, we've got a problem. From now on, from this point on, you do not trust the numbers that you get from the off-the-shelf tooling. So, literally, all those numbers, you start to ask yourself, how can I get more confidence in these results in those reports that I'm getting from those tooling, right? What kind of methods could I use to boost my confidence in this regard? And that is going to be essentially the scope of our talk today. So, we will try to investigate what kind of methods and tooling we get, especially from statistics, to actually get more confidence about what we're doing when we're evaluating performance, especially for databases. So now, before we start, we have to actually establish the mental model. How are we going to think about this problem? I appreciate that everybody is, of course, thinking differently about this problem, and this is just one of the examples, but I find this particular example convenient to use. So, I personally prefer to think about benchmarking and performance evaluation as a problem of evaluating a complex system. So, the database, in this case, is going to be essentially just something that looks like a complex system for us, and we've laid this system on the space, you know, in mathematics, it's called usually a phase space, or in statistics, it's going to be a design space.  So, on this graph, you, for example, see on the slide, you can see an example of like one of those phase trajectories for Lorentz attractor taken from some interesting scientific paper, and you see that it produces a very interesting form here, which you can project on one of the directions, on one of the dimensions, and you get even something, you know, something that looks quite interesting, like something that looks like, I don't know, maybe even some, I don't know, performance metrics you can get from your database, but if you pull them together, they produce a very nice picture in this 3D place, and that's what I'm talking about. Now, the problem is that, unfortunately, it's not so easy, and when we're talking about databases, they're extremely complicated, right? There's going to be a huge amount of various dimensions we're talking about. So, obviously, database parameters, right?  Obviously, we are constrained to a certain degree with hardware resources as well, which means that like amount of available memory or CPU cores and so on, it's also going to be obviously part of our phase space. Now, interestingly enough, the workload itself is also going to be part of our phase space because it's pretty much like intuitively you can get it. So, if you run, for example, one query per minute, you will get pretty much different result when you're going to run like a millions of queries per second or something like this. And now, finally, performance results are actually going to be one part of our model as well. It's something that we're actually going to get out of the system. So, like, for example, query latency is throughput or something like this. Now, what usually happens is that, obviously, there's a lot of dimensions. So, when we benchmark something, we essentially say that we would like almost all of them. We're going to say that they're not interesting for us for something that we're testing. And we evaluate only how the database is performing within some subset of those dimensions. Like, we pick up literally a couple of those, like in this case, we evaluate how Postgres is performing in regards of query latency, shared buffers that we allow for the database to use and queries thread that we apply. And here, so it's not a real data, it's something you can theoretically expect. So, the idea here is that essentially, if you give a Postgres some reasonable amount of shared buffers, not too much, not too few, you're probably going to get best performance. And at the same time, obviously, when you're going to increase query rate, you're going to make everything slower, you're going to take more resources. So, your query latency is probably going to go high. So, that's what it looks like. But now, it's still not a full story, unfortunately. So, the point is that some of those dimensions, I was talking about, they are regular dimensions. They are deterministic, shared buffers. You just set the value and that is how it is. Now, unfortunately, some of those dimensions are non-deterministic. So, like query latency, for example, is not going to be the same over and over, no matter how frequently you run it. So, it's going to be a variety, obviously, which means that here, here's the point where we actually have to use statistics to define those things. We have to model these dimensions as random variables. So, with the corresponding distribution behind, with the corresponding statistics, and so on and so forth. So, that's pretty much it for the model. And to summarize, when we're doing benchmarking, essentially, we are dealing with two factors. When we evaluate performance of a database, we have some already known part we are aware about, like some known details. For example, we know how shared buffers influence the overall performance, and we try to relate those factors in the presence of some unknown factors. Like, for example, we have no idea, let's say, how work mem is affecting database, or there is some noise in the system that we have no idea about. Or, for example, cloud infrastructure is doing something strange, right? So, this duality is very important for benchmarking, and in fact, throughout the whole presentation, throughout the whole slides, I will try to emphasize this, and this duality comes quite close together with another duality, when we're saying that when we benchmark something and we'd like to understand the results, we always have to combine two skills. We have to combine the common skills, general skills, like statistics or something, or experimental designing skills, and we would like to address this unknown part. And, at the same time, we would like to use some particular domain model knowledge, like, for example, Postgres internal knowledge, to extend your known part and to reduce your unknown part. So, you cannot go without another one, you know? So, now, to emphasize this part, we're going to essentially, the rest, part of this talk, the rest slides are going to be divided into two categories. The first, we're going to talk about some Postgres specifics, and the second about, like, the common parts about the unknown things. So, let's talk about how to actually not screw up when you benchmark Postgres.  Any ideas? Any clues? Just chat from the days. I think the latest version was containing about between 300 and 400 parameters or something like this, or, like, these global unified configurables, options. Obviously, not all of them are very important. I don't know, it doesn't really matter how much you're going to configure, how you're going to configure, for example, authentication. But I've put on the slides some, just from top of my hand, some relatively important things you have to be looking at when you would like to evaluate the performance. Interestingly enough, there is a paper from the author TuneFox. You've probably heard about them there, trying to apply machine learning algorithms to tune the databases, like MySQL, Postgres, and so on. And in their recent paper, they have actually mentioned that the win performance when they can get from machine learning algorithms, the biggest chunk of it could be actually acquired by configuring only two knobs. And I have put them at the top of the list of shared buffers and max wall size. So that's essentially the most important or, like, the biggest chunk of the performance win you can get just by configuring those two things. But, obviously, the rest are still important, workman, checkpoint, or all the flash after parameters. They are sort of important to fine tune your database.  Unfortunately, there's always this sweet spot you have to achieve, and it's hard to find it out, unfortunately. Now, the tricky part is that Postgres relies quite a lot on the operating system, Linux, or whatever you run it. And the problem is that if you would like to really get the best performance, you cannot get away without configuring the operating system as well. So if you're talking about Linux, for example, most of the time, when, like, everything what has to do with file system cache, for example, or IO, it's obviously something that you have to look at. So, like, for example, yeah, you cannot get away, yeah, you cannot forget, like, huge pages anymore on the big servers. You have to configure probably a dirty amount of, like, how the file system cache flashing is working and so on. And obviously, like, IO scheduler and so on, it's always interesting to experiment with. Now, another important part, quite frequently, it happens that people are essentially ignoring the noise in the system. So they're saying, yeah, it's my real system, the system and so on and so forth. I strongly disagree with this point, and I always suggest when you benchmark something, try to reduce the noise as much as possible, obviously, because even in the real system, you would not like to get your performance for a quite a lot. So where the noise is coming from? Unfortunately, the answer to this question lies quite significantly, it depends on the workload you're using. So, for example, if you're doing some CPU-bounded load, most likely you have to thinking about, for example, the meaning of the CPU or NUMA cores, so like, you know, to minimize the context which is and so on.   So the different scale of things start to play role, and for example, you have to think about the file system you're using. So, for example, most likely you would like to run your benchmark with already pre-created wall segments because creation of the files, including wall segments, is actually an annoyingly slow operation just because of this like journaling and the file system and so on and so forth. And obviously, like, you have to configure your NVMe device, it should not be trimming while you're doing something and so on. And the last part, probably the most nasty one is about cloud infrastructure. Whether we like it or not, unfortunately, most of the benchmarking that we're doing nowadays is happening in a cloud infrastructure which means that we have to always think about keeping mind noise in neighbors and as much as possible try to isolate our environment. And at the same time, we also need to understand virtualized infrastructure quirks. So, for example, when, for example, hypervisor stops you or something like this, unfortunately, it's not always possible to configure these things, but at least you need to be aware about them. Now, one interesting thing is that people also have been asking about, especially those folks who used to do performance evaluation for stateless applications before, is that how long should you run benchmark, actually? So, the question is very... Well, it depends quite a lot because it depends on what kind of effects you would like to capture in your benchmark. For example, such important things as auto vacuum that I put on the slide. If you would like to capture it for the real database, you have to configure it and you have to wait long enough. So, sometimes it depends. Sometimes, for example, there are advisers for one day or something. So, of course, it depends. It should not be always such an extreme, but at least you need to understand what kind of factors in your Postgres database are capturing, whether it's a checkpoint or auto vacuum and such. Now, we're starting to go to fun stuff. So, one sometimes forgotten thing is the workload generator plays quite important role as well. So, the point is that people not always think about this, but workload generator could be a bottleneck and, for example, PgBench has its own history, unfortunately, of being, you know, a little bit slow than necessary. For example, the very first example I was showing before with two different results, that was actually obtained simply by running PgBench, but the second version was recording latencies for every query. So, even this operation, relatively fast operation, was enough to actually slow down like real throughput numbers from the database. But that's only part of the story. There is something more. So, the point is that usually when we think about benchmarking or like when we're thinking about the real workload, what happens is that queries that we receive for the database are relatively independent from the database responses. So, they're just arriving at some certain rate and departing at some certain rate. Now, in a queuing theory, there is such thinness, open and closed system, maybe if you've heard about this already, and they're quite different in behavior how they behave, and the real system is usually open system or open-ish system. The problem is that usually when we run some workload generator like PgBench or something similar, we're usually simulating a closed system, unfortunately. Because what happens is that the generator fires a query, it waits for the response, and then fires another one. So, what happens is that we have a fixed amount of queries on the fly. And this is essentially by definition a closed system, and the problem is the difference is that, for example, you'll get quite different latencies based on such difference between closed systems. The tricky part here is, unfortunately, almost all of the workload generators that I know, they always simulate closed system and do not allow you to configure this except a bench base. I have seen that they allow you to do a Poisson distribution for queries, so it's essentially going to be an open system. Now we're done with the first part, with the particulars, and now let's go to some unknown details. How to actually use statistics to find some factors you have no idea about. Now the first thing I wanted to mention is that actually the problem is not new, and industry have faced this problem already in many different ways in the last century. So, you see, for example, here I reference an article from a student from more than 100 years ago, when essentially what he wrote is that, yeah, like all the benchmarking, of course, experimentation matters as much as you only get some value out of it if you understand the statistical distributions behind it. And essentially this is a paper when that, for example, a famous student T-test was introduced. So, you see, the problem is being tackled already for quite a long time. Now the problem is, well, okay, it's not a problem, I'm going to continue here, so what does it mean? So this is essentially the whole statistics I'm going to show you, well, most of the statistics I'm going to show in the slides, and this is what you usually see when you, like, read some performance reports or something, so usually people just operate with those terms without thinking about them too much, but what happens is that essentially we're saying, yeah, okay, our values are random variables with certain populations behind them, and those populations have some parameters, like, I don't know, mean values, deviations, so on, and then with benchmark we sample those populations, we acquire some amount of observations, this observation in turn has some statistics, like averages, standard deviations, and so on, and based on these numbers we essentially could get some confidence, well, assurance for our data, so we could, for example, if we compare two different datasets, we could use a t-test to verify how different are they or not, or we, for example, as the second one we could build a confidence interval for our data, how confident are we that the real value of this population lies within what we have observed? Now, you don't have to remember, obviously, those formulas, they pretty much exist in any single data processing software you use, so, yeah, you don't have to worry about that, but that is probably a part of the problem, because you can easily misuse them, unfortunately, if you do not really know, or if you apply, for example, them in the context when it's not really suitable, let's say, this way, so I'm going to explain. Unfortunately, all those methods were actually developed for the situations where people were doing some experimentation on natural science, like, you know, chemistry, biology, physics, whatever, and usually they are distributed normally, they're unfortunately, so there is a significant assumption behind all those two linear was shown before, so there are two assumptions, one is normality distribution, and another one is what is called independent identically distributed variables, so essentially it says that there are a lot of small details that contributes to the noise, but they essentially contribute both in an equal way, and on this graph I'm showing you a probability distribution, this bell curve, the blue one, what the distribution looks like. Now, in computer science we have a big problem. In computer science almost everything that we're going to test is not normally distributed, unfortunately, so you see this red line, that's essentially how it looks like normally, and the problem is that it's heavily skewed, so there are quite a huge tails usually, and you see there is a significant skew to the right and intuitively you can even understand why is it happening, so the thing is that in the queue in the computer system everything is a queue essentially, this line you can get, the best case, and then whenever the queue is getting congested or something that you are getting slowed down and essentially it means that we can get only slower usually, that's why we have this skew, a significant skew, and things could just not be suddenly magically faster. Now, this problem means that for us that unfortunately we could not use or we are not theoretically allowed to use all those methods or all those tooling I was showing before, which is quite unfortunate. Now probably a little bit controversial topic, but although you may hurt in like, you know, there are a lot of advices or like things that people are saying, yeah, do not use those things for non-normal distributions and so on, there is a trick. I have put a couple of references on the slide so that like I'm not going to pull this controversial topic out of myself, there is some research behind this, but the point is that you can actually try to say I'm not going to use a normality distribution, but I'm like normality assumption, but I'm going to use a normal distribution. Now you shift your questions toward the question how good is the approximation and so on, but nevertheless you can at least try to use those methods anyway, and you still can get some reasonable results. So for example in the first reference you can get there is authors are showing some interesting data about how various statistics are actually how much they are robust or not robust or normality, and to show you that it's not like a thing that you can find in the field. So the second one is about, for example, a project or hunter when thoughts are essentially trying to do performance analysis for the ACI and they are searching for change points, and they have explicitly modified the algorithm to actually use a TSTAT T test, student T test, because it was more robust in their guest and they were just like fine with it, so it was working for them. And the same is for example for click house, so they have in their benchmarking it's not like it's not like it's completely you should not do this ever, ever, ever on this one, it's just something you have to keep in mind and sometimes you can try it out but you have to be aware that it's not always have to be working. Now again to show you that it's a very practical matter, you can extremely easily end up with a situation when your probability distribution is not normal. So here is on the slide I can show I am showing you the probability distribution of the latency for one benchmark I was doing literally on my laptop and the thing is that the amount of memory for Postgres was quite limited there, so for file system cache and for Postgres itself, and you see that we see here two spikes for latencies. It means that one was essentially when we were satisfying our queries from the file system cache or for database from shared buffers, and another one is when memory was not enough to read something from the disk. So that's why we see quite a significant difference between those two spikes and you see it's completely not normal it's even worse than that, it's a B model so if you would like to get some like averages or medians you will not get reasonable results whatsoever and the usual advice like repeat your results repeat your runs and then try to find the converging consequence it's not going to work here at all. Now to prove that it's actually coming from the IEO it's actually important to verify your benchmark so I'm showing this in one slide, there is a difference about like 150 microseconds between those two spikes and you can for example verify it with DPF trace, there is this tool for IEO latencies and sure enough when we take those distributions we see that most of the distributions are actually lying within this window we're looking for so that's indeed an IEO effect and this is a situation when we have a slow path versus a fast path, that's actually quite frequent in a computer science now I've told you that you are not allowed to use normal tools so what should you do when you have this situation, this type of situations well fortunately to a certain degree things are still straight forward and you just have to replace not necessarily one to one but you have to use different tools so things already of course they have been investigated for quite a while and it's not the first time when people are you know facing this type of problems and again fortunately for us although they are more complicated than usually there are things that exist out there and again pretty much every single data processing a framework sci-pi are whatever that you could use to actually do the very same things as I was shown before but for non-normal distributions so for example you can replace in averages with just a median because it's a little bit more robust and non-normality it's still not going to work for a B model but it's a little bit better you have to probably stop thinking about like standard deviations and you probably think about quantiles and if you have seen for example an industry we're always talking about percentiles and quantiles and actually that's a part of the story we're always interested in the outliers or not necessarily outliers but like what is the 99 percentile of the whole value because we're curious about the different like variance of our data if you would like for example to figure out the outliers you have to start thinking about using inter-quantile range because that's essentially the best tool you can get for non-normal distributions and the things like for example student t-test you could replace with something like Man-Witney test which is a little bit more complicated so that's why I'm posting here a sci-pi functions for it but the idea is the same you get two data series and then you compare them but then you're assuming that like you're doing this non-parametric test so it's going to be finer that data is non-normally distributed now a couple more details one interesting question that pops up every now and then again about statistic is how much data do I need to collect actually how many runs do I need to do for my data and unfortunately it's hard to answer in general case but here I'm quoting for you some interesting article about this topic when folks were investigating how much noise do they get from the cloud infrastructure it was not able to do something different but nevertheless that's like a pure hardware noise and this variable e with this a lot of numbers there essentially that says how much runs do we need to get you need to perform to get within a 95 confidence interval so that the value lies within 1% of the average value so it's like essentially in the normal English it says that your confidence is good enough and for the coefficient variance of 0.3 so like the variance of the data was very slow it was a cpu-bounded benchmark they were saying yeah okay 10 runs is enough for us so 10 runs is nothing but you know you can get like a millions of this and it means that essentially for a stable enough data you're fine if you'll just get a little bit you know efforts and run something 10 times now when they were running something with a coefficient variance of 9% they already had to run 240 benchmarks and I think this was the case when they were even getting something against they were testing some IO workloads with IO against like the devices they were using there and there they were even they even had to run 640 or something so along these lines so those are ballpark numbers you can expect when answering these questions obviously as I mentioned before it's very much depends on your particular situation but at least this is your expectations what you can see from your benchmarks and now another very interesting question is about like and this is actually partially an inspiration for this whole talk because Mark Alagon was asking this question once like from the statistical perspective what does it make sense to run several shorter benchmarks or one longer benchmark so is there any difference so obviously at least I'm still convinced that most of the time especially when you're talking about databases those are two different cases you cannot really compare them but from the queuing theory there's a very interesting thing that you can take a look at where essentially we're saying that when you run a longer benchmark and we run several shorter benchmarks it's going to be equivalent if we assume that our system is ergodic in this case ergodic essentially means that history is repeating itself at some point so when for example we have a queue and then the results of this queue at some point are essentially start to repeat itself and intuitively you can get that yeah it makes sense because yeah you can essentially at some point just start to discard your history and then obviously it doesn't really matter if you run shorter benchmark or longer benchmark but yeah so it's an interesting result you may essentially replace one with another one but at the same time yeah again it depends very much on your situation and the last but not least things I've mentioned a lot of details about how to reduce noise and how to fight with this using against various statistical approaches and so on but still sometimes there's just noise you have to live with unfortunately or for example auto correlations you cannot get rid of and something that you just not in your control and in this case it does not happen that quite frequently but some people are doing this but you could try to use a randomized testing the idea is essentially that you have for example two setups to database setups you would like to test with and then you do not test them like one and then another one but you send queries to one and another one randomly at the same time so for example click house folks they even go to a little bit more they go to a little bit more higher degree for example they even run both database on the same virtual machine when they are doing this but essentially randomized part is you just have to switch queries every now and then and the point is that via this you're introducing some normal distribution that is going to essentially spread this noise normally across two different tests that you're performing and overall the noise is going to contribute the same amount of influence on the benchmark and now final thoughts a couple of takeaways for you folks to remember probably the most important one is I would like to remember is that benchmarking is not so dry and you know about numbers and statistics benchmarking is exploring it's extreme fun actually and every time when you evaluate something you learn something literally that's really cool and this idea about known versus unknown and common versus particular is actually very important because you cannot get away doing evaluation only knowing all the statistics but without knowing the details of the posgras for example and the same time other way around if you know all the things about the posgras and journals but have no clear about statistics unfortunately and the last thing I have not mentioned explicitly but you could see this throughout the slides is that statistics is very important as a language so if you use those primitives and those tools you can always ideally you can always convey the idea of what have you found actually in a more concise manner and so that everybody can understand you so that's pretty much it I hope you have some amount of questions I guess we have a couple of minutes so yeah any questions yeah please I can actually recommend in this regard that I have a reference somewhere here I think with the moment where was it yeah this one this is a talk down there well it's a paper and talk as well from HPC folks and they're doing more fancy stuff exactly for networking there because networking for HPC is always important to distribute work log and so on so check this out that's definitely interesting okay I get it just too early in the morning so probably you're just asleep so yeah thanks nevertheless and yeah have a nice day okay so hi everyone and thank you for being here my name is Marav Dean and this is my colleague Gometi Anandan and we're going to talk today about women leadership cohort so before we start a quick question to the audience how many of you have been part of or are still part of the cohort that is like a group of people that support each other in to achieve a certain goal okay so I think this talk is going to be very beneficial for most of you we're going to give a brief background and tell you how this cohort was formed we're going to talk about the benefit of the cohort we're going to give you the secret ingredient of how to form such a successful cohort and there's a key takeaway one key takeaway okay so I would hold start we have we all work in red hat and we have senior leader Perry Myers who we're very lucky to have him on the crowd today back to him afterwards and Perry has in his group two wonderful well accomplished women leaders that's Gometi and Kate and Perry was also mentoring me so I'm from a different org and then we had a great idea so we knew all of us and in your background and we knew we were all at the next level of management so he figured why don't I connect the dots and let them know each other and this is basically how our cohort has started this cohort is working extremely well so just to give you an understanding of what does it mean so we meet once a month and in this during these discussions we bring up to the table very important topics I listed a few here just to give you the feeling of it so one example is to inspire ideas that were previously discounted as too ambitious so as women we sometimes tend to not to aim high but rather to aim low and this is a place where you kind of took these targets and break them down to something more achievable doable another important topic is that we kind of advise each other because one of the hardest topic is how to be a mom and have a career at the same time how do we manage that we advise each other we have the ability to expand the network via this cohort so for example Gomathie here is mentoring one of the associate managers in my org and I thought it was a good match because they're both trying to doing the same path in their career before they become a manager and of course we require variety of perspective and learning opportunities so in short this cohort is extremely why because in the first place none of us really looked for help or support to tell you the truth who are very good at where we were we know our job we're very professional we're good at what we do and still this cohort added something that wasn't there before so we kind of tried to this talk reverse engineer to try to understand what makes it so good what added value does it give us and it was kind of surprising to profoundly understand this what basically lies underneath that is that this cohort helps us to address gender related challenges together and in order not to leave you in this very high level statement we're going to give you some down to earth examples three good concrete examples and I'm going to hand it over to Gomathie let's go into examples let me ask you a question first how many of you here have felt like self-doubt you think that you do not have the abilities to do the job that you are doing there you go guess what I'm part of that group as well and that feeling has a name it's called imposter syndrome and it is basically you being insecure of your abilities that make you feel that you don't deserve to be in the role that you are in even though you have all the qualities to be in the role and perform really well there was a poll conducted by one poll which basically surveyed 4000 adults two-thirds of the adults said two-thirds of women in that group said that they really feel truly confident about their abilities and always had some sort of self-doubt and the self-doubt most often arose in workplace settings so imposter syndrome workplace settings it goes very well together how does this cohort help me address this imposter syndrome basically they provided the support that I need because I was able to trust Kate and Mirav and it helped me strengthen my self-esteem during the meetings we meet once a month as Mirav mentioned earlier and during the meetings we talk about our insecurities we highlight each other's abilities quote examples hey by the way you did that that's awesome you know how much that means when you are feeling self-doubt someone whom you think are really well established and talented state that to you in a personalized setting that makes a world of difference and I hope you are able to have a group similar to what we have together to address your insecurities as well let's go to a different example women also women tend to shy away from self-advocacy and personal brand ring I'm going to quote another study here you have to bear with me you're going to get a lot of numbers now Harvard Business School did a research where they studied 4,000 working adults and 10,000 school-aged youth in that study they found out that 62% that's more or less two-thirds of the women who women and girls that they studied felt like they always rated themselves and their abilities far less favorably than the male men and boys in that group the researchers were surprised by their finding so they did more research and they found out that these insecurities are the way people rate or women and girls rate themselves less favorably started at a very young age as young as being in sixth grade so that is a huge problem they started having these self-doubt and inability to rate ourselves for what we are worth so they did more research and they found out that the way they rate themselves less favorably stems from the fact that women and girls think that they have their skills and abilities are far less than their counterparts men and boys so they wanted to we wanted to talk about this when we were having one of our discussions we talked about how we don't promote ourselves how we don't empower ourselves and do what we wanted to do so I'll give you a specific example when we started talking in the first few months Mirab here got promoted to a senior manager we both were so happy for her we talked about her journey on how she got to being a senior manager and at that point I shared with Kate and Mirab that I feel I hold myself back sometimes because when it comes to my career development and progression because I feel that people might see me being aggressive when I warrant or talk for myself and I didn't want to be seemed aggressive and immediately after I shared that they both crushed those insecurities for me again I wouldn't have shared these of course I shared with my family and friends but sharing with someone who is in a similar role as you in a workplace makes a huge difference right so what happened after that we talked a little bit more about what we wanted to do in our career and beyond and at the end of the meeting Kate and I came back came out of the meeting with a concrete plan of what we want to do how we want to initiate these discussions with our respective manager for the next level in our careers and we also set a timeline for that before we meet the next time we will have this discussion with our respective managers you know what happens is the specificity gets lost sometimes when you talk to friends you need to talk to your manager your friends encourage you, your family encourages you but you don't get the specific timelines so you don't stick to it the difference here is as all very very talented managers we write down plenty of notes we capture the notes and we assign action items in the document so we both had an action in the document that was assigned to us which said we talked to our respective managers about our career progression the next level to come up with a plan for it not to say I want to get promoted but to come up with a plan for it because that's the first step about personal branding that's another example I'm going to talk about so we talk about personal branding and branding in general so I think the discussion started like somebody doesn't know me in the different org and I was telling I normally do this and I figured if I take some tasks which is not related to my role in my day-to-day responsibilities for instance when I joined this group the new group that I am it's not new really I've been there more than two years now I started running a program a reward zone program where basically we distribute rewards for associates to recognize the work that they've done in that specific quarter and I said I normally take these kinds of additional tasks or responsibilities just to put my name out there I've learned that when people know your name they tend to connect better the next time you reach out to them for anything doesn't necessarily have to be a favor but it makes the conversation it makes the relationship much better when you reach out to someone and they already know your name in their head the connection goes on oh this is Gometi I've talked to her I've seen an email from her and then they are much more open to responding to you at least that's how I feel so I figured someone else would feel that way too so I shared that with Mira and Kate and they thought it was a great idea and they said they would look for other opportunities that's our way of promoting our self-brand as I said build confidence practice self-empowerment it the next minute women tend to not have strong networks I kind of learned something new I'll show you a visual I hope everyone can see this well I did not know this statistic before I started preparing for this presentation this is a LinkedIn research and based on this research they say that women tend to have 14 to 38 percent less of a stronger network than men around the world so it's not one country it's not one geography everywhere all around the world women tend to have a weaker network than men so why is networking so important? social networks are critical to professional advancement so let's talk about specific needs because they're different apparently again I did not know that when it comes to creating a network or using your network to your benefit men need centrality what does that mean? centrality means you have a lot of contacts you have huge network and those contacts in your network will help you create more networking contacts so you have a huge network women also need centrality but women also need an extra additional thing which is an inner circle they need a trusted inner circle to help empower them support them and give the little boost that they need to reach out there to their central networks and help them enhance and leverage those networks for their professional development we talked about inner circle it's my cohort hopefully you all have and if you don't create your own inner circles as well to bring those build those stronger networks I'm going to give you an example about this and about networking how it helped us I'm going to call out another person in our audience now so we were talking in our discussions again we were talking about our networks and how we know other people within red hat in different groups and I think Mirab had that idea of we should bring in one of the senior leaders women leaders to our group so we can raise these questions and get their perspective and Mirab said we should bring Karen I know Karen she'll be happy to come to talk to us and Karen did come to talk to us and it was a very useful session because she happens to be in the crowd and she has a lot of questions I think confirms some of our beliefs helped boost our confidence did everything that we thought she would and did a little bit more and after Karen left we all got together and said that was really good that was really useful maybe we should try think about someone else and then Kate said oh I know someone else from a different business unit so I'll reach out to her and we'll have her on our meeting next time we'll have her from a different business unit point of view again we wouldn't have reached I personally wouldn't have reached out to Karen to talk to her raise my questions share my thoughts if not for this network what else? another visual one of my favorite one so yesterday in our social event I explained this to someone I was talking to someone whom I never talked to what is your talk about I was like oh it's about women leadership and he's like I really don't understand I think in 2023 everybody has equal opportunities what is that we are talking about here it seems like two backwards that we are talking still talking about women need additional opportunities and so on and so forth so I told him the difference is equality and equity what is equality is giving equal opportunities the same opportunities to everyone that's equality what's equity equity is giving the opportunities that people need addressing those gaps along with those opportunities so that whoever is not having the enough opportunity to whoever has those gaps those gaps are addressed and eventually everybody is equal so when there is equal opportunity there are those opportunities as well I hope those examples were helpful I'm going to hand it back to Maral okay so I hope that at this point you are all convinced that having a cohort is an extremely beneficial thing for you all some of you are asking yourselves okay so let's say I want to start one what does it take so we wrote some criteria but please take it with a grain of salt because this is based on our own experience we tested in lab or in research or anything basically we think three conditions should be met the first one is that all the members should have some sort of a common ground that could be a similar place, a position at work that want to go to the next one similar to what we have could be around a specific goal so for example a group of people can form a cohort so that they can stand here next year and do a talk and tell to stand here so that's the first criteria the second one is that the group has to be small we think three to five that should be the optimal number and the reason is two-fold at first some intimate things are being shared in these discussions so it's very hard to do it in front of a very large audience so it needs to be small and on the other hand it also gives everyone sufficient time to talk and express themselves last but not least is of course the technical stuff you need to have easy means to communicate time zone or any other elements of communication okay so almost last slide the key takeaway the key takeaway that we ask you to take from this talk, remember Perry from the beginning so we ask you to kind of be Perry in the sense of do a similar Perry played a crucial role in forming this cohort so this is kind of a call out to all leaders to try and connect others into similar cohorts because we believe it's going to be extremely extremely beneficial to them as it is to us that's it, thank you yes fantastic question, I'm just going to repeat it for the recording so we have a question how about having a man into the cohort not necessarily be a part of the cohort but someone that you can ask questions to extend the network and get his perspective and get to know us so that is a fantastic idea and yes, the plan is I guess to have some men I don't think that a man can be a part of the cohort because then something gets lost, there's a certain thing of being a woman with women maybe there could be another different cohort there's men and women, that's a good idea yeah, I think I have a little bit more to add so as you say, we have plans to reach out to other senior leaders who are not women and bring him a different pronoun to our group it doesn't matter who it is all we want is to learn from others it could be men, it could be women it could be any marginalized group that's our goal what I want to add is the common ground that we had is that we are women so obviously you could form a group which you have a common ground so it could be men and two women or someone else and they can form a cohort the key is they have some common ground some common criteria that they are working towards because I think for us that's what made this more successful if you want to answer his question okay, go ahead yes, of course hi, I don't know what's up you're talking about you might want to have a men's perspective we work in a very man-dominant field we always get the men's perspective so when we find women it's not like every woman has the same perspective I have my perspective when we talk we totally agree with each other we're very different and I do agree that yes we can have cohorts with men too definitely, we want that we want that communication, we want that network but we already have it we have the men I work with a majority of men we are like a few women in our team and we're trying to build all that right we don't need more I would say we have that support from a fellow woman in our team in our workspace and I totally agree with you I totally agree that it is important but it's missing the point it's missing the point to this talk in my opinion I appreciate working with these females and I appreciate working with all the men in my team and I mean without the man this wouldn't even exist so the man is already there so thank you Perry I think that's kind of my sum up to my answer this is really awkward go ahead I have a couple of okay okay I saw a few hands go ahead please alright so I don't think there's a question there's just a statement that you made I'm going to repeat what she said okay it doesn't have to be it just occurred to be that our group formed the way it formed she's a senior manager we both are managers so it doesn't matter it doesn't have to be similar levels or anything like that alright go ahead so the question is you work as an engineer and you don't have a lot of women engineers in your group within your extended network I don't know where you work from in your workplace so what do you do in that situation this is exactly where your leaders play a key role help you extend your network I'm going to answer this and you can add on Mirab after so I think you reach out to a leader that you look up to in your organization and ask them help me find other people and other from their own network of contacts to connect you with them I'm not saying it will work because we are all humans after all after a couple of sessions it may work, it may not work but at least you get that contact so you get that introduction with someone whom you don't know that exists in other organizations I did not know Mirab works in different organizations until I was introduced to Peri to Mirab so essentially you need to reach out to one of your leaders in your organization and I'm sure they will be open to helping you find that contact and form the group that you want to Yes, please do So that is a great question and I can just entirely relate to that but just mind you the similar ratio is I think in women managers because there are a few of us who are great, I know so I think the best way would be to kind of find some other software engineers women engineers and then form yourself together and I don't know kind of expand it like the ideas that can come out of this cohort could be great, like how do we go and prepare the next generation like I don't know even from a university but yeah feel free to reach out to us afterwards Okay so your initial question your initial question was like how did did Perry know whether we had common way of approaching things like we have common things that would help us form a group better and then there was a subsequent question of how are things in terms of do we have differences of opinion or do we get along well, is that correct? So I don't know if Perry knew or not all Perry knew was we were all getting new managers under us so we were going to be new managers so he said oh you guys can learn from each other and so I'm going to connect you and he said did an email introduction to us that was the key the common ground was we were all going to be new manager of managers so that was the common ground to answer your subsequent question which now it's completely blank yeah we do have different opinions but it is not like we get into arguments during our cohorts we raise our opinions and we say oh I feel differently about this and I consider Mirab as my friend now and more than my co-worker she's my friend now and same with Kate so I think we get along really well okay you want to add anything else? I said pretty well alright any more questions I had someone else raise their hands strong network so you can define it as something you know depending on the size of the network oh actually let me reiterate the question first so you would like to know or understand what a strong network means so a strong network is something that you have you can count it as number of people but in my opinion I think it's how effective the people that you have in your network so for instance you need something you need an opportunity or need to get a career but some information that you don't know yourself these are the people that you have around you whom you can reach out to and potentially get the information you need so it's like multiple sources of information who has different perspectives so if I have to define a strong network it has to be diverse it has to be something that is easily reachable and you are gaining and also providing information to your network in other words you are giving as well as receiving benefits from the network yes please I think a strong network would be a bit different because I think it was referred to men in that context I think men are more bold in reaching out and extending the network and going high far more than women so this is something that we should improve did that answer your question better any other questions alright so feel free to reach out to us if you want to discuss about this if you disagree with us we definitely want to hear about that as well because that's how we learn and we grow thank you for listening to us and giving us the opportunity to talk thank you for our leaders who came to support us and the friends and everyone 11am hello everybody thanks a lot for joining my session it's impressive that so many people are interested in a non-technical session and the previous one here was also very interesting hi to the online viewers so I'm doing a session on ethics specifically for software engineering and I'll start first with some I'll start first with some notes about my context of who I am and also my motivation for that so my name is I come from Bulgaria and I've been in the software engineering industry for something like 25 years started as a developer did virtually everything within the life cycle so I was also an architect, QA business analyst I started leading projects then leading the relationships with big clients etc and something like 10 years ago I moved to the dark side so I started engaging with business and sales so here we go a sales guy talking about ethics currently I work for a company called Musalasoft we are 700 plus people and we do software engineering services for enterprise clients among our clients we have companies like IBM, VMware, SAP Automotives like Volkswagen, BMW and others so my responsibility in the company covers acquiring new clients growing the business with existing clients and also keeping the relation with some of the strategic clients of the company then let's continue with my motivation so I'll start with a story when I was a student at high school I was going to Sofia, the capital of Bulgaria for Olympiads in Mathematics and Informatics and one thing always impressed me when I arrived at the railway station and hearing the bus to the student city where they usually put us to stay they accommodated us there we went through I saw through the bus so many buildings that were either for governmental institutions or governmental or other because back then there were no private companies so governmental companies that deal with stuff starting with geo like geology, geochemistry, geophysics geodays, geoducts and I always wondered why is this so prevalent I mean to me it was like it was not understandable why that attention to those things and then it took me something like I don't know, 10 years and at some point I had this breakthrough in my mind that actually whatever you see around you it comes from work there is no any chance that anything that you see that a man made actually was not created through some extraction of materials or something that was achieved through agriculture or anything so geo stuff actually deals with everything in our life everything material so because this is so then actually that's the reason that this is such an important topic fast forward a few years later this when one person Mark Anderson at some point said software is hitting the world in all sectors around this time what came to my mind this was 2011 I think what came to my mind it was similar to this geo breakthrough that understood and it was the mere fact that again whatever you see around you whatever nowadays 5 years ago also software is involved in some way with it be it designing this or selling that or communicating so that we can make this thing happen so everything that you see nowadays software is involved so I'm not sure to what extent this is being realized by people in the industry but this is a fact so this also means that we are software engineers and people in the software engineering industry we have a big impact all over the world and I would say in terms of a profession next to politicians I'm not sure if there is another maybe we are second place with the geo guys another profession that actually has such an impact worldwide I tend to say that we are not special in one sense but we are a lot of engineers I don't know about your environment your social bubbles what I see is that in the last years many people in IT industry they think they are special because they have we are in big demand and companies are looking to recruit people and we have a good social status because the demand is bigger than the supply people tend to start thinking more than a driver etc I don't believe this is so and it's a bad thing for our industry and for the people in the industry so I believe that from this context we are not special on the other hand I believe that we are also special why we are special for two reasons first the one that I just told you we as a profession have an immense impact on everything that happens in our societies because what we do is something that impacts everything around us and the second reason why we are special is because on our side because of the fact that we have this as I said big demand and low supply lower supply than needed actually we have an opportunity to have easier choices to do the things right because we are in a situation much better than people in other industries where it is hard to find a job it is hard to raise a family with us it's not like this so standing up for what you believe is right is a bit easier for us than other guys so that's a strong reason for me that we do this another part of the motivation so just like with everything that I mentioned that we have has impact we are also part of some big issues things that we've heard of from the news that we know here are some examples of things where software and software engineers play a significant role yeah with the issues with Boeing and Cambridge Analytica and Facebook Dieselgate the issues in Myanmar that maybe Facebook could have done better and also the things around the legit usage of Grebo software by Uber for yeah kind of handling in a way of their own with the legislation requirements so let's talk about ethics then that's my motivation so let's start talking about ethics the words comes from ancient Greek and actually the two things that are from the etymology of the word are the things that are the most important to me in this context so moral and character so it's about values and it's also about character so having the guts, having the courage, having the character to stand by your values so quickly I'll go through this so in ancient Greek they talked and thought about the moral values what is virtuous behaviour what actions are morally right and wrong so there's been a lot of progress I'll just mention quickly nowadays people focus also on actually what are the ethical dilemmas and try to be more specific on how to handle them and also what could be the decision making process for actually finding the right way and the moral reasoning behind this Socrates worked on ethical inquiry and critical thinking Plato tried to conceptualise the idea of good and actually Aristotle started cultivating and setting up a framework that was emphasising the the vertex so I was planning to find a few quotes from people in our industry so that I can show you what people that we like actually say about it but I couldn't skip the quote that I really like most which is the first one it's from Potter Stewart who used to be a justice in the Supreme Court and he says ethics is knowing the difference between what you have a right to do and what is right to do so it's this grey area about stuff that might not be illegal but are not right to do and then a couple of other quotes so Grady Butch every line of quote represents a ethical and moral decision and that encompasses where and for whom one chooses to work to write that quote the choice that I just I was talking about so it's up to us to actually decide for who and what we do and it's not that hard of a choice in our case at this moment again, not that we are special it's just, it happened that we are doing this the times are like this and this is why this is the situation but we should embrace it and the last one is from a guy that is an author and VP of content he is from O'Reilly Media a company that I like very much for the educational content that they are publishing so he mostly says that it's about, just like it's not the goal but it's the journey, this cliche in a way so he says actually ethics is about hearing an intelligent discussion about it rather than hearing answers to the questions again it's about an area where there is no really right and wrong in most of the cases and talking about this is the way forward and also the goal because we cannot be one and the same with one and the same understandings about everything we cannot get to the same solutions or to the same conclusions all the time but if everybody tries to get closer to what he believes is right, things will be better so this is what he says intelligent discussion talking about this so let's take a look at what type of dilemmas and hard decisions and hard choices people in our industry need to take usually as I said we are different and also we have different perspectives so something in my eyes and something in your eyes is different just a few images as I'm speaking about the perspective so this doesn't look morally good or ethical but it's just a perspective so those two are one and the same pictures at one and the same moment photos from different perspective just like we have different perspective on things another one that really well shows this how different people can see different things and the last one when it doesn't really make sense to argue about stuff which can be interpreted in different ways based on your perspective so moving on with some examples of the ethical dilemmas and hard choices so in our business and what we do also again this talk the idea is not to give solutions as I said there are no solutions but to make you think hopefully start a discussion about it and so I'll give some examples of areas so that you have my point of view about awareness in what areas can be important in our industry so I'll just go quickly through them so data privacy in the context of protecting sensitive user data while still delivering functionality that requires more and more user data so what you do when you need to do this when you need to design things in a way to balance this so second one algorithmic bias everybody I'm sure knows especially currently with some progress and everything around artificial intelligence utilization having biases is something that is a big issue so in this context making sure that all the time you think about it and check about it and try to eliminate bias and discrimination against certain groups is something that is part of this addictive design but in the context of what is good to do what works in gambling or gaming or gaming like computer games those companies are trying to push the limits of what is good to do what is right to do always think on the legal side but still in many cases we hear that the law will actually lead to addiction that can lead to all those things that I mentioned here like reduced cognitive abilities social isolation those are things that are not just out of somebody's mind those are things that based on studies have been proven to happen my favorite number four conflicting interests stakeholder interests so how do you balance the user's interests when there is a tough situation and I know that's another characteristic of our industry is that our projects very rarely if ever our hearts are not on time are not stressful and anything so we very often get into these situations so when you get into such a situation you need to compromise so what are you thinking about is treating your users or working and doing the extra mile on your side and does your company support it security again so how much security is enough how much investing in security is enough for making sure that you allow as little risk as possible another thing we often hear about vulnerabilities that have been found in this or that company leaks of user data when we hear it sometime later we understand that actually they knew two days before or sometime before so when do you announce this product safety balancing budgets time to time and safety in critical industries like health care and autonomous driving things like for example also another ethical dilemma when you have a life threatening situation what should the AI do make a step make a reaction that will save the people in the future those are pedestrians for example hard to answer ethical use of AI misuse bias that we mentioned also explainability and transparency those of you who deal with AI you know one of the big let's say not issues but challenges with AI models is that many of them don't allow explainability so you get the result and you have to understand why this is the result and in many industries and in many cases this is not enough and sometimes people go for it even if this is the case which not always a good idea of course surveillance and privacy you are doing stuff that you see can actually be utilized for surveillance for the people so all those things actually or most of those things relate to the products that we built on the other hand we know the statements around guns that guns don't kill people it's people killing people so more or less it's the same you hear can have the same argument so it's not the software that will do the harm but it's not really knowing lead to go for things that will definitely harm people or will not be accurate enough I think I'm a little bit behind schedule so I'll be a little bit quicker next is trying to give you some vision about how ethics can be structured so the NECM got together like 20 plus years ago and they came up with code of ethics which is with a commitment to health safety welfare the public this is the focus entities with eight principles and those eight principles are decoded with smaller not smaller but more detailed information after that so the first principle is around public so focus number one with this framework is on public interest the second one is your employer your client so working the software engineers and people in IT because this of course actually when we talk about software engineering a huge number of companies are working on this and the third one is analysts and product owners because it's a lot of things about how we design software that actually bring the potential challenges and issues in this area the same for architects so the third one is about product so meet the highest professional standards in the industry to maintain integrity and independence in their professional judgment here the think independence to me is the most important one so everybody to feel free and enabled to take a stance when the time comes for any reason so to not be biased not to feel that not speaking up for example or speaking up would be an issue with your job and your family or whatever the rest management promote ethical approach for the management side profession as an industry as a profession to promote the reputation in this context number seven is to address the problem of work and actually treating which is a general one so it's not related to software engineering to promote treating properly your colleagues and the last one is about life long learning and promoting ethical approach in general for doing your profession another thing that can be used to see how companies that are having internal policies about this are doing it so I included here three examples of big companies like Oracle Adobe and Salesforce and two other companies that I personally like GitLab I don't know maybe you know they're publishing a lot of things around their processes and everything so they're quite advanced and sharing with the society and Buffer which is a company that actually embraces open books strategy so everything is open so not only internally like they know each other's salaries how much they make how much they get from each client and everything but they open it also to the world so you can actually see how much everybody makes them and this and that so those are links to their code of ethics and at the end I will tell my perspective on what are the important things that we can do as IT professionals in this direction they are kind of related to the eight principles but I'm trying to do it in a more limited way so the most important thing is to have courage and integrity as I said we should feel free to actually do what is right this involves a little bit of courage and also integrity always try to know and understand the big picture there are so many people still in the industry that just follow instructions they open the task in the morning in JIRA or whatever tool they are using and they follow the instructions there and this is what they do this is a bad thing because they are not effective without understanding why they are doing this and what are the functionalities what are the processes what's the reason behind it but also in the context of aesthetics you cannot really understand all those things that I just mentioned as potential challenges unless you know the big picture unless you know what does this software do who would be using it how is your company promoting this software in general the big picture so knowing the big picture always about what you do is important thing speak up if needed if you have the limits of your understanding about any attribute of ethics speak up even if nobody else is doing it and especially if nobody else is doing it what I didn't say is that I've been with this company for 10 years and I'm doing sales as part of my job and also strategic land management and also I do things with emerging technologies like IoT, artificial intelligence big data, AR, VR robotics etc for 10 years I never had to make a compromise I always spoke up when I had an issue and I'm really happy that I'm really happy that I can do this but I'm telling you that this can happen it's not like you always need to think about what you're saying it's a state of mind and if you believe that you are in a team and in a company that actually lives by the values because not every company might have code of ethics or policies but everybody has values and vision and this and that so if they are not just on paper and you have a good team then you should feel free to speak up you should feel free to stand up but it's mistreated no matter if it's a colleague if it's a client being mistreated in any way pushing for people to cheat on him or to whatever things might happen so with this balance that I mentioned about balancing interests between your company and company, clients vendors employees etc so dig deeper into the topics of ethics I don't know how many of you actually came with some previous knowledge and some previous perhaps they say experience in this area but if at least a little bit of what you heard today is something that rings a bell or makes sense to you dig a little bit deeper into this and understand more about it of course this is a 30-minute session I'm just scratching the surface so dig a little bit and this will allow you to come up with your own internal framework about the limits on the different aspects that you're okay with life-long learning with a course so everybody says that in our industry unless we learn every day we cannot keep up today with our profession this and that and this and that here's another reason and I would say a course so in order to maintain this integrity and this freedom and this ability to feel that you can afford yourself even from the perspective of your life and family and everything you should be able to be up-to-date and also you should be able to be up-to-date to also find for example vulnerabilities or no potential misuses and this and that so another reason to keep this life-long learning and also consider ethics is choosing next employer so everybody is having great team buildings and everybody on Facebook and LinkedIn they're smiling and the teams are great and everything but usually the story has some additional details so if it matters check them talk to people ask the interviewers questions about how they deal with ethics do they have a whistle-blowing policy do we have do they encourage people to speak up can they give you examples of how they pursuit issues that actually violate their values and their codes get into some specifics and you understand even if you can't find somebody that can tell you what can you do within your company race awareness, promoter topic do you have any discussions with colleagues do an internal session if this makes sense to you make a small session do it internally with people that are interested as I said the quote that I like most is the one that this is a discussion the way forward to get things better is about discussing not finding the right solutions because this way especially when people hear about those things from management and from colleagues they feel much more it's much easier for people to be speaking up as I said and everything so get management attention if within your company you don't have a code of ethics maybe it would be great to have one it might be titled in a different way but still to address those policies and it should be also an action plan so in the long term it's like just having a document without reviewing or checking the last quarter on this did we had any signals or anything it doesn't make sense there should be something that is regular also incorporate ethics questions in the regular company assessment how many of you in your companies do you have for example annual assessment survey where the company asks you questions about how the year went so that the company can understand okay just keep your hand so how many of you have questions about ethics like the things that I mentioned incorporated in this in this survey like for example do you feel that we treat people equally and do you say from one to five so how many of you so it's like 60% of the people that raise their hands so this is what I was mentioning here so and the last one beyond yourself and your company spread the word and trace awareness and your profession within the society of IT do a meetup session or a conference session just like I'm doing about a topic share experience and also engage with ethics related initiatives in the IT community so wrapping up and bungee jumping the most important thing to me as I said in the first point of my list is integrity so doing the right thing and even more importantly even when it hurts so the tough decisions on doing the right thing usually would hurt but as I said we're in a position where it hurts much less than other people that are doing it in their industries so if you believe that something something is going in the wrong way speak up take action and the last thing is a story about something that works for me so how we are human beings we have our weaknesses and in my life I also struggle with making the right decision or making the right thing when the situation is tough so I have my principles, my virtues the things that I believe in I try to live my life following them but of course when the tough time comes you are tempted to do the easy thing to back off or to do the wrong thing so I will give you how I'm getting better and it's actually doing the right thing so the principles that I have I think about them in advance so I know that in those situations the right thing to do is this for example so it's like and at some point it came to my mind that it's like bungee jumping bungee jumping so nobody goes to do a bungee jump think I'll go and actually when you are there you are tempted to back off and you are tempted to sit off and the thing that works I believe the first time at least for the first two, three times is that you do the steps behind them so you don't think if you think as I said we are weak we are human beings you will be tempted to back off etc the same goes for ethical and principle things that guide your life because in the tough situations you have this temptation and the easy road to do so this is the same I'm trying to follow the same principle so I just recognize the situation it's something to say I say it will be a hell I don't think I'm at the end when you do the first step just like in bungee jumping so when you do the first step usually it's no way back so it's something that works for me and I wanted to share it with you so remember we are special we have a big impact on the world and also we are well positioned to make a positive change so have courage when you do the first step when you need to thank you very much for your attention open to questions to challenges to opinions about I think in a different way anything so the question is about privacy tools and in general generalize a little bit so what about tools that you really know that they might be used for good things but also for bad things we can't stop things to happen it's been since the world I mean since the sun came up for the first time be it for the people that used to light the lamps on the street with a fire and now they don't have a job because we have electricity so we can't stop progress and we can't stop bad people using stuff that is meant also for I tell you one thing also additional there was a movement a couple of years ago about people that are doing open source stuff to actually make a different licensing model that limits certain industries and certain people to actually use it or for certain reasons I don't think it achieved significant progress but to me this is not the way forward but to me it's making sure that you do as close to what you believe is ethical within your context and with your understanding there is no direct harm with it apart from that you can't change the world from going like it went for the last 10,000 years and if we get closer to this goal it will be much like it would be a really good result anyway one more question there is another session thank you very much guys I appreciate your attention right welcome everyone to my talk about asking for help and thanks for sticking here for the last day afternoon my name is Jakub Schultz I work as engineer at Redhead and I'm also a developer I work with the company called Streamsy which is cloud native computing foundation project which is about running a pachi Kafka on Kubernetes and I guess as many of us I kind of have the experience with asking for help from both sides on the Streamsy part I'm often the go to guy who has all the answers I kind of see a lot of inefficiencies in how this works usually so that's why I kind of decided to give a try with this talk to improve it a bit so I think that helping others is kind of one of the most common parts of the open source community life right it's quite normal that there are people who come and ask whether some feature is supported there are people who ask about how to use some feature how to implement something how to architecture something and there are of course also many people who come they already run the project in production and then suddenly run into some issues they don't know how to solve it and they come screaming help help my production is down so these are just some examples of how people might be asking for help in the different communities we work in and in general this is an important part of the community life and of the community process because it obviously helps us get new users it helps us onboard the users and kind of make them from people interested in the project into the users of the project but it also facilitates feedback when we see that a lot of people are asking about some features so if we have the feature then maybe this is something what the people are interested in and we should consider adding support for it or if it's feature which we have support for but a lot of people are asking about it then maybe our documentation or maybe the way it's implemented the usability is not really good enough so that's another kind of feedback and finally if someone has some problems somewhere in production there's a big part of that and another part is that when people ask about something in some forum then usually that's kind of safe that's archived and it's searchable so it serves also as a kind of knowledge base and as a material for further learning so other people might not see the questions they might read the answers and see oh this is something I didn't know about and this is really something that's not something that happens in the open source communities because that happens everywhere colleagues are asking for help or if you have paid support for some software then you might be asking some support hotline for help what makes this a bit unique for open source communities is that a lot of this happens on a voluntary basis even at Red Hat then many of us are basically paid to work in the open source communities there's still a lot of time and a lot of meetings trying to answer some questions which is not really paid so really a lot of this is for free and voluntary and this makes it a bit special and that's why is one of the reasons why I think we should kind of try to make sure that this is as efficient as possible and doesn't consume time which it doesn't need to so how does this consume the time or how can this be inefficient if people ask the questions in the wrong way then maybe there will be several loops and several iterations where someone has to kind of okay you said this but can you please share the configuration can you please share the lock and so on and all of this takes time in between that people need to kind of switch focus so maybe they were working on writing some code now someone asked the question so they have to switch the focus try to answer something maybe quite inefficient and I believe that improving this and making this as efficient as possible is kind of a win-win situation for both sides because if you look at what the users typically want then yeah sure if they ask for some help in any form they usually want to get the help as quickly as possible if it's some production issue then it's maybe super urgent if they are just asking about some feature they don't really care whether the answer is in one hour or in one day but yeah they usually want to get these answers but at the same time they want probably the software the project to get backfixes they also want the project to get some new features because if you are using some kind of project some software or if you are planning to use it you don't really want to start using something what will not get any backfixes for the next six months because everyone in the community is busy answering questions right so it's in their interest that the kind of answering the question and answering providing the help doesn't consume all the time but that there is time for other things as well to keep the project alive and similarly if you are some kind of committer in the project then of course you are interested in helping your users one of the reasons why we are doing this is that we want to have users we want to have usually as many users as possible so yeah we want to provide the help and we want the users in general to be quite happy but at the same time a lot of the people in the community the committer they don't really want to spend all their time just answering some questions some of them might prefer to write code most of the time some of them maybe want to do some testing some of them want to write docs or do some other parts of the community work but not everyone wants to just spend the time answering answering answering answering answering some questions in some forums so they also want this process to be as efficient as possible so that's a win-win for everyone now how can you improve it and I believe that the right way or easiest way how to improve it is by asking the questions in a different way and actually that means that maybe if possible you should try not to ask the question at all and you should first try to help yourself that means that for example you can try to google the question and try to get the answer from google but it can also mean that you should use the documentation most projects have some documentation people invested usually quite a lot of effort into writing the documentation so please try to use it and don't worry it doesn't mean that you have to spend hours and hours reading hundreds of pages of some documentation most projects have this kind of single page version of the documentation so you can just open it press the magical control F button and then try to search in it and maybe you find the answer maybe you don't but you at least try it and it didn't help I think it's great to kind of mention it in the next step when you actually ask the question because A, let's be pragmatic if the people trying to help you see that you actually try to help yourself first and you try to do something on your own it will be kind of a bonus point for you right but there's also more pragmatic part about it and that's that when you for example start a question I'm looking for this and I searched in the documentation for this term it again provides a feedback to the project maybe the documentation calls this feature with one term and it turns out all people are coming and searching for a completely different term so the community can kind of go and change the documentation to do some reboarding and use the other terms there as well to make it easier to find for the next users it wouldn't be a 2020 free talk without mentioning chat GPT right so I actually see it used from time to time by our users to kind of ask the question to chat GPT instead of the community my experience with it is very mixed it sometimes gives very good answer but sometimes it makes up some complete nonsense in any case it's always absolutely super confident that it's 100% correct and it's always answering the absolutely right thing so yeah maybe that's an option maybe not maybe it will get better in the future one thing which this definitely doesn't do is that the community doesn't really know what you were asking to the chat GPT so all this kind of feedback loop knowing what features are people interested in what problems they are running in that's kind of lost because it will be only chat GPT we will know and the community will not see it in some selection okay so you tried to help yourself first but didn't find the answer so you have to ask so the first thing to start with is finding the right place because there are quite often many different places where you can ask there are mailing lists there are stack overflow there are github issues there are slacks, discords there are discussions linked in all these different places some people try to ask for help even with DMs on Twitter for example but there's always many options and you should try to find the right place and that can depend on several different things first of all is what is the community actually using and it's quite common that in the readme file in the github repo for example most communities in the github section which is like ask for help or discussions and mailing lists and so on so you can kind of find that and check the information there which is about whether they are using slack or something else whether they are using some mailing lists and all these things are often there you should also think a bit about what type of question you are asking and how suited it is to the place where you are going to ask it where your workflow is a great place who from us didn't use it for at least something but it's kind of well suited for specific kinds of questions if you for example want to ask whether some feature is supported or for something fairly simple with fairly clear answers it works well but if you have a production problem there kind of analyzing it and debugging it it doesn't really work that well because the lengths of the posts are very limited you can't really attach easily locks to it and it doesn't have really that well integrated kind of the flow for the questions and answers so for that stakeholder flow might not be the best option maybe some github discussion where you can easily attach things or some slack might be much better option and obviously a little bit it also depends on your preferences some people simply prefer to send the email and then read the answers next day some people prefer more real-time communication and then they would for example go for slack where they can kind of get questions and answers in a more conversation style something to think about is also whether you really want to ask the same question on five different places there are people who go and ask the same question on stack overflow slack github issues, github discussions mailing list and all of that within two minutes what is the expectation from the people in the community to handle this do you really expect them to kind of prepare the answer and copy paste it into all these different places or do you expect that someone will reply here, someone will reply there and you get kind of like a second opinion or they reply just in one place and all the other places will remain unanswered but probably searched by the index by the search engines and then popping up in the search queries so really think about whether this is the right approach and whether it isn't better to ask in one place and then give it some time for the answers before asking somewhere else and it's also important to ask in the right community like I have here some friends from the Dibisium community and a lot of Dibisium users use Dibisium with the STRIMSI project which I'm working on and in our community we get a lot of questions about the Dibisium project and we don't know really how to answer them and there's not really many people who know how to answer it in our community because it's not really our software it's more this other project so by finding the right project you can also save people's time because you ask it in the right place that you get the answer because if you ask in the place where the people have the answers for your question then you can actually get the answer of course sometimes it's quite hard to kind of know the boundary, know which project you are actually asking about so it's not possible to do this always perfectly but you should at least try another thing is that you should share as much as possible you should share what versions are you using you should share the configurations you should share the locks you should share the steps how to reproduce it you should share what you actually expected to happen you should share how the environment looks like and all these things right away I have two examples of questions which I see very often in our community and you might not understand the details if you don't know Apache Gavka but they hopefully give kind of the idea of the wrong type of questions my Gavka producer fails with following error not authorized to produce messages to topic my topic anyone has idea what the problem might be and I have their idea right away the problem is that the producer is not authorized to produce messages to topic my topic and if you look at the questions like this that's pretty much the only answer you can give to it typically this represents some bigger issue the person asking this how to use the authorization might not know kind of the right way how to use the authorization they may have misconfigured something or there might be some bug but without kind of having all the other informations it's basically impossible to say the right answer so how this will end up is that someone will come and ask for more details ask for the locks ask for the configurations and it's again it's all these kind of empty cycles we just waste time and don't add anything that's real here is a similar question my Kafka consumer is not receiving any messages and this is what I see in my locks and then single randomly picked line which the person thinks is actually the problem right and you might know Kafka but I know Kafka and trust me this is not the problem this is just a regular info message so when you are asking questions like this you obviously don't know the answer but if you assume that you know exactly which line from the lock will lead to the answer so sharing the full lock, sharing the configuration again can be super helpful to actually find out what the issue is and this is again another question which I see very often but which will basically just follow up with some interrogation about sharing more information and more details so yeah if you ask the question make sure to read what you are actually sharing and if you think whether kind of some magical answer can be provided based on that or not and you should not assume if you don't know the answer that you know what will lead to the answer so you should really try to share everything what you can or the configurations locks but you should also try to share the kind of more soft things like what were the steps you were doing when this problem happened to you or what were actually your expectations when something happens they think it's wrong but it's actually the thing which others expected to happen and which is there for some reason many of the projects use issue templates on github which kind of can give you hints for what might be the points which you should share like typically there might be some kind of form with questions what version are you using how you install it on what Kubernetes version for example are using and so on this often as a guidance what might be the important information you should share right away and then a lot of projects have also some kind of troubleshooting tool which generates a report for you and kind of collects all these information so you can check that out as well and if they have it then you can kind of use this to easily collect all the important information so share as much as possible and what's also important is using github format probably several of us at least here use quite often Kubernetes and use YAML and what's special about that is that the white spaces in the YAML document are super important and if you just copy paste some YAML into some github issue without proper formatting then it doesn't show the white spaces and it's basically unreadable and nobody who sees it it's hard to read but nobody can even say whether the indentation is not whether the YAML is correct so formatting it to making it readable is super important and ideally you should also think such as locks try to share them as a file so that they can be searchable or that they can be easily read on devices such as smartphones or tablets instead of for example making a screenshot of your whole screen ideally with the phone instead of using some print screen tool so you should share as much as possible but you should try to keep the secrets right so one of the dangers with sharing everything is that quite often you share things which are confidential it should not be shared and some of these things are quite obvious like you shouldn't share any passports you shouldn't share any TLS certificates and private keys and stuff like that so you can kind of try to look for these obvious things but there's kind of bit more to that right different organizations might have different rules for what they consider as a confidential so in some cases you might be actually not even allowed to ask a question in some open source community with your company email because they don't want everyone know that they are using this project and that they have some problem or question in many cases IP addresses or host names will be considered and so on so it's good to understand based on your organization what you can actually share and what's not allowed to share and what you might maybe anonymize and sometimes there's no other way how to do that then go through the locks anonymize it replace all the places but keep in mind that details matter and that you should use for example if you are replacing IP addresses you should always use IP address holder you should not just flat out replace every IP address with some IP place holder you should for example use IP one for one IP address IP to you for the next one and so on so that it can still possible to see from the locks who communicated with whom and things like that a lot of people try to work around these limitations by saying oh hey I will send you the lock in a direct message on Slack for example so that you can share the locks publicly to not share the locks publicly. Now first thing to consider is whether the community really wants to do this and whether the people trying to help you really want to do this so for example when it comes to me I'm not really doing the community support as a private support for individual persons on direct messages but other people might be fine with it but you should still consider the question and the kind of discussion will be not really useful for any kind of learning or any kind of knowledge base because if you have some discussion then some lock shared somewhere else and then the discussion continues you don't really know what was in the lock so if you are trying to solve something that seemingly the same problem but the lock is missing you don't know is it really applicable to me is it not important? Are you actually allowed to share this thing with some random person on the internet through a direct message and usually the answer will be no in the same way as you are not allowed to share the locks with IP addresses and so on in some public channel you will probably not be allowed to send it to some random person on the internet just because he works on some open source community project. The person will have to send it to the internet you don't know how is this computer secure maybe he downloads it there and the next day someone hacks him or maybe it's just his son using the computer at the time and so on so you should really consider whether this is actually something you should do in the first place or not. Okay one thing one other thing to talk about is kind of this language barrier. Who have you seen the WDYM? Raise your hand nobody saw them? Yeah also we probably know what it means. So this WDYM stands for what do you mean and so this title basically says what do you mean with what do you mean right and it's actually kind of something what I was asked by a user in our community but it's often the situation that in our teams in our kind of daily communication we are quite what do you mean? As far as I know, thank you if I remember correctly for your information and so on. But other people might not really know what do these mean and might not understand them. So one of the things you can do is you can try to avoid them and you can try to write them in a full word because that will be more understandable to everyone on the internet. It's obviously using short cuts and acronyms. It's not the not the only problem which comes with regards to language. I'm afraid the only help which I have with regards to the language is that again if you share the things, if you stick to the things such as the locks, the commands, the configurations these things are usually not translated, right? So if you have some kubectl command or if you have some linux shell commands or things like that they are usually always the same in Czech, in English and probably in most other languages as well. The same applies for lock, like maybe you will have in different language the kind of error or info and so on translated but the message is issued by the applications they are often always in English so you can kind of use these and share these and they really help to understand the issues because that's something what you can read and from my own experience you can quite often answer a question which is for example written in Chinese without knowing anything about Chinese but you for example see the commands, you see the lock and the configuration, you know, oh this is probably this problem which someone else had before, right? And just from kind of these well-known things you can figure it out. One other thing I would add is that a lot of the people answering the questions on trying to help you they might not have bad intentions, they are just probably used to use the language differently with their colleagues, they might not be always able to easily kind of switch to a different mode and use a simple language when answering so don't be afraid to ask something to be repeated or maybe to be repeated in some easier language or don't be afraid to kind of try to rephrase your question if you think it was not understood. Usually the people are kind of fine with people who maybe don't have such a great language skills as they do and they will try to do their best. It's just sometimes that they need to kind of realize that they should do this. Another advice is to be patient and give the community some time to actually get back to you to answer it. This is often different person by person. Some people don't like to kind of switch in context between different things and for example at the end of the day have one hour spare for answering questions on some select channels and answering emails and so on. So sometimes you have to wait for them to kind of get into this time which they have scheduled for this and then they will reply. For smaller projects it's also quite common that for example all the people working on them are in North America or in Europe or in Asia and they don't really cover all the different time zones. So if you live in the wrong time zone so to say and ask the question wrong time everyone might be maybe sleeping and they reply only when they wake up. So be patient but you should also be aware that just because nobody answered doesn't mean that nobody cares about your question or that nobody saw your question. It can also happen that just nobody knows the answer and they just don't know what to reply. The last thing I would like to mention is that you should also try to give back to the communities when asking for help because yeah let's be realistic. People always tend to help more to their friends and people they know than someone who's completely strange to them right and you don't really need to spend weeks contributing some some software patches or new features to the project. You can do several simple things. If you already know something about the project you can for example try to help others who have some simple questions right and then when you ask something yourself the people will know oh this is the person who was answering all these questions let's help him know. Similarly a lot of the open source projects have some kind of adopters list or some set some kind of website with the logos of the users and again you can quite easily open a PR to add your organization to that list and then when you need some help then the rest of the community will know oh this is the person from this organization we have their logo on the website they are our users let's try to make sure that it works for them and let's try to fix their production issue for example. So these are kind of some things which you can do very easily and which can kind of help to give back to the community. And that's it hope this was at least a little bit useful and I think we should have a few minutes for questions. So the question was that sometimes you try to help someone and you maybe help them successfully and then they start to kind of ask you more and more questions and they start to kind of use you as a personal search engine personal Wikipedia and kind of ask at any time of the day and so on so how you can kind of try to do deal with this in a polite way I hope I capture it correctly yeah so I think that's not easy and to be honest I'm maybe not the right person to ask about doing things in the polite way so I think one thing which I do often is as I said if someone tries to DM me for example on slack with questions I usually tell them you should ask this in the in the channel shared with everyone and not ask this on the DM's often people simply just kind of CC you on slack personally instead of just asking everyone in the community and then you get notifications and then other people might feel like that's specially for you and they should not reply so again I try to kind of politely say please don't do this don't kind of mention people in random questions if there is no real connection to the person and ask really just the community and to be honest sometimes it works sometimes it doesn't I have a person who when I told them to kind of that something is documented they should look there for details they told me that they will not look into documentation because asking and getting answer from someone else is much easier so yeah sometimes it's hard to answer politely and and kind of solve this in polite way maybe to just try to rephrase what was said in the discussion from publicum that it's important to kind of try to keep your time and your energy under control and kind of try to make the people to understand that something is for example involuntarily and they cannot expect the same reply times and kind of handling as in some paid support for example and and so on does that somehow capture it yeah I think it's completely fine to simply explain that yeah you don't have time that this is a voluntary based support I one of the things you can also do is kind of you can try to take more and more time to reply which kind of instead of replying every time in 10 seconds then if you reply in few hours next time and then in few days next time sometimes kind of you undo the the the thing that you are always being asked you had a question so the question was if if someone asks a question in the wrong channel better the the kind of question can be somehow easily transferred or something like that yeah so so to be honest I it depends a bit on where you ask like I don't think you can move the messages between channels on slack that easily for example you can just reshare them in some other channel on on github for example if someone opens a bug instead of opening a github discussion you can normally use github functionality to kind of transfer the issue into a discussion so it depends on the on the platform but what I kind of try when I when someone does it on kind of if someone doesn't doesn't ask the wrong question 10 times per day that I kind of try to tell them look this might not be the right community there might not be that many people who will have the answer for you maybe you should try to ask in the right community so so like I usually try to kind of direct them but yeah again that's something what costs time and sometimes until someone gets to that it might take a long time but I don't I'm afraid there's no better and easier solution anyone else so the question is basically whether some community communication guidelines might help to kind of reduce these things I to be honest I didn't try that so I don't have a real answer from the experience I think it might be interesting thing to try and it might make it kind of easier to kind of point to these guidelines but at the same time I like I hope talks like this would help to convince the people to first start looking into things like documentation so I'm not really sure I would expect people to first read some communication guidelines before asking these questions so so like I think they can make it easier to reply but they might not make it easy to kind of avoid the questions in the first place yeah I think that's it's interesting idea which might be worth trying here anyone has any other question yeah so the question was whether there is some tool or some service which would kind of automatically hide the things such as IPs and to be honest I don't know about any like in the stringy project for example we have this kind of report tool which collects the information so we make sure that we don't kind of copy there the passwords and the certificates but we for example don't mask any IPs there or anything like that and I'm not sure about I'm not aware of any other tools which would be doing that okay we are out of time so thanks a lot for for staying here and for watching I hope it was useful for you you're gonna do it 123 okay hi everybody it's good to see all of you thank you for coming to my session Sunday afternoon I know it's the last day of dev comp cz and it's so beautiful outside glad that you're gonna spend the next 30 minutes or so with me wait for folks to sit down right so I'm here to talk about DEI from a global context right so we talk about DEI and it's something that feels difficult to a lot of people because it's like how do we begin to even have a conversation about diversity equity and inclusion on a global context and I personally believe that there are commonalities across having conversations that any team can use it doesn't matter which region you're in really it's determined by several factors that I'm gonna go through today but before I get started I'm gonna introduce myself so I'm Jen Madriaga this is me shamanee that's near Mont Blanc I've been working at the source for nearly nine years so this is like I guess my third or fourth career before I worked in tech I worked in higher education administration so I did stuff like academic advising I did stuff related to basically working with students and I also worked to the number of nonprofits as well as arts organizations so and somehow I don't know I landed in the tech industry I've lived a bunch of different places including abroad so I lived in the Philippines for a little bit I also lived in France for a bit and I've been all over the United States and each of the regions United States could be its own country honestly culturally so I was born in Hawaii and I lived in California Virginia North Carolina Red Island and I'm actually back in North Carolina and I'm about 30 minutes north of Red Hat Tower in Raleigh so for those of you who have not met me before so I am in charge of community developer and emerging tech events on a global scale I tried to allocate it to people in region but there was really not an interest to manage community events because they said it was not Legion oriented so the good news is that I get to travel all over the world to be able to meet people in the region I have to talk to folks about what it's like in their region you know what are what are their needs what are their priorities in the community space and honestly it's a super fun job I'm glad to be traveling again it was really hard to be home for three years and so I'm like really happy to be in Brno particularly because it's warm for the first time ever for me so I've been working in the diversity equity inclusion space for a really long time I actually was working as an undergraduate and also as a graduate student and so I did a lot of work related to issues of diversity equity inclusion from a lot of different contexts and I actually got a certificate in it and I used to actually do it for a living when I left grad school it's a really hard area to be in so I left it thinking I would never ever touch that space again and here I am now talking about it years later so I think everything does come full circle so I'm one of the co-founders of the Red Hat Asia Network and I currently serve as the chair and one of the things that I am very interested in is intersectionality and intersectionality of course involves how do we have conversations about different things that create identity because every single person in this room is intersectional okay so I wanted to go through a version a definition of diversity equity inclusion and there's also justice in here you don't hear the terminology around justice very often but I actually really really like the way that this these definitions are phrased in the form of questions right because it's kind of open-ended it's not yes or no by its very nature DEI can't be yes or no it's it really is about questioning right so you know you've got diversity like who's in the room who's here with us you know and then equity is like okay we've got a bunch of people in the room but there are people outside the room you know why you know how do we bring them into the room right and if once you have people in the room are people allowed to speak up and share what's on their mind right and then justice that's a very interesting component that we don't talk about very often so we hear about DEI we don't hear about the justice part and actually I think the justice part really speaks also to issues of equity and inclusion right because part of what we want to make sure is that when people's voices are heard that they're taken seriously that you know we treat them with the same amount of credibility that we would from a stakeholder or a person involved that you know really well right so I wanted to talk about examples of team diversity right because like one of the things that I hear on a pretty common basis is that the way that we talk about DEI or it had is very a mirror centric it's all about the United States and we want to talk about from a global context and so I wanted to talk about examples of team diversity right so the United States is very true we probably think about the demographic diversity the most you know which is basically you have a bunch of identity groups we would call them underrepresented communities at Red Hat they're working together that may not have worked together in the past and so you know it's stuff that we talked about traditionally which is cultural gender race age sexual orientation gender identity and so there is the demographic version of team diversity but then there are other types of diversities that we can address with some of the things that I'm going to walk through today one is expertise diversity which is like you've got someone who is really an expert at what they do and then someone who's completely new to community and they have no idea what they're doing like there are you can use the same tactics the same methodologies to treat a team that has varying levels of experience right the third variety is location and we have been dealing with this a lot because a lot of this work on distributed teams like I work with folks all over North America and APAC and EMEA and and even LATAM and so part of it's like how do we account for the fact that people are in different regions and how are they able to have a conversation how are they able to drive consensus again the things that I'm going to be walking through should apply to that and then status is the final one and it talks about you know disparities you know like they're different levels I think it's slightly related to expertise but this is a little bit different right this is about an emphasis on job titles so if you're like I guess like a vice president and then I'm just an individual contributor you may have a hierarchy or a way of communicating that does not encourage interaction that's authentic or valuable right so we're going to talk through different factors that I think you can use in evaluating whatever team diversity you have you may have all four you may only have one you may have two but I think what I'm going to talk about is going to be relevant to all these types of diversity and just as a net this table is taken from an article it's called reading leveraging diversity through psychological safety it's by a person named Amy Edmondson and she was the one that helped create the term of psychological safety which is what we're going to be talking about next right so I just want to talk about what people care about at least from my conversations like I said I've been working in this space a really long time like I've worked it worked on it from an education context I worked from it in a nonprofit context and now I'm working on it here at Red Hat as an ancillary to my day job but I am a community builder my identity first and foremost is building communities and so when I talk to people I realize there are things that everyone seems to care about doesn't matter what your background is it doesn't matter what country you're from doesn't matter if you're a man or woman non-binary these are the things that I hear time and time again from people and the number one thing is a need for belonging you know what's my place in the world can others understand my experience right so it's really related to the next need which is the need to be seen and validated you know like I want to feel that my contributions matter and I'm recognized appropriately for them right and also you know can I bring my whole self into situations without fear or self-consciousness because one thing about building a community is you want it to be a true community where people feel like they're a part of something you know something that feels very very safe and then also fairness like I think the one thing that always comes up when I talk about DEI is the issue of fairness what does fairness mean and so for me I define fairness as I want access to resources and support I want access to opportunities and that everyone should have the same access to resources resources support and opportunities right and I think if you look at it from that vantage point the fairness aspect you know okay now I start understanding why we're talking about stuff related to diversity equity inclusion because we can see situations whatever the situation is that people do not have access to the same resources alright so I'm going to talk about psychological safety I feel like we've been talking about psychological safety for a long time at Red Hat but I don't know that it's been particularly well defined so I wanted to talk a little bit about how psychological safety is defined within a team setting because it really it's about the team setting when we talk about psychological safety right so what it really is is giving permission for people to fail you know so instead of saying I blame you for the failure of this project you frame it in terms of what did we learn you know you know I don't know how long people have been a Red Hat or how many Haters in here but we used to have a saying and we had it on stickers that was that said failed better you know and then he took it away because they felt like people are misinterpreting what it meant to fail better but I thought the sentiment behind feel better is really really important we have to allow people to make mistakes we have to make an allowance for people to grow and learn right so you know someone takes a risk and it doesn't work out people should not be punished for taking that risk and I think for years I think Red Hat has done what it's done well because we took risks and then if something didn't work we were kind of like okay that didn't work we know not to do that again let's go ahead and try another avenue of doing things and that's one of the things that I really really really loved about Red Hat I think that's actually related very closely to open source methodologies and so I think the context of psychological safety is actually something we're already very familiar with you know as a company and also if you're in the kidney space you know you're always having to iterate you're always having to see what works and does not work right so when you have psychological safety you can talk about your failures in a way that becomes very solution oriented and I think that is super super super important to realize that that's what we mean by socket psychological safety and then like I said when you talk about psychological safety it's always within the context of a team right so the one thing about psychological safety if it's present for one person it should be present for everybody on the team you know so if you only have one person that feels psychological safety and no one else feels it you don't have psychological safety you actually don't it doesn't meet the definition of team psychological safety if only one person is comfortable enough to talk about the things you know that may be uncomfortable if there's only one person that's interested in talking about failure or what to do next and no one else speaks up you do not have psychological safety right so it is a group feeling so that's one thing I want you to remember is that you know a lot of times I think we contextualize psychological safety in terms of an individual but it's really really important to note that it actually applies to teens so you have one person that doesn't feel like they are safe on the team you have not achieved team psychological safety okay so we keep hearing about diversity hey diversity is really important you know why because it's going to outperform less diverse teams you're going to have different perspectives it's going to be awesome this is why we want diversity right what's really interesting is that just because you have diversity in our team does not mean your team is going to do better in fact there are numerous studies that say that the first teams often underperform relative to teams that are homogenous you know and do people find that shocking maybe find that shocking that those teams that have a variety of people involved don't perform their best so obviously diversity is not what causes teams to excel in fact it can detract from achievement it can detract from getting things done and why would that be like if we think diversity is so important we talk about how important is to have diversity in our team why are they not doing as well is because we have to have practices of equity inclusion and justice along with the factor diversity right and this is really about ensuring psychological safety across your team right and so from this particular article also co-authored by Amy Edmondson she was one like I said who coined the term psychological safety she and this other collaborate on request man basically said there are three things that you want to talk about things that you need to do as practices to ensure psychological safety right and so the first one is framing right so you have to make sure that when you frame meetings the meetings are meant for information sharing and the information sharing can be good it can be bad but everybody is going to have information that they're going to share and then the group is going to listen and they're going to weigh okay here's all the information that we have and you know what because you have a variety of stakeholders on your team they're going to describe things differently they're not necessarily going to experience information in the same way like you may give a piece of information and someone said I had no idea like I didn't even think that that was a factor right and so that's part of what's important when you have made meetings you frame it as information sharing information gathering and it's without judgment you just basically make a list of things that people want to share and you think that people need to know about right and so actually collect all that information and you're like I didn't know about that I didn't know about that okay now we've got all these pieces of information what do we do with those pieces of information we have to listen right because you may be sitting in the room and someone shares a piece of information and you're like shaking your head like no no no no no no it is not that way right and sometimes it's hard if we have an opinion or we're very wed to a certain viewpoint to do the deep listening and so one of the things if you have a team where you're sharing information and then you have to have people elaborate on why they are seeing what they see you have to allow space for people to first of all speak about it and then everyone has to listen so there's this really cool practice that the native and indigenous DEI group does at Red Hat when they have group meetings they have something called a talking stick and so if someone is holding the talking stick no one else is allowed to talk except the person with the talking stick and it's a good visual reminder that hey when the person holds the floor we give them the space we give them time to be able to explain themselves without interrupting and I think there is a tendency to interrupt like I grew up with that kind of practice it's not a good practice right and so this entailed a lot of mindfulness and then when we're allowed to ask questions the question should be open they should not be yes or no questions because that automatically shuts down conversation and so and then we also have to ask you know how did things get to this point right like if we're if we hear things that this is happening we want to hear about well what's causing it and what role do I play on the team that contributes or doesn't contribute you know how can we shift it so that people are doing their roles properly so that we can get things done right there's bridging boundaries right this is a little bit about learning about people on your team you know like we don't necessarily want to share everything about ourselves and where at work like that can feel very vulnerable but asking about issues that are you know larger than a task at hand I think is really important so you want to ask about people's hopes and goals you know for a project like what would you like to see happen you know for me my continuing hope and goal is that corporate marketing is going to care about those communities and start incorporating it in our corporate events right wha