#begin
This blog has been a long time coming. Yet, I’ve been so busy I really didn’t get to writing it. So many things have been vowing my attention that my personal projects needed to take a side step. Sadly enough… But today it’s time to start changing that again as I wrote down numerous topics and a little side project to work on for the upcoming time. But first, let me explain what the heck has been happening over the past four months.
The Apocalypse
It was on a lovely Friday morning on March 17th that boss came to my desk telling me I needed to drop everything I was working on and help out the Talos team, which I was a part of earlier, to prepare a demo for investors on March 24. Before I could even tell him my deadlines would need to be moved up a week, he already mentioned they would move (yes, my boss understands actual software development planning, cool huh?).
I went over to talk to their team-lead to understand the demo we needed to prepare and what part I needed to play in this. I worked on the Talos team before where I wrote the back-end code and the front-end logic in Unity3D. To get this demo out of the door quickly and with high quality they wanted to have me on the team. In my personal opinion I think they could have done this by themselves perfectly since they really had a strong team. But nonetheless they wanted me on the team to speed things up because of my domain and internal knowledge of the systems.
So, I packed my stuff and moved my workplace over to their department. The demo involved us to implement some new features that were on the roadmap but they were promised to be shown in the demo anyway. You know… marketing… Fortunately, they weren’t large features but still required some changes in all tiers of the tech-stack; Unity3D, back-end (.net Core) and the front-end (react) content editor. Proper teamwork is required to pull such a thing off in a short time-span.
On that Friday afternoon it became rather clear to me that if we wanted to succeed in this commitment I would need to spend some time over the weekend to get the current system running with the use-cases for the investment demo. And that’s what I did. I spend about 8 hours spread across the weekend to hook the systems together in a new project and implement some of the new features to get a head start. This meant, that on Monday I could share the project to team members so they could start testing and adding proper graphics and shaders. I’m pretty happy that I spend that extra time because I would have lost that Monday to do the work I did in the weekend, and also, all other members of the team would have been picking their nose in the mean time probably.
Over the span of the week (20th – 24th) of March we implemented many new features to make the demo feature complete as was promised. We pulled of an awesome workload that propelled the Talos project way forward on the envisioned roadmap. In the end, I even hooked up my Wizard project to deliver actual .exe files to the investors instead of clumsy .zip files. I needed to change the code of Wizard a little bit to support IL2CPP builds for windows but that was done quite easily.
We were done on the 23th and used the morning of the 24th to fine-tune the UI just a little bit. The demo was supposed to be that afternoon, but got postponed till Saturday 25th. That Monday I packed my stuff again and moved back to my own department to continue on my own tasks and projects. On that Monday evening, at about 20:00 I believe, I got a message that I needed to show up the next day morning at the CEO’s office for a talk. I texted back, ‘exciting’, not knowing what the hell was up. But I figured it had to do with the demo and my expectation that the investors must have liked it a lot.
And oh, boy it was an exciting morning. Apparently, all team-leads got the same message and we were all asked to show up. We go into the meeting room, still expecting good news but then, the meltdown started… We got the news the company could not pay our salaries for March and was filing for bankruptcy… holy shit!? The founders told us they were hoping for a restart of the company when the dust settled, but for now, we were done for… We were then tasked to gather all our team members and go to the general area of the company where the founders made the announcement to the rest of the employees.
As for the details of the bankruptcy, I won’t go into them as it’s not my place to do so. What I can tell is that there were lots of (mixed) emotions about the entire situation. Fortunately, in The Netherlands we have very strong labor laws. As employee’s we are protected by the government and they will pay out our salary, vacation budget and hours we still had available for vacation. Basically everything you as an employee have the right to get as agreed in your contract. This is different in many countries around the globe, but luckily for us we were. But it still meant, we would be out of a job within 6 weeks.
The government also entitled a curator to take full control of the company. This is the normal flow in The Netherlands, as the old leadership clearly did not have the capacity to do so. The curator has the right to tell everyone what to do, he was essentially our new boss while winding down the company. In the end he was most concerned keeping the servers running for existing customers. This basically meant that there was no feature developments, no bug fixes, no new content, nothing else. Just monitoring servers and keeping them alive. This was of course all automated so everyone was basically doing nothing, except for our support department which were heavily involved getting shit done for the curator as he (and his team) were totally unaware of what the word technology even means. It’s pretty staggering to me they didn’t have anyone on the team that understands even a bit about tech. So this meant they needed to rely on our internal staff, which ended up being our support and devops teams.
From that moment on; the company became a true playground. We were all legally required to be present, and keep on working, yet there was nothing to actually work on. The company became a playground to watch movies or play the switch in the cinema. Play the fuss-ball table or use an entire company floor for a giant lan-party. It was a pretty interesting time I have to say, haha.
The invasion…
And then, the invasion happened. It was an invasion of, you guessed it; “Recruiters, recruiters everywhere”. Even before anything was made public people started to receive requests by recruiters through phone, email, LinkedIn, bottles, pigeons and god damn owls, me included. It was both annoying and funny at the same time. Mostly because many of them were just really bad at it, and I’ll give you some examples: I received messages with my name still being in template form like %firstname%, or simply flat out an incorrect name and even better, some of my colleagues name that were somewhat similar. But also my intern I was guiding at that time, who didn’t finish his bachelor at that point, got a vacancy to join a company as lead software engineer.
This was a very interesting time as well. Lots of meeting rooms were booked by individuals who had interviews with companies. There was also a lot of talking in the building about offers people were getting and how to best negotiate. It was very insightful to learn about what people were running into. Fortunately for me, I had about 1/3 foot in the door at TomTom at that point. I was pretty sure I that if I gave it another shot they would hire me (spoiler alert, they did). But for other people with highly specialized skills in research, content creation, audio, video or graphical design this was a pretty tough situation.
Dephion is located in the southern part of The Netherlands near Maastricht. This area isn’t particularly known for it’s high tech industry, although it’s growing now. Thus, for many people with specialized skills this will be a huge problem if they cannot work remotely. I think in the end, most people moved to the Amsterdam / Utrecht area. There’s a lot more technology happening over there.
End Time
At the 18th of May, Dephion as it existed, got officially disbanded by the curator. From that moment on, we were all officially unemployed. We had a nice little farewell gathering in a local pub. We handed in our hardware like laptops, headsets, (testing) devices like phones and tablets. I think I missed my Remarkable2 the most as I used that thing a lot ( I bought a Boox Onyx Air 2 plus to replace it).
Also, from this moment on; we needed to file for social services to get some form of income. This process was pretty smooth since we already filed requests for getting our salaries when our employer couldn’t pay it. The first requests were a big pain in the ass, but the subsequent requests were really easy. I think if you filed a request, you would get your ‘salary’ within 5 working days, which for any government service seems impossible, yet they pulled it off 😛
On the 18th of may I also received my official offer from TomTom. This really lightened my day as it is a really nice offer. So this is a reason to celebrate :tada:.
Study Time
My new contract would start on June 1th. This gave me about 2 weeks of ‘vacation’ time which I spend on upping some skills I would need in my position at TomTom but didn’t utilize for quite a while. This is c++ and shader programming. So in the time between the 18th and 1th of June I did some tutorials about c++ and shaders.
I had a lot of fun doing the c++ tutorials I choose this one: https://www.udemy.com/course/beginning-c-plus-plus-programming/. And I approached it with ‘a beginners mind’. Ever since I read the book ‘Zen, a Beginners Mind by Shunryu Suzuki’ (which is quite a while ago) I try to approach things as if I am new to it. I didn’t want to take any bias with me. Of course I took quite some experience with me but I really wanted to start with the basics and work my way up to the advanced stuff as laid out in the course. This did mean that most of the early stuff was really, really basic and simple. But I think this helped getting me familiar with c++ syntax and semantics again. It also thought me a lot about the many, many quirks in c++ memory management.
In the end I have to say I (re)learned a shit ton from this course since I really didn’t touch c++ for about 8 years. The language has evolved a lot with smart pointers and lambda’s, which is a breath-taking improvement. But, I can still see the age of the language in the syntax and overall philosophy. I think this will probably never go away as change will break backwards compatibility. But now I better understand why people are constantly in search for ‘replacement’ languages for c++ like goLang, Rust, Carbon or Zig. C++ carries a lot of baggage due to evolution in the language which can be really cumbersome while writing code.
I also started a course on shader development because, as with c++ I didn’t touch shaders for a while, more specifically, ever since I started working for Dephion. We had a ‘shader guru’ who just did graphical programming in OpenGL (for web) and Unity3D/Unreal shaders. He’s a brilliant dude and really a next level engineer.
The course I took is this one: https://www.udemy.com/course/unity-shaders/?kw=shader&src=sac but I haven’t finished it yet. I really think it’s a bit boring as I’m not a visually inclined person. I love writing code, but I don’t like pixels haha. I like writing systems, libraries, frameworks, api’s or general abstractions to build upon but once graphics, UI or UX joins the party I slow down and I feel like I don’t get much done because to me, graphics or UI is all about trial and error and it’s subjective. And that’s not the cycle I like. I like predictable results. This is ‘easy’ in software development most of the time as I can simply write a (unit) test for it.
So I still need to finish the course, which at some point in the future, I will get to I hope.
New Beginnings
Fast forward a little bit and it’s now Thursday June 1th. This is when my onboarding started at TomTom and it was a pretty refreshing experience. Everything was so well organized it really amazed me. Thursday and Friday were filled with presentations by Strategy, HR, Security, Business goals, education budgets, WFH rules, and much more. Thursday we had like the international onboarding while on Friday was the Local (Dutch) onboarding, which went deeper into the offices, floors and local rules.
Some parts were a bit tedious, like VISA rules etc. which do not apply to me as I’m Dutch and work for a Dutch company. So during at this time I spend time setting up my local dev machine. And, about my dev machine, it’s the first time I have to use a Mac(book pro m1) as a daily driver. I really need to get used to this thing, and so far I don’t really like it. So much stuff is just broken with the M1 and I really hate the keyboard. Compared to my ThinkPad keyboard its like going back to the stone-age. But I want to give it a shot and try to get used to it. I have it docked so I can use my own keyboard but when I work without my docking station somewhere else I really notice how bad the keyboard really is. But enough about this…
My new job at TomTom is really fun. I’m part of the Map Visualization Unit which is responsible for delivering API’s for other teams to use to create applications that need navigation services. We don’t write the navigation or route planning, but we do communicate with it and visualize it. And now you might be thinking: “I thought you said you don’t like pixels?” And yes, that remains true but as we deliver API’s to visualize ‘stuff’ we don’t actually create any UI. We only create API’s for UI to interact with, which is different.
There’s a lot I need to learn about the projects and the domain. Both are equally interesting as TomTom has some really interesting tech and the domain they operate in is growing intensely. I’m thinking about starting a new blog series about map making and all the effort that goes into it and maybe some blogs about the technical aspects I’m working on without revealing trade secrets or breaking NDA’s of course.
But that’s it for today! Now you know what I’ve been up to the past couple of months. Not that anyone would like to know haha. Bye!
#end
01010010 01110101 01100010 01100101 01101110
Recent Comments