PHP Interview With Lineke Kerckhoffs-Willems Co-Founder Of – Start Learning PHP Properly First Before Diving Into Any Frameworks

About This Interview

This is the #30th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHPeople who are already highly involved into the PHP Ocean and *being there* taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community.

On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders. I hope you will derive as much fun to read my interviews as I’m having by interviewing those awesome PHP people.

A Small Intro..

Lineke Kerckhoffs-Willems Co-Founder Of

In this edition I talked with Lineke Kerckhoffs-Willems who is the Co-Founder Of ProTalk. @the_linie is the third #phpwomen I’m hosting on after Lorna and Ligaya. Lineke is a very active member of and promoting the purpose of She is indulged in a lot of stuffs; she attends a lot of conferences, speaks at conferences and is also an organizer of a conference as you will read along this interview. She focuses a lot on Quality Assurance and I have taken this opportunity to ask her a few questions about it. Last but not the least, be on the lookout as I’m also planning another exclusive interview with her which will focus specially on PHPwomen.

And Now The Interview…

>> Please tell us a bit about yourself

I am a software engineer that has been developing with PHP for over 9 years. I love web development and love doing HTML, CSS and JavaScript as well as PHP. Since I started working for Egeniq last March, I have been focussing on mobile development, especially the API’s that drive the apps.

