My story

early years | 2000-2003 | 2003-2005 | 2005-2010 | 2011-current

I am a PHP architect with almost 17 years of professional experience. That is actually the first thing I would like to tell you about me. The second thing is, that I am a Zend Certified PHP Engineer ( But this wouldn't be a story about me, only a few facts about my experience (for that visit the Experience section).
So make yourself comfortable cause it won't be short :)

I was born 1979 in a small city of Bogatynia, Poland. Since my 8th birthday I'm trying to calm these beasts called computers with different programming languages. First, it was a Commodore 64 with its poor BASIC, later extended to SIMON'S BASIC, with extraordinary possibilities to create computed graphics :) Next in the row stood assembler/machine code, Logo and Oxford Pascal C64.

The year 1995 was the end of the 8-bit programming, as I bought my Amiga 1200. This was the computer I remember with a tear. That was the machine, where I started to program in high level languages like Amiga E, C/C++ ( e.g. I even compiled programs with GCC during my studies, what my teacher didn't like, as he could not compile them on Borland C++ :D ) or BCPL (to learn some programs written for older machines). Of course I tried also to assemble some code with Motorola 68020+ (then 68060), but jumping over the registers with move.x was not, what the tigers liked the most :)

The Amiga allowed me to enter to the (than) not so good known (at last in Poland) world of computer networks. First were BBS, where sometimes I woke up the people with my call :), and than the Internet (since 1996). And I felt in love with it. I wanted to be one of these mythical people called "webmasters", so in 1997, as the HTML 3.2 showed up I made (perhaps better to say - committed) my first website!

The world of HTML became my passion, I wanted more and more. I read all articles I could find about it, and tried to made my code so close to the standards as possible (especially as the other people used Frontpage «sorry for cursing :D»). In year 1999 I discovered JavaScript and JScript. As Amiga browsers could not parse these script languages, I installed an Apple Macintosh emulator and then Netscape Navigator and Internet Explorer on it (these browsers were available for a 68k Mac, but not for 68k Amiga). With the introducing of CSS, Netscape was not a competitor then and my browser to test different JavaScripts and CSS on Amiga, was ... Internet Explorer 4.0 :)

In the meantime I began to study information technology in Germany at the Hochschule Zittau/Görlitz (University of Applied Sciences). As my Amiga wasn't already good for many projects in Java or C++, I was forced to buy a PC. But I'm still a silent Amiga fan, even when it's connected with use of an emulator with AmigaOS 4.1 :)

The year 2000 was also the one, where I started my "career" as a web master. It was a small company - (they wanted to merchandise some real estates in Poland), where I created a web site with HTML/JavaScript and CSS and some image manipulations with Ulead Photoimpact. More about: here

The purchase of a Windows-machine gave me the possibility to learn the programming language, which I'm using the most - PHP. First (until 2003) did I small test projects on the local server with PHP 4.0, HTML, JS and CSS, where I learned, how to write the code :) The year 2003 was a breakthrough - as I started to program a real PHP application in a real company. top ↑

This company was VAD GmbH in Dresden, where I spend 100 days during my practice semester (on my university of technology, the sixth semester was mentioned for a science project in a company or at uni). My project was called "Catalog of electronic elements for the developing of high frequencies and radio measuring devices". I know this name sounds proud :) In a fact, it was a form of a web shop :) But built on PHP4.2, JavaScript, CSS, Microsoft SQL Server, MySQL and ODBC. More about this project: here

After my practice semester I thought, why shouldn't I use my fresh knowledge and earn some money. I had a summer break, the uni started in October, and I could work for 90 days in year (Poland wasn't yet in the EU). I found a job in a daughter-company of AMD - AMTC (Advanced Mask Technology Center) in Dresden. More: here I worked there over the summer break and then as a freelancer during the next semester. I learned a lot about a team work and how to lead other developers - as I'd got two other students as help. As the company used the Internet Explorer - my web applications had to be compatible only with this browser, what was sometimes very tricky - as it the IE6 had very weird understanding of the CSS and JavaScript parsing, resulting in different visual experience in other browsers. The box model was very cool, when I added to an element e.g. 20px of a margin size, IE gave me 40! :)

