25 Lessons From 25 Years ![rw-book-cover](https://img.youtube.com/vi/cyxQ82L298Y/maxresdefault.jpg) ## Metadata - Author: [[YouTube]] - Full Title: 25 Lessons From 25 Years - Category: #articles - Document Tags: [[video-notes]] [[youtube]] - Summary: 25 Lessons from 25 Years - URL: https://www.youtube.com/watch?v=cyxQ82L298Y Ross Wintle: Hi LoopConf. welcome to London. If you have come from afar. I'm here to present you 25 lessons from my 25 plus, there's a couple more years, in software development, and if you take out the outro and the intro and the outro, I'm gonna try and do it in about 25 minutes. I will not actually do it in 25 minutes, but I'm, the 25s all kinda lined up and it seemed like a good idea. But what I look at this, I think, oh my goodness, what on earth have I done? And I presented two talks to Brian as options, and he chose this one. And so now I have to deliver it. My clock is ticking here. there's a lot to get through quite clearly. so let's crack straight on with lesson one, which is, don't submit fun talk ideas to conferences because someone like Brian is gonna pick them out and make you deliver them. Thank you, sir. The way this is gonna work, this is like a mini conference within a conference. Each of my topics could be a lightning talk or a full conference talk of its own. And I'm banking on the fact that you are all smart people. So put your hand up if you are sat next to someone that you think is smart. That's everybody. Gary. You are all at Loop Comp, so you are all by default smart people. You've all got your devices you've all got the ability to use the internet and learn new things. So I have made a little resource, get your cameras out, scan this or type it into your phones, and there will be a little webpage with 25 numbers on it, and you can tap the numbers for the lessons that you are interested in. And if my time stamps are right, if I am actually a good developer. At the end of the talk or towards the end of the talk, all the talk titles will unlock and you'll be able to tap a little button to get your own personalized show notes. Hopefully that will all work. And if it doesn't come to me afterwards and tell me that it doesn't work. and the idea is that, 'cause I can't go into any one topic in depth the idea is that hopefully I'll be able to inspire you with something new that you've not learned before. Or something that you once knew that you need reminding of or possibly something that you want to share with a friend or a colleague or somebody that you work with. So that's the deal. Okay. There's gonna be a quick introduction and then three acts. Act one is called people are Hard, who works with People. Yeah. And would not work with people. One. working with people is difficult, like we work with computers as well, and it's surprisingly easy. Kind of relatively to get computers to do what you want them to do. Getting people to do what you want 'em to do is actually quite hard. I know because I'm a parent of a teenager. so act one is lessons I've learned about teamwork, collaboration, communication, stuff like that, working with people. Act two is called coding is hard because actually the technical stuff that we do is also quite difficult and I've learned a few things about that over the last 25 years. Act three is called you are and I wanted a better word, but the best word I could come up with was squishy. Don't take this the wrong way. This is like an abbreviation for you are a soft, squishy human being, bag of fragile human cells and you need to look after yourself. So this is my self-care tips for people who do very sedentary jobs and get stressed from time to time. So that's what we're gonna try and do. Quick introduction. Haven't said who I am. I'm Ross. And I currently work for WP Engine and I got there via Delicious Brains who you may have heard of. They develop amazing plugins. WP Engine, have a stand over there where you can go and enter a competition to win a PS5. So hopefully that's my, my work duties out of the way. but I've had a, this long career, and it's not always been in WordPress, unlike Ryan who's been doing WordPress for, how long was it? 21 years. You've been working nearly as long as me, but it's all been WordPress. I started off working in the aerospace industry doing safety critical software development, and that's a whole different world to what we do now, what I do now. and it came with a whole bunch of different needs and requirements and ways of building and testing software. I then worked for eight years in a big hosting company. I've done 11 years of freelancing with WordPress. lots of different things in different bits of the tech industry. So that's me. How are you doing? Right? Oh, that was a long intro, right? People are hard. When I say this, I'm not referring to any specific people, and all of these lessons have been learned from like, they're in here because I've experienced them multiple times throughout my career, as they say in the films. Any similarity with real events or characters is purely coincidental. Lesson one. Why has lesson one disappeared from my slides? Oh, that's right, because it was, Don't submit fun talk ideas. Lesson two. Opinions are good, but they are just opinions, and I've learned that it's really important to recognize within yourself and within then other people when something is an opinion and when it is a fact or a truth. And actually we live in a world where there are lots of people expressing facts and truths that may not actually be facts or truths. So we need to just remember that sometimes we hold opinions too, too hard, and we need to think about letting them go. And sometimes other people that we hear from aren't actually telling you a fact. They're telling you an opinion. And I'm very aware of the hypocrisy of this talk, which is 25 lessons, all of which are really my opinions and beliefs. So you can in your head, prefix each of my slides with, I think I believe, or in my experience. Also opinions can be changed. This is not saying that you can just go out and start telling people to change their opinions about things. in fact, quite the opposite. You should start by thinking about how your own opinions can be changed. Because the way to change opinions is that you go and you, you seek understanding of why other people hold an opinion and the sort of facts or ideas or experiences behind that and come alongside that person from their point of view. They might change your opinion in having that discussion. We did a piece of work recently where I started writing a proposal for doing something and I got about halfway through and I'd gone out. Um. Being curious, trying to listen and learn about the subject that I was trying to write a proposal about and ended up completely like changing my mind and scrapping the proposal. If we want to change opinions of others or ourselves, sometimes we're in a position where we have or authority and experience to be able to do so. In which case, don't just state your opinions at people. Make sure you back them up with data and with demonstration. I recently heard a great idea of if you want to try getting your team to do something new, run a short experiment that's time bound. And if that experiment works, then the thing will probably stick around and if it doesn't work, you'll probably find out quite quickly. Also, opinions can sometimes not be changed. so bear that in mind sometimes your opinion is different to someone else's and that can be okay. There gonna be some real talk in this talk. We're gonna address some of the Tim's looking at his watch. I'm worried. Gonna address some of the really difficult issues of our world. So I'd like you to raise your hand if you believe that you know the best way to load a dishwasher. Well, there are people who don't know the best way to load a dishwasher. what on earth has this got to do with coding? Lesson four, I've called high standards, low expectations, and there is this quote from James Clear, "Life is harder when you expect a lot of the world and little of yourself. And life is easier when you expect a lot of yourself and little of the world. High standards, low expectations." And this is a quote which has really stuck with me and influenced my attitude towards certain things. And this is not, again, it's not saying that you should just go and break the rules in order to do things the way that you want them to, but having the attitude of, I think I know what the right thing is to do here, and even though everyone else around me isn't doing it, I'm still gonna do the right thing. And bear in mind that you can't always change other people's opinions and accept that and just keep doing the right thing yourself, even though other people might not be doing that. It's just a lesson that stuck with me. Lesson five, engineering is a team sport. Has anyone played this game? You know this game. Pico Park, this is called, it's about seven pounds and it's the most fun you can have with your family on a computer. The red guy, there's a whole conference talk about the red guy who's like, clearly the extrovert, who wants to go first in everything. He's amazing. But we must think of engineering as this team activity. And if you look at team sports, there are different positions and people have different strengths and weaknesses. They they got to the end yet, or it looped. Um. People have different strengths and weaknesses and they train specifically for their roles and quite a lot of the lessons following this in the people section just to follow on from this idea that we must bear in mind that we're working as a team. We succeed together, we fail together. For lesson six, we're gonna move on from that and go to talk about understanding the other people in your team and the roles and positions that they have. Everyone's brain works differently. I kind of started realizing this like properly about six or seven years ago. 16 Personalities is a site that does Myers-Briggs and then gives you some fancy interpretation of it. it's actually really good. But these personality tests they're not necessarily scientific. Sometimes they've been debunked. Sometimes they're unhelpful, but they can be really helpful if you take them. Maybe you will see something of yourself in them. According to 16 personalities, I'm an advocate, and that was really helpful for me because lots of people think I should be a leader. But actually my personality type is not a leader. It's as like a second in command. I work best when I'm advising somebody else who is actually the leader. We do a thing at work called Clifton Strengths, and with Clifton Strengths my number one strength is relator. And it turns out being a relator is quite unusual on a team of software developers. So this puts me in a unique role and with some unique skills which are very different to other people that I work with. From time to time, someone once turned up on my team. Um. And they had this great idea, which was to write a personal read me or a user guide for yourself. They brought this with them and I thought it was really good. If you go to Manual of dot Me, it's a great site that you can work through a structured set of questions that can help you build out such a document, and it's really worth doing as a structured way of exploring how you work. Even if you don't then share that with your teammates. But understanding that people's brains work differently and what people's strengths and weaknesses are enable you to function better as a team and do better work. And following that, I've worked with all sorts of people, people from different different religions, different places in the world, different cultures, different genders, different ethnicities, and they, they've all been amazing and I think diversity is such an important thing for our industry. These are fairly select statistics. But the links, if you've tapped lesson seven on the app, there's loads of links to the original places these came from. But if I came to your business and said you could earn two and a half times higher cash flow per employee, you could be 35% more productive, or you could make better decisions 87% of the time. These are all stats about companies who have embraced diversity practices. I am very aware that I'm straight white guy stood on the stage, and so maybe I'm not the most qualified person to be talking about this. I'm still learning how to do diversity and how to talk about diversity. But here's some ideas. You need diverse leadership within your organization, and those leaders need to be promoting the idea of diversity within your organization. That will involve training. A few weeks ago at WP Engine we had our compulsory annual compliance training and I had to do a brilliant course on bias and it was so revealing to me, going back to I'm still learning. I learned a lot from doing that piece of training. You need fair hiring. You need fair pay. you need to create a culture of safety and welcome for everybody, and you need to support those people by listening to what they need and understanding how. you can support them in their work. Finally, on the difficult bit, ah you dunno what's going on with people. So when people turn up at their desk in the morning you don't know what they've been through. as a parent sometimes I arrive at my desk and it's been like, oh, off you go kids. Have a lovely day. Love you. Bye. Like this. Um. Sometimes I have spent the last half hour trying to find exercise books and bits of PE kit that aren't clean and everything's running late and nobody's had breakfast, and you eventually get them out the door and you just need to sit down for 10 minutes with a cup of tea before you can actually go into anything else, to recover from that morning routine. That's a trivial example, but you dunno what's going on with people. So if someone's not behaving like they normally do, just bear that in mind. Be kind to them. Give them some grace. 'cause you don't know what's going on with them. Whew. Gosh. That was heavy. Everyone's gone very quiet. Let's do something a little bit lighter. Did you know you can say nice things. Who's British? We're good. Who's just a grumpy software developer? Yeah. When I started the WP Engine, I started working with a lot of Americans and I'm stereotyping, but they are much more outgoing and energetic in their praise of people and it was a bit cringey at first, but then I got used to it and realized that this is a really important thing. You can say nice things about people's work. If you're doing a code review and someone's done something well you can say, Hey, this is really good. I like this. If you're having a standup and someone's done a great piece of work, you can say That was a great job that you did, but also try and remember, be specific because saying great job on its own isn't actually very much saying, I really liked the way that you presented those bullet points to management is a little bit more specific and useful for that person. And finally, and very much related feedback is fuel for your work and your career. Learn to give it well. By being specific and timely, and there are models for doing this, and I've linked some stuff in the notes. Learn to receive it well. Learn to only give it when it's been solicited or when it's really urgent or important because people don't always want feedback. They might not be at a point where they're ready to receive it. Learning to give and receive feedback really critical because we can't grow. We can't start doing the right things or keep doing the right things if we don't know what the right things are. That was act one. Oh my goodness, I'm running so late, but we're gonna have to speed through. Coding is hard. Our jobs sat at these computers where we like type these little characters into these windows. Here's, it's really interesting and sometimes those characters get turned into things that computers can write. Um. But often coding is hard because code is actually, in my opinion, put that right at the top for humans and specifically it's for other humans. That might be you at a later point in time, or it might be a completely different human being. but this really is, we need to think about this because the things that you type, yes, they get run by a computer, but they will be read by other humans. So lesson 11 is to write simple, readable, and understandable code. This probably sounds obvious but I'm continually learning good ways to do this, and I had several lessons about this and I decided, actually no, just go read this book. This is called the BaseCode Field Guide to Writing Good Code. It's written by a guy from the Laravel community, and it's not like one of these really dense academic looking, technical coding books. It's about 80 pages of content, and it transformed, I think for the better, the way that I write my code. It's really good. It's linked in the notes. Did you know you can read your own code? The number of times that I've just before submitting code for review or for deployment, just walked away and grabbed a cup of coffee and come back and sat down and gone like, who wrote this? I've got a nod. I've got a nod. That's good. read your own code before you, like, do anything with it. You will find bugs, you will find badly named variables. You will find comments that don't make sense. and you can save like whole review cycles by just going and looking at your own code and updating it to be better. Lesson 13 is, don't be too clever. We can write all sorts of clever bits of code, but if they're not simple, readable, understandable. Um. Then, you know, other people might come to it and go, huh? But when you look at this, anyone see this recently? This code shaped like the moon prints the current moon phase. Anyone tell me how this works? Or this one, this is code that prints a clock inside the code that prints the clock inside the code. Amazing stuff. Don't be too clever writing your code. Keep it simple. Keep it readable. Lesson 14. And this is like Instagramable or whatever. So get your cameras out 'cause this is the click bait one. Don't fix. Who likes fixing bugs? No, no. Don't put your hand up. You like fixing bugs. Oh, don't fix bugs, avoid them. This is interesting. Have you seen how SpaceX build rockets these days? They build loads of rockets and they just smash them into the ground or let them burn up in the sky with the aim that they can collect some data to make a better rocket. Back in about 1981, the first space shuttle went into went around the Earth and it had been so well engineered, designed, thought about, programmed, built, constructed that it had people on it. They were happy that this had been engineered well enough that they could put people on it when it first went into space and. Like, you're not gonna write bug free code, but maybe there's something in this about thinking harder about requirements, making sure we understand what we're building before we start building it, running tests or writing and running tests using static analysis and linters, all sorts of stuff that we can do if we just put a little bit time in upfront to try and avoid having bugs in the first place so that we don't then have to fix them. Some of you will have seen this before. This is JavaScript. Anyone know what this says? Well, what this gives you back or prints. It does not print. I am 25 years old, as you might think. It prints NaN years old and this lesson, I'm borrowing from someone here, but this lesson is Learn Operators Deeply. I guarantee if you dunno what operators are, operators are plus, oh, sorry. Do you want that? Go on. Operators are plus, minus times divide equals and a few other things like the turny operator. And I guarantee that you do not know what these things do. And if you do come and talk to me afterwards and I will, I will. Yes. you are amazing. don't trust these things. Don't assume that you know what they do. I'll use some big words. Operator precedents, operator associative, type juggling, type casting, type coercion. They will trip you up. Do not assume that you know how these things work. Either learn them deeply or learn to deeply mistrust them. Lesson 16 old things can be good things. and this is like I work on the WP Migrate product, which is this like decade old plugin that moves WordPress sites from one to another and been working on the product for a year. And it is incredible how much historical knowledge is built into this plugin. Clever ways of doing things. Um. Or bug fixes that have come up over the years, edge cases that have been encountered and worked around. it's an old thing, but actually it's a really good thing because it's old. And I think in WordPress we put these little notices, don't we, on plugins that say this is bad because it's not been updated for three years. But we don't, on a new plugin, put a banner that says. Hey, this is brand new. It might contain loads of bugs and be feature incomplete. Like we don't do that. We think of new things as good and old things as bad. New things can be good. Use them, experiment with them. But old things can be good too. And I think sometimes we just need to flip that script. Lesson 17 is Look outside your bubble. John's still here. John talked a lot about this and it was really, really cool how he talked about it. I think WordPress can be quite insular and I've benefited so much by looking at the larval ecosystem building some games and doing stuff like that. There's a lot of tooling and information out there and tools and techniques that are really good to go and seek out and then bring back into the WordPress world and make your work better. Look outside your bubble. I said they'd be some more real talk. We need to, there's a thing that is incredibly important, that's very, very undervalued that we all, if you're a developer, you use multiple times every day, and we need to just elevate it a little bit and celebrate it. It's the semicolon. What a beautiful thing. some people, would you believe this? Some people don't like this beautiful thing. Amazing. They don't wanna put them in their code. lesson 18 is that standards are good. We can discuss whether or not semicolons look good on the end of lines or have any benefit. we can discuss tabs and spaces and all that stuff, but actually I've come to learn that standards are good. But just pick a standard and automate it out of the way. Just use the amazing tools. Is Juliet here yet? No, I don't think so. Juliet is speaking later. She builds PHP code sniffer and the WordPress PHP coding standards. She looks after the rule sets and PHP compatibility. she's desperately underfunded. Go and sponsor her, support her, say hi to her. She's a fascinating person and she does amazing work. standards are good. Pick a standard, automate it away. Just get on with your life. Here's the thing. What do you think? I, I asked asked myself this question. What's the oldest piece of software in my house? Any guesses? I bet Reece knows. It's this thing. Ah, this is the original Nintendo game boy, still has Tetris in the back. This runs. 35-year-old software that has never been updated and as far as I can tell, is completely free of bugs. Amazing. What if software could be finished? This lesson all almost didn't make it in but it kept coming back to haunt me. It wanted to be in the talk. And you are never gonna write finished software? well, no, actually you can. I've written some finished software. Your business won't want you to write finished software. It's probably not good for business, but I like the idea of writing finished software and I like thinking what are the things we'd have to do for software to be finished, like having few dependencies or no dependencies. making sure that we apply the lessons about having fewer bugs. there's all sorts of things that we might think about when we think, how could software be finished. So I don't present it to you as an end goal. I present it to you as an idea to think about. Whew, coding is hard. Act three, you are squishy and I do mean it in the nicest possible way. you are just a sack of cells and you need looking after. This might not sound like a lesson about self-care, which these lessons are. but lesson 20 is write things down to forget them. Another great quote that I've heard is writing things down isn't just for remembering things, it's for forgetting them and writing things down is actually a really, really, really important skill. We should write things down to share knowledge with our future selves and other people. That institutional knowledge about our code. Um. There's lots of good reasons why writing is a good skill and we should practice it often, but sometimes I'm stuck in my head. I can't get to sleep because there's ideas buzzing around. I can't focus on my work because I'm thinking about seven other things, and it's really helpful for me to just write them down. There's this magic thing that happens, which is when I write them down, they sort of disappear from my head, and everyone's brains work differently. So this might not work for you, but I find it's a really good tool for getting sleep and focus, and I offer it to you as a, as a suggestion. Did you know you can ask people to mentor you? I hope my friend Jen agrees with this. Jen has been giving me some help and has been brilliant. Um. I learned this recently. I watched some LinkedIn training and it said, you can, you can go and ask for mentors. I was like, what? Can you, and since I watched that, I think four different people have given me four different kinds of mentoring in the world. And I think this is true. I'm happy to be corrected, but I think the worst thing that can happen when you ask someone to mentor you is that they say no for whatever reason. And they're incredibly flattered that you ask them. And that's a good thing. You can just do this. This is great. Do it. Find someone you respect and admire that you think can help you in your career and ask 'em to mentor you. Lesson 22 is move around. Probably sounds obvious, but it's really easy for us just to sit at our desks for hours on end. I got RSI quite early in my career. My wrists would not stop like fizzing and hurting. I took painkillers, I did physio, but the only thing that helped, and it's not come back since I started doing it, is taking really frequent breaks at least once an hour and not just like breaks and scroll your phone, move around at least once an hour. If I'm not in meetings, I will get up and I'll actually move around. I've got some small bits of gym equipment in my office. Just move. Do all sorts of crazy stuff, bend your body, move your body, go for a walk to get a cup of coffee somewhere. frequent breaks and sit stand desk. I have a sit stand desk that goes up and down and the advice around those as far as I can tell is you shouldn't sit or stand for longer than half an hour at a time. So these are things where you don't stand because standing is good for you. You stand for a while, and then you sit for a while and then you stand for a while and you keep your body moving. Your body wants to move, move it. Look after it. You will you will thank me later in life. Lesson 23 is if you can buy good stuff. I used to have like a 15 pound mice, mice, mouse, and I thought it was good enough. and then I bought like a 60 pound mouse. Because someone had recommended it. And actually this thing's flipping amazing. I love my 60 pound mouse. I bought like three of them. I've got one in my bag. I've got another one like in my drawer just as a backup because you can't buy them anymore. Chairs, desks. What else? Monitors, keyboards. You can go over the top. You can spend like 400 pounds on a keyboard. You don't need to do that, but maybe think about leveling up your equipment or get your employer to level up your equipment. If you can invest in yourself, it's really, really super important to do. One final bit of real talk. We've talked about people being hard. We've talked about coding, being hard. And now I want to tell you about the most difficult part of my job, typing things accurately onto a keyboard. Anyone use PHP? Anyone ever typed this? Anyone live in a, an English county? You know they put the R next to the T key, didn't they? Can this go in? Is this all right? Ah, in my job I have to type this like so many times every day and it's so hard to type. And then this just, ah, so frustrating. Type less smile more. Invest in learning and tooling that removes these little micro frictions from your day and you will be happier. Um. Text expansion is built into loads of tools these days. Clipboard history is an absolute game changer. when I do multi cursor editing in my editor or IDE, I feel like I have this superpower that no one else in the world has. Type less, smile more. Learn those tools, get those tools, set them up, and remove frustration from your day. Finally. I got my 10 minute notice, so I'm on time. I'm doing all right. You are awesome. but the lesson isn't that you are awesome. The lesson is that you need to remember that you are awesome. And there was a great video about six years ago from a guy who was in the WordPress community at the time. I can't track him down anymore. about keeping a thing called an awesome log, and this is like a private journal where you record nice things that people say about you so that when you are not being a good friend to yourself and you're being down on yourself, you can look back at the nice things that people have said about you and the work that you do, and remember that you can do this. And I refer to this often. I also keep an achievement log, so I evolve this idea into one where I also keep a list of achievements and specific things that I've done at work, preferably with like metrics and statistics about the difference that they made. so that when I come to like, apply for a job, update my cv go to an interview. I've got some of those facts and stats at hand because you won't remember them in six months time. So get into the habit of writing them down and then you can just pull them up when you need them, which you will at some point. You, you are squishy in the nicest possible way. I have presented you, I dunno what the time is and my clock went weird. I presented you 25 lessons from my career, or did I? Maybe I only presented one lesson. Brian, would you have, would you have done this? Would you have done one lesson from 25 years? I don't think you would. So many of the things that I've said can be wrapped up in this one thing. Be open-minded. Be open-minded about understanding the people that you work with, how they work, how you can work better together. Be open-minded about the technology that you use and how you use it. Don't get stuck in old ways. Go out and find new ways of working and be open-minded about the fact that you are this squishy bag of fragile human cells. That needs looking after and all of the many ways that exist in the world now to take care of yourself. In my experience, open-minded developers are more productive, they're happier, and they're more valuable. So hopefully, are we now seeing a list? Anyone with the page open? Are we now seeing a list of talk topics? Has it unlocked? Yes. Come on. Um. you can now go and get your own custom show notes and I wonder what's the one thing that you are gonna take with you from today and take into next week to learn or to share? Thank you. at the back, at the stand at the back, if you don't remember from the start of the talk, it's WP Engine. They there's a competition to win a PS5. this is me and. Thank you., 25 Lessons From 25 Years, YouTube, 01k9avhj3pezz6pfmqwv6yp4ge.