I am Fabien Potencier, creator of Symfony (PHP Framework). Ask me anything!

4 February 2019, 7:00 pmAsk Question

Hi all,

I created Symfony in 2005, one of the most popular PHP frameworks. Currently, I run blackfire.io, sensiolabs.com, and the Symfony company. Ask me anything related to:

  • Creating Open source projects
  • PHP
  • Symfony
  • Performance
  • Entrepreneurship
  • and more

I will be answering questions live on 4th Feb, 2019 at 2 PM ET (7 PM GMT / 11 AM PT).

Emil Moe's photo

I'm sure Symfony reached a broader audience after Taylor Otwell created Laravel based on it. From my standpoint it seems Laravel keeps tight bonds with Symfony, but simplifies for certain, but common, scenarios. What do you think about Laravel and do you have any influence on it?

Thanks for creating an amazing framework :-)

Fabien Potencier's photo

CEO Symfony/Blackfire

First of all, let me say that I'm very impressed by the technical work of Taylor. He does an amazing job with Laravel. Building a framework on top of existing building blocks is smart and allows him (and the community) to build higher level of abstractions more "easily". Unfortunately, the ecosystem was far from being mature when I started to work on Symfony in 2004. PHP 5 was not even stable yet.

Symfony started to get some attention early on as one of the very first PHP 5 framework. Yahoo! started to use Symfony early on, 2007 IIRC.

Regarding the audience, I don't think Laravel had a "big" influence on Symfony. The same goes for Drupal by the way. When Drupal started to adopt Symfony as its framework, we did not see a big change in terms of adoption of the framework, even after the release of Drupal 8. In any case, I'm very proud that so many large and successful Open-Source projects are built on top of Symfony. It validates the design decisions I made 10 years ago when I started to work on Symfony 2. Having a whole ecosystem based on Symfony makes PHP stronger IMO.

Emil Moe's photo

Software Engineer & Consultant

Thanks for a good answer. The influence must be related to myself then and assumptions it would apply to more than me, but it's an undocumented statement, so you are probably right. In fact I didn't know Drupal was built upon Symfony as well.

I am wondering what your part in PHPs existence today might be. A lot of people think that PHP is too loose, but these frameworks mentioned, in my opinion, really brings the missing structure in PHP lacked for years until v7.

The addition of the command line library is just amazing for maintenance :-)

Azhovan Asadi's photo

Hello Fabien,

  • How do you balance between life and your job as a greedy developer, you are developing more than 15 years and almost you wrote all the codes

  • what is the difference between good PHP developer and a perfect PHP developer?

  • are you expert as much as your PHP skills in other skills like a database?

  • what did you do wrong as PHP GURU, in your career?

Show +2 replies
Fabien Potencier's photo

CEO Symfony/Blackfire

Something I did wrong as a PHP dev? I should have created Laravel before Taylor :)

Ilyos Olimov's photo

👏🏻👏🏻👏🏻👏🏻

Benny Elgazar's photo

Dont you think that the popularity among Php and php users decreases every year? What do you think about the future of PHP in general?

Show +4 replies
Julio's photo

Full Stack Developer

If a company makes decisions based on "HYPE" and not on efficiency and performance of the programming language, it will fail....

Benny Elgazar's photo

Data-Engineer @ gett

Who told ya php has better performance than Go/Nim/Java or even python

Girish Patil's photo

My first object-oriented programming language was PHP. It took a whole lot of time to wrap my head around a few things. Later I got into C++ in college. I started digging into mvc, mvcc patterns and into the source of Symphony and Slim. Although my stack no longer has PHP now. But It kinda kickstarted things for me. I just want to thank you for your wonderful work, dedication and time you have taken for all these years. Knowingly or unknowingly I believe you have helped many in this way.!!!

Question: Are you still completely into PHP? or exploring any new things? If so, what are you most intrigued about now?
Thank you

Fabien Potencier's photo

CEO Symfony/Blackfire

As I answered elsewhere, I've never used PHP exclusively. Nowadays, I'm doing a lot of Go. Go is very complementary to PHP. Everything I would do with PHP is not a good fit for Go. And the other way around. Having PHP, Go, and JavaScript is probably enough for most of my projects.

Ehui's photo

What does it take to be proficient in PHP?

What is your mindset as a programmer that help you face adversity to keep thriving until you become soo good and make you believe strongly in this project?

Are you going to adopt Symfony in GO language?

What is your thought on the mental health issue side of programming?

