I am Taylor Otwell. Ask me anything.

Held on 25 March 2016, 6:00 pm

Taylor Otwell is the creator of Laravel PHP framework. He also created Lumen, Forge, and Envoyer. Shoot any questions you want Taylor to answer!

Comments (131)

Mike Conrad's photo

Great to see you here! How do you maintain and manage so many popular and widely used projects like Laravel, Lumen, Forge, Envoyer etc ?

Taylor Otwell's photo

I've developed a fairly consistent daily routine. I start work at 8:00am and I always tackle my e-mail first and answer all support requests that came in overnight for Forge and Envoyer.

Once I have that cleared I review the Laravel organization PRs on GitHub. I try to keep that under 20 across the entire organization. One key to this is not "waffling" on a PR... if you are leaning "no", it's important not to procrastinate just saying "no".

Once I've finished PRs for the day I don't really go back to them until the next morning. I move onto whatever I want to work on for that day. Usually it's about 9:30am by this point. Lately it's been Spark. I'll work on that for the rest of the day as well as answer anymore incoming support requests that come in throughout the day. Typically I will only check my e-mail once every 1.5 hours or so I'm not distracted by incoming messages. I'll typically also close Slack and sometimes my IM client as well so that I have no notifications to deal with at all.

Thanks for the question!

Nandan N's photo

What are your productivity hacks? Building and managing so many successful projects must be stressful at times. How do you make sure you are productive and always up for challenges?

Taylor Otwell's photo

I make heavy use of Wunderlist and Trello to keep track of things. I also try to get a good night's sleep. However, I think one of the biggest factors is that programming is my main "hobby". I don't really play many video games or watch TV, etc. so I end up programming a lot in my "free" time simply because I enjoy it.

I also think the Pomodoro technique can be really helpful as just a daily productivity tool.


Steven Bock's photo

What's a feature from another language that you'd like to have in PHP? How could that feature make Laravel more awesome?

Taylor Otwell's photo

I would love to have short Closures that work similarly to the new => syntax in JavaScript.

Something like this following:

array_map(foo => foo + 1, foos);

It would just clean up some noise in the code. I think certain aspects of testing could be cleaned up by the inclusion of a monkey patching extension like "uopz" in the core of the language. However, lately PHP is more focused on "safety" with static types and so on so I don't think such an extension would be viewed favorably in the current PHP environment. :)

Romain Lanz's photo

Hi Taylor, thank you for your time.

I have a couple of questions here, hope that you can answer it.

  • What do you use to develop Laravel? Are you still using Sublime Text? If so, can you share your plugins/template/configuration?

  • What is the next awesome feature that you're going to implement in Laravel?

  • What do you think of AdonisJS http://adonisjs.com/ (NodeJS Framework inspired by Laravel)?

  • With what you gain from Envoyer and Forge did you work full time on Laravel?

Taylor Otwell's photo
  • I use Sublime Text to do all of my PHP development. The only plug-in I use is SublimeLinter for PHP syntax errors.
  • For Laravel, I'm always just trying to think of ways to get rid of boilerplate code and make things easier. Many of those ideas have been built into Spark since they wouldn't really be acceptable in a generic full-stack framework. Spark allows me to be more opinionated than I could be in the Laravel framework itself.
  • I think Adonis looks cool!
  • Yes, I work full-time on Laravel and am fully supported by revenue from Forge and Envoyer.
Vinoth Kumar's photo

How do you manage your family and your popular products? How may hours do you work a day? What lifecycle/software tools do you follow on your products?

Taylor Otwell's photo

During weekdays, I almost never work past 5pm, and I only get back on my laptop to answer support requests at about 9:30pm once the kids are in bed and typically clearing out the support requests that have come in between 5pm - 9:30pm only takes about 10 minutes.

On weekends, I still spend about 30 minutes in the mornings clearing out support requests for Forge and Envoyer. I can sometimes sneak in extra time on the weekends if the kids are napping or we have some downtime.

I work 8am - 5pm so just a typical 8 hour work day.

Vladimir Prudilin's photo

How will php7 release influence Laravel? What do you think about using docker for Homestead?

Taylor Otwell's photo

PHP 7 is a big deal, especially since it basically halves the amount of servers you may have needed to run your application under PHP 5.x. That can save businesses a lot of revenue in server costs. And of course Laravel benefits from those speed improvements.

