CMOS #15: Prosper Otemuyiwa - Laravel
Unicode, you know when he entered my room. Because a lot of people come to my room to look for programming solutions, to ask me how they could go on, creating apps and stuff, back in the university. So he called me Unicode, it sounded nice. I also got to to intern at a place just immediately I was done with school. And my boss there, too, was calling me Unicode. So I was,
Okay.So I wanted to create a Twitter handle, no actually I had a Twitter handle, and I was trying to revamp it. I was trying to get the new handle to become much more active on stuff. So I just said,
Okay, let me combine Unicode and Developer. And to become Unicodeveloper.And it sounded like a good name to me then, so I just said,
Okay, let me use it.And here we are today!
So back then, Andela was just starting up, so nobody knew about Andela like that, it was just starting up. So I joined, as a technical trainer and I guess a lot of things happened there. A lot of things, the mission of Andela is actually to train people in Africa to become world-class software engineers, so that they can just outsource those developers to companies in the U.S. Because a lot of companies in the U.S. were finding it difficult to get affordable developers since the market was saturated, because a developer in the U.S. was very expensive, so if you have brains in Africa, you could hire a developer from Africa at the much lower cost. And see the same output you get by hiring a developer from the U.S. So that was the purpose.
So we're training these guys in the art of software development, a lot of that.
So that was where I became very active in open source.
I started my open source bouts in Andela.
I always dreamed my evangelizing in Andela, I was always trying to inspire people to be world-class, to know the new processes in world software development, to test their code, I was really big on open source projects and I was also speaking at events.
I was organizing meet-ups, I was just trying to bring the Nigerian developer community to a place where people outside of Africa can look at Nigerian community and say
Wow, these guys have a handful of very good, awesome developers.
These guys have the community, these guys are good.
We needed the credibility, so that was just my focus and apparently, I guess I did well. And someone nominated me to be a Google Developer Expert.
And I went through all the interviews, apparently I also did well, so here we are. I'm now a Google Developer Expert.
Oh, I'm going to use HTTL and CSS with these.Or there's a database that maintains this information. Or, okay there's this, oh that's wrong. How do you put all these resources together, how do you put all this stuff together? How do you get to do push notifications? How do you get to understand how programmer workers work? How do you get to understand how to do this work? All of those complex processes, so I just looked and I was always on GitHub, so I discovered,
Oh, we already have open source apps.We have other things existing that people just...developers just found it in their minds to put it online for people to look at the code.
So I was,
Oh, if you could have a place where you could find different open source in different languages or different frameworks so that somebody that's past the level of trying to understand the basics, can just jump into that app, look at the features it implements, look at how it's been implemented online, then learn from it, and go ahead and implement it in your project.
So that's how the Awesome-opensource-apps came to be and currently I discovered a lot of people are finding it very useful.
I mean it has about 250 stars already and a lot of people are contributing to it.
Anyway, what I actually wanted to ask you, is how do people get into Laravel today? So if someone wants to start using it, what would you suggest to do?
Then I also did Laravel-Emojis, Laravel-Emojis is just a Laravel package that can help you with using different types of emojis in your applications, so you want to build an application that has emojis, you can use Laravel-Emojis because it has the expressive methods, like I used to call emojis. You can also dump an emoji down with another name, and all of that.
And you also have Laravel-Mentions, so Laravel-Mentions is a package that helps you to be able to do the type of mentioning you do on Facebook.
So on Facebook you do
@Prosper, it brings the dropdown, I mean once you are on @, it brings the dropdown of the potential people you are trying to mention.
So once you do the @ and connect it to your database, it brings suggestions once you put the first character, it will bring suggestions of the person you're trying to mention easily.
So you don't have to swear at it.
And this is the package for that.
Then, I think one of the most popular ones I did, was the Laravel-Hackathon-Starter, so I don't know if I should call that one a package or a build app.
It's more of a boiler-plate tool.
So for people who want to build web applications, very fast, you don't want to think about it, think about adding emojis or use this API, it just gets the boilerplates.
So the boilerplate has integration with several internet providers, it has integration with about 80 APIs from Slack, API from Clockwork, to LinkedIN, different levels of API that you need. Message API, all of that.
All of that, in just one piece.
So what I was really thinking about is really people who want to be MVPs. And people that find themselves in hackathons. In hackathons you don't have time, you just want to build your products.
So if you want to build in Laravel, you can just use my boilerplates, everything is set up for you from the authentication to the social media login to all the APIs you need to use, at least 18 of them.
So you can choose from, you can just filter them out and before you know it, your hackathon app is ready.
So and I also thought,
Oh, this can just work for every piece, not just hackathons.
And it's funny how I put it out there and within a week, it became very popular, got a lot of stars, the PHP editor of Sitepoint got to know about it.
Got it evangelized, people found it very useful.
That can make people easily understand some concepts so there are some concepts in programming that people just have few ideas about, normally indexed, so right now I'm trying to work on a series called
So I want to do
Laravel for Babies,
I want to do
SQL for Babies, JWT-for-Babies, nobody knows about that yet. I just put, okay I told one person.
So if you go to my GitHub, you'll see I created some repos, es6-for-babies, I'm trying to work on that series.
And I want to...it's going to be like an open source book.
In a way, if you really don't understand this concept, you can just jump in and to give you a very bare, basic explanation of what you need to know. That's within five minutes or ten minutes of getting on, you'll be understanding the concepts that are really very difficult, for a long time.
So that is my plan right now, and I would like to write more articles, write more tutorials, I'm also working on building an application platform right now, where I can do a lot of screencasts for people to learn how to build popular clones, using Laravel to build those clones. So you can build a clone of AirBnB, build a clone of Facebook, a lot of that. And I'll go through the process from scratch to finish.
So those are the ideas I have around in my head right now. Also, for example, I work on Auth0, we just released a handbook called the JWT Handbook, where you can learn all about JWT web cookies, it's good that I was also part of the people, I did code-samples for the book and did some edits and the book is out there now, so anybody that wants to know about JWT, you can go to Auth0 website and also just download the book.
So those are the things I've been working on and thinking about right now concerning the open source community. Recently also, my friend and I, Kristen, she is from an Angular community here in Nigeria, so we plan to do talks around Angular 2, and all of that. So those are my ideas.
So for example, just two weeks ago, I was in Kenya for the DevCraft Conference, I talked about it so a lot of people know about it. A lot of people came for the session I presented, so I also travel frequently to other African countries to speak. But that just started, I haven't come very far with that, but I know very soon I'm going to be doing a lot of that, more often.
It has a way of expanding your horizon and you learn a lot, you get to learn very fast. So people constantly ask me how I've been able to learn a lot within the few years I've been developing, or how I became a Google Developer Expert, or how I have done all these open source projects. It's because I decided to start building tools for all of us. So it's helped me, it opened my horizon. I saw very popular developers, I started looking at their code, I looked at how they...actually I was stalking these guys, stalking them, to understand their thought process. To understand how they do things, I look at their code. I try to duplicate it, I try to see. So every time I go somewhere, every time I'm eating, anything I'm doing, I'm always thinking about how I can put it to an open source project. If I'm drinking beer today, I'm thinking of how I can turn that beer into an open source project. So it has affected my thinking, it also helps me grow as a developer. So I guess that's my advice, that is what I have to say right now.