And last but not least, what advice would you give to your younger self when you first started?

Fabien Potencier's photo

CEO Symfony/Blackfire

Being proficient is the same for all languages and technologies: you need to read a lot of code. Symfony was my first PHP projects. As such, I made a lot of mistakes. But I learned everything I know by reading other's code, in many different languages. I read Java Spring's code... even if I've never written a line of Java. I read Ruby on Rails code, and Django one. I got inspiration from a lot of great Open-Source projects.

Being proficient means coding. Coding a lot. For fun or for profit. It takes time. Project after project, try to learn something new.

My advice: be pragmatic. Don't listen to people advocating design patterns at all costs. Don't try to make your code perfect. Learn to love fixing other's code.

Steve Bauman's photo

Do you build the user interfaces for your web applications? If so, do you use any CSS frameworks such as Boostrap, Bulma, Tailwind etc?

Do you also have any advice for back-end devs like myself to get better at UI design?

I also wanted to say thanks for all your amazing contributions to the PHP community! Keep on being awesome!! It really wouldn't be where it is today without you.

José Carlos's photo

ORM, Laravel, Preloading and PHP Desktop.

First my congratulations for the incredible framework you have created together with your great team.

My questions:

  1. Why doesn't Symfony have its own ORM? Although Doctrine is very good, I think it sometimes falls short and limited.

  2. You think that the arrival of Symfony 4 so late, has made Laravel have obtained that incredible big community.

  3. Symfony is getting ready for wiki.php.net/rfc/preload

  4. You think with the arrival of Symfony client, it is possible that you can also get PHP Desktop, to make software like Electron does. or doesn't it make sense?

sorry for my english and hugs for you and your team

Thank you

José Carlos's photo

Thansk @fabpot .................. :(

Peter Fox's photo

What trends do you see growing in the future for web app frameworks in general and how do you see Symfony changing and adapting to meet those trends?

Mikhail Stolnikov's photo

Hello Fabien,

  1. From your perspective what mind shift should one undergo to successfully switch from an employed web developer to the self-employed creator of a profitable SaaS product?
  2. Do you have any tips on how to effectively devour and retain new technical information?
Steve Bauman's photo

What do you develop on (Mac / Linux / Windows) and do you use an IDE to code - such as PHPStorm?

Fabien Potencier's photo

CEO Symfony/Blackfire

I've been using a Mac for at least 10 years now. I was still using Textmate as my main editor a few months ago, but recently, I switched to Visual Studio Code.

Steve Bauman's photo

Cool! Thanks so much for your reply :)

Tomáš Votruba's photo

What do you love to do in your free time?

Fabien Potencier's photo

CEO Symfony/Blackfire

Many things! In no specific order: reading books, biking, running, cooking, traveling, doing things with my kids, ...

Maurice Bennett's photo

When will the revamped mailer component be released?

Fabien Potencier's photo

CEO Symfony/Blackfire

End of March if everything goes fine :)

Waleed Barakat's photo

Hello, Fabian Hope you're doing well.

1- Is it okay to learn more than 1 framework at the same time?

If yes, why? And what is the other framework can add to my development?

2- do you think sticking with only 1 framework is enough to get hired by big popular companies?

I see multiple popular companies require or prefer the programmer has a knowledge of more than 1 framework. Don't know why!!!

Thank you

Fabien Potencier's photo

CEO Symfony/Blackfire

It is more than ok to learn more than 1 framework. We should be developers, not PHP developers, or Wordpress developers. A developer should always try to learn new things.

When I hire someone, I like curious people, with interesting and unusual backgrounds. If you know more than one framework and more than one language, you will adapt more easily. Learning a new language or a new framework is much easier when you know other ones. Adaptability is the key here I suppose.

Sanjay Ojha's photo

Speed has become important factor for developers while choosing a framework. I can see Symfony 4 is scoring better than many other popular PHP frameworks.

  • What is you plan to improve the speed further ?
  • What is your top priority in next major version of Symfony?
  • What tool sets do you recommend for developing the modern PHP application in 2019?

Thanks for the AMA

fortin's photo

Why is Symfony so much based on "magic" in the sense of stuff you need to know/remember (config files, auto*, compilation, env, ...), instead of stuff you can just see (actual code, constants, ...)?

Related to this first question, why did you decide to abandon Silex, which was actually much more code than magic? it's quite different from what symfony 4 gives as replacement. Was it only because of few contributors? Would you be open to reconsider this decision?

Fabien Potencier's photo