I have not done much experimenting with Docker so I'm not sure how it could be incorporated into Homestead.

Imad Boumzaoued's photo

Hi Taylor, What did you do before you create Laravel and how did it lead to creating it ?

Taylor Otwell's photo

Before I created Laravel I worked for a large corporation writing .NET and COBOL. I use both .NET WinForms and ASP.NET MVC. I knew I wanted to eventually start my own business and hosting .NET wasn't very simple at the time. I knew PHP was simple to host and I wanted some of the features I had used in .NET MVC in a PHP framework, especially automatic dependency injection via Reflection.

My first PHP open source project was actually a reflection based IoC container I released for CodeIgniter in 2010. AFAIK, this was the first reflection based container in PHP. Then I wrote Laravel after being unable to cleanly extend CodeIgniter to support this kind of dependency injection.

But, ultimately, the goal was simply to have a platform to quickly launch my own business and help others do the same.

Raj Kamal's photo

When i was looking for js frameworks, I got paralysis from the large amount of choices. In the end, Because you and jefferey way recommend vue, I tried Vue, loved it and stopped searching further.

But I am curious, what exactly made you pick up vue over other js frameworks?

Taylor Otwell's photo

Vue is amazing. I think it's great because I can just sprinkle it on a single page without having to even have some fancy build tool or CLI or anything. It's just really fast to get started and be productive with even if you have never used another JS framework in your life.

It's the perfect mix of usability and power. I think because it is so approachable and has great documentation it will continue to gain popularity very quickly.

Mohamed Abdelwahed's photo

the world need a nodeJS version of laravel :D

Taylor Otwell's photo

That would be cool!

Maksim Kolyadin's photo

Being a creator of such a successful framework means commitment to the language it's written for. Given how innovative you are, have you ever been tempted to jump on another language, like Ruby, but you knew you couldn't because of Laravel?

What do you think about the opinion that PHP is historically one of the worst languages?

p.s. love Laravel, thank you very much for making our lives easier.

Taylor Otwell's photo

When I first started with PHP, I did sometimes wonder if I should use Ruby. I think many aspects of Ruby appeal to me more than PHP since I prefer dynamic languages and the PHP ecosystem has gravitated more towards strongly typed features lately as being the "best practice".

However, overall I really enjoy PHP and enjoy using it. I especially love Closure and traits and the speed improvements in PHP 7.

Ian McQueen's photo

Juggling multiple projects myself, how do you time block between projects, jump in and out of the code, and remember where you left off? Roadmaps? Timelines? How do you deal with "coder's block" when you're feeling uninspired with a project?

Taylor Otwell's photo

Typically I will keep a text file in the project with where I "left off" to help jog my memory.

I do use Wunderlist and Trello quite a bit as well to keep a backlog of things I want to work on. If I'm feeling uninspired on a project I don't work on it. I don't like to work on things in that situation because I think forcing yourself to work when you don't feel inspired can lead to burn out. Of course, sometimes you have no choice but to work on something.

Edwin Smith's photo

How do you want to see the Laravel framework evolve over the next 10 years? What long-term features would you love to see integrated, or other kinds of software/cms/tools that you'd love to collaborate with?

Taylor Otwell's photo

It's hard to say how things will evolve over 10 years. Laravel will turn 5 years old this year and has changed so much since it was first released. I think one thing that helps Laravel is we are never scared to push forward. I will always be listening to the community and identifying pain points to make sure that Laravel stays ahead of the curve so to speak.

Robert's photo

Out of Beanstalkd, Amazon SQS, Redis what do you recommend for implementing async queues in Laravel?

Taylor Otwell's photo

I personally use Amazon SQS, but I think many small applications should probably just use the database queue driver. It's the simplest to inspect locally and is of course "free".

Max Hutschenreiter's photo

If it not happens until 25th of March, when will Spark be released? :)

raph's photo

Do you think you will still lead Laravel in about 5 years? Any plan about a lead team?

Taylor Otwell's photo

I will continue leading Laravel as long as people are interested in using it. I don't know when or if Laravel will ever have a "lead team" but I suspect I will always have the final say on every PR.

Freek Van der Herten's photo
  1. What are your thoughts on Docker? Would you consider moving the Homestead experience™ from Vagrant to docker?
  2. In a the last 12 to 18 months a lot of "big" functionality was added to Laravel. Things like the cloud filesystem and ACL. Are you considering adding more big chuncks of functionality like that?
