Вебинар “Symfony2 framework, с чего начать?”

У многих есть друзья/знакомые, которым интересен Symfony.

Но, как обычно, нам лень или нет времени уделить достаточно внимания, рассказать и показать что это и как легко можно начать работать с Symfony2.
Webinar blackboard sign

Для того, чтобы исправить это и сохрнить ваши нервы KNP Labs организовывает специальный открытый вебинар!

Во время вебинара слушатели узнают:

  • Что такое Symfony2 framework?
  • Каковы его преимущества по сравнению с другими фреймворками?
  • Как начать использовать Symfony2 на практике?
  • Получите ответы на ваши вопросы, касательно опыта использования Symfony2

Когда? 25 апреля с 14-00 до 15-00 по киевскому времени
Где? Google Hangout
Сколько? Бесплатно, при условии предварительной регистрации!

Спешите, регистрация уже открыта!

Спасибо, что поддерживаете любовь к Symfony в мире! ;)

Spring Symfony2 training in Slovenia

In our previous blog post we announced the upcoming Spring Symfony2 trainings. First in this series happened April 3 – 5 in Ljubljana, Slovenia. The event was organized by D-Labs, an agile software development company from Ljubljana.

They welcomed us to their very cool office. We are impressed with the  atmosphere and very friendly people. They even had a dog named Ruby in the office :). It just felt like home.

They provided an awesome conference room for each group of 9 developers, most of them working for D-Labs. The trainees were very interested in the subject and asked a ton of smart questions. We were amazed by the skill level of the trainees, they all had a lot of PHP knowledge at their fingertips and most of them already used Symfony2 in real life projects. It was just amazing how they always wanted to know more and experiment with the real project we were building during the training. On Last day David jumped in to help everyone master Symfony forms and my group was doing advanced Doctrine training.

During these three days we did not limit ourselves to just Symfony and Doctrine. We explained and used many third party components and bundles, played with TDD, and one of the biggest surprises for me was their interest in the Sylius project!

The end of each day was reserved for chillin’ in a local bar. Everyone was so great but a special thanks goes out to Mitja and Jure who took us to the Bled lake the day after the training.

All in all, our visit to Slovenia was a success, we had a great time and the trainees were happy. Mitja wasn’t shy to share his impressions:

David and Saša from KNP were fantastic! They managed to cover all the important basics of Symfony2 while giving numerous tips and tricks along the way, then in the advanced part they got under the hood and showed us how the complex parts of the framework work. We were especially impressed with the way they manage to dig into the Symfony2 core to find answers to our more advanced questions.

I would like to thank the guys from D-Labs for their hospitality, Slovenia rocks! :)

Spring Symfony2 trainings already comming!

Spring is a wonderful time to get to know something new and exiting.  The nature blossoms and the mind is ready to wake up!

Ready to check this?

We are organizing Symfony2 training in USA, France and Ukraine this spring! 

student campus table laptop

You’re going to code
This isn’t a two-day speech, there are no textbooks and no tests. You’re going to be coding the whole time so that you’ve physically done everything we cover. So, bring your A-game and rest your weary fingers…

You’re going to build something real
Theory follows practice. Yes, when you leave you will understand security, the service container, Twig, forms and lot’s more. But not because we studied the API (yawn), because we built something real that you can take home with you.

Need details? Check the nearest to you city!

Our trainings will be in your native language!

See you there ;)

SymfonyPizza @ KNP Labs, Kyiv

Miss interesting discussions with smart colleagues? 
Lucky you!
KNP Labs starts SymfonyPizza!
On the first week of April we’re going to talk about Sonata admin’s features and tricks.
Find out more about Sonata admin concept and creating a simple admin panel based on Symfony RAD edition and Sonata Admin.
Our speaker Andrew Kovalyov will show interesting tricks and KNP Labs will share delicious pizza!
Need details? Here we go!
Topic: Sonata admin: How to make a full-featured backend without any line on client-side (html/css/js)
Date: April, 3 @ 19-00
Place: 27, Moskovska str., 5th floor, KNP Labs, Kyiv, Ukraine
Come and enjoy tasty food & topics!

