 All right, welcome everyone to the functional group of dates for what used to be the platform team My name is my name and I'm the engineering manager for As of a couple of days ago the create backend team And I'm also the interim manager for the manage team until we find a new engineering manager there I'll touch a little bit more on what those changes mean and why they were made a couple of slides down the line First I'd like to take you through what we have been working on since the last time I did one of these FG use which has been a little bit less than two months I'm gonna cover more of some of these in some more detail in the upcoming slides But this is a quick timeline of significant events in the platform team You know soon to be to create and manage teams over that period We have been working on get that 11.0 11.1 and 11.2. We actually released get that 11.0 and 11.1 We wrapped up quarter two, which means that we had to reflect the retrospect on OKRs We defined the OKRs for Q3 And like I alluded to already the team was split into create and manage and all of these will get the appropriate airtime during this FG you first of all, let's talk a little bit about what we've actually managed to ship over those last months a Little bit over a month ago on June 22nd get lab released get that 11.0 Some of the more significant contributions to that release that were built by the platform team are on this list Several single sign-on for groups on get that.com is a great one. It is Officially in beta now. Thank you James at Fort Jones Unlimited guests for free and ultimate is useful for our ultimate customers who only really want to pay for those customers Which are actually, you know significantly involved in projects on their instance A guest is a user who either is not added to any group or project at all or they are a user Who is added to specific products or group as a guest, which is a very restricted set of abilities So they really can't do all that much and for understandable reasons customers who have a limit on the amount of seats that they can use on GetLab don't want to be paying for these users who are not actually able to do anything on that instance And then we got two more features that I wanted to call out specifically LFS files included when importing a project and Improved performance of the LFS integrity check. Thank you Ruben Fran and Ruben again We're the third to Fort on the list and of course there's a lot more that you can find if you follow either the GetLab 11.0 link at the top which goes to the blog post or the more link at the bottom Which goes specifically to the list and the issue tracker of stuff the platform worked on Then a month after that a couple of days ago. We released GetLab 11.1 I'd like to thank Imdev for a feature called initialize REAPME on project creation When you create a project through the GetLab interface You now have the option of automatically having a REAPME file be created so that you don't need to manually do that With an extra step. Of course, you wouldn't use this feature if you already have a local repo set up that you want to push into GetLab But this is very useful if the first step in your new open source project is the actual creation of the repo on GetLab.com This can save you a little bit of time there We are also now using object storage for the GetLab project export feature Which allows you to export an entire project into a tarball that then can be imported into another instance or the same instance But usually you would use this to move an entire project and all of the related data from one instance to the other We are moving towards, you know, a supporting object storage for pretty much all storage-related features in GetLab Because we want you to be able to run GetLab on installation where there is no Persistent storage that is shared between all the different like nodes components that make up the whole GetLab application Which is also an infrastructure design that we are in the process of moving towards. So this is a requirement for that We also managed to ship the beginnings of a GraphQL API endpoint Specifically that one that will be able will be, you know capable of powering the merge request widget It is not actually used yet by that merge request widget front-end component that will require some more work for front-end But we do have a basic endpoint now a basic GraphQL endpoint that touches all of the interesting bits like, you know Surfacing querying a specific object the nested object Surfacing simple fields surfacing more complex fields surfacing exposing nested relationships things like pagination authorization authentication And in 11.2, which will touch on the second We are also adding a simple example of a mutation in there So with that we pretty much have covered all of these standard components of a GraphQL endpoint Which means that even if it won't be used yet for the merge request widget All their teams in GetLab, all their people in GetLab who are building new features can start From day one with a GraphQL endpoint to expose that backend data to the front-end instead of Our current approach where you would write a controller, Rails controller, which would be very specifically catered to a very specific use case And which would, you know, we have to kept up the date when the front-end requests more or less attributes from it This makes it a lot easier for the back-end to give the front-end An endpoint where they can and decide what attributes they do and don't need for their specific use case For 11.1, we also added nine bug fixes I wanted to call it out specifically because that's most of the work we did in 11.1 bug fixes Thanks everyone who worked on those and of course there's a lot more that you can follow with the link at the very bottom So that was released a couple of days ago and GetLab 11.2 won't be released for another month But of course we have been working on GetLab 11.2 for a few weeks already And some of the more significant things that we will be contributing to that release are in this list Of course more has more as always Some that I'd like to specifically call out are share groups with groups Which will allow you to give another group an unrelated group in your GetLab instance Access to a group as if they were as if everyone is a member of that group for themselves members of the group You're adding them to This is going to be useful if you want to invite another team whether it be another team inside the same company or another team in Another company in the case of GetLab.com you might want to invite them to a subset of the projects in your Standard group project hierarchy You can also use this if you have a on the one hand a tree of groups of nested groups that you use for Storing projects and the hierarchy of you know, how the project is kind of mapped to different Maybe product areas of your company, but then you would use another group tree for specifically defining teams of Individuals so you might have a larger backend team individual backend teams under that And then those individual backend team groups could be added to any project or any group You see fit to automatically give them access to that stuff, but none not anything else I'm probably doing a terrible job of explaining it But if you follow the link you'll find the description by one of our product managers, which will be far more exhaustive But this is something we were very happy to contribute to 11.2 Another one I wanted to say a little bit about is the status message the third one the list which started out as a community contribution The feature is pretty much the same thing that you might have been using in stack for a while where you can set a Status for yourself using an emoji and a little line text And this will show up anywhere you post a message as well as I know on your profile page And it can be useful to communicate to people that you might be out for a few days or that there's something else going on in your life that you'd like to share with your colleagues and And get that this will be especially useful to prevent people from assigning for example Merch request to you when you're out or from pinging you on issues while you're out If they now do that they will immediately see your name pop up with your status So if it says out of office for the next two weeks, they'll know to ask someone else will be available Like I mentioned to start it out as a community contribution But the community contributor indicated that they did not have time to finish it So we decided to pick it up. Of course, they will receive the appropriate credit in a change log in the blog post and things like that A lot of people have already been kind of Handcrawling this on github.com by just adding an emoji to their full name But that means it also shows up in some places where you probably wouldn't expect it And it hasn't doesn't have the nice UX that we're used to from Slack So we're building this if you get that the first class feature That's that's the tool that I wanted to specifically call out But I suggest, you know, checking out all of those links and then asking any questions You might have about the future in question there And of course as always the more link will have more stuff that we're adding to 11.2 But that's it for the couple releases we've been working on recently Now I'd like to talk a little bit about that split of the platform team that I Mentioned a couple moments ago Basically the reason for this is that we are in a process of having our back-end teams and pretty much the front-end teams And UX teams as well Align more directly to the product areas that we have identified and that we want to focus on with GitLab The DevOps cycle that you might have seen in our handbook and the DevOps cycle is fit up in a bunch of stages Two of those are create and manage and for the longest time the platform team used to kind of cover both But then there was also one part of create specifically code review and merge request It was actually being handled by the discussion team So it was a little bit hard to have like pms that needed to deal with different back-end teams and one back-end team Platform that had did multiple pms product managers that we needed to talk with you every month to figure out what the top priorities were for that month It was kind of hard to make sure each product area had enough people assigned to work on stuff in that product area each month Because there were just too many people involved for too many different product areas So we're streamlining streamlining that a little bit for 11.2 Nothing changes because this change wasn't made until after 11.2 development already started but with 11.3 and on The people in the create team will specifically be focusing on that functionality that falls under the create Step of the DevOps cycle and the same thing will be the case for manage with their respective product area Like I mentioned earlier I will continue to be the product the engineering manager for the create team And I'm the engineering manager for the manage team on the interim We are in the process of hiring engineering managers both for the manage team and some other teams that are in need of one And by the time one comes on board, of course, I'll be handing over that team these splits in terms of what people go on to what side of the split It's mostly based on where people have previous experience the platform team used to work on a lot of stuff But of course you see that people kind of get into an area where they do more work and the other so we kind of try to You know continue that with this divide and you can also see that as well And Mark are actually coming from the discussion team and we'll be joining the create team like I mentioned Murch request just to be a responsibility of the discussion team Alongside everything related to issue tracking that the plan step in our DevOps cycle But since Murch request are now to become the responsibility of this dedicated create team two of those the data person also Making that jump so that we have everyone we need to get creates You know to get all that stuff done and create that we want in the rest of the year And also Nick Thomas who is currently on the geo team as a step developer will be I should say turning Well returning isn't quite right because he used to be on the platform team And then he went to Geo for a while and he's not returning to platform He is going to create instead, but that means we'll have a six person team for The create step of the depth cycle and the manage team like I mentioned will have four people start But both of these teams have two vacancies right now We are hoping to add two developers to each team over the course of the year So by that end of it we will have eight people and create and six in manage if you have any more questions about this You know food free to ask me chat or at the end of this FGU, but in slack. There's also been some Some communication from conversation around these issues If you want to see some more of the background of how these decisions were made You can follow the link to create and manage at the very top which links to a merge request of Tommy director of back-end for the dev teams The merge request he created to actually apply this change So next one thing I wanted to talk about a little bit is ok ours. We just wrapped up Q2 on June 30th And I put some notes in here on how we did in that quarter to our key results were to deliver 100% of committed issues per release We didn't actually deliver 100% of committed issues in any of these releases, but we had an average commit rate of 75% delivery rate, I mean 75% and in the latest of those releases 11.1 we managed to ship 82 Well, I hope that this means that there's at least a you know a curve that goes towards the hundred percent But it does mean that we need to be a little bit more perhaps conservative about How many issues we commit to delivering in a certain month because obviously we haven't actually been able to hit that I also wrote that on the triad at the very bottom We had another key result a goal to ship the first GraphQL endpoint to be used by an existing front-end component As I mentioned we shipped it endpoint in 11.1 Except for that little mutations aspect of it, which will be going in 11.2 Which is why I reckon we only hit about 80% of that in the actual quarter two Then we also wanted to source 150 candidates in order to hire three We succeeded on the sourcing not so much on the hiring We added immediate to the team a little bit over a month ago and very glad them did But we have been hoping to add to more people by the team to the team in that quarter Which we haven't been able to for Q3 as I'll show you in a second We are also planning to hire some more people But we are in the process all of back-end all of engineering in the process of kind of revamping our hiring process to make it on the one hand More effective and also to reduce the time it takes to go from someone submitting an application Until they either hear that they are hired or we reject them all of that There's a lot of room for improvement there And hopefully that will allow us to actually hit the hiring goal in the other quarter So speaking of the upcoming quarter 2018 Q3 our key results are first to implement 10 specific performance improvements that were identified by me and Yorick from the database team It's a mix of stuff that is directly database related And there's also some stuff in there that might have to do with the time It takes where it get pushed to be handled or the time it takes for a get pool to return data These OKRs were set before the platform team was split into create and manage So the two teams don't have their own AKRs. At least not for performance improvements They will for hiring down there But for performance improvements create and manage together have the goal of shipping these 10 Four of them are already being worked on for 11.2 Three are scheduled for 11.3 and then we got three more coming up for 11.4 If you follow the link to performance improvements, you can see some more information about which issues those are We also have a goal of preserving 100% of the error budget I don't know yet how we're doing there since we haven't actually released anything new in this month Or at least not something that was actually built in this month But you can follow the link to error budgets if you want to read a little bit more about what that means But that's what the idea is there and then like I mentioned both the create and manage teams have their own hiring goals Like I mentioned both teams have two vacancies But those are two vacancies that we tend to fill in the coming six months of the year So Q3 and Q4 in Q3. We really want to add one person to each team And to help us with that we have already sourced 25 people 50 in total for both teams We don't source specifically for create and manage because the requirements in terms of you know ex tech skills and experience are pretty much the same So across back and we've sourced over a hundred people and 50 of those I was responsible for Alright, so that's everything we've been working on for the last two months If you have any questions about that you'll get a chance to ask those in sec because I'd also Like to quickly give you an idea of what we plan to do before we speak again in two months from now Of course, we're going to be developing building both get up 11.2 11.3 So by the time we speak again, I'll be able to tell you a little bit about what we contributed to those releases We'll also be going to the get up summit in Cape Town We'll be there for a week But of course a lot of people are adding vacation After and there's some people who need to travel 30 words upward 30 hours upwards So 11.3 is probably not going to be the biggest release in terms of you know number of issues or outputs but we're gonna make sure it's a good one because It will of course be very nice to be able to work on some of this stuff together from Cape Town as well But it's not gonna be a week where we're just gonna be sitting behind our laptops doing what we otherwise would have been doing at home So you'll probably see that perfected in the actual 11.3 release But I'll touch on that in the next after you and then of course just before The next after you we're also going to kickoff development of get up 11.4 If you want to know what's gonna go into get lab 11.3 and get level 11.4 I suggest joining the kickoff that we have on the 8th of August and 8th of September. You can find the link on this page I linked the word kickoff That's it for the past months in the upcoming two months. Are there any questions about any of what I've said? If not, I'm gonna count down from 10 nine eight seven Six. Oh, this is exciting I said hey and I think it feels weird interrupting someone in a countdown. So I Silent countdown like let's ten seconds for questions or something Good points and and try to Try to try to keep it at ten minutes So so people feel almost obliged to ask a question because otherwise it's too too short because if you get one question You you you tend to get more. Yeah, that's a good point and just to comment on that We used to do this after use. I think every once every five weeks But now we're on a once every two months schedule Which means that you'll want to say more about those past two months, which of course increases the time It will take to go over all of it At least that's an issue that I ran into but that's something to discuss elsewhere and resolve You know what I was able to read your slides a much faster than you were able to read them out So just just write write it down Whatever you have to communicate write it down in the slides, but don't feel obliged to read your slides. We Every single person working at GitLab can read. I I'm glad yes, sir. So It's it's it's totally fine to to have them read I was wondering for the managed team you list both Jeremy and Andreas as a product manager on the slide number six I think Jeremy is officially the PM for manager one of the goals was to have one PM per team How does Andreas factor into that? I thought he was on Geo. I gotta say I'm not completely sure what the latest status is there Initially, Tommy I and Eric and some others had proposed to split platform into what would be three teams create admin and share I'm sure you're aware and then kind of admin would have Jeremy as a Manipum and share would have Andreas and then they were merged and I'm not completely sure what that actually You know what the accompanying change was on the product side of things when I last talked about it with Jeremy and Andreas I think that I'm there's still handling some of the issues that are now part of manage I'm not completely sure what the latest status is there from a product perspective Okay, so the the cat product categories page Which is the canonical page and should be the single source of food list only Jeremy as for the manage So I think Andreas although he might have some work in progress that that's still there But he should he should be go he should be gone off and do other things then Then work with the manage team and I was maybe it's good to detail this There was some concern with the manage team that it was too much because it's a pretty broad scope On the other hand currently there were two people working on all the things in the manage scope So we had this on one hand we thought wow the manage team they have to do so much on the other hand Hey, if we look at who's actually doing the work, it's two people So we figured based on that that it would be appropriate to have one product manager and one team for the entire scope of manage things Yes, it's broad, but on the other hand if you look at who's doing it today, it's it can be done by two people. So Even though we may quadruple the number of people working on it to about eight That that is still one team and one PM should be able to supply them with issues Right. Thanks for that clarification and expansion on the manage team Um, I think no other questions have come up. So thank you said for yours and everyone have a you get 10 minutes back And I'll see most of you in the team call Cheers