 Cool So yeah, this is this is what we're here to talk about. We're gonna be talking about why we use somebody else's code And so if that's what you want to hear about you're in the right room And if not you're trapped in here for the next 40 minutes, and you cannot leave. Oh, they just left so that just proved Thanks guys All right But anyway, I want to introduce myself. So hi. I'm Michelle I design stuff usually stuff for WordPress and although they put me in the developer track It asked me to talk about developer tools I'm really just a front-end person with a background in design So I don't know how much credibility that's going to give me up here on this stage Especially compared to all the other people that are going to be speaking in this room But bear with me because one thing that I do do is I spend a lot of time at word camps and other open-source events And I'm constantly in discussions with a lot of other really smart people About new tools about resources about the things that they're doing in order to do development and If you have spent any time we're more than one developers in the same place how many of you have besides today I mean obviously we're all here in the same room But if you've gone to a meet-up if you've hung out with people at your work if you're a developer If you've ever read any article or blog post about the state of development If if you've ever done any of that kind of stuff. It's inevitable that we are going to have a conversation about our tools But how many times have you done this where the conversation starts to go something like this? Don't use code base. It sucks. It's too heavy. It's too slow. It's too bloated. It's on semantic It's not exciting. It's not x or y or z enough, right? No one writes code base in year anymore It's not modern they came up with something better this framework is the new hotness that one's the old boring framework or I don't bother with code base because I just rolled my own. It's superlative Why would you use that bloated old sluggish terrible tool when you could use a better faster leaner more targeted more performant one that you wrote yourself? Why the cuss are you using code base? It's so shocking to me that I can't even have a discussion about it And I'm just going to shut the entire conversation down right now You're not a real developer if you use code base Real developers don't use frameworks. They don't use GUIs. They don't use certain CMS is they don't use certain languages They don't use certain techniques. You're not a real developer So when you heard a statement that sounded like that or read that article or participated in the discussion How did you react? Were you one of the people that was nodding along and agreeing or were you on the other side of the argument and feeling like You had to defend your choice And why did you have that opinion? Why were you agreeing or why were you feeling defensive? Where is the line that you draw between the good tools that are okay to use and the bad tools that you shouldn't be using? Has that line changed for you over the years and why has that line changed? This is just some simple googling of phrases for things that I use in all of my client projects, right? So one is don't use WordPress. We've got about 79 million results for that and one is Don't use jQuery about 11 million results. Don't use PHP a hundred seventy six million results. I Use these and pretty much everything that I build for my clients every day But I bet you've seen I bet you've all seen stuff like this before right all of this So remember at the beginning of the talk when I kind of apologized for just being a front-end person speaking in the developer track Why did I feel inclined to make that joke? How did you react to that joke? What did you think when I said that? I've given this talk at some non-wordpress events like other developer events and I make the same joke But I actually make the joke about how I'm a wordpress developer Like I don't know if that gives me more credibility on the stage guys, but you know Why is that and how do all of these things? Contribute to the learning environment contribute to the inclusivity of tech, especially we're supposed to be open source We're supposed to be welcoming people How do these things how does this environment? Impact people that want to ask questions or want to learn something new or we're just getting into the environment today And now there's always a rebuttal like there are certain facts that do exist right like we do have to talk about security We do have to talk about speed we have to talk about the philosophy We have to talk about best practices like there are absolutes not everything can be good right and and that's true We do need to discuss those things because there are actual repercussions to the code that we use right I mean we are putting things out there in the wild and we should be doing things well So what do we do? How do we talk about all of these very real and important factors without shutting down conversations and without dealing in absolutes? So first I want to get rid of a whole bunch of inaccurate assumptions that we might have about the way people code and about the Way people choose the tools that they use The first inaccurate assumption is We don't need tools. We don't need to use somebody else's code. We write our own like we roll everything ourselves All right Well first of all of course we need tools like you're at a WordPress conference right some guessing We all use WordPress which is a tool that somebody else or many other people built right so We all use somebody else's tools Unless you invented your own programming language and wrote in that you are using somebody else's tools And even if you did you probably learned how to do that from what looking at other people's languages, right? So there's no there's no nothing unique here Everybody here is building on top of somebody else's toolkit right now. That's what brought you here in the first place Another inaccurate assumption is that when we talk about code We are only talking about code like the only thing that we're discussing is what we're writing Not the case obviously there is an outside context. We're not just talking about the code We're talking about what people brought people to that code and what what decisions people were making when they did that We also assume that there are universally right and wrong answers That are the same in all situations and obviously of course clearly you have come up with the right answer Everyone else is an idiot until you learn more and change your mind And then that's just the right her answer than it was before like you were right before but now you're more right and Maybe you were an idiot before but it's fine because now you're better Clearly that's not actually the case Another inaccurate assumption is that the only limiting factor that people have is a lack of skill and Also that every single other person can wants to or needs to gain that skill And so the answer is simply to teach people to use better tools aka the ones that you think are the right ones Which are obviously better because you think they're right Another inaccurate assumption is that everyone's on the same journey, which means that Everybody else has taken similar paths to gain their skills. Everybody has a similar balance of skills everybody has the same resources to access these skills and Everybody has a similar baseline and a similar life to be able to build their skills upon And so that means we can definitely project our own experiences on to everyone else again very inaccurate assumption But the most inaccurate assumption is that the choosing of tools is simple a person looks at two code bases One is wrong and one is right. So they picked the right one that is Inaccurately simple way of how it works. So how how does this really work? And this is the part where we're gonna get really nerdy to be very excited because I have infographics. It's gonna get fun Hope you're excited There are many parallels between how we choose coding tools and how we play games So who in here is a gamer of any any sort board games video games, whatever cool So I'm not a gamer at all. I don't play board games. I don't play card games I don't play video games, but but I'm I'm tangential to a lot of gamers So I spent a lot of time watching games of all sorts Whether that's like board games strategy games video games RPGs like open-world games first-person shooter games Collaborative games party games like I have I've been there for all of the games And I've been able to observe it and I've seen a lot of patterns as to how games are played So you can boil pretty much any game down to this collection of statistics. So first of all we have the game itself We have the player or players who are playing the game and we have the tools Which are basically the things available to you inside the game that enable you to play the game I'm gonna break all of these down into even more details So let's talk about the game first So first of all the game is basically the the internal rules and external situation you are playing everything about everything about this game in Developer terms that would be equivalent to the situation in which you need to use the code and all of the internal and external factors that apply So there's a lot of different things that go into a game. Here's some like nerdy-looking stuff. So Games have an ecosystem this ecosystem has different factors like time complexity resources and importance to break all of those down and Games also have different kinds of objectives So you might have a resource management style game where you're trying to kind of build an empire You might have a competitive game versus a collaborative game, which are very very different Are you playing against the other players you playing with the other players? Are you trying to accumulate things? You're trying to get rid of things. There's lots of different objectives to games But we're gonna talk a little bit more about the different components of the ecosystem So the first statistic I want to talk about is time, which is obviously how long you have to complete the game Inside a game Turns might be timed so I mean there could be like in chess where there's a certain amount of time or levels might be timed Where you have to beat the clock in order to complete something There's also a few different ways you can play a game using time So if you've ever played a game on a speed run that means you're trying to complete the game as fast as possible Which is a very different way of playing the game than trying to play a game through to completion where you do literally every single task That you can possibly do to very very different approaches to time inside a game as a developer What does that look like? Well, these are factors like internal or client timelines that they've they've imposed on you Or that your team is imposed on you It could be the number of contract hours that you have available or that your subcontractors have available It could be whether you're trying to be very very efficient versus very very thorough It could be something where you're using like an agile methodology and you have sprints or you have phases Or any other kind of methodology. Do they're all the things that impact the time that goes into a project? Then we've also got complexity and complexity is basically how intricate or involved the gameplay is and games Obviously have very very different levels of complexity and certain things can be very simple in some areas and complex in other areas So obviously of course the number of rules and processes do we have like a massive thick book or a single page that explains how this works? How many phases or levels are there? Is this like a linear game where you basically only progress one way or is this a non-linear game? Is this an open-world game where you're basically free to go everywhere and do everything within whatever your skill set is? Or is it a closed world? You basically can only do the one thing that you're supposed to do Single versus multiplayer, that's definitely a layer of complexity right there. Are you doing everything? Or do you have teammates that you have to worry about? Single versus multi-objective is there only one thing you can do or are you trying to do a whole bunch of things at once? I'm always thinking of like Skyrim which is just like you're constantly running like 20 different errands for all these other people and you're running around killing Dragons and you're building a house for some reason and Yeah, like there's just like a million different things that go into complexity as a developer What does that look like? Well, obviously it's the complexity of functionality of the thing you're building, right? So are you building maybe for a website like a simple brochure wear site? Or are you building something that has to integrate with a whole bunch of other third-party APIs? Are you having to worry about managing multiple languages like PHP and JavaScript or even the content is the content in multiple languages, you know What kind of compliance do you have to worry about? What kind of standards do you have to meet? These all go into the complexity of a project and now we've also got resources and resources So inside a game it's basically like the supply of money materials or other assets necessary to complete the gameplay What do you need in order to keep playing this game? One is obviously time available One is like an outside game budget. So for example real dollars. How much real dollars do you have to spend to play this game? It could be something like having to purchase Stuff to like be able to play the game more like in game weapons Or it could be you're playing a card game and you have to actually buy cards in order to build your deck There's also inside game budgets right like a lot of a lot of these bigger games like your character earns money and your character Uses character money to be able to buy more armor and stuff so There's multiple resources here Developers obviously there is a budget to write for a project was usually a budget There's also how much manpower or a developer hours Do you have available per week or per day or per month or whatever? How much does it cost to get licenses for things? How much does it cost to be able to host things? There's lots of budgets and resources that go into a project and Finally we've got importance which is basically how critical is it to complete a game or a specific level within the game to a specific degree of success so obviously in the game world if you are in a real competition like there's stakes and there's prizes and You're competing it's a little bit more important than if you're just like playing in your friends basement for fun There's also stuff like player reputation, you know, how important is it to be able to maintain a certain level of standards? Does completing this level in a certain way build like create a building block of like how well you'll be able to do on further Levels that's kind of how it works in a game As a developer basically how how mission critical is the success of your project I mean what security concerns do you have is there e-commerce that can't fail? Is there other uptime requirements? Is there like some kind of symbolic importance within the company like this is really meaningful to the boss or whatever? This is really meaningful to somebody who needs to get a promotion and look good in front of their boss There's a lot of different things that give a degree of importance to the game So that's basically the entire ecosystem of just just the game just the context But now we're gonna talk about the player right so in the game Obviously, this is the person who's playing the game in development. This is the developer or user of the tools, right? so players that players have stats and These stats of the player impact which games they can play How far they can get and which tools are available to them and players have a few different things So players have skill which is the ability to use tools They have knowledge which is different than skill because knowledge is awareness or familiarity with the game And then they have a philosophy which is how and why they play so I'll break down all of these first of all skill This is probably the first one we think about The ability to use or wield tools so in a game that's you know your your level your experience what what teams you're on What guilds you're a part of? Often skills need to be acquired in a specific order you kind of have to progress through a certain number of things You can't just jump to a high level And if you're in a very complex game again, I'm thinking of something like Skyrim or something like that You might have different skill levels for different types of tools like you might be super great at archery and super terrible at sneak Which is kind of awful if you're trying to shoot somebody and they can see you But you have different skill levels for different for different types of tools As a developer these there's lots of different things you can have skill levels in the language As you know all the type of dev work you do you know your front-end person you back-end person or you sys admin person Do you have a traditional computer science background? You often have to learn them in a certain order, right? You can't really jump all the way to the advanced stuff without doing some beginning stuff But players also have knowledge and this is actually different than skill And this is really more about being familiar with the game as a whole. So how well do you know the ecosystem? Have you played a similar game before you know like maybe I haven't played this open-world game before but I have played open-world games before So I understand the concept How well do you know this game in general like how well do you know the map? How well do you know which guy you have to go find to ask this question? How well do you know the types of quests you're going to be going on? How well do you know where you can find resources? This is this is knowledge. It's not skill As a developer obviously these are related to a lot of the tools you're going to be using So do you know the specific framework you're going to be working on very well? Do you know the language you're writing in? How well are you familiar with the community and who is doing what and where you can go to ask questions? How well do you know the CMS? Are you object-oriented? Are you functional? Like do you write in sass or less? Like there's so many different things that you could have knowledge about And then there's also the philosophy and this is how and why we play the game and your philosophy Has a big degree of influence on the attractiveness and utility of the tools that are available to you The same player can play the same game totally differently with different philosophies So for example, if you're a game player, do you prefer to play the game? Very straightforward and following the main story or do you prefer to play games as fast as possible and competing for speed? Or do you prefer to play games where you do every single one of the side quests? Those are very very different ways of playing the game and that influences the tools that you choose and the decisions that you make As a dev, how do you write your code? Why do you write your code? Do you want to write it to be? Readable are you trying to make it maintainable by other people? Are you trying to write code to be secured? Do you want it to be accessible? Do you want it to be very performant? Do you want it to be bleeding edge? These are all kind of very different Philosophies that might lead you to make very different choices and how you write your code how many comments do you write? Do you minify everything? What do you include in things? How well do you document things like what do you what things you're choosing to write with very very different philosophies? And Then finally we have our tools and the tools are the actual specific things that you are using to execute So in a game that would be the specific weapon the specific resources maybe a specific character specific set of moves a specific set of armor That's available to you. These are all your tools and Each tool has a set of requirements and a value and a risk associated with them The requirements kind of limit which players and games can use them But value and risk are kind of relative in each person picks those kind of Based on their own philosophy. So as a developer Again, these tools are what languages what frameworks what snippets what plugins what modules what themes? Generally we will be using more than one tool over the course of the game or over the course of the projects And we might change the tools as the game changes So we might start out by using these simpler tools and end up using more complex tools Each of the attributes that a tool has The player will assign either a value or a risk Which is again relative to how the player is playing the game So let's talk a little bit about value. So I've got some little like icons. Let's say this this particular tool right here On the plus side the value it is secure. It is well supported and it is well Documented so these are kind of positive points in favor of using a tool And if these positive points align with what you as a player deem to be valuable And this is how this is like how you play the game then this is a tool that's going to be ranked positively in value to you Some of these values can be mitigated by risks that are higher than the value. So for example For example, this tool is the same tool But it might be secure and and supported and well-documented, but it's also time-consuming and complex So these are negative points whether or not you decide to use this tool Can be influenced by which of those you think is kind of more important, right? So if I'm trying to do something really really fast and without having a lot of time to learn it I may not pick a time-consuming and complex tool Even if it's secure and well-supported and well-documented right because it just doesn't fit with my philosophy for this game But if I have lots of time or if I'm trying to learn something new or if I don't mind that it's complex because I Need it to be complex. I may decide that this tool is positive and I really want to use it So the player philosophy and what game you're playing will determine whether these risks outweigh the benefits Each tool also has a set of requirements So it's basically the skill and knowledge level required to be able to use the tool also which game you are playing I'm obviously not going to use armor to play solitaire. I mean I could that would be kind of fun, but So these are like basically your prerequisites for player skill level knowledge and gameplay So for example this particular tool needs somebody with a skill level of five and a knowledge level of eight These are just arbitrary random numbers they made up So if you don't meet those you can't use this tool regardless of whether or not it meets your philosophy, right? That's just how games work So now we're gonna start taking these things and combining them together to show how Different a game is based on different stats So first of all, let's take a player and modify their stats and see what happens to their gameplay So we've got a player. This is a player called the noob They have a low skill low knowledge, so they're just starting out. They don't have a whole lot What does that mean? That means that there are very few tools available to them So there's a set of tools underneath each tool if they are if it's bright that means that they know about it And so they have knowledge about it and the number represents the skill level that they need to have to wield it So what does that mean that means that? Basically, they have very very few tools available to them that they can use so They pretty much can't complete every game. There's very few games that they can complete at this skill level But they may not want to Increase the skill level to play themselves. They may rather just partner with somebody who has a higher skill level than them To complete this game, but they can't do it themselves. So that's low skill low knowledge We've all heard of the noob, but this is one we may not have talked about as much This is the enthusiast so they have low skill, but they have high knowledge I actually see a lot of these people at word camps and we're talking about Wordpress related stuff because they may not be developers They may not know how to you know use all of the tools But they are aware of a whole lot of tools because they are constantly in the ecosystem, right? So they're coming to things they know a lot about a lot of plugins and know a lot about a lot of things They can have a really good discussion about about wordpress, but they aren't a developer So they are not wielding all of the tools So what does that mean? You can see They're pretty much aware of the existence of like all of these tools except for like one There's only a couple that they could actually wield themselves. So They these people often desire to learn they want to increase their skills Or they want to partner with a player with skills to do something interesting But these are these are really interesting players that we don't often talk about because we usually assume that people are either noobs or experts This is this is another kind of player level. It's actually a really awesome player level. I think This is another one. We don't talk about too. This is the artisan where they have a high skill, but low knowledge What the heck is that? How do you have that? Well picture this a? PHP developer a traditional PHP developer trying to build something in wordpress. So wordpress is built in PHP, right? but um, so they are great at PHP right they could PHP circles around me probably but They don't know wordpress. So they don't know like the wordpress way of doing things They they're constantly reinventing the wheel and and doing stuff that wordpress already has something for so this is an example They could wield almost every single one of these tools, but they don't know about them They know about like one tool and so they are kind of in a similar situation to the noob where they're they're struggling with it They also they're also like get easily frustrated right because they know that they know PHP but like they don't know how to how to write for like wordpress and so they get very very frustrated and feel like they're being Restricted and that these rules are very challenging. So I feel like the artisan is a very very interesting player as well Because they they get easily frustrated They're very very smart and all they really need is more awareness of the ecosystem But they already know how to use most of the tools And then of course we have the expert which is the high skill high knowledge person many of people that are you know Speaking and attending this event are this they are aware of most of the tools and they know how to use most of the tools They definitely have a desire and ability to keep learning and they're also the ones most likely to argue about tools right So that just shows you just how changing the player impacts what tools they can pick right? But now let's modify the gameplay. So let's talk about different kinds of games. This is fun So we've got the the churn and burn game, which is a low-time low-budget game. Everybody's favorite game Which definitely influences the value and risk ratio of tools. So here we've got a selection of tools We've got the tools that we can use and the tools that we've decided are a good idea to use Even high skill players even players that are high skill high knowledge Expert players may choose to wield simpler tools due to the ease or cost of use So this could be somebody who could definitely roll their own anything But they're working on a churn and burn game They are going to probably pick something that is mostly pre-built in order to get it out the door in time Right or get it out the door in budget because it makes sense in the context of this game So yeah, so if you're a developer if you do something quickly or cheaply You'd probably be more inclined to reach for an existing framework, especially if you have lower skills in that specific area So like if you're a back-end of you may end up using a front-end framework like bootstrap or something similar to that to put The UI together because you want to try to get something out the door in front end is not your specialty Here's another game it's mission critical. So this is a high complexity high importance game Low-level players like can't join this game Like they do not have the skill set to join this game right because this is extremely complex extremely high skill level required game and only The only tools that will work in this game require high skill and high knowledge and low risk So this is a very very different game because only only very specific players can play it and only very specific tools can be used so this is something like It needs it's like this is where you have to be very choosy about your code So it needs to be very highly vetted it needs to be very secure Or maybe it needs to be maybe it has to be bespoke like you have to be able to speak to every single thing and it and explain Why it's there so maybe we can't include other libraries. We can't use pre-rolled plugins We have to do everything ourselves because we are extremely responsible for this. So that's this kind of game This is the mission critical game There is also the unbeatable game right the high complexity low-budget game Certain combinations of game stats that you just can't play this game You cannot win because you either have no qualified players or no usable tools So if you've got the the I need you know the next Amazon for $500. I'm sorry That is an unbeatable game that is high complexity and low budget. We cannot do this It just doesn't work. No tools are available to us that will be this game So then we've got the tools themselves. So basically how do we pick these tools? How do we weigh things against each other and again? We're talking about values risks and the requirements So the risks and values like I said of any given tool will influence how they're chosen Chosen even if the tools require a similar skill level to use. So even though these are both level 8 tools The one on the left We're assigning a positive value to because it's got all these great things on the right It has a bunch of great things right like it's affordable. It's well maintained. It's easy But super negative. It's not secure So we don't want to use that tool because the negatives that weigh the positives Even though they are both level 8 tools we can wield both of them But we have definitely decided that that one is not a good idea and that one is We could also the the tool selection is also influenced by our own player skill and philosophy, right? So player a this is the same tool. It's a it's a secure and Well and well supported and well documented tool that is time-consuming and complex player a says good This is a positive. I want something that are these things. I don't mind that it's time-consuming and complex player B says I don't have time for the thing that is time-consuming and complex. This is a negative We're talking about the same exact tool two different players two different decisions because they have different philosophies And they are playing different games. So value and risk are very relative to the game that you're playing So a tool one player sees as an asset another player might see as a liability same exact tool So what does all of this mean now that I've like thrown a bunch of infographics at you? What does this actually mean about discussing tools? Well first of all what it means is not simple It is not as simple as looking at tool a versus tool B and saying that one is right and the other one is wrong It means that it's very very complicated, right? There's so much going on here This is really more what it's like when we're talking about what tools we use The choices we make in the tools that we use are impacted by our own skill knowledge and philosophy By the restrictions and parameters of the project we're working on and how we rate the values and risks of each tool So there are a ton of factors that go into every decision that we make So obviously decisions are multi-dimensional, right? That's what we're walking away with every decision is multi-dimensional It is not simple and there are other reasons that people make different choices than you aside from just lack of knowledge So they are not just making a different choice than you because they don't know something We also need to remember that not everyone wants to gain skill not everybody wants to learn how to wield every tool Even when we want to spread knowledge and awareness through stuff like this if you're talking to people helping people out It doesn't mean that everyone wants to learn how to wield the tools We don't all have to learn to code or become proficient at every single tool language or framework So what can we do? First of all stop this All right, stop it. Stop it. This isn't helping anyone It's inflammatory and it completely turns people off that want to join the community and do something new If all we're doing is bickering about the tools that we're using stop it. I'm serious. Don't do that Remember that we can help increase knowledge without demanding that people also increase skill That means we can help our clients make empowered decisions without expecting our clients to want to become developers I don't want my clients to be developers, but I can help them make education educated choices about WordPress We can help other developers make empowered decisions Even if they don't necessarily want to use the same tools that we're using we can have a good discussion about it and let People make good choices. It doesn't mean again. It doesn't mean that everybody has to learn to wield all the tools We should also learn when to concede So one thing I have learned from watching a lot of games is that good games include the ability to be able to concede without Having to like go through the entire like if you know you're going to lose You don't have to just sit there and like wait for yourself to lose like many many turns later Like a good game will let you concede when you know that you're gonna lose We can learn when to walk away from something or when to ask for help This is this is part of playing a good game We can partner with people who have complimentary skill sets like if we don't want to learn to wield a tool We can find somebody who knows how and then we can have a team or we can have you know So this is great and it means that we can keep learning We can have division of labor, you know We can have a party and go on quests together and it'll be great because we need lots of different skill sets to be able to make projects good and We can have empathetic decision discussions about our tools So we can learn more about why we make decisions and that will help us educate people when necessary and communicate effectively So that is all for the formal part of the presentation. This is me. This is where I am on the internet This is the link to the slides if you want to stare at minority infographics some more But otherwise I have some time for Q&A. So feel free to ask me some stuff awesome and Doesn't have to be questions about Exactly what I said like, you know, I'm usually really expensive. So this is like free Q&A time with me right Sure, so the question for the at-home players because I'm being videoed was basically do I have a team and what tools do I work with? So I'm independent although I do Not only my own work with clients, but I also collaborate with other agencies So maybe I partner as a designer with development agencies that don't have in-house design I've also partnered as a developer with design agencies. I don't have in-house development So that's kind of fun being on both sides of that spectrum the tools that I use right now Obviously WordPress is what I'm building most of my sites in although I've done some Front-end only stuff where I used. Oh my gosh Brad Frost's thing that he did for atomic design. That is a oh my gosh. I can't remember the name Well, anyway, he built a he built a tool that let you build atomic design front-end delivery stuff And it was really cool, and I'm gonna remember it too in the morning what it is but um, I mean I Right now and have kind of rolled My own starter theme that was roughly based on some of the stuff that Roots was doing it's I've kind of like diverged from I've branched off the roots Sorry, I like puns. Um, I Have a theme that I I work on I've written kind of a Flexible content framework based off of advanced custom fields where I've basically rolled a whole bunch of common So I've like built myself said it's all on github. So Mark time media I'm marked time media basically everywhere on the internet. So if you want to find my github, it's there I've got a bunch of the tools that I use on there I don't know. There's like a lot of things that could be doing better or different like I use sublime text to code, right? I don't know. I use I use local For my local development, which if any of you went to that session this morning. I didn't but it's good like Lotto or local the one by the flywheel. Yeah, I mean but everybody like a lot of people I know use a lot of other things but for me like working independently. I don't need anything super complex to support. So, I don't know Yeah, yeah Do Sure, so the question was basically When I encounter somebody who's kind of speaking the way that was alluded to at the beginning of the presentation. What do I do? Um, I mean obviously it depends on whether I feel comfortable engaging with that person, but assuming that it's a person that I'm comfortable engaging with Usually I find that the most powerful way to combat anything like that is to ask somebody why they think that way like find out Where that's coming from and then be able to have a reasonable discussion about those things. So if somebody says, oh My god, don't use WordPress. I can be like, oh, well, why is that right? And we can then we can actually have a conversation about you know speed or security or whatever and actually Some of the things that they you know talk about are valid Like I mean, you don't necessarily need WordPress if you just need a one-page static site Like there's no reason to load an entire content management system for that If you need something to be very very bespoke like maybe you don't need to use word prep something like that So there's like valid reasons behind it and I just help them see the difference between like those reasons and like a Broad statement that applies to all things right, but I I live in the world of nuance. So That's like where I spend most of my time and not everybody's gonna listen But it's usually a more friendly conversation at that point Yes What's PHP PHP is a recursive initialism By the way, who in here knows the difference between initialism and an acronym I learned that this in the last year Yes, no an acronym is a word that actually sounds like a word like scuba Whereas PHP is an initialism because you say the letters So every I learned I was brutally corrected on this one like about a year and a half ago And so now I'm spreading the joy so you don't have to have the pain that I felt PHP is a Bad at explaining things. It's a well, it's a development language. It's the one that WordPress was written in It's a it's a back-end language, right? So it's rendered not in your browser. It's rendered in the server and I'm doing a real bad job of explaining it Is that an okay like colloquial definition? Okay, I'm like looking at you Okay, whatever, yeah I'm not gonna keep going this that was that was enough that was enough Thanks, but it stands for PHP hypertext protocol that makes me processor. Sorry PHP hypertext processor Pre-pros it's it has the word PHP in it and that just it just makes me just think of just like infinite PHP's Going, I don't know it gets me so worked up. I don't even know what it means Yes, no, that's great. That's fine. Thank you All right Yes, I know but then they decided to be jerks and be recursive and I Have thoughts on that See now we're we're having a thing Well, if you take anything away from this talk take away the difference between an acronym and an initialism forget all of this Okay, yes That's a great question So the question was basically We're dealing with yeah. Yeah. Yeah. Oh, yeah, like the yeah the The noob or the enthusiast versus the the artisan Yeah, I think that I mean anybody who's kind of set in their ways is kind of hard to convince whereas somebody who's ready and excited to learn There I mean they're both gonna have their difficulties and challenges, right I Personally think it is easier to kind of find some but if you have the time for it It's easier to find somebody you can mold and like shape into a thing that works in your workflow Versus trying to like take somebody else and like shove them into a peg that doesn't quite fit Which is the whole debate that also happens on like the whole rock star on a team thing and whether or not that's good or actually detrimental Another interesting thing that's come up with tooling is obviously I have tools that I use when I'm doing my own thing But when I'm collaborating with teams, I will try to use their tools if they have a process and they can explain it to me Like oh, yeah, we use this for local Dev and this for compiling things and this and this like I Most I use, you know Code kit to do most of my compiling because I don't I'm pretty much just compiling sass and maybe minifying some JavaScript Like I don't need to but you know, I know other people that you know use command line based stuff It's like all right. Well, if that's what you use and I will use that for your project because then we all have the same Tooling and files and we can exchange stuff So I'm willing to learn and and do new stuff when it makes sense as long as they can tell me why you know Like if they can be like this is why we use these set of tools then sweet. Let's do it We asked definitely easier to work with people that want to learn than people that don't want to learn in general Sure Well, that's why I'm saying in general like yes people that people that want to learn are great to work with and people that don't are not So be the person that wants to learn which I can tell you are because you're all here hooray. Thank you Sure. Yep But even even like with clients who definitely don't want to be a developer They always appreciate learning more about being a good content manager And so like me being able to teach them how to get to things inside the admin and like how to Do this up with their client their content that they want to do and how to not have to call me to change a picture Like that makes them feel really awesome too. So that's even a type of wanting to learn and that's good. So All right, well, I guess we that'll be about it, so I'm gonna be around the rest of the day I'll be at the after-party feel free to say hi and go get some more coffee