25 Lessons From 25 Years

## 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.