Hi, I´m Pim Elshoff and I´m a Dutch webdeveloper based in Uitgeest, The Netherlands. This is a ‘short’ description of me by me. For more in depth detail, see my CV.
My venture into web development started in 2004 with a small project for a motorcycle shop. The main requirement was the ability to add products to the website, with a small photo and everything. This was my first time programming in PHP, having had some experience with C, C++, Java and some obscure languages in school, and good old BASIC for fun. The client didn´t end up buying the product, but I acquired some technical skills in programming, web standards and databases that landed me a part-time job at IT-Chemi.
At IT-Chemi I worked on various small projects doing both the graphical and programming side of things. Because I’m not a visually creative person the websites were not too pretty, but they were functional and I was learning a lot. At this time I spent several hours a week besides my full-time study and two jobs learning new things and trying them out.
After several projects I started working on a framework that would allow for easy database interaction without having to write SQL. Together with a classmate I set out and put together something that would never be finished, but did plant the seed to what later would become Webstruct, Crowd Surfing’s CMS.
In 2005 the first version of Webstruct was finished. It didn’t provide any SQL-less functionality, but it provided our clients with options to change the main content and upload images and others files. We continuously added more features and upgraded existing features, but at the time it was the only CMS that would provide valid XHTML and be a good basis for SEO (the nice kind, not the black nasty kind - we don’t deal in promises we have no control over).
In 2007 I took a break from IT-Chemi to focus more on my education and work on the ´Syntus OV Pocket´ project for Syntus, a public transportation company in Doetinchem. It involded a webbased administration application that would allow the drivers and inspectors, who were all provided with a mobile telephone with unlimited internet access, to replace their paperwork with web forms. I was the sole programmer and architect of the entire application (which, for such a large company, may not have been the best of choices but it certainly was cheap!) and spent my time slowly replacing several of the paper processes with electronic processes.
The project was a success in that several processes were replaced and all the stakeholders were officially happy. Some of the end users were less happy, which is to be expected I guess. From what I’ve last heard, a while after I left in early 2009, the entire project was cancelled.
I enjoyed working with most of the people, but also felt out of place as both very young and very technical. I had to engage in several so called ‘office politics’ episodes, which I experienced as rather frustrating and generally unpleasant. This has lead me to choose working for smaller and more technically oriented companies, rather than large or non-/otherwise technical businesses.
In the summer of 2009 I returned to IT-Chemi (as of 2010: Crowd Surfing), now as a full-time programmer and consultant. We worked on some larger projects and in the end of 2009 we finished Webstruct 2.99, which would be the final version that did not base itself on Zend Framework. It finally included not having to write SQL.
For Webstruct 3 we wanted to use the Zend Framework MVC functionality (We have salvaged the excellent view from earlier Webstruct, which provides us with valid and great looking XHTML – just check the source of this page!). We chose Zend because of its excellent community and extensive functionalities, including the database interaction. We built a small library extending Zend libraries with our own functionality and wrote a CMS on top of this library which includes such things as adding multiple content blocks to various places on a page, image uploading, resizing and management and managing user roles and privileges. But most importantly for us, development time has been reduced enormously due to ready-made extensible widgets that enable easy creation of CRUD functionality.
For Webstruct 3 our work process has changed a bit. I wrote a manual for SVN use, setting up a local webserver with XDebug enabled and debugging via PhpDesigner (our tool of choice). All projects and Webstruct itself are now fully archived. I have also automated several tasks using Phing, such as updating our staging environment, generating documentation with PhpDocumentor and encoding Webstruct with Ioncube.
Overall, my coworkers and I are looking into ways to upgrade the quality of our process as much as we can, so that we can provide the best quality product.
I’m not bad at communicating, so you can let me talk to clients. I’m definitely not bad at writing, so specs, documentation and e-mails are no problem. I’ve even guided a few interns into web standards, programming and OOP.
Flexibility is also not an issue for me. I can be available any time, but prefer the regular hours. I understand that some problems need to be fixed right away and will be there to help out or do it myself.
Generally I’m a pretty smart guy. I can think with you and am not afraid to present my opinion, view or perspective – if requested (if not, I’ll ask politely before providing unwanted advice). If I don’t know something I’ll use Google before asking dumb questions and I’m pretty much capable of learning any technique or skill that a project requires. I’m always full of ideas and love sparring to gain new insights.
There’s a lot of ‘pre-compiled modules’ installed. I can do a lot with PHP, I’m excellent with html and pretty good with CSS too. I’m great at databases, for a programmer. I work clean and neat, always document what should be documented and my work follows standards. I don’t just get behind the keyboard and start working, but I design what I build and build what I design.
As I am still young there is still room for a lot more experience. I just haven’t seen it all yet, even though I’ve seen a lot already. Because I’ve spent most of my time around PHP I tend to be very oriented to solutions that are provided in the PHP community and unfamiliar with alternatives.
Even though I am aware of my role and place in a software development team, I tend to care a lot about the product and how it comes to be. This could be a good thing, but it can cloud my judgment and cause me to stall the project rather than actually help it get along. I can dive into building the perfect solution rather than providing a good enough answer. I am aware of these things and am working on them.
I care greatly about standards and principles. I believe that these things lead to a higher quality product which leads to happier customers. In an environment that does not allow me this perspective I can be less valuable, because I tend to be focused on the shape rather than the outcome of the project. I don’t think this is necessarily a bad thing, but it is a part of me that can negatively affect a project’s outcome.
In my free time I sadly enjoy programming and writing articles about programming and reading about programming and thinking about programming. Sometimes, I think about writing an article about reading articles about programming.
But when I’m not involved in programming, I really like cycling. I’m not one for all the technical details of it, so don’t ask about which brakes I have and all, I just like to get on the bike and ride as fast as I can for an hour or two. I think that with all the sitting down at computers getting some exercise can be very important. When I don’t exercise for a while I will begin to feel pumped up, so much that I will even have trouble falling asleep.
I also enjoy gaming a lot. It doesn’t matter too much what it is, but I don’t like violent games too much. As I’m writing this, my games of choice are Pro Cycling Manager 2010 and Diablo II (yes, from the year 1799). I can also enjoy the Fallout series and most RPG’s, if they are not too graphical.
During my bike rides I like to listen to podcasts about philosophy and psychology. I’m keen on self-knowledge and living consciously. Both in my personal and professional life I try to be as aware as I can, speak my mind without insulting others and be as pleasant as I possibly can to be around. I write about my experiences and try my hardest to learn about others and myself. If I’m feeling like it I will read a book (I am in complete awe of Alice Miller and Stefan Molyneux, pdf alert) but I have a hard time staying concentrated on anything longer than an article.
Finally, if I have any time left, I might watch a video or two. I really like sci-fi, but I understand most sci-fi is a tad violent and the plot isn’t always too great and the characters aren’t always too… deep. So when I make some time for my girlfriend, we watch things she likes, such as comedy, drama and history.