In my spare time, I attend and speak at conferences, am a member of PHPBenelux and PFZ (both are Dutch PHP user groups) and I have a central role in PHPwomen leading the EU chapter, which I’ll tell more about later. I am also the lead developer of the open source project ProTalk, a website focussed on centralizing audio and video with a PHP focus. I occasionally write on my blog ( and I have written two articles for PHP|Architect. I am also the main organizer of a new conference called CodeConnexx which will take place 8th and 9th November in my home town Maastricht (The Netherlands).

Besides all this, I am also a mum of two beautiful daughters.

>> How you started with PHP

In my final internship for the Computer Science education I was following, I got attracted to web development and did a project for Ibuildings. After the internship was over, they offered me a job and I decided to take it. I started working officially for Ibuildings in February 2003. I always loved doing web development and learned HTML, CSS, a little JavaScript and PHP during my years at Ibuildings. When Ibuildings started to be more involved in the PHP community, so did I, and I am very thankful that I am part of the PHP community. Nowadays I work at Egeniq, a mobile development company based in the Netherlands which is lead by two of my former colleagues at Ibuildings, Peter Verhage and Ivo Jansch. Egeniq uses PHP for all their API’s and occasionally do mobile websites which help me to improve my HTML5 and Javascript skills.

>> The relationship between You and The PHP Community comprises..

When Ibuildings started to be more involved in the PHP community, they started with attending PFCongres (a dutch PHP conference) and I was part of it. I started to get to know a few people of the organization. Then Ibuildings organized their first DPC and everyone that worked at buildings was there. I learned about PHPWomen and became a member. Then Lorna Mitchell joined Ibuildings UK and she really helped me and introduced me to a lot of the well known speakers. I became a regular conference attendee and started visiting some of the PHP benelux user group meetings. This inspired me to become a speaker as well. I love going to conferences and meeting people, every time I meet a few new people as well and the way I see it, I get more friends every time. Especially the PHPWomen members that I have met have become real friends to me and have a special place in my heart. Last year, I started ProTalk together with another PHPWomen member Kim Rowan and we open sourced the project last october. I am just starting to learn what it’s like to run an open source project and the experience makes me a better developer, as did all my involvement with the PHP community.

>> Based on your experience, what are the good and bad parts of PHP

I think this is already well covered in previous interviews. However, for me one of the best parts is the flexibility, but that is also one of the worst parts as well. There is so much information to be found on the internet and not all is good. Also the PHP Community itself is one of the best parts as well.

>> What would be the Top advice to a PHP beginner

Start learning PHP properly first before diving into any frameworks. It is really tempting to dive into a framework, but learning the principles behind it first will make it easier to understand any of the frameworks out there. Then it is basically learning the framework specific things, which are far easier than the basic principles.

>> To someone who wants to become a better PHP developer, what is your advice?

Join PHPMentoring and find yourself a mentor, because there is always something new to learn.

>> The best PHP book you’ve read

I don’t have that much time to read books, but I really like the “97 things” series books. They are easy to read and you can easily read one story or a few at a time without losing track of where you were. I recommend reading all three books even if you are not doing any project management or if you are not a software architect, because it makes you realize what is involved in the job and makes you understand it better.

>> A PHP blog or resource you highly recommend

  1. PHPDeveloper is probably the best known and has been mentioned a lot already.
  2. I also recommend ProTalk if you are looking for audio and video resources. We are updating the site with new content all the time and there is still more to come. We are still looking for help to get more content on there and finding new resources!

>> The IDE that you use

I have used several IDE’s, started with Zend Studio, Eclipse, Netbeans and PHPStorm. Nowadays, I use Netbeans, but I liked PHPStorm as well.

It doesn’t really matter which IDE you use as long as it works for you. The best IDE is the one that works best for you. Therefore I recommend developers to just try them and see what works for you.

>> A PHP framework you use and would recommend

I have used several frameworks in the past and also done research to various frameworks in order to find the best one for a work project. I’d advise everyone to look at their project and situation and make a choice based on the needs and not choose a framework because you know it or because everyone else uses it.

At the moment, I am using Zend Framework version 1 at work and Symfony2 for ProTalk and for some of my work projects as well. I really like Symfony2, but both frameworks are sufficient for the projects I am involved in. I hope in the near future to have a look at Zend Framework 2 as well, it seems to be a huge improvement and a good competitor for Symfony2.

>> A CMS that you think is worthwhile

There isn’t really any particular CMS that I like, because most of the time, I am missing something. I have used wordpress, drupal and joomla before and looked into silverstripe as well. I still want to have a look at BoltCM which sounds interesting as well, but I haven’t found the time yet.

>> An E-Commerce cms you recommend

I have never used a specific e-commerce CMS and can therefore cannot recommend a specific CMS.

>> Your LAMP stack comprises.. ?

Currently I use a Macbook Pro for development, both for work and privately. For work we use VMware images of Ubuntu or similar with the necessary tools installed that we use for all of our projects. On my own Macbook Pro, I use the pre-installed Apache and PHP with MySQL 5.5. I have used both Windows and Ubuntu in the past as an OS, but since I need to use a Macbook Pro for work, I find it easier to use that after work hours as well.

>> One PHP person that you admire and what strikes you about him/her

Lorna Jane Mitchell - Project Lead Of
Lorna Jane Mitchell – Project Lead Of

That is a hard question, do I really have to name only one? There are so many that I admire. If I have to name one, it would be Lorna Mitchell. She introduced me to PHPWomen and to the PHP community as a whole and I am forever grateful for that. I remember the DPC conference in 2009 where I finally got to meet her in person for the first time. I had been working with her at Ibuildings for a while longer and talked to her on IRC as well. But that time, I got to meet her. She introduced me to a lot of the speakers that were there and that really helped me to get to know the PHP community and open up. She has been a very good friend ever since!

NOTE: You can read Lorna Jane Mitchell’s interview here!

>> One function that you like (or which you tend to use frequently)

There are a lot of array functions and I tend to use arrays quite often, but I recently found out about the array_map function. It is a really useful function since it has a callback function as argument that is applied to each element of the array and returns a new array.

>> One PHP Community that you recommend

There is only one PHP Community and that is the community we are all part of. Yes, there are user groups and all, but these are only means to get together and meet each other. Together we make the PHP Community to what it is and whether you know it or not, if you work with PHP you are part of the community!

>> Which was the worst programming mistake you did?

Everybody makes mistakes because we are all human. So did I, I probably made a lot of mistakes over the years I have been programming. One of the worst mistakes that I can remember (although not really a programming mistake) is probably accidentally doing a conversion on a live database for testing. Luckily, I found out in time and we could still repair it, but that was a bad mistake.

>> A unit test framework you recommend using and why?

That would have to be PHPUnit. It’s the most used unit testing framework for PHP that is out there. Ofcourse there are other frameworks for testing becoming more popular like Behat for behaviour testing and Selenium for automating browsers which is very useful for functional testing.

Lineke And Quality Assurance

>> Tell a bit about QA and its challenges

I think this is best explained in the following text that comes from an article that I wrote for php|architect in May 2012:

Quality Assurance basically means making sure the quality remains at a certain level. Although this sounds simple in theory, it is not so simple in practice. First of all, every organization (or sometimes even project) should define the level of quality they aim for. As developers we would obviously say “The highest level that is possible”, because we are perfectionists, right? Looking at it from a management point of view, this is not always the best way to go. If your organization makes software for hospitals to calculate the heart rate of a patient for example, this needs to be very accurate and you would want to make sure your software always works. However, for a simple website for a small company, you do not want to spend hours and hours working on the software and trying to perfect it even further because there is no need. This is why the level of quality can differ between organizations and even between projects.

Then there is the context in which we think of Quality Assurance as well. As developers, we tend to think about the technical things, like adding unittesting to our development process for example, but improving quality can also mean changing your development method (for example, switching to an agile approach instead of using the waterfall principle) or adding more documentation like user manuals or adding phpdoc comments in your code. It is all these things that define the quality of your software and your projects and every little change can add to the level of quality.

The most important thing you need to keep in mind is that Quality Assurance is an ongoing process that is never finished. There are always things that can be improved or new tools to give better insights into the quality of your projects. This means you will always be monitoring the quality level of your projects (using techniques like Continuous Integration) and check if there are any improvements to be made to raise this level when needed. Quality Assurance is important because there are always projects that run out of time (which is really bad for quality as we all know), have too many bugs, lack documentation or have a lot of legacy code or technical debt. There are a million reasons why quality is important and there are no excuses for not paying attention to it!

>> Would you recommend a beginner to focus on QA right from the start?

Well, the above text says it already, there are no excuses for not paying attention to it, even for beginners. However, it can be a bit difficult if you are learning programming with PHP to learn all this as well. But to me, QA isn’t solely about unit testing or Continuous Integration, it’s also about documentation, coding standards, etc. Therefore, there is no reason why beginners can’t participate in it. And have the more experienced developers to guide and mentor them and help them grow even further and improve the quality of their work further.

It is a very important part of development and in most organizations you will see that the experienced developers will know about it. I think they are responsible of getting everyone involved in QA, since it’s not a thing that one developer can do, it has to be supported throughout the organization and therefore all developers should be involved.

>> What is the mindset (approach) that, according to you, is important to have when adopting QA in a project

The most important thing is to define the level of quality you aim for in a project and make sure all team members are aiming for that as well. And of course the management need to be aware of it as well, to make sure the planning fits as well. Get everyone on the same pace and define the quality goals before the project. It’s also very important to not let it slip because of time issues when planning goes badly but that is probably the hardest part of software development as a whole.

Lineke And ProTalk

>> You are the co-founder/creator of ProTalk – Tell us a bit about it and what it is trying to achieve

ProTalk aims to be the central resource for audio and video related with a PHP focus. Lately, we are seeing more videos that are not specifically targeted at PHP but are also interesting for PHP developers. Therefore we are planning to restructure the website and add more media that is not specifically targeted at PHP, but also include Javascript and HTML5 for example. The content will probably still be related to web development, but not specifically PHP anymore. This is a huge change and we are very excited about it.

>> What is the current status of ProTalk

The website contains a lot of video and audio content and is in the state we aimed it to be for the first version. We have a lot of plans for the coming year to expand the website even further and make it a better experience for the visitor. We also like to spread the word and get even more visitors on the website.

>> The challenges ProTalk face

The biggest challenge is getting content on the website. There is a lot of content available and we are still discovering new resources frequently. We are still working on a system to automatically add new media based on the resources (for example RSS feeds). However, there is still a lot to be done by hand afterwards, therefore this takes a lot of time. We hope to create a team of content editors so we can spread the work some more and get more content on the website. We are still looking for contributors (code wise or content wise), so any help is appreciated! Get in touch with me if you’d like to be part of this awesome project!

>> What is the reaction of The PHP Community towards ProTalk

Everyone that hears about it is very enthusiastic and thinks it’s a great idea. We open sourced the project just before PHPNW last year and we got a lot of new contributions thanks to the hackathon and the promotion we did before that. I really think this project is a great success already and it will continue to grow in the coming year(s).

>> Do you want to share what framework and/or technology you guys use to power/build ProTalk?

Of course, it’s an open source project. We are using Symfony2 and Doctrine2 to build to website and that is working very well for us. There are a lot of bundles available and it’s far more flexible than using a CMS like WordPress for instance. That is the main reason we choose a framework over a CMS. Furthermore, at that moment we started the project Symfony2 was the most advanced and up-to-date framework out there so it seemed like a good choice. Now that we have open sourced the project, we find that there are a lot of developers that know Symfony2 already and that only helps the project even more.

Closing Out With Lineke..

>> If you could change one thing with PHP, that would be…?

I can’t think of any. No language is perfect, and I wouldn’t claim PHP to be perfect either. But through it’s flaws there is a good base and the size of the PHP Community only proves that.

>> Things that you’ve learned by being part of The PHP Community

That would be too much to list here. I have not only learned technical stuff, but also other soft skills that are vital in growing as a developer.

>> You are involved a whole lot in your PHP endeavours. How do you time manage all that – how do you coordinate everything and balancing all that with your personal life (mum of two daughters)?

I do things one at a time, just like everyone else. I don’t try to do everything at once and I am very much aware of my limits. The kids always come first and if I am tired in the evening, I give myself a “day off”. I don’t plan things too far ahead, but I try to plan my evenings one week ahead. However, I usually change plans during the week, which is fine because I just take things one step at a time. There are times that are busier than others, but everyone has that. This year, since I am organizing a conference in November, I won’t be admitting to any Call for Papers for conferences. I just want to focus on this conference and other things first. Speaking will have to wait until next year. That is what I mean when I say I don’t try to do everything at once.

>> The day you realised “You’ve made it to the A-List PHP arena” ?

Did I? To be honest, the day you asked me if you could interview me, I realized my name is out there and there are more and more people that know me. I still wouldn’t say I am part of the A-List but maybe others already see me like that. The way I see it is that I love being a PHP developer and sharing my knowledge and improving my skills by speaking, working on an open source project like ProTalk and organizing a conference. That is my way of saying thanks to all the people that contributed to the PHP community and created the language and taught me how to use it. Thanks to everyone in the PHP Community!

>> Why you are successful and why others are not?

I don’t see myself as being successful. I do the things I love and that includes the things I do for the PHP community. It only helps me to grow as a developer and as a person and to me that is worth it!

>> A final word before closing up..

I’d like to thank you for this interview and the opportunity to let more people know about ProTalk. And I’d like to thank the PHP Community for being so awesome!

Now Do Your Part!

1) LIKE 7PHP dot COM on FaceBook – if you appreciate what I do

2) Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me 😉

3) Make a comment below using the comment form – I’m sure you can at least say 1 word about this interview

{I’m thankful to your response(s)!}

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.