The months have passed and I was near to the end of my studies (year 2004), so I decided to use my 90 days of allowed work and asked to extend my web shop in VAD GmbH. They agreed and I worked there for the next 4 months. I learned more about connections between PHP and the system software, using many build-in system commands and programs (like Taskjuggler) using PHP as the configuration generator for them. The first back end job :) top ↑

After my studies (end of 2004), I wanted go back to Poland, with a promise, if it would't be good, in five year I'd go back to Germany. I hadn't a possibility to have a job in this area I wanted - web development, so I had to move to a bigger city. My choice was Wroclaw, ca. 200 km from my home. There I found my first job as a web developer in a small web agency. More: eZ Systems) and had good time together. I worked already with PHP 4.3 and we couldn't go to PHP 4.4, as the eZ software was based on references, and PHP 4.4 had another reference handling. It was really a problem, as I had to install the software on the customer's server, and there was 4.4 installed. But I was already a developer, so I wrote some extension of the system, that allowed us to use the standard software on newer PHP versions. Unfortunately after ca. a year (2006), the firm did bankrupt, and we lost our jobs. It was time for the next chapter of my professional life.

During the 2006 I went from agency to agency (it was a bad year for web development in Poland). I built a website for a model agency with eZ publish, than in various projects for (and their Polish department with PHP, MySQL, CodeIgniter, HTML, CSS and jQuery. More about: here. So went the year 2006 to its end...

But then I found a job where I worked, until I left Poland and moved to Germany again - Ciao!. This job - as software developer, then a software development engineer - was the best school of programming I could get. From a simple web developer I grown up to a full stack developer in web technologies. I learned the OOP and OOD with PHP5, how to write efficient code, how to automatically test the software, how to release the software and later to maintain it. PHP or the browser langagues were not the last resort what I could learn - they were the beginning. So I learned what software development life cycle means. I learned how to configure Apache, MySQL, install extra extensions to PHP, even how to write own extensions and libraries. I lerned to using Sybase's stored procedures or what I can do wrong with a bad reverse engineering of a productive database systems. Or what happens if I fetch 20000 products with a stored procedure that did 27 database calls pro product... With one word - I started to be a true software engineer.

In 2009 Ciao! was taken over by Microsoft, and I was a part of a big developer family (ca. 150000). My team became a part of Bing Integration and we were encouraged to learn C# and .NET to merge the data from the Ciao systems with the Microsoft shopping. As we hadn't much time, I found a temporary solution for the integration - I installed the Phalanger - a piece of software that allowed to use PHP as a CLI language for .NET. With small changes we could convert the PHP classes into DLLs, and use them in C# components, until they were rewritten. One of my tasks was e.g. to reprogram the Microsoft Toolbar to use shopping data from Ciao. And as I last see the toolbar, my code is still there :) More about Ciao!/Microsoft projects: here top ↑

Five years have passed as I promised to go back to Germany. In the meanwhile I married, and my wife (also a software developer - but in 4GL languages) also wanted to go there. I started to find a good job. And I'd got answers from 3 companies - Crytek in Frankfurt, Unister in Dresden and KIT Digital in Cologne. As the last company gave me the best conditions - and I didn't have my preferences yet - I started to work there in December 2010 as a senior software developer. The clue of my job laid in further development, refactoring and writing of new functionality for the existing system based on PHP5, Oracle, MySQL, Zend Framework and Doctrine. The system did steer hardware encoders and decoders and analysed their input/output to provide a streaming functionality for video playback on web sites ( info also here). It was really good to work again in an international company, with colegues from different countries. The software was so popular, that even a service of United Nations organization used the technology we provided. But than happened something unexpected - the CEO (and founder in one person) has left the company. The stocks (as the company was noted on NASDAQ) were fallen from $14 to $0.80 per stock, and the capital collapsed. It was time for a new job ...

That I found in the city, where I currently live - Bonn. It was a small limited liability company, which mainly wrote the software for Deutsche Telekom (the biggest telecommunication company in Germany). Since middle of 2012 I started to work here as a senior software developer. I should be responsible for extending the software for processing exceptions (where "exceptions" were the errors/customer actions/failures at Telekom, not the programming exceptions). But my manager could see a potential in me, and I started to work on projects, that needed more, as the knowlegde of web technologies and PHP. The first project was to build a software to autocomplete diverse company documents in DOCX format with data from the customer management system. As the PHPWord library (PHPWord 0.6.2-1 Beta) was not suitable for this project - I had to write my own implementation. It made really fun, to learn how the format DOCX is built of, and to recognize, that this is simple ZIP archive with XML documents in it :) Since then, the solution was easy - I put place holders in the documents, which should be replaced, and then I replaced the XML with PHP and created a new DOCX file. The second bigger project was to create a image generator for previews of the first page of different types of documents. As the open source solutions couldn't help, I found the Aspose libraries, which allowed to generate images from the Office documents pages. As PHP could not be used with, my choice was C#/.NET as these were known to me, and Aspose has support for this combination. So I created a console executable, which took the path to the document and saved the preview as a PNG image in the CDN (the last version supported all Office, all Open/Libre Office document, Sharepoint and standard websites «even with authentication») . The third significant project was to create a software for the Hemophilic Center in Bonn, where the patients could enter their problems with the sickness. It should be prepared as a Windows application. As I didn't create many Win32 projects yet, we found a solution in the ExeOutput software (ExeOutput for PHP lets you create applications in native format for Windows with PHP, JavaScript and HTML). More about : here
On the beginning of 2014 the CEO decided to move the company outside Bonn. And I had to search for another job...

