Press This Podcast: Working Effectively with Your Dev Team with Rob Humar
Welcome to Press This, the WordPress community podcast from WMR. Now host David Vogelpohl sits down with clients from around the community to talk about the biggest issues facing WordPress makes. The following is a transcription of the original recording.
David Vogelpohl: Hello everyone and welcome to Press This the WordPress community podcasts on WMR. This is your host, David Vogelpohl, I support the WordPress community through my role at WP Engine, and I love to creating very good of the community to you examine every week on press this as a reminder, you can find me on Twitter @wpdavidv, or you can subscribe to press this on iTunes, iHeartRadio, Spotify, or download the most recent bouts at wmr.fm. In this chapter I’m really excited we’re going to be talking about working effectively with your dev crew consuming ceaseless deployment and connecting us for that discourse is Rob Humar, Rob. Welcome to Press This.
Rob Humar: Hi David. Thanks for inviting me.
DV: I’m really glad to have you here. For those listening this is definitely a make focused episode. But in this episode where Rob is going to talk about is basically how his squad at Dxtero mastered ongoing deployment workflows within the team, but too the impact that had on their business as a whole so it’s kind of like this whole business story that Rob is going to walk us through here today. If you’ve been thinking about apply ongoing deployment or if you’ve perhaps had trouble implementing it, maybe some of Rob’s readings will be useful for you, Rob. The first issue I invite every client I’ll likewise ask you briefly tell me your WordPress origin story.
RH: So I’ve been working with WordPress for probably 15 years now. So I can merely navigate the WordPress docs, like the back of my hand. I suppose I got into it I was just a friend that asked me one day he was like, Yeah, I need to work somewhere on online to do a blog and upload some information and look around the internet, I expect, WordPress sounded up and, and that was the best platform at the time and that’s where everything started.
DV: Very interesting. So how do you improve areas to up until that time it was WordPress your first channel of house sites.
RH: Yeah so I was, I was probably both. I learned how to do web development in the days of like hard coding PHP free CMS world. So everything was just done manually.
DV: Sure, sure no WordPress is a good tool for that so 15 years ago, this would have been approximately 2006 So right before widgets and shortcodes it sounds like which would have been an exciting time to get started. Awesome. Well thanks for that and then you are well aware I has already mentioned in the introduction that you’re with a company announced de Certeau, could you facilitate everyone is aware that the results of the investigation that’s
RH: yes so on, leave cause web developer DeSoto. DeSoto is an online publisher for gaming story were one of the most important of the US and, and the most important of the UK, we focus on eSports. Just variety of gaming pulpits, and we have a number of WordPress websites.
DV: since this is an audio show Could you spell the search for everyone.
RH: Yes, so it’s spelt funny, actually d, e, x, e, t, o, but if you’re, if you’re a Call of Duty fan you’ll “understand what i m saying” I said so.
DV: I am a see function love but I do know that comment but I did get lost a little bit as I was retired experimenting this bout and the articles so it’s really fine. You know we have a lot of agencies and freelancers and product makers on the press this and it’s really good to also get the perspective of brands. So, I’m kind of bizarre. Can you briefly describe what perpetual growing is for the sake of our gathering if you’re not familiar.
RH: Yep, sure, ongoing deployments, it’s just basically a process of automating every single step of a deployment process for every single change that you use the system locate. So instead of waiting for a freeing appointment, and building up a backlog of the amendments to a codebase and then do anything one large-scale you endlessly deploy new varies again and again again.
DV: It’s automating that deployment process. Would you consider part assessment to be part of incessant deployment or not.
RH: Yeah so the, the process from the start as far as, I convey, let me get a word, right. So, instead of doing human testing, continuous deployment automates a great deal of the tests operations. So that could be used to include like PHP unit assessments. That could include linting in order to be allowed to do JavaScript linting in the tests you can do stylesheet linting in the tests, and exactly getting rid of all the, all the testing that could take a long time by a human, and doing it really quickly with a computer.
DV: That’s an breathtaking description thank you for that and I imagine as I think about where teams get blocked on adopting endless deployment is in the complexity and giving it up and I speculate, you know , not doing some of those things and their their manual deployment operations, you are well aware, in order to save time, but it’s really interesting to think that, you know hey a little investment in setting this up, can have big-hearted returns on time last-minute, and peculiarly the time for cooking problems.
RH: Yeah 100% The setup process of endless deployment is, is the hardest part of it. Once is setup. If you fail to use it readily. Developers should be able to come and really press a button and upload the code changes to whatever platform you’re coping your system locate on and everything should get provoked. So one question.
DV: Like I feel the gathers there right like making a mistake with your deployment and motiving an outage cost money pioneer threat into a business from from the increase perspective of course people want to like time the most appropriate cultivate and make sure it works well and not have to deal with headaches last-minute so like there’s a big draw. But then, you are well aware, there also is gonna be blockers to people registering squandering ceaseless deployment. So when you implemented ceaseless deployment at de Certeau. What was the decisive factor like what was it something that crack before, like what was the, Why did you decide to deploy to pursue that strategy.
RH: The biggest deciding cause for us was because we’re a fully remote firm. We don’t have an office. All our makes all over the world. So we needed a road to make sure that all these makes could work well together in a team, and other code was following good standards and practices that we’ve put in place. And like I said, the biggest draw to it is safety. You need to run these exams before you do a deploy because the uptime of our websites that biggest, biggest point that we care about basically.
DV: Did you have a shared team from the start or was this related to the world lockdown.
RH: No we’re fully remote squad from the start, and the future.
DV: So did you function without perpetual deployment for a while.
RH: Yeah, it was only a small development team at the start, so I guess it wasn’t as important but the more developers that you add to the team, the most significant it gets because you don’t want parties overwriting each other’s code by doing manual uploads to via FTP or something like that.
DV: So you have the issue of overwriting and make issues with, you know, numerou parties trying to deploy. What about like a better quality of slog I feel like “if youre having” like men doing their own linting and unit measures, usurping they’re even doing them integration tests and things like that, I feel like if each one’s unique a snowflake that that might start other questions at scale.
RH: Yeah, precisely. We need to make sure everyone’s following the same standard. From experience a code readability point of view as well. You need the developers to be able to pick up, pick up the codebase and be able to understand what’s happening quite quickly so we need to. So for example, one of the rules that we have in for developing PHP plugins is, everything has to follow the WordPress VIP standards. And one of the WordPress VIP standards is every PHP function needs to have a PHP doc description name with it. And if it doesn’t have that the WordPress VIP standard or for open ever saying, Look, you need to include these, and it disappears like that precisely constitute the codebase, a lot better than everybody.
DV: Do you use any other standards for WordPress specific linting tools in your continual deployment process. You mentioned VIPs.
RH: Yeah , nothing’s plugged in WordPress specific. We do have tradition styling. But that’s just, that’s just what we been put forward with as a team and how we like to work.
DV: I’m not very well known the VIP center precisely but I’m guessing it includes the WordPress code quality standards, that would be, guys, do you know that to be true, yeah that’s that’s exactly what I mean. All title, good, good, good. Well, that’s excellent to hear, I visualize, you know it’s good for tribes to get an understanding of like what’s involved and what the relevant procedures are and I suppose a good deal of folks do you in general, but I actually want to get into some more specifics around, you know how this process was like for you and you are well aware some of the things you found that, you know help drive success when when you explored it, but we’re gonna take a quick break and we’ll are quite right back.
DV: Welcome to Press This the WordPress community podcast on WMR. This is your host David Vogelpohl, I’m talking to Rob Humar about endless deployment within your developer workflows Rob right before the breaking we were talking a little bit about kind of the factors that guided dissertatio to kind of adopt continual deployment you talked about there being a smaller crew with perhaps less of a need, they’ve been really with a fully remote and larger team. It certainly kind of wasn’t a choice you felt for consistency , not overwriting each other’s work. And you are well aware, creating a standard by which your business can operate and from the improvement percentage view. Merely bizarre, how did agile toy a role in how you change workflows or did it.
RH: Yeah, so fairly early on we, because we have quite early on we found out we needed a good way to manage tracking brand-new features and bug reports. We have quite a large team of editors who are writing the content that using the WordPress platform, all the time, and they’re very good at discern. Focus on the front end, and the amount of brand-new, like I said, the amount of newbie manifestations we needed a space to move them coming in and then tracking the process for other development penalties. For speciman, we can track when they’re being worked on. When they’re going into QA, and when they’re ready to be deployed, etc. and because we are fully remote team. We need an easier method for these remote developers to be able to pick up places, and start working on new jobs.
DV: Okay, so the approaching with Agile helps you in terms of specific solely handling kind of applications coming in from the business exclusively editors and allow them to kind of pick it up on the fly, as well as I’m guessing communicate back to the stakeholders around the progress you’re making towards that.
RH: We have to tell product team as well that need to know where abouts these volumes are in the process of being tied. And they can report active, the internal stakeholders.
DV: Do you invite the stakeholders to like your sprint planning gathers and things like that or do you do that in a separate context.
RH: We’ll get them out to the sprint fits however do have a digital concoction administrator in there that will pass all that information on to the stakeholders of the company.
DV: All liberty, good to know. So, let’s “re going back to the” endless deployment side so what does your CD tech stack look like and why, like earlier I asked you about your standards but I’m just curious if you’re using composer get, I understand how you configured your stack.
RH: So we, So, a good deal. It’s all located around because GitHub is one of the biggest code repositories in the world countries, and most makes have event employing it, and they can easily create pull applications and propagandize system changes and into branches, etc. So that’s what we use to manage and track all the code deepens again sticking with GitHub we use GitHub actions to run the actual continuous deployment, and that will trigger on many wars that you’re doing GitHub, like plug changes to a new discipline, merging the placing limb into the production branch, and that will run many deployment scripts depending on what was, what has been triggered. And what you can do on GitHub wars. So, basically GitHub actions is like having a little computer in the vapour that you can do anything on basically. So we can run our Pete PHP unit tests on there, we can run our topic system modifies through Webpack, so it structures, and it’s checking for lint corrects. We can install all the reliances that we need for the, for the WordPress Project, Project. And we likewise manage all our WordPress plugins by composer, because we need to create a consistent development environment. So we need everything to be consistent, including the plugins. So we don’t leave plugin installations to the actual WordPress admin area, because we don’t want other developers lay plugins the other but other makes haven’t. So we need everybody to be consistent. And then, on a WP Engine line-up we we fortunately we can SSH into the wiki engine so we can do a lot of things on the WP Engine server via authority row, which you can trigger through the little computers that you’ve got on your actions. So for instance we can sync all the data abusing our sync. And then we run a little program from via the GUI PPCLI announced despot, and actually controls the configuration state. So again it’s going back to that consistency between different environments. And ultimately, we use the grip of liberates to manage rollbacks. So on every big change, we create a new form. If that account of system has an error and we need to quickly rollback we can precisely quickly are returning to the previous version.
DV: Awesome. If you’d like to learn more about what Rob is up to you can visit de Certeau calm and that’s spelled DXER To calm gaming word eSports. Thanks everyone for listening to press this the WordPress community podcasts on W Mr. And this is your host David Goble. I support the WordPress community through my capacity at WP Engine, and I “ve been wanting to” producing very good of the community to you here every week on crest.Arrived Thank you that was awesome. I affection how substantial you went into that I’m sure there’s much, so much better. I gotta say hearing your approach now I feel very confident in how, in my ability to get eSports and gaming information from dissertatio You sound like you’d have a terribly, you are well aware, well developed in partnership workflow now. I know it’s you kind of mentioned even the very beginning that we chose a lot of these implements particularly GitHub and GitHub wars because you know 70 developers have suffered with them. And, you are well aware, I found that too to be true, but what do you do, have you had to deal with a developer that hasn’t had event, or at least some knowledge exerting your tech stack for your workflow.
RH: Luckily for my natural development, interview, it’s pretty easy, like I said already, it’s setting up as a continuous deployment that’s hard. And formerly that set up the developer doesn’t actually need to know what’s happening behind the scenes, they can push your change to GitHub, and then get up as a really nice user, user interface, it says, say as the tests are running. So we have a test on a topic and it says after running and then we have a test on the, the PHP code that we’ve written, and that will flag or light-green or red, if there’s an error. Everything’s fine. So that’s pretty much all the developer needs to know. They need to know that the tests are running, and they need to know the results of the tests but from a behind the scenes point of view of an internet is never easy, really great point.
DV: As you think about it, especially in the terms of like impact to the business and impact to the individuals and this notion of efficiency, like , not only is it faster to run the automated activities, versus doing it manually, but you likewise don’t have to learn and configure, you are well aware, the practice you would check this things in a manual room and various kinds of a snowflake environment where every developer has their own way. So I’m guessing that means you can have individuals who focus on those constituents determine them better as part of the CD process, and then everyone else can free their attention infinite and age for other things. Is that how it is going to work for you.
RH: Yeah, so we have a QA engineer that deals with setting up the testing and the deployment scripts, and he’s an expert in all of that. And that means that, like you said, the developers don’t need to focus on that at all, and they can focus their brains on writing the code.
DV: I like to call this concept, you know, scaling your opinion and processes like this I think of this also in terms of like the block journalist in WordPress where developers are pre originating themes that material makes then deploy, but it’s a way of scale that that revelation and that ability in that paraphrase opinion, so you can reuse it over and over and over and over and over again, and enlarge the value of what you do. Do you is my finding that to be true.
RH: Yes, unquestionably. Because we were scaling up quite quickly. We also needed a practice to get these developers set up remotely, and set up on their local environments, readily, so we were able to take a lot of this continuous deployment and generate kind of like startup dialogues for these new developers that were joining the team. And now we’re in a target where we can precisely get the development type in one line of code and a local environment will get set up on their machine that parallels, everybody else in the team that hasten and compatibility is so important.
DV: I got a few more questions but we’re going to take a quick break and we’ll are quite right back.
DV: Everyone welcome to Press This WordPress community podcast on WMR is your emcee David Vogelpohl and in the middle of talking to Rob Humar about endless deployment. Rob before the breach, you were sharing some really interesting information. You know around your tech load and how it impacted your team, especially around as I described the kind of scaling your insights and your innovation, and by having kinfolks both focus on specific parts of that process versus everyone having to become an expert at all the different things. So, as you went through this at Dxtero How did this approach solve the problems you were having before adopting endless deployment you talked about things like training and onboarding but like what was the overall jolt and after you deployed it in the business.
RH: Things were a lot faster. And things were a lot safer. Basically, we then had that we then had free environments that we could guide the code through quite quickly. We have a master development server, where private developers can precisely swiftly load up code changes in testings out promptly, then we can move those alters over rapidly to a present server. And on the stage server that can get work through visual used testing, and then once everything’s been researched, we can quickly move everything over to the production server. And because we’re apply ongoing deployment, each one of these environments is exactly the same, it goes back to that place we’ve been mentioned about firmnes, and made to ensure that meets everything work better.
DV: So someone out there right now Rob is listening to this podcast, and they’re thinking about deploying ongoing deployment in their business, or maybe they’re about to move it to their boss to get resources to get time to introduce this into the workplace, you mentioned two things in the after that stood out to me, faster, and safer. So I asked you a couple of quick questions on each one of our one question on each of those more faster mean that you deployed more things quickly and thus introduced more opportunities for dissertatio to offset more fund like they did have a material impact and like the features you were releasing and best opportunity to earn revenue.
RH: Yes obviously, because we are such a high traffic website, we get over 50 million sheet goals every month. We can quickly really quickly upload changes to the code base that could have an impact, and you can see these changes in real hour. If we upload, because we’re an ad revenue based fellowship, if we uploaded something that changed. Maybe the position of an advert on the web page, we are able to instant see whether that’s creating more income or not creating more revenue.
DV: So if you don’t do these experimentations, faster, then you lose the opportunity to become more receipt within this.
RH: Yeah, accurately. And again, if, if it does the. It sees things worse, and we can quickly change back as well.
DV: Yeah, you can iterate I believe the iterating is key to digital success. And then you mentioned safer, and I recall I’m okay if you want to scare parties a bit of how important testing is because I think it’s hugely important. But, facilitate, facilitate kinfolks understand like what’s that selling target and safer.
RH: Yeah, I’m sure a lot of developers have had a nightmare in the Bucks been some something’s been liberated on product and it’s all gone. Gone pear shaped. Because of this continuous deployment, we can make sure everything’s going through a variety of tests. And because they’re pas these tests whereas it is necessary to taken away from. Few things that can go wrong already before you secrete it into product, and that can make sure your codes at least 80% safer than “it wouldve been” if you weren’t running these tests
DV: that can have big-hearted impacts on the experiences you’re managing Well, Rob, this is huge. I actually want to thank you for strolling me through your workflows now and the success you found in your unit and the effects it had to the business, but time expressed appreciation for so much better for meeting us today.
RH: Thank you very much for having me on.
DV: Awesome. If you’d like to learn more about what Rob is up to you can visit Dxtero calm and that’s spelled DXER To calm gaming report eSports. Thanks everyone for listening to press this the WordPress community podcasts on W Mr. And this is your legion David Vogelpohl. I support the WordPress community through my persona at WP Engine, and I love to accompanying the best of the community to you now every week on crest.
The post Press This Podcast: Working Effectively with Your Dev Team with Rob Humar loomed first on Torque.
Read more: torquemag.io
April 11, 2021 