Taylor Otwell's photo

I have never used Docker but if I use it and it is easier for the average developer than Vagrant then I will move to it.

A lot of the more opinionated pieces of functionality I want on every project I have baked into Spark instead of Laravel. Spark allows me to be more opinionated than I could in a traditional full-stack framework.

Sahbi's photo

What are the tools that you use to stay (or to force you to) productive ?

Taylor Otwell's photo

I currently use Wunderlist and Trello mainly. I use Trello for daily planning during the week and Wunderlist more for a backlog of to-do items I would like to tackle soon but aren't scheduled to a specific day.

FMK's photo

How do you motivate yourself to start a new project or in general to start working on your current project?

Taylor Otwell's photo

I just like tinkering with things. I like building products as well. I love putting together a well built, well marketed, cohesive product and shipping it to people. So the very idea of doing that is usually my motivation.

Andrew Haining's photo

When starting to plan out a new project do you use any tools to help you map out the structure? Or is it scribbled on paper/all planned mentally. I often start a project and think I have it planned out then have to keep making changes to my plans because I've overlooked something. Can you offer any tips to avoid this?

Taylor Otwell's photo

I scribble out notes on a notepad first and just try to map out an overview of the project. I also try not to over-architect things too much if I'm just feeling something out. Ripping through 10 layers of abstraction is a lot harder than just changing simpler code. Once I figure out a system that is working I can always come back later and "clean it up".

Edwin Smith's photo

What percentage of your time is spent coding, and what percentage is spent managing all the products you've created? Which side do you prefer more?

Taylor Otwell's photo

I spend about 1.5 hours a day "managing" and about 6.5 coding. Some days I may even get more coding time than that depending on how many pull requests have come in overnight, etc.

Deactivated User's photo

Why did you choose a job as a developer?

Taylor Otwell's photo

I've always enjoyed messing with computers since I was a kid so studying IT in college was a natural choice. Once I graduated from university I was offered a programming job and took it!

Renato Hysa's photo

Will laravel have in the future more generators. For example for crud operations? I find myself wasting a lot of time with them, doing copy paste pretty much.

Taylor Otwell's photo

I prefer to leave more opinionated things like that up to the community because it would generate a lot of maintenance overhead trying to make everyone happy.

Ahmed Mohamed's photo

if you have enough resources (developers, fund,etc) what would be the next thing you will invest one?

As you always like simple and clean code, what features or stuff you think php should have to power Laravel and any other applications?

Taylor Otwell's photo

This year if things go well I would like to explore bringing on paid help to help maintain Forge and Envoyer.

I think PHP should have short Closures that don't require the use of "use".

Константин Брызгалин's photo

I've asked this on twitter before but had no answer. Laravel always creates Carbon instances directly, not through service container, which makes it harder for us, developers from non-English speaking countries, to use localized carbon or jenssegers/date. Is there something that stops you from changing this?

Taylor Otwell's photo

No it could definitely be changed.

Irfan Amir's photo

How do you iterate? When developing a feature or working on some project how do you build it? Do you make small changes or write lots of code then test or try?

Taylor Otwell's photo

I tend to spike out features first and then come back and clean them up. I'll take a first pass at a feature and write it somewhat "messy" just so I can see how I like it once it's implemented, then I will circle back around and decide how I actually want to implement it for release.

Chris Kelly's photo

Your project is amazing, and so is your attention to detail. Thank you for all your hard work.

I have no serious questions, so how about a less than serious one: When using your now famous block comments style of "3 characters less than the previous line", do you sit with thesaurus.com open trying to find words that fill the space correctly?

Taylor Otwell's photo

Hahaha... I am very fast at finding the right words I need. I know common hacks to shorten or lengthen a line by 1-2 characters. I know that changing "we will" to "we'll" will save 2 characters on the total line length for example. I can write a comment like that almost as fast as I can write a normal comment.

Ryan McCue's photo

When will spark be released?

Sonu Joshi's photo

Hi Taylor, glad to see you here. How did you manage to build such a huge framework on your own? I've seen a few videos of yours where you mentioned you made early Laravel version for a personal project while you were in working full-time somewhere else(if I recall correctly). What are the problems you faced while developing Laravel regarding coding practices as Laravel has most cleanest code including well formatted comments. Any tips, resources or suggestions for newbie programmers like me who are mostly dependent on tutorials from Jeffrey Way and StackOverflow.