Register now, it’s free ;) 

5 reasons to use KNP RAD edition

As an early user of Symfony2 (and even symfony1), there are things you learn after a few years.

Things you agree with, and things you don’t exactly agree with.

A typical symfony2 application is often composed of many coupled, non-reusable bundles, with (at least!) 4 or 5 ways to name routes, services, classes, etc.

Entities are in the CoreBundle, but only used in the FrontendBundle. Ha! Finally in the BackendBundle too.

And then the word “consistency” comes to mind.

KNP RAD solves this problem by providing normalized ways of doing things.

KNP RAD faciliates common tasks such as access to entity repositories, service creation, DI extensions and more.

KNP RAD doesn’t interfer, neither break an existing application. It is fully compatible with any other distribution. It allows you to do the way you want.

Here at KNP, we develop using the RAD edition of Symfony2, and there’s a very good reason. No, in fact, there are many reasons, but we’ll start with just 5:

  1. It lets you focus on application code, not on non-reusable bundles everywhere (TM).
  2. It gives you consistency. You can have a mess if you really want one, but KNP RAD will lead you down a path of sensible naming (route names, for example)
  3. It is opiniated. But it is as flexible as any other Symfony distribution. So, very flexible.
  4. It is green. Well almost all the time.  It’s well-tested, even with functional tests, like in the real world. (Yes, an app kernel IS the real world).
  5. It is fast. Build a working app with it quickly using a wide variety of shortcuts that you can choose from.

So let’s improve and ease our day-to-day work so we can focus on the important stuff!

And even if the amount of features is not that enormous, there are a lot of small things that make it worth trying :)


Work-Life Balance at KNP

KNP Meetup

I – Eve, People Manager at KNP – am on my way to our KNP MeetUp – Initially, it was an utopian idea to meet once our world-wide spread co-workers,… but no! We will meet in Switzerland for one week-end – everybody… from the States, France, Germany, Ukraine, Serbia, Estonia, Switzerland…


How did this came up? By a simple brainstorming session we call “Utopia”. The question was: What would you like KNP to do for you, if there were no boundaries on time, money and resources?
I organized hangouts with three to five (random) participants with a shared Trello board. I explained the idea of our session, we discussed a little bit the upcoming questions and then, everybody was free to post his and her ideas! No limits!

We had crazy ideas like: I want a river from my office to the sea. Or I want a cat… or have a swimming-pool, barbecue, mini soccer, poolroom… and every time we had: I want to meet my colleagues IRL!

From a simple post-it board was born a great idea and the wish was fulfilled by Matt and Laet.

Secure Freelancing

We are a Team of developers spread worldwide; it’s like being a freelancer with job stability. That’s great, because we are independent and we work because we love our job. That was fine for several years, and we thought nothing would change.

In Utopia several ideas came up like “We want also a physical co-working place. Would be great to work IRL with my dev mates…” So Matt and Laet proposed to those who live in bigger cities, like Nantes, Lyon, Leipzig or Kiev to start searching for co-working places and actively posted job offers for these cities. Nantes has already a team of seven members, Lyon will have three, Kiev four!

Sharing our experience

Another reason why we wanted to group our teams in physical offices: a will to share our experience! Everybody here wanted to train Padawans! Young passionate dev mates, new to Sf2 and with a great ambition to learn – and a great taste for open source (and cats meme)…

Home-office and co-working

The mix of home-office and co-working is great! Sometimes, you need your quiet room to concentrate on a task and sometimes, it’s great to exchange experience, opinions and jokes! With home-office you have no rush hour and no traffic jams. Co-working gives you the opportunity to meet other people, not only from the Sf2 world :)

As a young mother I do home-office and I can just say: It’s great! I have much more time for my children when they come back from the Nanny’s, I can adjust my working hours. KNP was a bunch of young, genius, awesome developers when I joined them. They still are, but some of them (like me) have now children and so their needs are changing. To me timeshift and home-office are the best option for a happy family life.

