Willem-Jan Zijderveld

Willem-Jan Zijderveld

Senior PHP Developer with an OpenSource addiction

Profile

As with a lot of Developers my passion for development started out as a hobby. As an effect it took me quit a few years to learn that just hacking away doesn't bring you much, not more then a having fun while doing it. It wasn't until I started the study Computer Science, where we learned some JAVA, that I started to see the importance of structure.

In 2011 I contributed my first PR on GitHub and ever since I grew more into OpenSource. The feeling that you can give something back to the community is awesome! That community helped me grow as a developer. In a relative short period I learned a lot about SOLID, Design Patterns, TDD, Continues Integration, etc. But also about receiving and giving code reviews. Working with the community is, in my opinion, the best way to grow as a developer.

Since 2011 I started attending more conferences and meetups, there I learned that I wanted to do more then building 'just' websites. Building solid (web-based) applications with a focus on code quality is what I really want to do. I also learned that working with a TDD approach is important for that. With the rise of travis-ci, I also came in touch with Continues Integration.

Work experience

Qandidate.com  - 2014 - present

Software Engineer

At Qandidate.com I ended up in a great team that helped me grow to the developer I'm now.

I got in touch with techniques I didn't know before, like Event Sourcing for example. Those new techniques also got me into speaking, since then I spoke at multiple meetups and conferences.

At Qandidate.com we have both used Kanban and Scrum. I prefer Kanban, but both have their strengths.

Beeldspraak  - 2009 - 2014

Developer

At Beeldspraak I started out as a part time junior PHP developer. I started out working in simpler sites, mainly with the CMS build by Beeldspraak. Within a few months I got to work on the e-commerce platform we were building for a big client. Part of that project was a import/export with there SAP solution with IDocs files.

In that same project we came in touch with symfony, for me my first framework and in 2010 we went to SymfonyLive. In 2011 we started working with Symfony2 (in the Public Release fase) and that's when I learned a lot about abstraction and decoupling. With that project we also started using Capistrano, a deployment tool written in Ruby.

Last year we started a project with Symfony CMF and contributed to the project. We attended a mini-conference/hackday with a part of the CMF team in Zürich, an experience probably won't forget.

eRunner  - 2008-2009

Developer

eRunner was my first actual programming job, I worked part time on various projects. It wasn't a job where I learned a lot, we didn't use any PHP frameworks and code quality wasn't the main priority (This changed a lot since back then).

Freelance  - a long time ago

Webdesigner

Since I started programming I build several websites for friends and family, some even for free. I even designed some sites, but I'm sure that's not my forte...

Skills

Symfony  - advanced

I started working with symfony1 in 2010 and Symfony (2) in 2011. In 2013 I passed the Symfony Advanced Developer exam. With the Symfony components I can easily build anything from small libraries to full applications. And with all the Symfony Bundles out there, using the fullstack framework is also a great option.

Debugging  - advanced

Probably a skill I learned because of my own errors, but I got told that I'm pretty fast in tracking down bugs. I also love using tools like XDebug with conditional breakpoints to quickly find the source of a problem.

Git  - advanced

Git is the version control tool I prefer. Developing with your code in Git makes life that much easier. I wouldn't call myself an expert yet, but I definitly know my way around. I can also work with SVN and even CVS, but please don't ask me too.

PHPUnit  - advanced

Using a test framework is pretty essential when using TDD. PHPUnit is a great choice with that.

Javascript  - advanced

Javascript is a very powerful language. I worked with a lot of libraries, but I still like to just write plain Javascript. Won't call myself an expert yet, but definitly know my way arround.

Scala  - intermediate

Did a few courses involving on Coursera about functional programming and reactive programming.

Go  - intermediate

I like Go as a language, so I tend to write small CLI scripts I need in Go.

Capistrano  - intermediate

Capistrano is a great tool for easy deployments. And with some of the projects based on it, like capifony, it's even easier to create a deploymeny script.

Drupal  - intermediate

Build quit a few Drupal websites at Beeldspraak. Didn't always enjoyed it, but I know my way around.

JAVA  - intermediate

In my sparetime I sometimes like to write some JAVA applications. Because it forces you to be pretty strict it helps me to think about solutions in a different way as I would in PHP. I usually work with Spring Framework and Maven.

ElasticSearch  - intermediate

Used ElasticSearch a couple of times now with a basic setup. I really enjoyed how easy it is to setup and use. The possibilities are almost endless.

Education