Richard Knop

Senior Developer at Hailo

The only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle.

Steve Jobs

About Short Introduction

I am a web developer originally from Slovakia but living in London since 2011. I work for Hailo as a senior web developer.

My experience ranges from large service oriented architectures and RESTful APIs, through database design, both backend and frontend programming to continuous integration, configuration management and continuous deployment.

I am very keen on test-driven development and using design patterns and divide and conquer strategy to solve complex problems.


Work Commercial Experience

Senior Web Developer Hailo

Sep 2013 - Present

JavaScript, BackBone, HTML, CSS, PHP, Go.


Senior Developer Rightster

Feb 2013 - Seb 2013

I worked on rich internet applications (HTML5 player, ad funded player widget, slick UIs). In addition to writing vanilla object oriented JavaScript, I used several frameworks such as Backbone.js and RequireJS. Being familiar with good practices and patterns to use (see Douglas Crockford's JavaScript: The Good Parts) I put a lot of effort into writing readable and maintainable JavaScript.

Being very keen on TDD I used QUnit to write unit tests. I set up continuous integration process where Jenkins server creates a new build after every push to GitHub. The build runs unit tests using QUnit and PhantomJS, generates a JUnit compatible test coverage file via a custom test runner and analyses style errors and JSLint violations. A successful build triggers deployment job which pushes the changes to an integration environment (S3 bucket). A manual parametrized job offers ability to deploy to other environments based on a Git tag.

Besides JavaScript I used HTML5, CSS3, SASS and Compass for front end as well.

Another project I was heavily involved with was a new second generation platform. I worked on back end APIs as well but my main focus was to build a front end of the platform on top of Zend Framework 2. Zend's modular design was a good choice to power a dynamic and flexible white label platform. In addition to writing PHPUnit tests, I introduced BDD (behaviour driven development) using Behat, Goutte and Selenium. Again, I set up continuous integration environment including tools such as PHP CodeSniffer, PHP Mess Detector, PHP Copy Paste Detection, PHP Depend, phploc for software metrics, PHPUnit for unit tests and Behat for BDD tests and deployment to different environments (AWS instances).


Web Services Developer Saffron Digital

Nov 2011 – Feb 2013

I was mainly working on SOA, web services for mobile applications, video transcoding.

First project I was involved with was HTC Watch backend. I was working a lot on bug fixing and refactoring of a web service that mobile Android app is talking to. APIs were build on top of Zend Framework. Although Subversion was originally used for version control the whole project was migrated to Git.

Secondly, I was working on a web service used for payment processing. It was also build on top of Zend Framework and supported debit / credit cards, carrier billing and vouchers. I used TDD (PHPUnit) and became more familiar with continuous integration and Jenkins.

Third project I worked on was Video Pass app for KDDI, specifically the version for iPhone and iPad. Apart from PHP backend programming I did some frontent HTML 5 / CSS work.

After that, I was writing a video transcoding library using Python and open source libraries such as FFmpeg. This project was Agile with sprints, standups, TDD (unittest). I learned a lot about video transcoding, smooth streaming and HLS.

My second Python project was a key delivery service for DRM. I wrote the web service on top of Django framework and I used NoSQL database (DynamoDB) to store the keys.

Moving back to PHP I started working with the team developing a new modular platform. I wrote a web service integrating with the UltraViolet locker which was used for a reference demo application.

After that I was further involved with the platform project. I worked on the locker and storefront components using TDD (PHPUnit), CI (Jenkins), Zend Framework 2, Doctrine 2, Git. This was fully Agile project with backlogs, planning, sprints, daily stand ups.

Finally, I worked on rewriting some of the codebase form PHP (Zend Framework) to Python (Django), Puppet scripts for configuration management and configuring Jenkins servers to build and deploy various web services.


Senior Programmer Accenture

Sep 2011 – Oct 2011

I worked on a project for a major telco company to integrate an old legacy system with a new generation CRM system (NGCRM).

I used JDeveloper to create ABC (Application Business Connector) services that would act as an interface between a legacy system and EBS (Enterprise Business Service).

Involved technologies were XML, XSD, XSLT, SOAP, BPEL.


Web Developer BE-soft

May 2010 – Jun 2011

Main part of the project I worked on was to develop an e-learning web portal (elearning.besoft.sk) which would allow employees to complete occupational safety and fire protection courses required by law in their web browser.

It is being used by major companies in Slovakia such as T-Systems. The e-learning application also needed to be integrated with a legacy CRM system (eklient.besoft.sk) which was the second part of the project.

My main responsibility was for the first part of the project, the e-learning portal. However, I also worked on some extra functionality for the legacy CRM system and on updating and maintaining older company websites.

Involved technologies were Zend Framework, PHP, MySQL, HTML, CSS, jQuery and SVN for version control.


Skills In No Particular Order


Education B.Sc. In Cybernetics

B.Sc. in Cybernetics from Technical University in Košice.

I have studied very technical subjects such as artificial intelligence, expert systems, neural networks, computer vision, object oriented programming and of course, physics and lots of mathematics.

We have used a variety of languages from Assembly, C, C++, Java, .NET to Lisp, Prolog and MATLAB.


Recommendations What Other People Have To Say About Me


Richard worked at Rightster for 8 months and proved himself to be a talented, enthusiastic and diligent developer during his time here.

He has both broad knowledge as well as detailed understanding of various technologies and is able to deliver very rapidly and under pressure.

He is also passionate about standards and provides strong contributions to technical discussions - I'd work with him again given the opportunity. Laurie Ainley, Lead Web Developer at Rightster

Richard is a great software engineer.

He is very professional and has the ability to intensely focus on getting a job done quickly. As well as this, because he is methodical and process-driven, the output of his work is testable and very sensibly designed.

I highly recommend working with him as you can be confident in a project being finished on time and to a high standard. Seb Insua, Web Applications Architect

Richard is very detail oriented. He always got things done in time. Was amazing working with him. Hassan Khalid, Tech lead at Saffron Digital

Contact How To Get In Touch With Me