Open-Source projects

Very often, when someone joins us we hear: I am so proud to join KNP! That makes my heart bump every time :) Yes, have a very good image in the Sf2 community because we are active on OS projects (even if we still want to improve this a lot) and try to share our experience with the community with projects like KNPUniversity.com.

I recently read an article which said mainly that “Hiring based on OS projects is bad” and “Do not make your devs work on OS projects”. It was about exploiting your employees by abusing their passion and making them work day and night, like modern slaves… We are a family of passionate OS  devs, our Bundles are free, our experience is shared. Our hiring process is democratic, everybody can – if he wants – give his opinion, and yes, it starts almost every time with having a look at the GitHub profile… but not only.

As a project manager, I am against overtime. It’s against my idea of a good, balanced working atmosphere and when it comes to that, I feel like I failed. I protect my Team from ASAPs and ReallyUrgents and I assure you, even on web projects it’s possible to do without. Sometimes, it comes to overtime, but then I make it up by awarding free time later.
And working on OS projects? Yes it’s possible during our bi-monthly GeekTime Friday. No obligation to work on them after your working hours.

Self-organization – Holacracy

Agility became a buzz-word, now everybody speaks about Holacracy and self-organized Teams, flat hierarchy structure. At KNP we need no Holacracy trainings… we are already living what other companies need to change, in order to be more competitive on a steady changing market. On Jurgen Appelos delegation poker I think we are between 6 and 7. Our management holds the long term vision, does administrative stuff, manages the client and presales. We manage our projects, we manage the work we love to do. Matt and Laet are always open for suggestions and our needs. Problems are taken seriously, ideas are taken in consideration.
I do not have to tell you that this kind of management is the base for intrinsic motivation.


This will be also the buzz word in 2014. Make your employees happy and your company will have a great success. I fully agree. I work at KNP to find ways to make everybody happy. We do not want Care bears world, we do not want everybody to smile all the time, stand up and dance once a day or constantly make jokes on our internal chat and post cute cats. Profound satisfaction is a long term feeling, which is only possible if you can also freely talk about problems and criticize, without fearing retaliation.

I proposed the Happiness Index, inspired by Henrik Kniberg. It was not easy to introduce it to everybody. Choose your happiness in a scale from 1 to 5? Tell others what you feel on the project and on your working place??? What for? What if I offend someone? This is not an objective metric! Everybody can see my comments?
We had a lot of discussions and due to some feedback, I changed and improved some questions. And I made sure that everybody is aware, that at KNP, we are open to critics, that it’s never to hurt someone, but to improve a situation! Embrace error to make it better next time!

Since July we have a shared Happiness Index and it seems to be working for everybody. We have ones and fives. The ones gives us immediately feedback that something is going wrong on the project. We discuss it and try to find solutions! We do not have to wait the end of the project to hear: The project is late because of a communication problem with the client we had one month ago.
With six month of experience I can say: The subjective feeling of a motivated team member reflects the objective health of a project.

I will soon arrive in Geneva, snow is already falling and I can’t wait to join my colleagues on the train station. I have my Legos in my luggages for a Lego4Scrum session, this will be really fun. And I hear some KNPeers will bring their music instruments for the KNP Big Band…

I am really Happy to join the Team IRL!

KNP Labs went to DotJs

This year we had the pleasure to go to DotJs, the biggest javascript conference in Europe. Hundreds of developers meet at “Le théâtre de Paris” to learn more about the future of javascript and experimental APIs.


So, for those who couldn’t make it, here is a small summary of what you missed. We were surrounded by javascript stars as Addy Osmani, creator of Yeoman, Pamela Fox, creator of Khan Academy, Alex Sexton, creator of yepnope.js, Dave Methvin representing Jquery Core Team, Brendan Eich, inventor of Javascript and CTO of Mozilla, and many other interesting people. 