Taylor Otwell's photo

I definitely owe a lot of Laravel's success to the community and their passion about it. Every video tutorial or blog about Laravel helps spread the framework. Building an ORM was definitely the most challenging aspect of building Laravel. Most other aspects have seemed fairly easy in comparison.

Frank de la Toba's photo

Do you have a idea when Spark would be release and how much it will cost? Do I have to pay for Spark for every different project that I want to use it or just a single pay and I can use it for all my projects?

Jan Vladimir Mostert's photo

I'm no longer a PHP developer and a bit out of the loop with what's happening in the PHP world; so out of curiosity, how different are Zend and Laravel?

Taylor Otwell's photo

I have never used Zend so I don't think I could give you a fair comparison. Laravel simply tries to focus on developer happiness and ease of use. Note that this does not mean that it only offers simple functionality. Many of the features of Laravel (auto resolution IoC, async queues, event broadcasting) are unique among all other PHP frameworks and are fairly advanced.

Dylan Pierce's photo

In one sentence, whats the best advice you can give for running your own small business or mindset as an entrepreneur?

Taylor Otwell's photo

My own secret has been to scratch my own itch. Laravel, Forge, and Envoyer all scratch my own itch. Spark does as well. If I'm solving my own problem I just find I can solve it a lot better than trying to guess at other people's problems.

Raymond Perez's photo

How many hours would you say you invested in the initial Laravel Public Release? How were you able to juggle the project and everyday life responsibilities? Anything that kept you motivated? What setbacks did you have?

Taylor Otwell's photo

I worked on Laravel for about 6 months before the first public release. I spent a lot of nights coding. Programming is my main "hobby" that I do for fun so it wasn't hard to stay motivated. I was just doing what I enjoyed the most.

Deciding on which ORM to use was somewhat of a setback because I wanted an ActiveRecord ORM but there wasn't any obvious choice at the time so I had to write my own.

Fakiolas Marios's photo

Taylor first of all thanks for affecting so much my career.

So, how did you manage to handle your time schedule when started developing Laravel as a side project of yours some years ago? I mean apart from your day job, your family routine etc. Too many working hours right?

Taylor Otwell's photo

Before I worked full-time on Laravel I would routinely code every night from 9pm to midnight or even 1am. I would do this probably 4 nights a week easily. It was the only way to continue building the framework and building Forge.

parweb's photo

Hi Taylor,

Love your work !

What's your personal opinion about CQRS in a big (or medium ~1year dev) project involving 3-4 developper ?

Do you think it's too overwhelming for at the end just some use cases.

Maibe not so much a bad idea because we have to separate "concernes" at some point but there are many other approche less overwhelming.

Taylor Otwell's photo

I don't think CQRS is that bad if your app warrants it. If it makes your life easier than go for it - if it becomes a pain in the butt then get rid of it.

Edwin Smith's photo

Right now, the main options for finding laravel compatible composer packages are really just Packagist and Packalyst. Do you have any plans for creating a more curated set of Laravel compatible PHP packages?

Taylor Otwell's photo

I haven't really thought about that but it could be something worth considering in the future.

AdamBalan's photo

What inspired you to write laravel? Why not use symfony for your needs instead of building on it? What ultimately lead to you saying - ya know what, this laravel.

Taylor Otwell's photo

When reading documentation for other frameworks, if I couldn't figure out how to authenticate a user within about 5 minutes I just gave up and moved on. I figured such a common use case should be very easy. Basically I felt like a lot of common situations should be much easier across the board, and that still drives Laravel to this day (queues, Elixir, validation, Spark, etc.).

Joyjeet Sarkar's photo

Hi Taylor, thank you for your Framework.

I have 1 question. We are a business running Production App on top of Laravel. Without Laravel, it would have taken us 3x more developers with 3x more headaches. Thanks for making our lives easier. There were many instances when laravel saved our lives. In Enterprise B2B it really helps to have a reliable framework. When we show the server-response times to our clients, it closes the deal faster. There was no question, just wanted you to read it. Thanks.

Michael Ryan Soileau's photo

What is something inside of Laravel that is used extensively that you would want to see used more often in other projects? I.e. helper functions, Collections, Eloquent, etc.

Taylor Otwell's photo

