Skip to the content.

About Me

My name is Mike Lankamp and I am currently a Staff Software Engineer at TomTom, working on the map data access layer of their Navigation SDK.

My responsibilities include driving solutions that impact multiple teams, aligning with internal and external stakeholders, guarding our code quality, performance and other non-functionals, and of course simply helping to implement features, fix bugs, solve tech debt and review code.

I strive for perfection in what I create, but realize that pragmatically, that is not always attainable. I have an eye for detail and can consider the border cases of programs and solutions. When presented with a problem, I can readily see the best way to utilize the programming language of choice to implement a solution. I understand and am well-versed in Object-Oriented design and most of the programming paradigms and software development patterns.

As a result of my interest and experience with processor architecture design I understand the operation of a program from top to bottom and understand how seemingly trivial design decisions could have significant performance impact. I understand concepts such caching, virtual memory, paging and its effects on performance, yet I believe in the saying that "premature optimization is the root of all evil".

Coming from a research background, I am capable of out-of-the-box thinking and independently investigating solutions to a problem; yet from an engineering point of view, I also understand that complex solutions raise additional challenges in readability and maintainability. As is said, "Keep It Simple, Stupid!"

I thoroughly understand the operation, issues, benefits, pitfalls and complexities of multithreaded programming because of my experience with multi-core processor architecture designs and debugging them.

I have worked in a team, in various roles. I have implemented new features and fixed bugs. I have researched solutions to problems and I have guided members of the team in understanding and using those solutions.

In conclusion, I believe that my enthusiasm for, and history of software development make me a good software engineer and that my background in academics makes me a good computer scientist.