CEO Symfony/Blackfire

I think Symfony 4 changes the game here. I've moved many projects from Silex to Symfony 4 and the code was more explicit and easier to read after the move. So, to me, Silex is not needed anymore.

Ellis Benjamin's photo

Symfony developer

I highly suggest to watch a video of Symfony 4 internals presented by Tobias Nyholm -> youtu.be/pz6VdH4_BSg It shows how Symfony become minimalist, even at a point where Sylex is not relevant anymore. It is true Symfony comes with some complexity you need to understand but the entry barier has been drastically reduced. It has never been easier to develop with this framework.

Victor Passapera's photo

One of the tasks I find myself repeating with any PHP development is setting up base developer infrastructure. Sometimes this is trivial (finding a vagrant box or docker container on github is easy enough). Are there plans for symfony to offer an official solution (ala homestead)?

With the rise of microservices and the continuing rise of PHP as a dominant force in the web, I am happy with the way the language is evolving, and how Symfony has evolved over the years with it. Symfony is my framework of choice when doing development in PHP and I am glad that so many developers are willing to offer their time to keep improving it (Thank you!). That being said, newer technologies are constantly being developed, especially in the space of appservers (Check out appserver.io). I know symfony-cmf was a big official project that sensio undertook, is there plans to create an appserver based on symfony components? (Because this would be amazing).

Thanks again for your time, efforts and sharing your knowledge!

Brent Roose's photo

What's your opinion on the recent RFC addressing the topic of voting? There's mention of including all PHP FIG members to have the userland community's input.

Do you think the userland community should have a bigger voice in how PHP is shaped, and do you think the FIG is a good representation for that userland community?

For reference: wiki.php.net/rfc/voting2019

Yerco Antonio's photo

Why PHP? have you thought of switching to another language?

Fabien Potencier's photo

CEO Symfony/Blackfire

Why not? Seriously, I don't "like" PHP. But PHP is a fantastic platform. I wrote an article about that a while ago: fabien.potencier.org/php-is-much-better-tha..

Switching to another language? I'm not tied to PHP. I'm doing a lot of Go and I used to write projects with Python and Perl as well. Nobody should use only one language.

Maria Jose Herraiz Garcia's photo

Could you give me three tips to improve my skills as a Symfony developer?

Tuncay Üner's photo

Popular JAVA framework Spring Boot comes with microservice support/structure built in. Do you plan to have similar support for microservices in Symfony in near future?

Fabien Potencier's photo

CEO Symfony/Blackfire

Microservices comes for free with PHP. No need to have some specific support. I've answered a similar question elsewhere. But basically, I don't like the current trend of making everything more difficult than it should be. Adding layers of abstractions makes your infrastructure exponentially more complex. Think twice before adding a new layer. I'm not saying it's not needed... sometimes. But for the vast majority of the projects out there, keep it simple :)

Hazhir Ahmadzadeh's photo

Hello fabian Fabien Potencier what do you think of todays frontend frameworks like reactjs and vuejs which one do you like more? is It a good way to integrate php with them(or is it soon yet)? Or we should go with html/css with a bit of javascript maybe jquery as old days? Do you code javascript? Thank you for your time.

Jake Litwicki's photo

How do you handle the overwhelming negativity for PHP compared to Node.JS, Python, and (in my experience) even Java in a professional landscape? Do you think Symfony, or PHP at large has feasibility in the new "serverless" world?

Fabien Potencier's photo

CEO Symfony/Blackfire

PHP invented some kind of "serverless" before it was hype. Think about the PHP model for a minute. Share nothing. Each request is isolated from the previous ones. One script per endpoint. That's exactly what so called serverless platforms enable today. PHP had it in 1998! Last century. Simple, easy. Now, you need tens of layers to achieve the same. Not sure it's "better". I'm half-kidding here.

Don't want to use PHP just because some noisy people on Reddit/Twitter/... find it bad? Fine by me, I don't care. Business as usual.

Roman Pronskiy's photo

How do you stay productive with so many projects to take care of? Please tell about your daily routine.

Danny van Kooten's photo

Thanks for the AMA and everything you did for the PHP community in general, Fabien. We owe you, big time.

  1. What would you like to see added or changed in PHP itself?
  2. Was PHP your first programming language or do you come from another language? If so, do you still program in that other language?
Fabien Potencier's photo

CEO Symfony/Blackfire

