Click on the Play button to listen now.
In iTunes, use the Subscribe to Podcast… item of the Advanced menu, and then enter the URL above to subscribe to this podcast.
Shoutout to the podcast sponsor RingCentral (0m 16s)
Mike Stowe: I have to give a shout out to my my real employer who is sponsoring today’s episode, so I don’t get in trouble.
That is a quick thank you to RingCentral for sponsoring the Lately in PHP podcast.
If you have not heard of RingCentral, RingCentral offers full cloud communications, so we’re talking messaging, video, phone in the cloud.
And they have a bunch of APIs that allow you to connect and build your own applications on top of their RingCentral MVP platform. So definitely check them out at ringcentral.com and the developer platform at developers.ringcentral.com .
How to Motivate Developers to Collaborate in Your PHP Projects (0m 47s)
Manuel Lemos: So fast forward to 2021 when we are today, we are in a point that we are about to launch something that involves Mike.
That’s the part I’m going to shift the talk to Mike because I think it is better for him to talk how we met, and what we agreed like a few years ago.
Mike Stowe: OK you’re getting me in trouble here.
Maybe before we shift to that, I just have to say a couple of words because you know me.
I can’t stop talking. It’s what I do.
The first thought, you made so many good points and I want to try to avoid to interrupt because there’s so many good points coming.
The first was always be learning.
One of the reasons that I started doing talks, I started trying to go to conferences, tried to write blogs, it was actually very selfish.
I’ll be honest. I want to learn different things and I was too lazy to learn it myself.
Right, so I decided: hey I want to learn about artificial intelligence.
I knew I would not dedicate the time to do it. So I would submit a talk to talk about artificial intelligence.
And guess what, I have got to talk in three months.
I have to learn it because I have to talk about it.
There’s a lot of speakers that actually do that where they say: you know what, I submit talks that I want to learn.
The thing about this industry is you’re either learning or you’re on your way out.
There’s no middle ground because technology changes, so quickly, so rapidly, that if you do not outstand today, if you said you know what I’m good knowing PHP 4 and then you take a job where they’re using PHP 8 and they ask you about the spaceship or they ask you about magic methods, all of a sudden it’s a whole different beast. So always be learning.
Find ways to motivate yourself.
Whether that’s taking time to study, set aside time each day, working with your team to motivate your team, and getting time to meet with your team, or even saying you won’t give a talk on this even if it’s just my local user group to share that.
The other thing is that knowledge is a gift.
It really is. I’m gonna go back to my history really quickly because PHP Classes plays a huge role in it.
And I tell people this. I always tell a story kind joke. I will be 100% serious person for a second. And that is my career path, my goal in life was to be a lifelight paramedic.
I want to be the guy that got in helicopters that flew into emergency scene that got out there and saved lives.
And that’s what I went to school for.
Prior to that, I worked as a first responder.
I had taken the EMS or MTB, as we call EMT basic course.
I’d actually been in the field working on emergencies.
What I realized was that to get to where I want to be, and this is to respect to all the nurses out there, by the way, because these are incredible people.
But we talk about office politics and everything all the politics and all the challenges that come into medicine and I remember I had a person who was stabbed and they were going into shock,and I wanted to give him oxygen.
I couldn’t give him oxygen because we had to call the doctor down to the ER to get a prescription.
That’s when I realized medicine wasn’t for me.
Now this is important because when I realized that I had no plan B. This is my entire life plan.
This is my entire goal. So I’m sitting working in a minimum wage job which I had no problem doing but I had no idea where I was going to go.
I remember that I liked coding. So I started coding but I wasn’t very good at it.
And I came across this site called PHP Classes.
This was before git. This is back at the times of tortoise svn. If people remember using svn.
PHP Classes was the first repository site where I could look at. Here’s code that I could do.
Here’s a class of how to do something and now let me build applications. But let me dig into that code and learn through it and learn how to use it.
That was my first foray into trying to learn actual code.
I took a job and I don’t know why they hired me because I sat in the interview and they asked me about multi-dimensional arrays and Manuel you’re gonna love this.
I had no clue what they were I was like are these like out of space arrays like I’d use single dimension arrays. I didn’t know you could do multi-dimensional PHP. I had used plenty of code where it should have been multi. I just had to do these magic workarounds.
Then they asked me about this thing called OOP.
This is really the question. The question was: well what do you think about and how do you utilize OOP in your code? I never heard of object-oriented programming.
So I replied the only way I could, and this is gonna date me a little bit here, I said and you know me, thinking of the popular hip-hop song, again they gave me a job. I don’t know why but then I had people that mentored me and helped me grow.
And if it wasn’t for those people that mentored me, if it wasn’t for the people that committed code on you know PHP classes and shared those resources, if it wasn’t for people that took the time to even evaluate to my early talks and early ideas, I would not be here today.
I’d be sitting back at you know my old job going what do I do with my life, what’s my next step? So it’s not just as important to learn. It’s important to pass it on and help others and teach others and that’s one of the best ways to learn and that’s.
You know I think honestly that Manuel that’s why you do PHP Classes is is to help others.
And that’s why you know I do Nomad is is to help others.
So I just want to give a big shout out to Manuel, to you because we talk about how we met. I think I knew of you way before you ever heard of me because of the great idea of PHP Classes.
Manuel Lemos: Yeah. Well I appreciate but quite honestly… I was being honest, but sometimes you need to say it just to make it clear…
Honestly I do this because I love it, not because I feel like owe it to others. This is a part of my psychological profile. Everybody has a psychologic profile. Mine is mine. Yours is yours.
Different people have different psychological profiles. But you are not good at everything.
But good or whatever you are good. When you try to be in the emergencies and felt that is not for you, maybe you realized you are not good at that because something cannot be done all by yourself.
You need to collaborate with others. We need to wait for the doctor to get the prescription because that’s the way it works.
And if it takes a lot of time and the person dies because somebody took more time than it should, unfortunately that happens but we always need to try to do our best.
Mike Stowe: Like I said, I’ve tremendous respect for anyone who’s working in the EMS field.
Doctors, nurses, firefighters, EMTs. I’ll get myself in trouble but there’s a lot of controversy around law enforcement but they’re also you know a lot of people who are there on scene to help in medical emergencies as well. So I give a big shout out to all those in EMS.
Manuel Lemos: Yeah, that’s fair, that’s fair.
They’re very important. They save lives and that’s the target goal. Some time ago my wife told me that I was an angel. Oh really, an angel? You must be kidding. I’m a demon. Some people hate me.
They want me to die. They want PHP Classes because to die.
It deserves to die because it’s bad. Bad for whom? I don’t know. Bad for people that do not participate there, or not. They just don’t care.
Mike Stowe: OK, I actually, in a Twitter conversation I had today that did this, I mean I’m not gonna name names but someone made the comment that they just got blocked for the first time. Yeah.
I’ve been blocked more times I’d like to admit.
First time I got blocked like what did I say like they felt so bad? Second time I felt you know still bad and I’m like: I must have had an opinion that someone didn’t agree with or something that I didn’t know every single thing that they had.
Look people who say things like you know PHP is bad, or Ruby is bad or Java is bad or ColdFusion is bad or Fortran and Cobol are bad.
I’ve been around the industry long enough that I can tell you they all have use cases.
There’s pros and cons to each. And we make fun of technology but I’ll take your peek on Cobol and Fortran and there’s a reason they’re still around.
Large enterprises are still using old mainframes with db2s. They work and they did a great job.
So Amy says that it’s just kind of those things it says more about them than I think it does you know you and it’s unfortunate that we have this toxicity in tech.
Manuel Lemos: Yes, yes, that’s an interesting point of view. I actually appreciate that you mentioned that because over time… well I would say more recently, I studied a lot about psychological profiles because there were things that didn’t understand on attitude of others.
What I realized is it’s a common misconception in the first part of your life and when you are not very mature.
You are not mature enough to realize that the others are different and the others are different. They don’t want the same things.
Even if they want the same things, they don’t want the same things the same way.
You need to respect that. If you try to push your visions, you’ll get in trouble because that’s the way all fights start.
And fights are a waste of time, a waste of energy, a waste of everything in life.
So you would rather avoid that. I already got attracted to fights but I was not realizing that was a trap because some people are too competitive. They want to win at the expense of others losing.
As far as I can remember, I never wanted to compete in the sense of destroying others. I don’t desire the worst for the others. I desire that they improve, they try to be better people. I’ve seen in all these years like 20 or like 30 or…
In 1995 PHP started and we are in 2021, so it passed like 26 years, I think. Yeah, all this time I’ve seen a lot of fights. I tried to participate in the PHP core. Often my ideas were refused.
By then I was taking it personal, I admit.
I admit I was also not very mature. It was a long time ago.
Because we need to respect the others, as well as you want the others to respect you.
At the same time we need to be patient. Nowadays, I’m talking very slowly. I used to talk faster because I was very anxious to say what I wanted to say.
But what is important is that over time things will evolve. You need to be patient because good things take time to happen.
That’s part of the reason we are here now and not in 2018 when we met in person like it was when I went there to a event in Google. Actually, it was not a Google office in the beginning but I met Mike in person. He’s a really good person okay? If you think he is mean, it’s wrong. He’s a very nice person.
Mike Stowe: In fairness, I’m pretty sure there’s some people have a very valid reason to believe I am mean.
Manuel Lemos: Yes another thing that I discovered in life is that people are not know good or bad. They have bad moments and good moments. So I have to admit I had a bad moment and some people think I’m mean because I have my bad moment.
I wish apologize to them because it was my not my intention. Because sometimes you get very stressed with these situations.
You were trying to do your best to help others and they refuse. I didn’t quite understand that. They refused because they are different, they prefer something else. OK, so if somebody listened that felt offended or something like that, please accept my sincere apologies.
I’m really very serious with that because just like I want to respect others, others also want my respect.
So everybody understands.
Mike Stowe: I am not moving the entire stream here.
Really quickly if I can Manuel because what you’re saying is so important. This is not a topic we talked about or planed to talk about, so we’re a little bit off gear here but I think it’s so important to talk about it.
In the US right now there’s a lot of divisiveness. One thing I think we’re very good at, and this is just humans in general, is talking and not listening.
The problem is we get so passionate about things because we want things to be perfect. It’s funny you talk about personalities with developers.
I like the insights discovery model and it refers to developers typically as this cool blue which is very formal but also very skeptical. And this fire red which is get it done, get now and give me bullet points. That’s kind of typical leader combination of developers.
That’s something that we see roll over in tech.
We see on Twitter and Reddit and other channels is so many people talking to each other versus trying to listen to understand the other person.
With PHP and your recommendations, what you want to see early on, in the end we all want to see, I think, the same things.
And it doesn’t matter if it’s a PHP developer or front-end developer, or if it’s you versus me, or here’s how I pulled the stream to myself if it was democrat or republican. I think everyone at the other day wants to have you know good things happen.
They want a successful outcome . They have different opinions of what that means. They have different opinions or ways that they want to see things done, or that they prefer things done, and they’re very passionate about what they think is the right way to do it.
One things I’ve had to learn is what we think is right doesn’t mean it’s the only way. It doesn’t mean it’s the correct way and a lot of times the answers in the middle.
So I really appreciate you bringing this up and talking about the important communication the importance of listening and the importance of creating trust and developing those bonds because what we’ve seen, again in US where we have this part is trying to destroy the country, this Trump you know probably trying to destroy the country.
I have friends on… well I’m sorry I sound like a politician. I have friends on both sides of the aisle and they’re great people.
They’re great people. In the PHP community I’ve had friends who are great people to actually hate each other and create this drama and it hurts the community. That’s what we have to keep in mind is what’s the greater goal.
Manuel Lemos: Yes, but don’t worry because all those negative feelings they are temporary. Oh, I hate you, I hate you. That’s what you said then. Tomorrow you’ll love me.
Mike Stowe: Well again, you know I already appreciate all that you’ve done because like I said without the work you’ve done, I wouldn’t be here and I appreciate being invited on the podcast.
Manuel Lemos: Yeah, no, no. I think you are very humble.
That’s the truth and that is a good thing because you have your value. Everybody has his value.
What we have very different values because we have different psychological profiles as I said.
What matters is is that we collaborate for the greater good.
Mike Stowe: Absolutely. I need to tell that to my fiancee.
I keep telling I’m the most humble person on the planet but she doesn’t believe me.
Manuel Lemos: No, no, she’s just being funny.
OK. Anyway, this is just to say that attitude is important. I have to try to improve my own attitude over time because one of the most difficult things about human beings is to know themselves.
Who I am because what what you think you are it’s different what the others think about you because they have a different point of view.
So, sometimes you see you backwards. So your right eye points to a different eye of them in the that is in the same direction the eye they have in the other side, OK? So it’s inverted. So you need to understand the inverted logic.
Mike Stowe: I have to throw myself here.
Now with myself in trouble and I’m going to go medical geek on you for a quick second because you know that you’re talking about the right eye and then there’s a left eye, and the right hand, and left hand.
You know what refers to the left side of the body the medical terminology for that is sinister. So you can truly say that if people trust somebody who’s left-handed that they’re a sinister person. Or in the case of the eye that the name is ocular sinister.
Manuel Lemos: I don’t know about that OK. I’ll have to check.
Mike Stowe: To add insult to injury, ambidextrous or ocular dextro refers to having two right sides, or two right hands. Well just the things in medicine get me. But sorry, I don’t know why took us on this tangent.
Manuel Lemos: It’s about attitude and attitude is important.
Mike Stowe: My mom’s left-handed and so I shared that with her and she was not happy with me.
Manuel Lemos: OK, well mothers are never happy with their children. They want them to get better.
My mother, I remember that she was never happy with me. She wanted me to get better OK.
Mike Stowe: it was just father’s day. I have an incredible father.
I’m very grateful, incredible mother thank you.
Thank you to them both for all that they’ve done.
I’m sorry mom for picking you on the stream.
Manuel Lemos: oh how could she be listening? Mike Stowe: I’m sure she will. Someone will share this eventually.
Manuel Lemos: Yes your wife will share it.
Mike Stowe: And he said he was humble.
Manuel Lemos: Being humble is like admittedly you don’t know everything and you you are willing to learn how to get better. That’s how things go.
If you think I’ve met a lot of people that as if they know everything. No you’re wrong Manuel.
OK I’m wrong, so if I’m wrong why aren’t you that much successful? Why aren’t you making millions? Aren’t you rich? Aren’t you bill gates? Because you are not Bill Gates.
Bill Gates took a lot of time to be successful. People undervalue the story of others because they don’t realize that for instance when I started PHP Classes I was like 30 years old okay.
What did I do in the previous 30 years? I learned a lot. I started programming when I was 13. I didn’t even have a computer. I wrote programs in paper. And then I typed them into the computer my friend. In the end it worked, okay? But it was a lot of time.
That’s what happens when people love what they do.
So I love software development. It’s not news, but what I did in the beginning was ugly like with everybody.
Mike Stowe: Looks back at their code it says hey this this was great. I don’t look at my code for a reason anymore.
I just I write it it goes production. I just pretend that that it doesn’t exist.
Manuel Lemos: No, well. You should value yourself more because when you were learning, you still could do pretty amazing things. Even if the code was ugly that’s just aesthetics but the functionality was there.
When I started, I started with basic. The basic language on a 8-bit computer and then I learned the machine code.
It was very, very deep. And I was so addicted to that that I would even know the lengths of the time that each instruction of the CPU would take to execute each instruction because I was always optimizing.
And you know premature optimization is the root of all evil according to Donald Knuth. And I agree. You should not optimize first.
First you should do something that works then you will optimize it later because sometimes you will be optimizing bugs. All these bugs are even better now. This code is causing more destruction than before.
So you should first make it work and then optimize but in the early days. It would be a very low level of course there are lower levels but that’s up to my teachers to have the experience to deal with the punch cards those old days, all those old timers.
Now we are the old timers because: Oh Manuel you did machine code.
Okay that was a lot of fun. Now it’s a lot of time we’ve spent loading programs from cassette tapes. Do you remember cassette types?
Mike Stowe: It’s heavily mentioned the punch cards.
You got me thinking like y2k as well but yeah let’s go to the cassette tapes here.
Manuel Lemos: The awful bug that didn’t end doing much.
Mike Stowe: A lot of people who put a lot of work, especially in the financial software.
So it’s kind of funny like the software that you and I use every day we’re like: oh no it’s all good but at the same time they’re working in front and in the back to make sure that your our bank accounts are completely crashed.
Manuel Lemos: Yes, yes, but the good thing is that times past and everybody evolved.
Either we evolve because we want to be in the front we want to be maybe not the first but in the few that are trying new things or we evolve because the reality is pushing you.
You cannot stay in the past. You cannot stay using things like this. I still have this.
Mike Stowe: I love it. This is amazing.
Manuel Lemos: It’s a telephone that rings.
Mike Stowe: It’s indispensable telephone.
We are talking about some of the stuff and it just hit me.
Y2k was 21 years ago. Half the people listening probably have no idea what cassette tapes were.
What y2k is or what a Nokia phone truly is.
So let me jump back to y2k to explain.
The whole dilemma, and then I’m gonna turn back, to you to talk about this Nokia phone because you can literally run those things over with a semi and they will just like: what was that?
But you talk about optimization and thinking things through and this is one of the learnings that people get as they build technology.
For the young people here, so we’re talking late millennials and our gen Z’s, one of the challenges is that when they wrote software back in the 60s 70s 80s, and they wrote software back in the 60s and I know a lot of gen Z’s is like: no no software’s new. Actually a lot of things we talk about in software are from the 60s.
We talked about things like hypermedia and hypermedia was like theorized back in the 70s.
But anyways I digress. But when they wrote the software they wrote it with a two-digit year to save memory because at that time we didn’t have dial-up Internet yet.
People complain because they only get 500 megs down on a gigabit connection. I was happy if I got 2.5 kilobytes per second at times via my telephone line to do dial up.
But because they made it with the two digits, the problem it had is it would you start doing date comparisons, so it would be like: okay the year is 85. The year is 92. Well the second it hit 2000 it just intuitively rolled over. So now the year is 00.
And so, all of a sudden all those calculations of know 95 minus 87 equals 12 now you have 00 minus 97 is negative 97 which blew up it would have blow literally our financial service systems and many other solutions I had, had this code right in from early software.
Now thankfully I think we have to worry about another y2k bug but you missed a great era because we had screen savers that had the y2k bug eating computers.
I mean there’s big dilemmas.
Billions of dollars went in to solve the problem.
Manuel Lemos: In the end it was not a big problem.
Mike Stowe: Well it wasn’t but because of all the the work that went into it like you know it was a lot of joking around afterwards.
In one of my favorite conversations was with… and I can’t say the name of the company, but it was with the person from a financial service company and he was sharing.
He goes: yeah he goes you know most world had no issue with it there was no big deal but for us I think the travel industry as well.
What people don’t know is how we knock out those changes in our systems would have gone down.
So it’s amazing again what you don’t see what happens in the background.
But as you’re working on software as you’re building software that’s also a big difference between a junior developer and a senior engineer. A junior developer we’re going to build as quickly as you can get out the door.
A senior engineer you know it’s taking time to understand. Here’s all that could go wrong. Here’s the security risks. Here’s how I mitigate that.
Which takes the biggest misconception that if you hire security or sorry a senior engineer the work will get done faster.
Actually a lot of times it’s gonna get done slower it’s just be done in a way that’s gonna mitigate a lot of different risk factors that someone may not have thought of because in fairness to them they may not have had the experience and the reason a lot of people a lot of us are you know senior engineers whoever may be is because we’ve made the mistakes a thousand times and we’ve learned from those mistakes.
Manuel Lemos: Yeah that’s true. Well but that was the past.
Now back to the present because we’re started talking…
I don’t know if you can already talk about this because it’s up to you.