Hello, my name is Ingmar van der Poel. I am a software developer. I create, among other kinds of software, websites. Like this one. By telling about my personal ambitions, I hope to be a source of inspiration.

Proactive notification by email The delay detector is adjustable from a control panel. The web application looks periodically whether there is a delay. Multiple public transport routes can be configured. For each route you can configure a start time and end time. This is, of course, logical because a delay is only relevant at a certain time of the day. Not only the time, but also the delay threshold and direction you want to travel can be configured. So in the morning the route could for example be towards the office. And at the end of the day the delay detector can check for delays when you want to go home. When a delay is detected within the planned times, an email is sent to the account that configured these routes.

So in case of a delay you get notified in advance, so you can drink another cup of coffee.

I think this is very important. Not only do I focus on the software, but also on the infrastructure. To assist this I have obtained certification for, among other things, the CompTIA Linux+ and LPI (Linux Professional Institute) Linux Essentials certifications. Scroll down for more information.

Privacy. Be careful with data

Be careful with the data users hand over.

I think this is very important. That's why I took the course 'Privacy officer in practice'.

Separation of environments

Develop new versions of the software in a development environment. Then, when the software is stable and finished, release this software to a test environment. When the software version has been approved, it can be released to for example the live environment. An example: This website is tested in a test environment which has the same configuration as the live environment. Before a new version of this website is released, it is tested in the test environment.

Error detection and fixing them proactively

Humans make mistakes. They really do. Don't only log the errors, but actively inform yourself the moment an error occurs. For example, this can be done by sending an automatic email. This enables you to react quickly and adequately.

Maintainability

Always keep in mind that your because of advancing insight and possible changes in requirements, the software might need to be modified. Always make sure that your software remains easy to maintain.

Scalability

Good software always does what it is suposed to do. And this should remain the case when the usage increases. For example, sending an email to all users with an user base that is getting bigger.

Make sure the software looks good

This generates trust.

Stick to the law

Help your customer stick to the law when applicable. Inform them.

Love what you build

Build software that is useful and makes people happy. And where you stand for.

"With passion"

Building software is an art. I build software with passion. By doing so I can use my creativity. In addition to the things the software has to be able to do, there is a lot more to it. I think, for example, that consideration must be given to scalability. But also which data the application collects, and whether all this data is really necessary. The less data you collect and save, the less risk you have that this data falls into the wrong hands. It is to be expected that requirements demanded by law concerning privacy continue to become more strict. In shirt, it is my ambition to create good software that requires minimal management!

My hobby is my work. I am always exploring, trying out and learning new things. As you probably already guessed, my interests are quite broad. My focus is currently mainly on security and privacy. Both organizational, for example the usage and maintenance of a ISO 27001 Security Management System, and technical. I believe that to be able to analyze security risks and to effectively implement security measures, you also need sufficient technical knowlegde. For this reason, besides gaining technical knowlegde in the context of software development, I am for example continuously gaining knowlegde about the infrastructure in which the software runs.

One of the things that I focus a lot on, is security. Not only the security of the developed software itself, but also on the infrastructure that the software runs in, and the development environment. The release procedure and separation of environments are important as wel. For example: This website is developed in a development environment. After saving the code in the version management system, this code can only be released via this version management system to either the test environment or live environment. One of the advantages of this release procedure, is that the code can only be released via one system. Another big advantage is that all the versions of this website that have ever been released to the live environment, can be found in this version management system. This release procedure also ensures that only working and approved code is released to the live environment.