Addy Osmani started the conference by talking about Polymer. Web has evolved a lot in the past years and html is no longer what it used to be. Components we use everyday like carousel, tabs, etc. have grown on complexity. Most of them are constructed on javascript and the html generated ends up being a mess. With Polymer, markup can be meaningful again. Polymer components create custom html elements, extend existing DOM objects and are inserted on DOM only when needed. Components will be re-usable and html readable. If you’ve worked with Angular, this is a lot like angular’s directives. 

Another interesting talk was Remy’s Sharp talk about Iframes. Wait..what? Iframes? Really? Haven’t we developers tried to avoid them for years and now someone is saying that they are useful? At first this really surprised me. But the talk was very informative on how to use them to prevent clickjacking and how to achieve cross-domain. For this last one checkout Porthole.

Guillermo Rauch, talked about the importance of speed. More precisely about front-end optimization on single page apps and how success is tidily linked with performance and accessibility. This is all about the illusion of speed and how users must not feel like they are waiting. For example when an app is launched an image is rendered before anything else, this way the user doesn’t see a white page. He finally presented MyDB, a technology that allows front-end to react in real time and have the same output from different platforms at the same time. (slides)

Pamela Fox presented «making js easier to learn». She works at Khan Academy and explained how it is to teach programming online. She also talked about the importance of using tools to write good clean working code, as jshint.

To close this day on a high note, we had Brendan Eich. He talked about how internet has evolved in our world and how it is present more and more in our lives. We must build a better internet where users have the control, privacy and choices they want: “empower web users”. Expect progress and innovation to have a better performance in every platform.(slides)

There were other entertaining talks about type dependance by John K Paul (slides), Module Frontiers by James Burke (slides), web performance by Dave Methvin, web security by Alex Sexton (slidesand dart.js by Nicolas Geoffray, which is a google language that compiles to javascript but is used to replace javascript.

Do not hesitate going next year, I assure you you won’t regret it. Not only it’s inspiring, but it’s also a nice way to meet people and to interact and exchange about something that we are passionate about. And how amazing is it to see the people who create our everyday tooling?

Three KNPeers at Agile Tours Nantes

We were so happy to meet again (after one year), Carol and Cécile from Nantes and Eve from Caen, at the Agile Tours Nantes event.
We got our tickets as early birds, so we were just happy for the Agile Association that the event was sold out much before the 14th of November.

250 agilists or future agilists came together at the “Ecole Supérieur des Mines” and we had a great time! We dispatched though the program as good as we could, but for some workshops you had to run to have a place ;-)

There were two general keynotes: the first one dealt with quitting traditional managing system and the second keynote presented the utility of serious and innovation games in the working life.

Some impressions and feedback for the highlights of this Agile Tour day…


 The Keynote by Alexandre Gérard from Chronoflex

Carol : Flat management is on all lips… The presentation from Alexandre Gérard is undoubtedly the future of all great companies and by far the best moment of this Agile Tour day. In sum, a great case study! My new guru praises listening of his team and the suppression of power signs. This implies : he no longer is the one that comes the earliest and leaves the latest, he has no “woow” office desk (in fact he has no desk at all), no close parking space assigned… He doesn’t hire nor does he fire. So who does that?….

His staff! And ah yes, guess who took a sabbatical and travelled one whole year around the world with his family last year? His Greatness Alexandre Gérard himself… Whose job (yes he has one) is to remind his team the overall vision of the company. Hats off Sir! (by extension hats off to your own guru Jean-François Zobrist too) ;)

Eve: I agree a 100% with Carol and just want to add that it was a great lesson of how the agile philosophy can help a company to be again competitive on a fast changing market, the buzz word this year seems to be holacracy  :)

Cécile: Very interesting Keynote indeed, one of the most powerful moment of the day. How this CEO decided to change *completely* the way he manages his company is amazing. Share your vision with your employees, let them decide for themselves how to get there, don’t put pressure on your middle management and relax, everyone’s doing their job just fine.

Kanban or Scrum ?

