I have been working as a web developer for over 5 years. In my first job, I created websites based on Joomla and other open source CMS. I have gained great experience developing custom components, modules and plugins. Besides I created responsive sitebuilds.
Later, I worked for a start up in Munich. You can find more details about this job under my portfolio.
Currently, I'm working as a freelancer. I'm trying to improve my knowledge continuously. I'm looking for new challenges even on other platforms (e.g. JAVA).
2014 - 2016
Backend developer, devops
2012 - 2014
PHP developer, sitebuilder
The quality of the source code is very important. For me, it's not enough, when the program runs without errors. A good quality code means much more. Here are some techniques I used to improve the quality of my source code with:
In the last few years, I learned the Twelve-Factor App methodology (12factor.net). With this methodology, I can build an excessively productive and modern software.
These are the most popular database management systems. For simple and fast websites, I recommend MySQL, for more complicated websites with a large amount of data, I recommend PostgreSQL.
I have devops experiences as well, so I can understand the background processes easier. Setting up or configuring a VPS is not a problem. Nowadays, the Amazon Web Services is the most popular cloud service, it can satisfy the most of the requirements of the web applications.
As a beginner, almost every developer will facing this problem: after testing and debugging the software, they upload it from the development server to the production server. And the program has been running flawlessly becomes completely unusable. To prevent this problem, we can use Docker.
Docker is a quite new open source software. We can run virtual servers (containers) on Docker, we can configure these containers as we want and we can create images about these containers. The images contain everything that is required for running the website: file system, source code, dependencies, system tools. You can run Docker on every platform: you can make sure the software will be running always on the same environment.
Git is the most popular version control system.
This site analyzes and offers dating sites. The site can access the user's profile data via a facebook app. Based on this data, the software calculates the best dating sites for the user.
These are the most important parts of the site I worked on:
- I created the continuous deployment system. Due to this system, we could catch the bugs in the source before it goes to the live system.
- I programmed PHPUnit tests.
- I developed custom modules for ProcessWire CMS.
- I developed a RESTful API. I used the Slim Framework for programming the API. It connects to a PostgreSQL database.
- I created the image compressing system in node.js. We found a solution to minimize the size of the images. With a third party online tool, the images are compressed immediately after uploading. The full process is automated.
- I had devops tasks as well. I learned and used Amazon Web Services.
My task was to develop the race manager system. The site was created on Joomla. The system handles the data of races, drivers, race categories, teams, scoring systems. The system generates the result table automatically based on the race results and the scoring system.
I created the sitebuild of the subpages.
My task was to integrate the Google Map. I developed a component on the backend, where the administrators can add points (stations) to the map. On frontend, the users can search for the stations with the search module.