Avatar

Gert de Pagter

Software Engineer

YourSurprise

Biography

Gert de Pagter is a software engineer at YourSurprise. His software engineering interests include testing and code quality.

Interests

  • Software engineering
  • Mathematics
  • Magic

Education

  • HBO-ICT, 2020

    HZ University of Applied Sciences

Skills

PHP

90%

Mathematics

30%

Magic

0%

Experience

 
 
 
 
 

Software Engineer

YourSurprise

September 2019 – Present Zierikzee
My daily job includes improving the website, and improving software quality along the way.
 
 
 
 
 

Intern

YourSurprise

September 2019 – February 2020 Zierikzee

An internship where i research the relation between software testing and the quality of code.

I help the team increase software quality across the board, and introduce more tests in the code base.

 
 
 
 
 

Software Engineer

Ibuildings

January 2018 – January 2020 Vlissingen
Responsibilities include:

  • Software development
  • Leading tactical meetings
 
 
 
 
 

Intern

Ibuildings

September 2017 – January 2018 Vlissingen
During my internship I worked on the call for papers application for the Dutch PHP conference

Accomplish­ments

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

The fourth of a four part series on algorithms, focusing on NP complete problems.
See certificate

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

The third of a four part series on algorithms, focusing on greedy algorithms and dynamic programming.
See certificate

Graph Search, Shortest Paths, and Data Structures

The second of a four part series on algorithms, focusing on graphs algorithms and data structures.
See certificate

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

The first of a four part series on algorithms, focusing on divide and conquer algorithms
See certificate

Recent Posts

Testing Exceptions in PHPUnit

Last week i gave 10 phpunit tips. This week we’ll take a look at testing exceptions, which wasn’t covered in that post. Lets start with some example code that we will be testing. We have the Email and EmailValidator classes. Email is a value object that makes sure it is a valid email. We use the EmailValidator to make sure that the emails are only from our company. //Email.php final class Email { private function __construct( private string $email ){} public static function create(string $email): self { if (!

10 PHPUnit Tips

PHPUnit is the defacto testing framework for PHP. In this post i want to share with you my top 10 tips for PHPUnit. I’m using PHPUnit 9.5, but most of these apply to older versions as well. So, lets get this party started. 1: Stop using assertEquals One of the most common mistakes is using assertEquals. Instead, you should be using assertSame. When using equals we are doing an == check, instead of ===.

Help my Doctrine migrations are broken!

Recently we ran into a problem with doctrine migrations. The schema was manually edited, and wrong migrations were committed to the repository. For a dev (and even staging) env you could just drop the database, fix the migrations, and run them again. But we didn’t want to lose our production data. So how do we fix this? We really had 2 problems. Our migrations were wrong, and the (production) database was not in the correct state.

A problem with Twig

I’m a fan of twig, and wouldn’t consider moving back to plain php. But, it does come with a few problems. In this post we’ll explore one of the problems i have with twig, and how to work around it. The problem When you use a twig file, you do not know what variables it needs, what variables i can use, and what types those variables should be. You have to read the template, or execute it and see what errors you get.

Explore Your Types

Don’t worry, this isn’t a ‘what type of sandwich are you?’ kinda post. Instead we’ll look at how we can safely add types to our legacy code. Adding types There are really two ways of adding types. You either declare what you want your types to be, or you declare what the types can be. When writing new code we should always be precise in our types, so we declare what we want.

Projects

Packages that I either maintain, or i contribute a lot to.

Webmozart Assert

An assertion library for PHP

Infection

A mutation testing framework for PHP

Recent & Upcoming Talks

Finding bugs in seconds

Using static analysis to find bugs, and it only takes a few seconds.

Finding bugs in seconds

Using static analysis to find bugs, and it only takes a few seconds.

Finding bugs in seconds

Using static analysis to find bugs, and it only takes a few seconds.

Finding bugs in seconds

Using static analysis to find bugs, and it only takes a few seconds.

Contact

  • KvK number: 78147468