Career Advice for Software Developers and Future Data Scientists | Jeroen Vlek

How do you enhance your knowledge, experience, and skillset to become a Software Developer or Data Scientist that adds immense value to your projects, teams, and clients?

Enhance your skills: From Padawan to Master

Jeroen Vlek is a Freelance Technical Debt Collector and CTO. He’s also a Software Developer with sixteen years’ experience and a passion for data science, programming, and machine learning. In this interview with Chapter Data, you’ll learn about Jeroen’s career path and the lessons he shares that Software Developers and future Data Scientists can apply to enhance their careers.How do you leverage your current knowledge, experience, and skillset to become a Software Developer or Data Scientist and add immense value to your projects, teams, and clients? And best of all, how do you have a lot of fun doing it?

1. Build a strong foundation, one way or the other

To start off, Jeroen stresses the value of having a solid, theoretical background in computer science. “I had an uncle who was always working with computers, and he let me help out from a fairly young age because he noticed I was interested in them. When I was ten or eleven, he gave me a book called ‘Computerkundestrip‘ [Computer Science Comic]. It covered the foundations of how computers work; what registrars are, and how Boolean logic works. Really foundational stuff, some of which has become obsolete, but also a lot of stuff that is still relevant to this day.

I since went on to study Computer Science in Amsterdam, and got my Bachelors Degree in IT, and later, a Masters in Computer Vision in Berlin.

Ironically, one of the important things I learned over time is that, well… I don’t attach too much value to certificates or diplomas. There are other ways to grow your knowledge as a Programmer, Software Developer, or Data Scientist. In fact, some of the best engineers I’ve worked with have had no university or college-level education. And others I worked with hadn’t even finished high school, but were programming circles around other team members.

These types of people all share an intrinsic motivation that makes them spend hours and hours learning to understand, and figuring stuff out, on the job as well as on private projects. This is invaluable to improving yourself – whether you’re learning through higher education, training courses, or through self-taught means.

No matter what, knowing the foundations of computer science is always a great basis to have. With that basis, and as your career progresses, you’ll start to notice that you understand problems and their potential solutions from a higher, more abstract level. Understanding data structures and complexity theory can provide a strong foundation for future learning and problem-solving. That’s why I feel it’s always a smart move to enhance your understanding of these basic topics, by reading a book or taking courses on a platform like Coursera.”

2. Learn and get experience in multiple languages ​​

Jeroen also emphasizes the importance of solidifying your skills by learning and working with multiple programming languages. You’ll become much more flexible when you understand the foundations of object-based as well as functional-based programming languages. This helps you gain an even broader perspective and further develop your higher-level abstract understanding of different ecosystems, problems, and solutions.

Jeroen: “It’s very important to do a lot of programming, and equally important to learn a lot of  languages. For example, if you’re reading this and only dabble in Python; you should learn other languages ​​too. And make sure to include a decent language like Java, Scala, C++, or Rust. (HTML doesn’t count as a language.) Having this breadth of knowledge and experience with various types of languages ​​is absolutely fundamental.

Unless you’re really focused on becoming the best Statistician or Data Scientist. In that case, a narrower focus on something like R, Python, or Julia, could work out fairly well for you.”


3. Be open to different roles and industries

Jeroen’s career has spanned various roles and industries, from the gaming world as an Associate Java Developer for Seafight, to his Consultancy at Senacor, and the Founder/CTO of Datamantics, to Data Science as a Partner/CTO for Anchormen. Being open to variety has given Jeroen very useful, as well as some really memorable experiences.

He share a story from his time as a Game Developer for Bigpoint. Jeroen worked on a game that was fairly simple, old, and had amassed a lot of technical debt along the years.

“At the same time, that game was really a cash cow for that company. It was free to play, but the user who’d spent the most on the game was – so I was told – a CEO of a Ruhr area company that spent 80K in it!”

Another time, Fate sat Jeroen on a plane next to the person who would become his co-founder at a new venture.

“I was sitting next to this guy, we got to talking and he started pitching his startup idea… and next thing you know,  Datamantics was born. I learned a lot from that experience, also about working with hyper-intelligent people who play Go and who can get stuck in analysis paralysis. My co-founder would worry about filling out a form so much that it would become a problem for us as a company, ten years down the road. I replied that it would be great if we could make sure we still existed as a company ten years down the road.”

In Jeroen’s view, being open to different opportunities leads to valuable experiences, learning, and skill development.

“On one hand, being attached to projects and products for longer periods of time, seeing the obstacles, growth, and the eventual by-product of, at the time, apparently smart solutions, is incredibly constructive in this respect.

On the other hand, there’s the consulting with clients aspect, getting a deeper understanding of the various inner workings, cultures, and stakeholder landscapes of organizations. These are both invaluable to your growth as a Software Developer or Data Scientist, and the value you’re able to bring to projects, teams, and clients.”


4. Embrace continuous learning as a lifelong student for life

Jeroen emphasizes the importance of constantly learning and staying up-to-date with new technologies, strategies, and trends. You can do this through formal education, reading books, taking courses, or working on side projects.

It’s also very useful to vary the types of projects, roles, and teams you work in. Finally, keep your eyes and ears open, and learn from mentors and other team members.

5. Take the shot — but be honest

It can be daunting, both in the software development and data science areas, to try to move up one level by applying for a job that seems like a challenge and potentially just out of reach . Imposter syndrome, the self-doubt that creeps up on many younger and even more experienced professionals, can be a difficult thing to manage.

Jeroen highlights the importance of accelerating growth and combating imposter syndrome by simply pushing yourself to apply for a job, even if you think it may be out of reach. He also underscores the importance of being honest and authentic while doing it.

“The Germans have a very good saying: ‘Die kochen auch nur mit Wasser,’ which, roughly translated, means: ‘They also boil their food with water, just like the rest of us.’ Meaning, within the context that we work in: At the end of the day, even the best companies and the best programmers; the ones we can sometimes look up to? They’re also human beings, just as imperfect as you or I. And you’ll never know what you can learn or what value you can add, unless you try.

But be honest when you’re applying for that job. Don’t lie about what you can’t do or don’t know in a job interview. You’ll come across as far more reliable, trustworthy, and self-confident if you can honestly answer certain questions with a simple ‘I don’t know.’ If you start talking nonsense and try to impress me using buzzwords mixed with gibberish, I’ll immediately start to distrust you and your knowledge level. You never know if you’ll be a fit for a role if you don’t apply. But you’re surely not a fit if you have to lie to get it.”

6. Don’t freelance too soon

A lot of young people fresh out of university hear through the grapevine that it can be very lucrative to start to work as a freelancer. But is that always the smartest choice?

Jeroen strongly advises against making that move too soon. “It’s the years of experience in my career, working the jobs that I’ve had, working with the mentors and collaborators I’ve had, that make it possible for me to add the value I now add for my clients, and to be worth the rate that I now work for.

If you don’t have that kind of mileage, it’s simply not possible to add that kind of value and be worth those high rates you’re dreaming of.

My advice is to build that solid basis, learn multiple languages, work on different projects, learn from experience and others, and then reevaluate the idea of ​​going freelance after a few years. Whether or not freelancing will be the right choice for you, at that point, you’ll have built yourself up to offer immense value to the people and projects that you’ll work for.”

Ready to take off?

Schedule a free data scan or contact us for your next challenge!