I started to write code when PHP did not even exist :) It was in 1985. I started with languages that do not even exist anymore. My first computer was an Amstrad CPC 664. I was using mostly Basic back then. Then, I got an Atari ST 520; I developed games with STOS. I was also writing some assembler back then. And some Pascal. I was 12, but I was already using many different tools and languages. That didn't change.

Danny van Kooten's photo

Hah, I also remember getting my first computer at ~13 and an old Pascal book from my older brother. Vain as I was, I used it to program a "love calculator" that always returned 100% if one of the inputs was my first name. Good times.

Thank you for your answer!

Milica Maksimović's photo

Thanks for the AMA!

What does your average day at work look like? Do you even have them?

Fabien Potencier's photo

CEO Symfony/Blackfire

I don't know how to answer this one as I don't have an average day! They are all different. Sometimes, I don't feel like coding, so I don't code for days/weeks. And then, when I feel motivated to fix an issue, I can code for hours. But I'm always trying to find the right balance between work and family time.

MaoTseTongue's photo

You're doing a good job with Symfony 4.

Have you ever think about creating a tool based on Symfony to help people make websites ? Not necessarily a CMS but an administration generator or something similar.

Show +1 replies
Fabien Potencier's photo

CEO Symfony/Blackfire

Developing a framework like Symfony is a lot of work. We do have many admin gen written by the community and that's the great thing about Symfony. I don't have to do it all :)

Cindy Liwenge's photo

Hi Fabien,

Many members of our community take part in the discussions related to the lack of inclusion in our field and donate to the Symfony Diversity Initiative. But it seems like only a few people set up the actions and make sure the ideas and insights are heard. How do you see the Symfony Diversity Initiative evolve in the future ? What will be your role as the creator of Symfony ?

Thanks for the AMA.

Fabien Potencier's photo

CEO Symfony/Blackfire

We are at the very beginning of the Diversity initiative. Lukas is doing an amazing job, but we are still iterating on the best possible processes. Transparent processes is an important goal for us. I like that we now have a dedicated team working on such an important topic. There are so many things to do and still a lot to accomplish.

My role as the creator of Symfony is to ensure that everyone is welcome in the community. I don't want us to rest on our laurels just because we started to make some small (significant) changes.

Symfony is a community. And after so many years, code is becoming less important. Community is first. And diversity is probably the most important part of any community. It's challenging, but I like challenges!

Sky's photo

Hi,

Here are few of my questions.

  1. What do you think of hate against PHP by people who preach trendy new languages like Rust, Dart, GO etc?

  2. What do you recommend to the person who wishes to start startup with PHP based product? What are some suggestion you have for him?

Fabien Potencier's photo

CEO Symfony/Blackfire

I've answered the questions about hate in another question.

Regarding the creation of a startup, are you talking about a startup selling products for PHP developers?

Sky's photo

Yes, startups that are selling products made in PHP and also to PHP developers.

Thomas Bullier's photo

Symfony demonstrated and taught many of us the power of design patterns.

DI is really powerful and became the norm in a modern framework like Angular.

My question will be broad so you can answer any way you like, but is there any new shinny design pattern you believe devs should pay attention to ?

Fabien Potencier's photo

CEO Symfony/Blackfire

I don't care that much about design patterns :) Especially new and shinny ones! I like to find solutions to problems. When I first learned about dependency injection in a book about Spring, I was very excited. Not because I learned a new design pattern, but because I found a solution to a problem I had: how to make decoupled components work together in a cohesive way.

Waleed Barakat's photo

Hi again,

I am wondering, why don't you become a billionaire like Facebook CEO , Amazon CEO , and other tech giants?

Is it because the framework is for free? What if you make it only available for paid users? Do you think that can make you a billionaire?

Thank you

Mikhail Stolnikov's photo

The same question goes to Linus Torvalds)

Fabien Potencier's photo

CEO Symfony/Blackfire

A framework is the low-level foundation for projects. And people don't pay for low-level and technical libraries. Linux is free. So, almost all frameworks are free. So, having a paid version of Symfony would not work IMHO. But to be honest, being a billionaire has never been one of my goals; as an entrepreneur, I make some good money and that's enough for me.

Gabriel O's photo

Problem in Symfony components I often see is readability in some places is really bad. This is being done for sake of performance, but I don't agree minor speed improvement always trumps readability. Often times this is done for too tiny performance improvements. Especially problematic are huge nested blocks with no comments. In my opinion your team members are doing job of zend compiler and this makes code hard to maintain, review, debug and contribute to. What's your take on this issue?