Twenty years in the business

It has been twenty years already!
Twenty years since I started my professional career. Of course, I had some side-gigs during college and a couple of internships, but I’m not counting those. After graduating in January 2005, my first real job started on February 1st, 2005, as a software engineer at Ordina, a large consultancy company in the Netherlands.

Over the years I’ve had the privilege to work with quite a few awesome persons, work on great projects and doing stuff I always dreamed of. I’ll reflect a bit in this post and say thanks to some of the people who have been the most influential in my career.

The start

My career started at Ordina as a software engineer. The team was responsible for creating (enterprise) applications on Pocket PC/PDA handhelds. Do you still remember those?
The operating system back then was Pocket PC 2002, Windows Mobile 2003, and Windows Mobile 5.0 later. The .NET Framework was still new during this time and on these mobile devices we had to resort using the Nano Framework or Compact Framework (if lucky). We weren’t that lucky, so had to use a very stripped-down version of C++. Most of the time we couldn’t use the ATL or MFC libraries due to hardware constraints.
I had not learned C++ during college, so that was a steep learning curve. My team consisted of some great colleagues who are experts in this field who were able to learn me a lot on how to build an application and user experiences on mobile devices. The latter has certainly helped me a lot later in my career, because mobile devices have become quite important this day and age.

With .NET Framework 2.0 being released during this time and seeing all the goodness it brought, compared to the limited feature set we could use during the day job, I decided to move on to a company creating web applications using the Microsoft stack. This led me to joining Leones, later acquired by NetSourcing.
Looking back, this has been one of the most important job-switches in terms of career growth. The reason for this being the team I joined. We had some great system- and network engineers working with us, and a small development team. Most important of all, we all had a get-it-done mindset and passionate about our job.
Us software engineers were included in all aspects of a project. Starting at write a proposal, estimates, solution- and software design, writing documentation, and troubleshooting of course. Quite a lot of stuff to ramp up on for a junior engineer, especially as I had not much experience with the .NET Framework and web development either. Luckily, my direct colleagues Rodi de Boer and Peter Hofstee were able to help out, a lot. Every conversation we had, I learned something new. Be it engineering knowledge like how and when to apply a certain design pattern or how to communicate with customers. All of this was fundamental for my career growth. Our manager Robert Wagenaar has always been very supportive in everything we did. Even if it didn’t make any sense, or we messed up, he always was offering support and make sure we had everything to our disposal to do our work proper.
During one of the years the company was struggling to survive, and layoffs were necessary. I got ’the talk’.
I can still recall how dumbstruck I was at that moment. After informing the team myself leaving home to let the news sink in was the only logical option crossing my mind.
The next day I got invited to another talk. I’m not sure what happened overnight, but was informed I could stay with the company because my manager didn’t accept me being laid off.
Of course, this did have an impact on me, but was glad to stay with this very nice team!

This was when I first realized companies and work are just that, work. It should never interfere with your personal life or career goals. If they align, that’s great and make the job much more fun. If they don’t, it’s up to you to do something about it.

The middle

Having a great people to collaborate with is essential in having fun at your work, learning & growing on a personal level. However, after staying in a team for a while your personal ambitions sometimes outgrow what a company and team can offer you. When that’s the case, it’s time to move on.
The next step in my career was waiting for me, and at around 2010 and was able to get a job at Macaw in the Netherlands. This company was on my bucket list, because some great engineers were over there, great culture, and awesome use of technology. They didn’t disappoint!
The interview was quite fun. I had just created and published a Windows Phone 7 application, so was able to show this to the interviewers. As it happens, the application crashed due to some known error. I stayed calm, explained clearly what just had happened and why it happened. This resulted in getting a few laughs and a contract. They quite liked how I was able to cope with this unexpected failure during the interview.

The first project at Macaw was great!
We had multiple engineering teams, working on separate areas of a big solution, and multiple UI/UX teams collaborating with us. At some point in time we were working with over 150 professionals, all focussed to get our solution shipped. During this time, I had again the privilege to work with some great individuals. Wilco Blom and Erik Pellegrom really showed me how to approach problems and ask the difficult questions when being asked to create something. Also saying “No” or reaching out to customers/stakeholders via the unofficial channels to get to know what the business really needs. Another person I was lucky enough to work with was René Baams, an engineer who was (and still is) passionate about tech, designing solutions and making sure it gets shipped. And not to forget Victor van Hagen, an architect with great technical & problem solving skills. Because of him I was triggered to learn a LOT of the internals of the .NET Framework, how it worked, why it worked the way it is and how to leverage the power.
This was quite a humbling time for me. With almost 7 years of experience under my belt, I felt quite confident and thought of myself being a very good developer. Working with these individuals, and many more, had me realize there’s a lot more to learn. Great times!

As it happens, companies change, projects change, and teams change. A couple of projects later it was time for me to move on to grow even further in my engineering role.

Spreading my wings even further

