This interview was originally posted on B. Amsterdam
First released in 1991, Python is one of the world’s most popular programming languages — it’s also the fastest-growing. And for good reason. Python is accessible and straightforward, easy to learn in comparison to the many other daunting languages. For those who have previously not dared venture into the intimidating world of programming, Python is a way in.
It’s also versatile, used for everything from web development to data science, a benefit reflected in the global leaders that use it: Google, Netflix, Dropbox, Instagram and even NASA. What’s more, Python has one of the strongest support communities; an abundance of meetups, message boards, Slack channels, conferences and passionate programmers all willing to help beginners and experts alike.
It was, in fact, the language’s accessibility that allowed Joris to make the leap. Joris doesn’t have a degree in computer science — something many people wrongly believe you need — but used the resources and communities fundamental to Python as the education he needed to start PythonSherpa. Today, combined with his extensive business experience, Joris offers training and mentoring from a distinctly real-world perspective.
We talked to Joris about the learning curve involved in leaving one industry for another, why the Python community is special and the most rewarding thing about teaching.
You worked in the financial markets for over ten years. Why did you leave and start teaching?
Opportunity! We live in a world where the amount of data is increasing exponentially, and businesses need to become data-driven if they want to survive. And spreadsheets aren’t sufficient for such large amounts of data. So, you need a programming language.
But most people in business roles don’t have a degree in computer science and don’t know how to program. At the same time, however, while I was at Thomson Reuters, I noticed a strong interest in coding among my clients — the desire to learn about programming was there from people who weren’t traditionally trained in it.
I quickly became interested in programming and decided to teach myself. The more I learned, the more I loved the language, and the more I was confident that I could teach others as well. And since I had business experience, I felt I was in the perfect position to start something new and help others begin their programming journey. That’s how PythonSherpa was born.
Was it a difficult learning curve moving from finance to teaching?
Python is relatively easy to code with, which is often what draws people to start using it. It’s an accessible language even without a computer science degree, so choosing to work with Python eased the learning curve. Also, since teaching is a great way to learn, I levelled up rather quickly.
Nevertheless, the training market is completely different from financial markets, and I was also learning how to run a business at the same time. And as someone new to programming industry, the pandemic has been particularly challenging, as networking and meeting others is much harder despite it being crucial for both my own development and the business’.
What lessons and knowledge did you take from your experience in finance and apply to PythonSherpa?
In my previous role, I saw the inner workings of small and large organizations. I picked up a lot of invaluable insights into what works, and more importantly, what doesn’t. I think that business perspective was fundamental for starting my own business and allowed me to develop my teaching with businesses in mind. This feels even more important given the shrinking gap between business and IT, with many business roles now including some form of programming.
Why Python rather than another programming language?
It was a coincidence. I was doing a course “Machine Learning for Trading” where we had to use Python. I was immediately impressed by how much programming languages had improved since my time in high school when I used PHP (hyperlink) to build websites. That was not a fun language to work with [laughs]. I was sold on Python from that first encounter.
Could you talk a little about the Python community and how it’s helped you with your learning?
The community is very welcoming, and people are willing to help others. It can be hard to get started with programming — or to know where to start — so it’s uplifting to get so much help and encouragement. There are message boards, User Groups, Slack channels, meetups, you name it. Any question you might have has most likely been asked and answered before.
Similarly, most things you want to build have likely been built before, so there are usually tutorials, open-sourced code and an array of other resources you can use. This not only makes some tasks easier, but also helps you learn how and why things are made the way they are. In turn, you become more proficient and can help others. In short, it’s all out there in the community if you’re willing to look or ask for help. This has been invaluable for growing PythonSherpa to where it is today.
You mention PythonSherpa focuses on ‘real-life business cases’. Why is this important?
Many programming courses use unrealistic examples that never work in real life. But at PythonSherpa I use practical exercises that students can apply in their work. That way the participants get more out of the course. Usability is important.
If I were taking a course to learn a new skill, I’d want to come away knowing how to do something and where I could use that skill, rather than just learning ideas and theories but never being able to apply them. I hope my students come away feeling empowered to start a new project or with some ideas of how they can improve their existing work.
PythonSherpa offers various options for learning: courses, mentoring, quizzes, a blog and useful resources. Could you talk a little why you felt this variety was necessary?
In my experience, learning is the most effective using a variety of modes and methods. And the variety I offer at PythonSherpa reflects that. My courses follow a syllabus that builds up to a specific learning objective. Quizzes reinforce what’s been learned. Mentoring sessions help students dive deeper or work through a specific problem. And articles provide contextual reading. It all adds up to a well-rounded program whilst accommodating different learning styles and preferences.
What’s the most rewarding part of teaching?
Watching students gain confidence. I often say, “nobody is born with coding skills”, which is an absolute truth. But once they get the hang of it, it’s exhilarating to see the ideas they come up with. I think Python lends a helping hand in this, because it can be used in so many ways that it sparks creativity that students may not have realized they had in them. It’s always fun and rewarding when you see a student get that light bulb look.
And what’s the most challenging?
Programming is not always easy or intuitive, and everyone learns at their own pace. That means that if you have a group of people, there are at least two different speeds. It can be a challenge to pace larger groups. You want everyone to keep up, but at the same time, you want to challenge the students that are a little bit further ahead.
It’s also been a challenge to transition to virtual learning environments — I value the human connection you have when you’re in the same room. Saying that, virtual teaching does offer some unique opportunities. It’s easier to share screens and do debugging sessions together with the group, a learning moment that you don’t normally get in the classroom.
How do you think Python will develop in the coming years?
Python’s open-source character enables it to grow and improve constantly. That in itself is exciting. For example, there’s a Python package called “pandas” — software that lets you work with data in table format, similar to Excel. It was started in 2008 by Wes McKinney but there are now over 2,000 individual contributors to this software package.
As Python’s userbase is still expanding rapidly, more and more people can contribute to this open-source world. The possibilities are endless, and everyone can benefit from it. It’s hard to say exactly how Python will develop, but that structure gives it incredible potential.
What are three things someone should do if they’re interested in learning more about Python?
1. Find someone you know who is coding already. I promise you won’t have to look far.
2. Join a Python community. For example, via Meetup or one of the many Slack channels.