08 January 2022

Get to know our Backend Developer Maarten Tolhuijs

“What I love most about my role is code! Programming feels like gaming. I guess it’s the same kick people get from solving puzzles.”

Backend Developer Maarten Tolhuijs

What is your typical day at work like?

“With a fresh cup of coffee on my desk, I go through the tickets in Jira. At 9, we have our daily standup. Depending on whether I’m scheduled to set up APIs or FTPs for lead traffic, I’ll look for those tasks in Trello and pick them up when needed. Otherwise, I pick up where I left off the day before for the project I’m working on, which is usually our client portal or invoicing system. Though recently, I’ve been mainly focused on the invoicing system.

What do you love most about your role?

Code! Programming feels like gaming. I guess it’s the same kick people get from solving puzzles.

What do you look forward to every day?

Interaction with the team. We really have good chemistry both when it’s serious and when it’s fun.

What motivates you?

Improvement. This is an intentionally abstract answer, as it can be an improvement of my skills or knowledge, improving the current codebase, but also new technical developments, etc.

What is the biggest surprise when you joined Leads.io?

The atmosphere. During the interview, I wasn’t sure if I wanted to work as a freelancer or not, but the great talk I had with Arie and Bart made that decision a no-brainer.

What is the most important thing you have learned while working at Leads.io?

How important team chemistry and atmosphere is.

What are your hobbies outside of work?

As music used to be my profession, it still lingers as a hobby. I went to the conservatory of Alkmaar, where I learned to compose, which is the link to coding. I performed as a pianist. Beethoven, Mozart, Bach. I also composed in that style. Unfortunately, there isn’t much work in traditional classical music. I tried composing music for companies, but most companies prefer to use music by Beethoven or Mozart since they don’t have to pay them royalties. Modern music isn’t my thing, it doesn’t suit me.

What link do you draw between composing and programming?

Music is a lot about mathematics. If you listen to Bach, all you hear are patterns. The rhythm and writing of music, the notes, the movement, to have everything come together, it’s a lot like programming. It’s often thought that classical composers would be programmers today.

How did you transition from a classically trained pianist to a backend engineer?

For me, it was a natural transition. I already messed around a lot in Linux. That got me into learning Java. There wasn’t as much online education as there is today, but I was an early user of Treehouse – back when it only had a thousand or so users – and that taught me the most important parts. I also read a few books, but those are probably outdated by now. I would recommend everyone who wants to learn to program and those who are already programming to keep learning with the online resources available today.

What one book would you recommend to everyone to read?

Sophie’s World by Jostein Gaarder. It’s the best way to get a grip on philosophy and its history that I know of.

In your spare time, you’ve been working on something called Laravel Schematics, a plug-in for the Laravel framework that was recently featured on the Laravel news website. Could you explain Laravel Schematics in a few sentences to a non-programmer?

Think of a database as two Excel sheets. Each sheet has a table. Let’s say one sheet has a table with “users”, and the other sheet has a table with “products”. If we want to know who bought which product, we could add an “id” column to the table with users, so each user gets a unique ID, and a “user_id” column to the table of products, with the IDs of the users who bought that product. That way, the sheets relate to each other: the IDs of the users. What Laravel Schematics does is visualise your database by creating a flowchart of all tables and the relationships between them. It’s also interactive, so you can dynamically change, create or delete them.

What makes Schematics unique is that it works with your codebase and not a specific database. As you draw, create, change or delete relations, the code is generated on the back-end. If you install Schematics, you essentially install a plug-in that you can use to draw the database, and its relations and Schematics will generate the code in your codebase. There’s also an option to call the code and build the database automatically, although I don’t know if many people will do that. Using your codebase, Schematics, in theory, works with any relational database. Some methods might have slightly different results between PostgreSQL, and MySQL, but those should be easy to take care of.

What led you to create Laravel Schematics?

Generating databases, their tables, and the code surrounding them is a time-consuming chore that is the same each time you do it. Most open-source projects are built by programmers to make their jobs more convenient. That’s my aim with this as well.

How many people are now using Laravel Schematics outside of Leads.io?

Right now, the amount of installations is 14.457. It got 1078 stars on the repository on GitHub, which is a platform where programmers share their projects. The stars are endorsements from other programmers.

What do you hope to achieve in the next 5 years?

I hope to have a couple of similar open-source projects like Laravel Schematics. Also, they matured into some important pieces of software used around the world.

Who inspires you?

J.S. Bach had an important influence on my life musically, but also by how he inspired mathematicians with his insane skills in counterpoint. David Heinemeier Hansson comes to mind as a present-day influence. He had an enormous impact on web development and is known for his quite unfiltered opinions surrounding the tech industry but also the political arena. He wrote some New York Times best-sellers about company culture and remote work as well.”