Introducing 4Dotnet!
The interview was a breeze, as I had collaborated quite a lot with the interviewer during my first project at Macaw and we had a good technical understanding of each other.
My first project at 4Dotnet was a cloud migration project from on-premises to Azure. Back then, in 2014, the cloud wasn’t as mature as it is now. So, a lot of services weren’t available yet, or still in preview. We had quite a bit of challenges, as the project required remote procedure calls to IoT devices, data available ‘realtime’ in SQL databases across the globe with super low latency.
And on the side, I was also tasked with introducing an agile way of working within the company. This is exactly what I wanted to do, take on a lot of responsibility, leading a project and team towards success.

What’s great about 4Dotnet, whenever an engineer mentions he’d like to move to a different project/customer, the account managers start working to get you placed somewhere else within 1 or 2 months. Because of this, everyone over there is able to move projects when getting ‘bored’, resulting in both engineers & customers being happy with all engagements.

One of the coolest companies we worked on was at SnelStart, accounting software. Sounds boring, but their tech-stack is/was top-notch. Also, their engineering department is quite mature, with engineers, testers, PMs, customer service and customers all working together towards a common goal.
It was the first time I had seen every commit automatically gets published towards Production and becoming available to all customers. Once you’ve experienced these types of releases, you never want to go back. I must thank Erwin Staal, Henry Been and many others for this.

This was also the time when my community work git a bit more focus. I’ve been blogging & attending meetups for about 20 years now, but it was always minimal. Because of my passionate colleagues, like Erwin, Gerald Versluis, and Henry I was energized to do it a lot more and start speaking at events.
Let me tell you, speaking at events is the best thing you can do to learn more about topics you are passionate about. Most of the speakers have the same passion as you, so talking to them is awesome. As an additional bonus, you get to travel to interesting countries and cities too.
It was also great to have had the opportunity to work with Eduard Keilholz. Another passionate engineer and always busy sharing his knowledge with the community. I’m glad we still have our regular phone calls, or meet at conferences, to share thoughts and have a laugh.

Landing my dream job at Microsoft

Twenty years ago, maybe even longer, my dream job has always been to become an engineer at Microsoft. There are so many great people working at Microsoft and if you want to make impact on scale, this one of the companies to land a job at.
As it happens, a little over three years ago there was a job opening for a software engineer in the Netherlands. After doing some inquiries with some friends already working at Microsoft, I learned one of my former Macaw colleagues, Erik Jansen was working in one of the sister-teams for this vacancy. He was also the guy I had my job interview with at Macaw and love talking to him and gain new insights in every conversation we have. It’s such a small world!
After proper introductions, formal interviews began. This was also the first time I had sweaty armpits for a job/project interview, because I could potentially LAND MY DREAM JOB!
Apparently, I did quite well. I’m still grateful for Mario Szpuszta to hire me in his team.
This is the team where Fabian Wohlschläger was also working in, I just love the culture & positivity he sends out, and Christian Dennig, another passionate engineer with a couple of years under his belt.
Sadly, our team got split up. But every downside has its upside. Because of the reorganization, I started collaborating with Suma Kollipara, Suresh Bemagani, Gyan Prakash Kumar, Manish Ranjan, Shivani Chander, and Anastasis Xouzafeiris a lot more. All great people who are great to collaborate with and share insights. We all have our different areas of expertise and that’s why working with all of them is very valuable to me. Every meeting, project, or commit is a chance to learn something interesting from any of their respective disciplines.

Any nuggets of wisdom to share from your past 20 years in the business?

Well yes!
Let me list a few of the most important learnings I’ve had over the years.

You are responsible for your own career

This is something a lot of people get wrong. During my years I’ve met a lot of people who think it’s their boss/manager/company their job to make sure they get educated, get promoted, have awesome projects, etc.
Surprise: It’s not!

You are the owner of your career. If there’s something you don’t like, it’s up to yourself to fix it. Of course, it’s great if the company/project you work with enables you to reach your goals. Often, this is not the case, so you have to make sure to make the best out of it.
Make sure you can learn something new on a regular occasion, surround yourself with great people, and make sure you love what you’re doing.

Some advice I learned along the way, is “If you can’t change the company, change the company”. You can replace the word ‘company’ with anything that applies to you.

Learn the tech you love

I was introduced to quite some tech during college and my different jobs and projects. It was early in my career, actually in college already, I knew the .NET-stack is something I’d like to work with. Realizing this so early in my career is great and has helped me focus on this stack. If you aren’t so lucky to figure this out that early, it helps to check out multiple ecosystems and settle with one you feel most comfortable in. This doesn’t just apply to the tech, but also the people and culture that go along with it.

Specializing in a certain stack is good, but I’d also keep a broad view of what’s happening around you. Having a broad interest makes sure you’ll have valuable insights whenever an unexpected occurrence is happening. It will also help troubleshooting issues or come up with creative solutions.

Try out different companies

