 Today, you know I want to talk about guilt-free coding Well, is it just a way to get over any guilt you might feel doing your job as a developer? And it doesn't matter if you're a hobbyist, you know if you just code in the weekends You can still feel guilt by doing this and not feeling up to scratch and what Well, I want to sort of get everyone to agree on is that Sorry two seconds is that you know, it's okay to struggle at your job You know, that's that's probably the most key thing, you know So the only job doesn't mean you're bad at it It just means you've hit a point in which you've got a challenge and challenges is important in your life to learn and grow Now, I think it's important in the whole room that we can all agree that happened at least one of us at some point And and to sort of get that across and get people in sort of the mind-frame of sharing I'm gonna get people to put their hands up a lot So it's only the start of the talk and I know everyone's tired, but just raise your hand I'm not gonna ask you a question. It's not gonna make you do anything else. I'm not gonna pick on you specifically What I'm gonna do is I'm gonna go through a few Feelings that I've had or Experiences that have had over the last few years and if you can relate in any way just put your hand up for a second You know say it's can anyone relate to your hand up for a second And I'll just get a good vibe of what's actually happening in the room And it's sort of like make it fair. I'll share something about myself before you share about yourself I mean about two years ago. I hit quite a low point where I'd got really stressed out as Rachel was saying on a project It got really bad to the point where I was so stressed I mean essentially I could nearly cry randomly in days. That's makes no sense I'm not I'm hoping not the crying type really, but you know I didn't really know what to do with it and luckily my girlfriend's a psychologist And she said to me that you know This is there's a lot help out there for this kind of stuff and I was encouraged to see a counselor Which was an awesome thing to do I'd highly encourage it and there's a lot of stigma to say that you've seen a counselor because it sounds like you've Got some wrong way But really I just needed some of the talk to you for a little bit to try and help me figure out what was going on Yeah, and as I said, it was an awesome experience, but pretty expensive So the first of these experiences I've had is you know feeling the need to use a particular tool so you know You could be quite happy in using mump Which if most people probably heard off in this room, which is just a simple way to set up an environment You can code in my computer. It's so easy. It's like probably the first to the other news There's this equivalent on it windows, which is one But then, you know trends are changing and people are talking about vagrant and like a few years ago The vagrant has become this cool thing. Everyone should use vagrant now You might not be comfortable with it But you feel the need to use it and that because you might see some tweets someone saying oh, yeah I think it's the best thing ever got and use it or even worse that your boss turned around and says that Everyone in the company now needs to use vagrant, which I did to people Ironically, I told everyone we should go on vagrant And what we found was basically people were just sat there struggling all the time You know they were sat there spending half a day trying to configure this thing They have no idea and have no interest in using because they didn't make that choice I made that choice for them and the same effect can happen through Twitter as well If they're feeling like everybody else is doing it They'll have to do it and that's that's one of the key points now Can anyone relate to a similar experience where you thought you've had the news at all? See that's a lot of people on the room and like that's a terrible thing to fail You know, it's I don't think many industries can relate that way where they're forced into doing something They don't want to be another one is feeling overwhelmed by a piece of tech And there's a little bit harder to explain It's like I think the best one is because gets probably mostly used in this room. They'll be locked if you're not on it That's fine. It's not a big deal. But the ones who are on it, you know I'll use it every day and what I've learned is, you know, I know how to commit and how to push and how to merge Right, that's all I know. I'm like the only developer left in our office It still uses like a GUI interface because I don't know command lines for it and like if it breaks I have no idea how to fix it. Like literally if we get to a situation where someone just goes, hey, wow I don't have the knowledge of how I get actually works to fix it. So that's me being overwhelmed by a piece of tech You know, I'm basically flicking my way to use it, you know and the best example of something like this work goes really wrong is that and we host a lot of stuff in AWS and Like skillable WordPress sites where they can scale up boxes as they get bigger Now I was the one he wrote all the stuff for down it and I spent quite a bit of time learning it But I realized recently that I don't know enough to get away with it because the clients I went live and well, essentially if anyone's heard a composer which is where you can pull in dependencies made a change in how it works so I wake up the morning off their big announcement and Amazon recycle boxes so they get rid of one and add a new one and the idea behind it is that it won't remove one Unless it's healthy the one that's coming along But there's a little of the glitch and the new composer stuff was broken And what it done was it disconnected all the servers and just left an empty load balancer up there Which means a white screen and the site went down and I had literally no idea I knew what the problem was but I had no idea how to actually fix it and it actually turned out that by clicking random buttons on the panel it fixed it so It's kind of embarrassing So, you know, we're tilling that back a little I have some some things to learn about AWS before we start pitching it to every client But you know that's cool. That's been overwhelmed by a piece of tech. What do we think have we been in that similar situation? Yeah, good. We agree This one might not relate to everyone But I feel quite lost in the minute with the files that we have like they have editor configs We have like your gulp config with packages and I don't know list keeps going on, right? And every time we start a project, you're like, right I need to take those 20 frigging files that ever seem to have been every single project with me And so I can't be in paste right which is clearly me not understand it because I don't know what all the photos and files do anymore and I had had to screenshot my recent project because it's starting to take the piss now Like what is this? I don't know. It's not the best screen this but you can just see on one file like this is getting more and more confusing and like Who isn't lost and it's not you can't tell me that, you know, every single one of those files Do you know what I mean? Like it's a waste of time. Can we relate to that as well? Maybe not as many Don't be me off-stage Okay, well, let's move on to something that's a bit more common There's you know feeling timid about an odd developer and I think this must happen to everyone at some point, you know, there's there's people out there that are quite overly opinionated There'll be some of this room as well It's not a bad thing to have an opinion on a topic and tell people about it But at the same time if you're sat in the office and someone comes in one morning and says Right, you know, this is the right way to do something like we should all be doing this Well, maybe that's not the way you used to do it. Now, you're probably just like I don't care I'm gonna continue it my way But if they keep coming in every day and seeming so confident and so sure that it's the right way at some point You're gonna be sat there going Maybe I don't know what I'm doing because this this guy comes in every single day or this girl comes in in every single day And just seems to know exactly what the latest piece of tech is and why we should be using it And that that's what it wears away at you a little bit. Can we relate to that? Yeah, yeah, let's hands people are getting bored of hands. No, there's not much left And No, I decided this but it's kind of related is you know been feeling confused by the information about it by a client and client developers as well If you're in your job right and let's say we're all at WordPress experts because we're here today You know people just assume you're gonna be sort of everything out So if you're asked to come in and fix something that's small, you'll just be like, okay, right? I know I'm doing I'll come in and do it the problem is you don't always get everything that you need And you get in these situations where perhaps your boss just assumes you can fix stuff And I don't know we've had it where the client won't give you the database and you're like, okay Well, I can't sell a local version of that So I'm not gonna fix your site and you go for this hassle of trying to explain it and sometimes it looks bad on you Even though it's not your fault So like this whole day of you back and forth and talking about a database when you could have got it from the very beginning and Can look bad on you and the best experience I can describe with this is that and recently We were asked to do a project and we were put in touch with this team They had an internal dev who'd spent two weeks trying to fix an issue and he made it sound the most complicated Ever like I swear it's not all these sorts of words. I never heard off I was like Jesus is gonna be the hardest thing in the world and I was like well Just send a few days on to what happened. So it took two days to get all the information off and it like I got all the information I sat home because it was I was writing some of these slides as well at the same time and I got all the information arrived in an email I'll make coffee before like I go diving into it string with coffee. I bet I know what's what's wrong with it It's in vault XML. So paste it into the validator check day It was about invalid and I just rate like a thing that just finding replaces the involved tags and Send it back to them in ten minutes. So it was a ten minute fix But took their internal developer two weeks to waste time two days of my time being wasted and then Tim It's been actually fixed problem. Can we relate to that a little bit? Yeah He and the other side of this is like I really think this happens to a load of people It's kind of embarrassing in some ways But like feeling unsure of your decisions is like in the most simple form is that not knowing what the call variable Like you're like don't know what that variable should be called or maybe that variable names not very clear anymore And you sit you sit there and you're just like you could spend ten minutes like trying to decide what variable should be called It's weird and the only one to that is like the the public protect it stuff like You know, you write your class or your methods in your class You have to decide what it's public protect it and somebody were like worst private gone I was told recently you're not allowed to use private anymore So I've removed that but you know, it's like I'm gonna make all my stuff public because I don't care Like unless you're gonna code review You're never gonna know if it's public or private so it doesn't really matter does it it's like these are these are little things And I understand logic, you know, I've been to university to go through the theory behind why you do this stuff But in the grand scheme of things like on every side you build this stuff See relevant nearly and think so you should just take that attitude of like it's really not the end of the world If it's public you can come back to it Can we agree with that? Maybe I lost you on the public private Okay, so we're done on the hands, so it's fine. Don't worry the rest you can sit and relax So, you know each of these little problems aren't that bad really like, you know, you're going have one of those problems You'll leave work and you'll just say like two or half or two me like Jesus I can't today was bad like I had this person use right it and that's the kind of stuff You'll talk about and you run over over a beer or whatever But you know if it happens loads and loads like repeatedly that's like small digs right and the best way explain this like So like this is probably my second talk. I've really done to a decent-sized audience now If one of you heckled me right now You know for a next crowd, but you could have heckled me right someone could have said, oh, this is boring me, right? Think someone said yeah, it's very mean I'll be doing a guilt-free speaking one next so the thing is though like that would probably knock me a little But not stop me from speaking a good in our conference And then if someone else don't again to me then I start to worry and then by the time of doing next talk If someone started you on and I might already panic because I'd be like people hate me Anyway, no, there's someone you on and I've done something wrong and the same thing happens in your development You know you keep getting these little digs out You know eventually you start doubting yourself and that self-doubt is really dangerous So you probably like well you called it a gill and now you're talking about self-doubt and Yeah, they are linked, but I think we need to like focus exactly on What is guilt because it's a kind of weird word, you know like a lot of you I think right now in this room. We're like, oh, yeah, you can be guilty of a crime or You can feel guilty because you done some wrong like I don't know you you've done some bad And you pissed me off and you feel guilty for doing it and that's the two sort of common things But I see when you when you read the description. It's really obvious what guilt actually is This is brilliant. I find this So it occurs when a person believes or realizes accurately or not that he or she has comprised He's her own standards of conduct and that's really important. So like First off it's accurately or not. So it doesn't mean it's true. You still feel guilty even if you've done nothing wrong The second to that is like this standards of conduct. It's your own standards that you believe you're breaking So it's really important to figure out what your standards are You know you set them so you can set them lower if you feel like you're always breaking them That's the port. That's the point here. You control the bar So keep that in mind as we follow through Now like this feeling of guilt And Leads to the self-doubt. So it's like a bit before the cycle, you know You're working this guilt film comes along as a result of guilt the self-doubt grows So that's where it's from and now if we want to remove all the self-doubt We have to stir about the guilt if you no longer felt guilty Well, you wouldn't be worrying about stuff anymore and your confidence slowly grow back So if you can let go a little and just enjoy stuff You'll become a little bit more confident over time and you get to that point where you can probably take the Little dig so you don't have to worry about this stuff anymore It's by building that sort of like confident level back up in who you are as a developer Like how do we do that? Okay, so You got to stop listening to other people. I know that's ironic because I'm telling you this But it's after this talk you need to stop listening to everyone So yeah, it's like forget what other people are telling you you need to create your own standards I mean you live up to those standards. That's the bit So we need to figure out what it is and I think the best bit about this industry is there's no Creditations in the grand scheme of things. It's not like people in this room are gone I spent seven years getting my accreditation which means that you know I'm officially a member of whatever society to do this job No, I mean most people don't even go to uni for anymore. No one has a PhD You could do it if you wanted to but the point being is like, you know You have like 17 18 year olds who do some of the most amazing work now and like that's awesome So if there is no official standard then we can go wild with this and just make it up So before I give you some guidance on the rules that you should use I want to talk about some of the areas that can affect you day to day You know things that things that will cause you to worry about yourself so I described as like the three million causes of confusion and so and self-doubt The first one those is like a really important thing is being part of a team And I think it's really it's really beautiful to be part of the team. It feels great You know, it's like we have some people here from Big Bang as well And like you'll go out later and we'll hang around we'll talk and it'll be a really great weekend And that's a real beautiful part of being a team. They're there to support you on the other hand everyone has different personalities and it's Really hard not let that affect you like everyone's different and I've already talked about that over opinionate a character And we all have one in the office. It's just natural and actually generally they're the younger devs that they're over opinionate it It's confidence. You know you come in your cocky That's just the way it is and you get you know, you lose it as you get a bit older But some of the other ones to watch out for is you know You've got people in your office. It'll be slow very slow to the point where like it's painstaking to watch them code Because you're just like how can you be that slow? Right and no one in the spectrum is you get the person so fast it just sickening because you're like I don't know how you built that that quick now The problem is you start pairing people to go on you got the slow and fast person They'll just go at each other because the fast person's probably cotton con corners are doing messy stuff The slow person's probably in really good code, but it is slow You know and it's like that kind of mix So you if you can understand that you're working with a fast person There's a reason they run fast and you can understand where the slope and you can kind of get news and realize why you know It's not something to do you it's to do with them. So understand their personalities and in our office I'm the person cuts corners. That's my job. I think you know I'm the one that will just kind of take on a random project and just cut as many corners until it's fixed You know, that's not you know, I'm not trying to be the best developer in the world I'm just trying to do my job and like that. I like that. That's that's who I am I've been used to that but there's all our dangerous personality types that go conflict with that Which is like somebody likes to refactor or do things always the right way has to be the right way And we have someone in our office that does that and like Sometimes I'll code and I'll pass it over to them and they'll start refactoring my code and I'm like Like that's like them saying my stuff's not good enough. I'm writing now I've realized that that's that person's personality type and they don't mean anything by it They just like doing it. It's like something they want to do They'd rather spend an extra half an hour on a night so they could make sure it's tidier for themselves at a later date So that's just a good quality to be as a developer for them But they need to watch out then they're not hurting someone else by doing it because if I didn't understood that as who they were I would take it as an insult I'm moving on from that. I know we're at a conference So I think it's quite important to talk about this and it's not that it's not the organizers fault I had to put that in I was worried to get told off of it and But it puts people in like awkward situations where they can be shamed for like a choice a technology choice or a decision to Made so like this is something I could give for something. This is like If I asked everyone in this room what like ID either currently using our text editor And we're all sitting around a table and having a laugh. Maybe we're in a bar So I'm gonna be on the six seven of us. There's a good chance. I'd say most people gonna turn and say sublime and Adam I think it's pretty common. Now. There'll be a few people are not on that Now there's probably one person in this room that might be as mad and the Conan notepad plus plus and they're still doing that great Because like you've made your own rules up and you're using them and that's great But if we're in a bar situation, there's a high chance that someone might laugh or make a joke about that person using That's not very fair. Now, I know it's been to be a bit of a banner, you know and developers do do that with each other But that you know, we have to be more mindful not to do that to someone So if you're in a situation where someone laughs you should be like just say them that's that's not cool But you know, like this is my choice And I've seen this done really horrible to someone before when I've been out with a load of founders from different wordpress agencies And then one of the slightly larger wordpress agencies made it made it kind of made a dig at one of them One of the smaller ones, you know And it felt more of a personal attack because it was one person on another person And I thought like what are they getting the benefit out of attacking someone? So like if someone ends up attacking you if happens tonight come get me I'll be in there But apart from that, you know, just say to them like what what's your what's your jib? Why are you attacking me for? You know, like You know, what kind of person goes out of the way to hurt someone so keep that in mind. They're not nice people And then the last one this pet hate mine actually because like I love twitter It's probably the only place you can find me Like I don't reply to emails really, but I'll probably tweet you back I don't really use reddit, but I know a lot of people do But the side of that is that like it's a lot about people just shouting these these newly found opinions. It's like, um You know, they'll read read an article and maybe they read an article about testing one day And they were like this test is awesome And they get excited about and that's cool because you should be excited about new new innovations in our industry But what we'll do is they'll read the article. They haven't used any of this tech They'll probably tweet that the how can you develop without testing, right? And they've only just read an article You're sat there drinking your morning coffee and you see that and you think yourself I don't know anything about that. I didn't even know that existed And you start getting loads of these tweets from different people and like that stuff It slowly wears down on you and you see it coming from all angles But like you don't know for a fact. They're definitely using that like a tweet Doesn't mean anything and like I don't know if you've noticed a trend Like I see a lot of people who definitely retweet articles that they've never read Like that's why share buttons have moved higher up the page. So you can just tweet it It's mad. So like Don't take any from twitter like whatever person in twitter it doesn't matter You know, I still think you should use it to ask questions I think it's a great source of like, you know, if you're just like that lazy web thing We're just like, you know, does anyone know an idea about something? I know like Mark who's in the audience today He does a lot for like react at the minute You'll be like, how do you do this and like these quite useful for that if you know someone in the area Right, so let's define some rules I'm going to give you a couple you don't have to use them all But it might give you an idea of what maybe you should start doing Especially if you are struggling a little bit in a minute or you are feeling a little bit worn down Uh, right. Has anyone heard of this one? This is a military thing That's the English one's proper because they don't like you in prior. I think it's like wrong English But I leave this one. I just be told a lot. I heard this in CX He's working shop and then my boss would be like, you know prior preparation prints Best performance and I'd always back great. I was like, you do realize I work on a tilt There's not really a lot of prep for your till, you know, I was like, but you love saying anyway It's just like one of things but like it's a really good. It's a really good one to remember And as it relates to our industry, I think it just means that like before you start a project You should be doing some research, you know, figuring out your workflow, figuring out your environment Just do a little bit of planning. I mean, if any of you have attended you need to learn programming Like they make you write out in paper first, you know, you do like a pseudo code stuff And it's it's mental because you'll be sat there for four hours writing out a better thing On better paper and you have to type it into a computer and it feels really weird But like I think there's a lot of logic in that that I think that they were trying To teach you something I didn't quite get back then because it was younger But I think it's just about taking your time and discussing it before you actually Jump on a computer and get a bit overwhelmed by it The next one is kiss, right? This is not an older military term It's not I've never been to the military obviously But keep it simple stupid. This is actually said in our office a lot I don't know and people might find that offensive to say stupid to someone but it's more of a Joke in some ways It's just why it's over complicated in your code. It's about making sure that you Take some of the easier routes. It doesn't always have to be hard You know the things we hear at the minute is people a lot of people say, you know, code for the future. I hear that a lot now Like you made the code and make your code super extendable so that it'll work For whatever scenario in the future But you know realistically if you like write a big PHP script and it's over five files It's all split out. It's really you know that single purpose for a file or whatever And you guess the wrong future it's going to be a lot harder to refactor You know if I write it in five lines and I come back to change in two years I have five lines in fix not five files And I think that's really important, you know, I think that that the idea behind the concept They made your code future briefs great, but in theory it's a lot harder to do And you probably have the time to be doing that kind of stuff The one of the best scenarios I have for this is in We were working with Digital Ocean Not as a company but just using Digital Ocean as API to build servers at one point And it is an API and there's an API wrapper for PHP So you just pull that down in Composer and you need to just use it, right? That takes two seconds One of our devs decided to write his own wrapper for their API and using the rest API Like that's that was like a probably a week's worth of work he did And within six months it was broken because obviously when they changed their API I can't do Composer Update his package because he's not maintaining it So he over complicated that for no reason like But you've got you've got to learn that mistake on your own You've got to feel bad before you realize that like you shouldn't over complicate it So yeah, just keep it simple stupid Now this one's actually from Facebook I don't know if it's as well known but it's like slow down and fix your shit Facebook used to say move fast and break stuff And that broke a lot of stuff so they changed it to this So I think really, you know, you just need to take your time and make sure it code works I would rather be a little bit slower and make sure some works like a lot A lot of developers don't fully test what they're building Like they'll test it in a really isolated edge case Like you know, I wouldn't click this button but they build it So they know which buttons to click and they don't try any other circumstances I think like to build your confidence up You should test your code a little bit more Because if you have better experiences with clients and then not saying Oh, that doesn't work because I get stressed So once it goes to the client and they say it doesn't work You can get in that rushed mode of going Oh no, I need to get this working And it's like I need to fix it fast Whereas if you just wait it there to and done it properly When they get it, they're just happy It's an easier way around I don't actually know who said this So I'm going to say my parents made it up Well, everyone's parents made it up But like you've always heard this like tidy home tidy mind So I've like tidy home tidy code Tidy mind, right It's quite a common thing I'm quite messy, so I figured that's my mom just to say this a lot to me But yeah, if you write really tidy code It's easier to come back to And it's worth taking that time to do it And now you'll hear all about like PSR And WordPress coding standards Like Dave was talking about earlier And like they're really important But if you're finding it overwhelming to learn something like that Create your own standard And all it is consistency So if you put a space after an if Or you drop the bracket or whatever Just do it that way Once you start doing it, just come up with your own standard And keep doing it Because I tried to copy Laravel's coding standard in Herbert And accidentally did it wrong So someone actually went oh I've mimicked the Herbert coding standard So I have my own coding standard It was a mistake And like I kind of think People don't know if it's intentional Or not as long as it's consistent So that's how you map that tidy code idea This is really important To make a start If you're getting like To that point where you're struggling You should just make a start Any start is better than no start So whatever it takes Right, this name at poo Is because of the thing earlier Where we don't know the name stuff Now in my very first web programming job The previous developer left I was given a WordPress site I think it was actually one of my first WordPress sites I've ever worked on And I just found a variable called poo And I was just like What does poo do? And it's like I don't really know today what that did Now he probably left in by mistake After he was like testing something But like it makes me smile This is a guy that was like Like a lead dev effectively And he was just like coding some poo Keep on going Like thinking of any thought And like anytime I get stressed out About naming stuff I think Well, he called that poo So as long as mine's better than poo I'm doing all right So always remember that So, you know, refactoring is quite a big topic We hear about these days And I think people really do need to embrace it And the reason you should embrace it is Because it kind of gives you like a second pass So you can say I'll code this now and I'll get it working But it doesn't look great But I'll come back and fix it And it is a lot easier to come back and fix something And like make it tidier The second time round You know, it's when you've got the full picture It's easier Now, there's a game at the minute I don't know if people have seen this on Twitter Where developers aren't allowed to use temporary variables And the idea is you write a piece of code And then you get your mate And you say to your mate, right How good can we make this piece of code and you compete And you remove temporary variables So like if it's only being used for a second And you're doing something else with it You try and like refactor the code down And it's amazing what people can do They can turn like Like six, seven lines of code In the one line of code once they get really ingenious with it It's quite a fun way to like see what your skills it is You know, it's not like they're doing anything special They're probably just googling different ideas Of how to do stuff But you know, it gets you in the habit Of maybe thinking about refactoring This is a really important one It's don't ignore the movement of trends in our industry It is moving quite fast at a minute And it is easy to say Okay, I'm not going to do that Which is also fine If you want to put one aside But you still have to keep current, you know I would kind of describe this as like There's things like Gulp out there now There's things like Composer There's things like SAS and all that It's okay to leave one out Don't leave them all out You know, if you're starting a project and There's like six things to learn If you can remove one or two of them And it makes you be able to start the project Do that Because at least you're learning some new stuff But if you learn all six You might melt down and just say I can't do this project And once you give up on something Like, you know, if you were learning React And you give up on it You'll never come back to it So if you have to do a bit of bad React To get started then that's the way forward And to go along with that Is to just enjoy the benefits This is like You don't need to know how stuff works under the hood This is a little bit like The feeling overwhelmed But in a good way, like you can You can just follow the tutorial blind Like you fought every single step And if you can get Gulp or Composer running Enjoy it Just enjoy the fact it works You don't ever need to look underneath it I think our jobs have enough to learn now That like it's okay to not know Every single component and how it works So just give yourself a break Just say like it's cool I need Gulp I need Gulp I need Gulp I need loads of total Luckily in our office We have people like Mark and stuff And the front-end team who knew all of that stuff Works and they kind of just helped me out So I get away with it But you can do that too But you can do good tutorials out there Or get in help for one of your friends So if you're going to apply these To an actual project I'll kind of walk you through Roughly how I would do it This is Prison Architect We worked on recently Which is like sold like two million copies On the PC And then they were making the console edition Which I think it's in like preview at the minute And they came to us and said like We want to build a website And it should have all some game data Like we want to share some prisons Some stats about how many prisoners Are wearing what they're doing And I was like this sounds really cool And then they're like well We also want a character builder Where you can build your own character And you know They can submit that into the game And they wanted a single sign-on system And I was like okay That's interesting I'm not like totally sure off the top What I'm going to do They came to us because we're a WordPress agency So we knew how to use WordPress But in what way You know Did we need some other tool to support it Or what was going to happen So What I do is I sit down and pick a platform And this is the six piece Because this is just your preparation And I always ask myself Does this new platform that one use So in this case I was going to use React So I was like does it fit the project Is it likely to be maintained in three years Can I find a good learning resource That I know somebody who uses it Pretty simple questions And the reason being is that you know It's a fit the project It's an obvious one It needs to fit it The second one is you know You don't want to start picking a tool That's going to get obviously stopped being used And you should find a good resource That you pay for Because it's worth Worth it And you might have some of the contact You have questions Knowing someone's great as well Or if like it has like a slack channel Or something like that That's good So in my React case It's an API drum site So that's perfect for React There was going to be The WordPress data source There was going to be the game data source There's a possibility in the future of the PC Would have a separate data source from the console And I was like definitely suits it You know this is definitely like a React style site Facebook have been using React since 2011 So I was like I'm pretty keen That they're not going to just stop supporting them on the website Resource-wise There's a React for Beginners that we paid for I think it was really cheap And there's just a lot of videos And even if videos weren't great It was just it was somebody from me The start I could sit down for one day And just watch videos To learn how React kind of works And it came with a slack channel Which I assumed is actually better Maybe than knowing someone Because I was able to pester someone I had paid You know for a stupid question And I happened a couple of times I'd done some of the most dumb stuff In the first two days of doing React But I had someone help me out And it was great From that you know You don't want to ignore these industry trends So how I do this is starter kits So you can search for a starter kit for any You could do it for WordPress Do it for React Do whatever until you want Angular I use it I just get up So I'll just type it in I basically look for You know 250 stars and evolve kind of packages It just means that they're sort of well supported You know something that's actually being used By other people And off that You know you can't have too many issues So I would say right about 5% Of the if the stars should be issues That's just a real film You don't have to keep to that 100% But you don't want to end up with something that's broken By doing this This allows you to just find a kit And all the tools are being used at that time So then you can say like Oh it looks like most React developers right now Are using Webpack So simple as that And you've proof of it And you have the implementation written in front of you So for React I found these So that's the one The top one's the one that we got with a course And the bottom two are just Well the bottom one's the automatic So the new tool that they wrote for using WordPress And I only done that Because I wanted to figure out what the standard Like what's the go-to React standard for WordPress Now if they develop one that I should be following And it came to that I think it was quite complicated I didn't really like it Also has a serious amount of bugs So you know this React started getting the middles And one that I ended up going with And I just dissected it So any time I had an issue I'd try and find out what they did Now if you're going to enjoy the benefits And set up the tool in I still recommend following tutorials But you're going to have A working example of how to do it Find a tutorial And try to do yourself You've got enough sort of data sources To figure out how stuff works And that's the whole idea Just sit there Don't copy it right away You can copy it in the end if you need to But this way you're learning a little bit more You know And it'll be cleaner Because if you set up yourself You're going to know just enough That if it does go wrong You can probably tweak it a bit Because the problem is if you directly copy it You won't actually know how to tweak stuff And then for React What I found was like Webpack and Gulp were pretty standard these days I understand them enough that I used them Beable is like AS6 That's like New Year JavaScript stuff I didn't have a clue how that worked Marked on that for me So I call Mark a tutorial And Redux is like It's a way of storing data inside Like a state canary inside React I looked at the docs And it scared me So I didn't use it It turns out that it was a real shame I didn't use it And it was a bad decision on my part not to But I stick with the fact That if I tried to learn Redux with React At the same time I probably would have given up That's the point And this is the tidy home Tidy code side of stuff I think this relates a little bit more To your editor as well It's like getting your Highlight and your theme set up Your shortcuts Your editor config Those type of tool And you know It's weird Like if you spent half a day Just configuring an editor To be better for that one project You save yourself so much time And what I mean by like Just little things like shortcuts Like And it's just like random But like It's these little like You know where you can just like tab To create like an entire class or whatever It's this kind of stuff That you need to be able to start doing Now I'm quite lazy at this I still use my mouse a lot as well You know and a lot of developers try not to But I mean Just Finding all the snippets For whatever code editor you use Saves you so much time Like if you can save like Five minutes every hour It adds up all the time it does You know it saves you just like Doing stupid stuff or making mistakes Because you won't make a mistake in that Because it's being pasted in And the editor config I don't know if many people have seen these They're really simple principle And if you're not using one currently You should Which is just literally How many spaces Character code and that kind of stuff And you can pretty much just google Like WordPress editor config And you can get one So if you're not That's an extra step But basically the reason for editor configs Is that If you pull it down The code I've just written And you don't have an editor config There's a good chance the two editors Can figure differently So Like if they both commit bits of code They're going to be like Indent it differently And that's a really easy mistake And so if you want to keep it tidy Put one of these in text two seconds Or you know You can always quiz me I'll show you What we use at big buy Now Keeping it simple Is like the workflow in my opinion For this set Is just like how you can deliver assets to clients I know everyone's different Different areas in here And some people might not be using get Or some people might not be deploying for get But if you're not Like this is just my go-to thing And I know some people are like I've been doing this for 10 years or whatever But like Everyone here should be really considering get And having like a local development Where you can just have like client.app And you can push that to like a stage and site And you can push that to a live site You know that's the workflow you need to figure out And if you set up the beginning It's a lot easier because If your client comes You're halfway through the project And says oh can I view something You're going to go from coding To trying to set up an environment That's a really bad mix You should get it all done at the front And the reason I say this is like There's still people out there using FTPs to code And like we had an agency in our building Come down to us in a panic about a site going down And they code over FTP So they had no local site And I was like I hope but You've got it over FTP So like the first step was just trying to figure out How to get the site set up locally And obviously there was no way then To redeploy any changes back onto FTP properly So it was a complete mess And so they had like at least a day of downtime Just because they hadn't put these practices in place And this is probably my biggest secret For like development I think this is the best idea in come up way I don't want to really finish We're close to getting to the pub This sample file there I don't know maybe it's a little bit embarrassing But it's like Before I start a project I create a little sample file And in my sample file It's like my brain dump It's like this is what I'm going to do It just has like some like ideas behind Like how to write an F statement How I would do this So like if you want to check What are higher variables empty in JavaScript You might not know off top here But like you could probably find that out Within two or three minutes So do it Pist in Keep it Right Now doing all these little micro decisions Because you might find four or five ways of doing something You'll need to make a conscious decision Which way to do Do that before the project So when you're in the project And you're trying to solve a big problem You're not thinking about stupid stuff Like how to check is this variable empty You should be focused on the overall problem Not the little bits Now you know you'll keep coming back to this a lot And I'll just show you like a quick quick version of this You know it's not obviously full Because it's hard to fit a whole file in one slide But it's just something like this here It's like that's how I do my rat class Which is actually the old way Because that's what I prefer doing And that'll be me using like load ass To check if something's empty And that's all it is Like that doesn't take very long You know but if you spend a day doing that You're going to save yourself a lot of time And now just the recap It's a bit of a big slide This is what you need to do You need to accept that it's okay to struggle Have we agreed with that Yeah, right And you need to learn to take no rollers And you need to plan your projects And then you need to keep your code simple I'm reading this off because I don't remember it Take your time and make sure things work Which is obviously keeping stuff tidy Ensure your code's tidy and consistent Make a start even if it's a silly one That's just the poof stuff You know you've got to give it some sort of start And embrace your factoring And don't ignore industry trends and enjoy the benefits And I think that's just like my motto for guilt-free coding And then hopefully this talks giving you a couple ideas Of what you should be doing And feel free to reach out though on Twitter If you need to have any questions Thanks for having me