Which I find in Bonn, very near to my home. The company sells the own written software called Elaine - and its area of occupation is the e-mail marketing. I, as a part of the project development team, was responsible for branding the software for the customer needs. After two months, as I had learn Elaine enough, I started to write a new import/export system (named by me as DataStream) for the customer data. The system was so intelligent, that for an import of data or an export of raw data (views, clicks, bounces, etc.) it needed only an INI-file, where the configuration was stored. This made the data flow so fast, that if the writting of a new import/export took e.g. 2 days in the old software, the developer could create it (with my solution) in 1 to 2 hours! Two months later I was already an expert in input/output subjects, and even the developers, that worked for the company for years, came to me to ask, how they should do this or that. I became a (de facto) software team leader and 2nd in command in the project development team with 5 PHP developers. And I did work so for almost two years. As the new management came, and my conditions were changed - that was too much for me - and I left the company. I'm a such person, that stays for the agreements. If someone makes an agreement with me, and I know why it was done - I can live with it - I'll adapt myself. But if someone tries to do something behind my back, and sets the conditions as done without consulting them with me - especially, when they are worse - so I'll say good bye to a such person. More about the job here

Actually I'm working in a startup, building the back end architecture of the Speakster mobile app ( the page is in German, but the app is German or English). The main feature of the app is to create a social network with voice messages, like Instagram do it with pictures. So, if you want, you can take a look :) It is available for iOS and Android
For the back end of the app I did choose PHP 7 (I love it, especially the null coalescing operator and simple types hints, and I plan to upgrade it to 7.1 in the 3rd week of February 2017), MariaDB (more stable for many requests as MySQL), nginx as webserver (lighter than Apache), Lumen as the micro services software (as it could process more requests/s than Slim), and ElasticSearch as the search engine (as it is easier to handle as SOLR :). All of this works on (also configured by me) EC2 and RDS instances of Amazon Web Services. I plan to upgrade the ElasticSearch 2.4 to 5.1, as it supports search_after feature, and I can build a reliable pagination (the creator of ElasticSearch introduced this feature already in version 5.0, but the sorting was buggy - as I couldn't sort for more as one criteria. I reported that as a bug, and now, the version 5.1 should allow this - I'll see it :) More about my current job, here. top ↑

Experience | Technologies | Legal disclosure