Every type of company has it own advantages & disadvantages. Often, the stereotypical prejudices of these company sizes are true.
I’ve worked in all company sizes in the past two decades and can say every company has helped me learn something new about myself or how to act in certain settings.

Any advice over here?
Well, if you’re early in your career, it is great to learn where you feel most comfortable and see a lot of what the world has to offer. You can accomplish this by switching companies every other year. However, this might not look very good on your resume. Starting at a consultancy firm might be a better fit. This way you can stick with the same company for a while and still get the benefits of switching projects (thus companies) from time to time.
Another benefit of a consulting firm will be they like to certify you for certain technical and social skills, so you can become a better consultant. Getting certified and following courses is beneficial for the company you work with, but also for yourself.

Once you know what type of company fits the best with yourself as a person, you’re able to make educated career decisions.

I like working at consultancy firms, because you get to see new projects from time to time and are expected to keep your knowledge up to date. For me working in-house would get very boring after one or two years, but your experience may differ. Working at Big Tech is an experience. I’m now working in-house, but with the added benefits of consultancy. The company is so big, there’s always some new project or team that might need assistance, so lots of opportunities to learn. I would not recommend starting your first or second job at a Big Tech company. The way of working is very different compared to the ‘regular’ companies and you might get a very skewed look on what is ’normal’.

Understand who you’re working for

What I like about software engineering is to create software solutions. Tinkering with code, making beautiful software designs, creating architectures to make it highly scalable & performant and share my lessons learned along the way.

You want to know what’s funny? The stuff I love doing is only about 20% to 30% of a software engineer’s job.
So, what’s the biggest part of an engineer’s job you ask?
It’s getting to know who you’re working for, what problems these people face, and consider what solutions can benefit these people. As it happens, sometimes you don’t even have to create new software and only suggest changing the current workflow.

This is a problem I’m seeing a lot with both junior- and senior engineers, they quickly jump to building software solutions instead of understanding the problems people have. Talking to people is an important part of our job, I dare say the most important part. This is also why my talking points in meetings often has the word “Why?” in it. Understanding why you’re creating something is making sure you’re building the right thing with the end-user in mind. Or at least, that’s how my brains work.

Keep up the positivity

Sounds simple, right? Keeping a positive mindset. Well, it’s not.
I’ve been on many projects where people have been very narcistic, sarcastic, burned out, not empathic and didn’t believe their work had any value. In this type of situations, it’s hard to keep a positive mindset yourself and I must admit, I’ve also been one of these persons.

The first step on keeping a positive mindset is taking the first step yourself. You can’t change others and the team/company culture by keeping a negative mindset yourself.
How to do this? Well, that’s the hard part and not easily answered as it differs per situation.
In general, I’d say “be empathic”. Talking to others around you, praising them for good work, initiate side-hustles, organize lunches, etc. might be good ways to get a good culture. As always, it’s easy to blame others, so don’t. Be the change you like to see!

Surround yourself with great people

As you’ve read above, I haven’t come to where I’m now by working alone.
You can only excel in your work if you have great people around you. Be it your peers, manager, or anyone else you collaborate with. There’s always someone you can learn from, change thoughts with and get valuable insights. This is true for both personal & professional life.

If you’re surrounded by toxic people, change this as soon as possible!
Take it from me, someone who has almost passed away twice already, life is too short!

Have clear boundaries

Something I’ve learned a couple of times in my career, have clear boundaries.
No one remembers you worked overtime, 6 months from now. Only you, your family, and friends will remember as you’ve probably traded time with them in favour of work.

Don’t get me wrong, I’m not saying you should always decline working overtime. If there’s a goal you can meet by working a couple of additional hours be sure to do it.
I’m just saying be wary to do so. Make it an educated decision. If you’re already working 40 hours per week on the project, will this additional couple of hours make much of a difference, or not?

I’ve worked outside of my regular working hours quite a few times, even did those 14-hours-of-work-per-day-weeks or worked 7 days per week for a long period of time. Was this beneficial to the project? Well, we thought so at the time, but turned out it didn’t matter in the end. Was this beneficial for me and my health? Certainly not!
Every time I had worked like that; it took my body and mind well over six months to recover from the stress. Was it worth it? Certainly not. As I wrote, in the end it didn’t matter much for the project and the only thing we got was a ‘pat on the back’.

Your mileage might differ but be careful spending your personal time for deadlines which might not be THAT important in the end.
This time is often better spent with your friends and family, sports, relaxing or learning.

Looking forward

Working for over twenty years sounds like a lot. However, I’m not even halfway in my career. I’m expecting to work for at least thirty years before retirement kicks in. Maybe a bit less, but we’ll see.

I’m not sure where my career will go. Currently, I’m very happy where I am, an engineer at Microsoft and hope to be doing this for a long time.
There are still a lot of people I would like to collaborate and surround myself with, practices to learn and adopt and all the while having fun in the process.

With all the changes happing in our world, I’m looking forward what the next three decades will bring to humankind. I hope to have some real impact in the way people live during the upcoming years.


Share