Carol: I’ve sneaked around two other Kanban/Scrum conferences, one of which compares Kanban to Scrum. Why compare the incomparable?… So we agreed at last, Kanban is not a method for PM (no deadlines, no resources and no budget managements  dealt with) unlike Scrum!! Just a powerful complementary method.

Non violent communication on agile projects

Eve : At the same time I joined a workshop about non violent communication where we did role playing : A situation we already experienced where it came to a real conflict. Once played, the others could replace one of the actors to propose a better alternative to avoid the conflict and find a solution.

Transferred to agile project management, a CNV retrospective proposes to write down a timeline and indicate important events (a developer changed on the project, client changed… ), then below each team member draws a line with his happiness index, according to the timeline. We can see if an event was good for the team (and the project) or not. The team draws the value tree, the roots are the values and the apples their results.
I found more information on slideshare (another workshop) by Patrice Boisieau (sorry it’s in french)


Again Kanban

Carol: The other Kanban conference praises the horizontal management on your Kanban/Scrum boards. So I guess that’s the way : all scrum tasks should be cut and evaluated to one same point or time value. One move of card from one column should bring the same movement to all active cards on the board. This implies that tasks should be thoroughly estimated.

This system is called “Système à flux tiré”; literally pull flow system; in other words, “Just in time” system ; whose advantages creates flexibility upon the ever-changing self-defining IT specifications. For more information, you might consult Laurent Morrisseau.

Rock the product map

Eve: I joined Bertrand Dours workshop. I invited him last year to a conference and since, I am always happy to chat with him on agile events. His slides are very fashion and his speech always fun. This time, he played with us “Rock the product map”. Our mission was to organize the revival of … Pink Floyd. We worked on each step of agile project management (brainstorming, speed boat, buy a feature etc…) You can find more information here: http://fr.slideshare.net/Titi1506/rock-the-product-map-28248710

Sketch your meetings

Carol : My next favorite stop was at Pierrick Thibault’s (from Agile Garden) one-hour long workshop. In groups of 4 persons, we have to prepare a meeting within an association to plan a group travel to Spain for a flamenco contest. We have :

  • About 10 minutes to figure out with words what we really need at the end of the meeting (not the current meeting prep, but the meeting itself)
  • 10 minutes to lie down sketches to define the result
  • 15 minutes to sketch the story board and the associated result
  • 5 more minutes or so to present and/or visit the other groups’ story boards.

In a few words, nice short pragmatic intervention can make you love meetings… how by making nice short pragmatic sketches within nice short pragmatic meetings’ preparation. No more no less!!!

DSCF9975.resized (1)

Cécile: Interesting conferences about how agility was applied in 2 IT companies and what it changed for the employees, the clients, the results.
All in all, a very good day!

Thanks to Agile Nantes members who organized the day! We’d love to come back next year! And thanks to Pierrick Thibault for his shots.

KnpRad is getting some love

Hey fellow code knights!


As you may already have seen, if you follow the KnpLabs/KnpRadBundle or KnpLabs/rad-edition repositories, the effort made by all the contributors is paying!

We discuss continuously about problems, improvements, bugs or features that could enhance the RAD development in the Symfony2 ecosystem.

Our daily work is to describe the existing features using behat. It could help the currently “light” docs to be more complete. We think about that as an addition to understand what is described on the rad.knplabs.com site, but also as a way to “black box test” the rad bundle, independently from the rad-edition distribution.

Some features have already landed in develop branch, ready to be tagged as stable!

Some others are still in the pipe, like a brand new routing loader. It should be more flexible and extendable than the precedent.

Another point that we would love to ease is best practices. As says Uncle Bob, “The only way to go fast is to go well”.

Which means that RAD should be renamed WAD: Well application Development :) If the only way to go fast is to go well, the RAD bundle should help to write code “well”.

There are a lot of ideas yet to be implemented! It would be a huge gain to see them discussed! Feel free to leave your thoughts on tickets, or create new ones: https://github.com/KnpLabs/KnpRadBundle/issues?state=open

KnpRad needs more love. MOAR!