The collections are very powerful and are applicable to basically any project. I of course love using Eloquent and would prefer to use it on any PHP project I work on.

Ben's photo

I'd love to hear about Laravel's growth. Laravel has a great community but how did it get to the point it's at today?

Who were the first users? How did you convince them to try a new framework? Who used it in production first? How did you generate interest/traction?


Taylor Otwell's photo

I still remember some of the first users by name and always enjoy if I see they are still around. My first promotion of Laravel was on Forrst and Reddit.

I think Laravel continued to gain traction because I was very involved in its development, responding to feedback, etc. It also generally just came at the "right time" for PHP. Older frameworks built before PHP 5.3 were dying out or suffering from lack of documentation and Laravel was written exclusively for PHP 5.3 and has really, really thorough documentation even from the 1.0 release.

Quentin's photo

Hi Taylor, thanks for your time, and for the awesome work you do ! Where did the idea to create Lumen as an alternative to Laravel came from ? Don't you think most of the modern Frameworks should do the same and propose in the same time more light and "toolbox-like" framework like this ?

I am thinking of Angular, which is becoming way to overloaded nowadays, and will push you to use Frameworks like Backbone more for example.

Thanks a lot !

Taylor Otwell's photo

I got the idea for Lumen when I was developing Envoyer. I had to write a micro service using Slim and while I think Slim is really cool, I wanted to just drop something in with Laravel's database abstraction layer, better error handling, etc.

So, I coded Lumen to give a Laravel flavored Slim with a few more packages out of the box like validation, database, etc. that are almost always needed even on micro services.

Ian Olson's photo

What kind of server infrastructure runs Forge and Envoyer? Looking at running a SaaS application, and wondering what kind of services you run for these to keep everything in sync.

Taylor Otwell's photo

I use DigitalOcean and both of the services have 3 servers a piece (1 Web, 1 DB, 1 Worker). All of them are 4GB instances. Envoyer also has some smaller 2GB instances in various regions for the health checks.

I also use Cloudflare, Mailgun, and Amazon SQS for most services.

Guong Le's photo

With FORGE,do you plan to partner up with more VPS servers for instant auth such as Vultr, 100TB, Netelligent, etc..?

Taylor Otwell's photo

I wouldn't mind doing so. The Custom VPS option of course allows you to always integrate with other providers.

I have almost finished integration with Vultr but because of how fluid their availability is across regions it is a little trickier than the other providers.

Vadim's photo

Hi Taylor,

What tools/apps do you use for wireframing and for project management?


Taylor Otwell's photo

Pencil and paper mainly :) For project management I use Wunderlist and Trello.

Coder Yeti's photo

Your videos from pre L4 days hosted on Vimeo (under Userscape account I think) were great. You should do guest videos on laracasts on the same vein... what say?

Evan Mattson's photo

Hey Taylor! With so much new stuff going on these days with JS, go, and other new/popular languages, how do you feel about the longevity of PHP and it's place in the future of web development?

Taylor Otwell's photo

I think it will be around for a long time. In my opinion it's still the simplest way to get started launching and hosting a web application for cheap. That keeps a lot of developers using it and it's a very easy language to learn.

Lee Stables's photo

So we have Laravel, Lumen, Forge, Envoyer & Spark (soon) what's next?

Taylor Otwell's photo

I will think about that once Spark is released. I plan to take a few weeks of downtime to figure out where to go from here :)

Gustavo Ocanto's photo

What is the best way to approcah when we have to organize ideas and write code. What i meant was, how do you thibk when you have to put everything toguether.

Taylor Otwell's photo

I think a pencil and paper is still one of my favorite ways to sketch out ideas.

Samuel Chiriluta's photo

Hi Taylor, how did you choose to use so many components from Symfony?

Taylor Otwell's photo

It just made sense not to re-invent the wheel on something like HTTP parsing. We can still build on top of it to offer convenience methods, etc. I choose to use Symfony for some of the more "boring" parts of the framework and we write our own custom components for more interesting things like database access, templates, queues, authentication, etc.

Robert's photo

What are some other projects/technologies/side projects you are working on these days?

Taylor Otwell's photo

I always have some tricks up my sleeve. Of course Spark is essentially completed and nearing release. But, once Spark is released I plan to take a few weeks of downtime and think about what I want to work on next.

Vamsi's photo

Hi Taylor,

do you have plans to introduce more tools like Forge, Envoyer but for enterprise ?