Categories
Featured Tech Magazine TOP 10 experts' articles

10 Top AI Experts in the UK to Follow Online

With artificial intelligence evolving so rapidly, it can be hard to keep up with new developments, best practices and the industry’s overall state of the art. For this reason, we at Mindquest suggest you this list of top AI experts in the UK that will help you stay in the know and future-proof your career in AI.

You can also read 5 Online Courses to Get You Up-To-Speed with AI and AI expert: Job Description


Need to start a new permanent or freelance assignment? Join Mindquest and get access to our job offers.


Top AI experts in the UK to follow

As the IT environment is constantly evolving, it is crucial, if not necessary, to connect with the brightest minds to keep up with innovation. In other words, the more contacts you get, the more likely you are to solve IT challenges. Therefore, we at Mindquest to provide you with a list of the AI experts in the uk to follow.

Disover A Career in Data Science: Unlocking The Power of Data with AI

Tabitha Goldstaub

Twitter | LinkedIn

To start, Tabitha is the co-founder of CogX, the chair of the UK Government’s AI Council and an advisor for The Alan Turing Institute. She is also the author of How To Talk To Robots: A Girl’s Guide to a Future Dominated by AI.

Rob McCargow

Twitter | LinkedIn

To continue, Rob is the director of AI at PwC UK and a champion for the responsible use of technology and AI. He is also an advisor for the IEEE and the UK’s All-Party Parliamentary Group on AI and a TEDx speaker.

Sarah Porter

Twitter | Linkedin

Then, Sarah is the founder and CEO of InspiredMinds, a global community and strategy group focusing on the use and development of AI for good in line with the UN’s sustainable development goals.

Yarin Gal

Twitter | LinkedIn

Let’s go on with Yarin, an Associate Professor of Machine Learning at the University of Oxford’s Applied and Theoretical Machine Learning Group, helping produce groundbreaking work like this set of Bayesian Deep Learning benchmarks.

Elena Sinel

Twitter | LinkedIn

Elena, on the other hand, is the founder and CEO of Teens in Ai, a global initiative launched at the UN’s 2018 AI for Good Global Summit and that seeks to inspire the next generations of ethical AI researchers and practitioners.

Connect by Mindquest Newsletter

Danilo Rezende

Twitter | LinkedIn

Danilo, then, is a Senior Staff Researcher and lead of the Generative Models and Inference group at DeepMind, London. His research focuses on scalable inference and generative models for decision-making and hard science problems.

Allison Gardner

Twitter | LinkedIn

Next, a lecturer and data science apprenticeships program director at Keele University, Dr Allison Gardner is co-founder of Women Leading in AI, which brings together AI and business leaders to discuss the future of AI. 

Edward Grefenstette

Twitter | LinkedIn

Further, Edward is Research Scientist and RL Area Lead at Facebook AI (FAIR) and an Honorary Professor at the Deciding, Acting, and Reasoning with Knowledge (DARK) Lab at the UCL Centre for AI.

Wendy Hall

Twitter

Then there is Wendy Hall, a Dame Commander of the British Empire (DBE) and a champion for UK AI skills and women in science. She is Chair of the Ada Lovelace Institute and joined the BT Technology Advisory board earlier this year.

Ankur Handa

Twitter | LinkedIn

Last but but not least, Ankur is a Robotics Research Scientist at NVIDIA AI and a Research Scientist at OpenAI working at the intersection of computer vision and control for robotics. He did a post-doc at Cambridge University and has a PhD from Imperial College London.


Do you have any other AI experts in the UK who should be featured in this or future lists? Shoot us an email.

Also discover our articles 10 of the Best Software Developers in the UK to Follow Online

Categories
About us Podcast Interviews

From the US Marines to AWS: A DevOps Career

From US Marines to AWS, a DevOps Career. Jake Furlong is a Technical Lab Developer at Amazon Web Services (AWS) and a self-taught DevOps expert, Site Reliability Engineer and cloud architect. He tells us how he went from being in the US Marine Corps to DevOps Career and to becoming an all-around DevOps specialist. And shares DevOps career tips and insights.

🔊 Subscribe to the podcast


Interested in DataOps? Learn more about a career in data science.

You spent several years with the US Marines and your educational background is in business. How did you transition into tech and devops career?

I got out of the US Marine Corps and, honestly, I just took the first job that I could find. I started training new employees on how to use an Avaya telecom system; which I myself had no idea what that was. I did that for a few months and then they moved me into another role; as director of admissions systems and analytics. I had access to some free courses. So I took calculus and some computer architecture classes because that was kind of was interested in.

Then I stumbled across a CompTIA certification road map online and picked up an A+ book. I started reading through that and I stumbled across a book called Automate The Boring Stuff and started learning some Python. And most of my job was done through CRM and a lot of Excel, a lot of functions. I just started converting it to Python to automate my job and then I automated my friends’ jobs. And before you know it, it was all just running Python.

And I was talking about it while playing World of Warcraft, of all things. I had a friend in my WoW guild who worked for an SAP company and said “hey, we’re hiring if you want to switch into tech”. I talked to my family about doing a complete and total career switch.

The interview went horrible, but they were very very nice. I was willing to learn and they had seen how much I had learned in such a short time at my previous job and gave me a chance. I got an offer and that was the beginning.

You have quite a portfolio of certifications. Is that how you learned the most?

As I said, I read through that A+ book, but mostly for the knowledge. Based on what I wanted to do in IT, I didn’t really want a hardware-related certification. Because I think that, for hiring managers, sometimes it’s easy to misconstrue a person’s skills based on what certifications they have. So I wanted to make sure I was marketing myself in a way I thought was relevant for the things that I wanted to do.

That’s when I found AWS and I kind of looked at the state of IT at the time and figured that cloud was really the way forward. I got AWS certified and then my company was getting really hands-on with GCP. So I got GCP certified and all of that was through free online courses and a paid Linux Academy subscription. I thought about getting an IT degree but it was just too expensive and there wasn’t enough hands-on. It was mostly theory. So I kind of took the theory from the books that I had, and then once I found Linux Academy, I just did every course.

Anything operating systems, Windows, Linux, database programming, web stuff, web development, cloud — whatever I could find. Then I found a site called Open Source Society University, and they have a GitHub page that basically gives you a list of courses from edX, Coursera or other free online tools that teach you the equivalent of a computer science degree.

That was very, very helpful. Then I just took that information and volunteered for every project at work. I took any ticket and tried to automate it, stuff like that. And the whole time, I was told that certs aren’t important to all the people that I worked with. But I think that hiring managers and HR might disagree. And let’s be honest, it’s kind of hard to get jobs without proving you have the knowledge and.

Since I don’t have a degree in anything technology related, I felt I needed to kind of differentiate myself a little bit. So I got those to kind of compensate for not having a degree.

What’s your opinion on free courses vs bootcamps or official certifications?

I always go with free stuff or at least like the inexpensive Udemy sales. I think bootcamps are great for entry-level, but they don’t really allow you to work past that and most of the content online will get you through the basics. Try to solve a problem or find a problem to solve and really get your hands dirty with development or cloud engineering.

Certs are fine if you need them for a specific position or career goal. But I wouldn’t do one to learn. I might take the study guide and use that, but I think certs are a huge market and there’s a lot of money to be made from people that are looking to get certified.

I honestly just went to a lot of meetups. And I pretty much changed my podcasts to tech podcasts and just listened to those all the time.

I also focused on vendor documentation as opposed to online learning. Whether that’s the Kubernetes administrator guides or AWS or GCP documentation. Because you’re getting it straight from the horse’s mouth, and, as a musician (I studied jazz) we always go back to who was the original musician and study their technique and their ideas. So I kind of took the same approach to tech. Where did JavaScript come from? Where did Python come from? And try to study the root of where that came from.

How was the experience of being with the Marines. What’s your biggest takeaway from your time with them?

I had a great time in the Marine corps. Believe it or not, I thought it was a lot of fun.

My biggest takeaway was really about how to work on a team. As much as there’s a lot of technical things I learned and things like that.

There’s just something about being humble and being a life-long learner and always striving to be better. About knowing your weaknesses and seeking self-improvement and being self-reliant and self-disciplined.

In tech, you have to because nobody is going to force you to hone your skills or learn a new programming language or how to administer Docker containers. You know, just that whole self-reliant aspect of being a continuous learner.

You design and implement technical labs, which are training programs for AWS customers. What does that involve?

I work on the training and curriculum team, and we deliver content to our AWS customers. We have an awesome team.

I work with them to help build and design labs and lab instructions. So, if you were to go to AWS, and want to take a course to learn how to be an architect, for example, we have designers and curriculum developers, architects, managers and product managers that we worked together with to formulate a plan to build a course.

Connect with Mindquest Newsletter

And my job day-to-day is to go through and support them so that, when they get to the hands-on portion, that a student can click start lab and that everything underneath the hood is provisioned and ready, works every time, and is repeatable across multiple devices or operating systems. I also ensure that the lab instructions are clear and easy to understand, from people who may have a lot of experience to people for whom this is their first time working with the cloud.

So it’s a technical role, but there’s a lot of human aspect to it. Understanding how people learn and how people learn technology – as a person who is basically self-taught, I use that a lot in this role.

First in DevOps career, now DataOps. The DevOps philosophy seems to be permeating all areas of IT. What do you think is the success behind this way of thinking? What will be the next “Ops”?

I will start by saying that I don’t think DevOps is a real thing. As a community, we can’t even agree on what it is. We’ve been doing this since the 70s, the 80s? Really since the 60s. With Deming, and all of the work he did toward continuous improvement, total quality management, things like that.

And I think what we’re going to see is that we’ll revisit value stream mapping. How can we best automate and streamline value stream maps. Right now, we’re automating everything, and it’s all about pipelines and getting the developers close.

I think that’ll be short lived. We should have always been doing that, and I think connecting development to automation and ops problems is good. I think DevOps, the core of it, we want the developer problems and ops problems to kind of be the same problems, right? Where ops informs development workflows.

Developers use that workflow to produce either new tools or better tools, or even more consistent infrastructure. But sometimes ops doesn’t want things to change. And, as somebody who’s worked in the ops world, I totally respect that and I completely understand. As somebody who’s worked on the devish side of DevOps, I understand needing to get new versions of things out and upgrading things and patching things so that there’s a balance between it.

But I think what we’re really going to see is that, as you get to DataOps and really anything that needs to inform ops, is that everything is going to be data-driven. But it’s going to have to be value streamed.

So, what is the most important? What do you get the most benefit from as far as value? How much money are we really making or saving by approving X project or making Y operations a department priority?

I think, eventually, and once you start finding an efficient way and accurate way to attach dollars or time to these things, you may have some time and value attached to them as it pertains to the business and not just how many commits you made last month or something

DevOps career: What’s the day-to-day of a DevOps team like

A lot of it is requests for automation, declarative infrastructure, tons of monitoring, moving into containerization or modernizing orchestration tools, stuff like that.

I think a lot of it is also developer advocacy and just DevOps evangelism. Because it’s been around for a while, but it’s still relatively new. It hasn’t really permeated all the cultures yet. So, while a lot of people have a DevOps team, the cultural side I think needs a lot of work. So a lot of time is spent explaining why we’re doing this.

It sounds like the value is obvious, but it still takes up a lot of time to describe why we need resources, why we need time, why we should be doing certain projects.

A lot of the time is spent researching new tech, building up labs on your workstation or in the cloud somewhere, and testing a deployment meeting with ops teams to discuss their pain points.

And then, of course, all the pipeline things, so it’s a very collaborative job. You’re not going to see a DevOps person in a silo.

On a given day, you never know what you’re going to do. But it’s always going to be automating something or fixing something or updating something or monitoring something, justifying what it is that you’re doing.

What’s the best career advice you have ever been given?

Ironically, it actually came from a conductor of a music organization. He said “find something you love and do that because, no matter what you do or where you go, you’ll always be doing something that you enjoy.

Just do what you know is right and provide value to everyone around you and don’t worry too much about certifications. If you have the knowledge, it will all come together.

Just always be learning.


For more tips about DevOps career, make sure to follow Jake on LinkedIn.


Check out more of our interviews in our podcast episodes.

Categories
About us Podcast Interviews

Being a Buoy and Other SAP Project Management and Career Tips

SAP project management expert John Micale is Customer Experience Account Manager at oXya, a Hitachi Group company delivering leading SAP run management, consulting and cloud hosting services.

John is tasked with ensuring that a consistent, high-quality service is provided to all of the company’s customers, overseeing client relationships, project management and business development.

He tells us about his career beginnings and shares tips for efficient SAP project management and career advancement.

🔊 Subscribe to the podcast


Interested in SAP careers and SAP project management? You might also enjoy this interview about another possible career path for an SAP consultant.

How did you get started in tech? How did you start working at oXya?

I’ve been using computers, playing video games and using technology since I was a kid. When it was time to choose a university, I decided to pick one that specialized in engineering and technology. I earned my degree in computer engineering, and that kind of led me on to this track of IT and how I wound up at oXya. And it’s kind of a funny story.

When I was in school, I was looking for a job in my last year. I was doing interviews and did an interview with oXya. I had no idea who they were or what SAP and Basis were, but they were really compelling, and they said that they could teach me.

I actually got a job offer from them. But I still had one semester of schooling left, so I couldn’t take the job. But they said “try again in the springtime. And so, I applied for the job again in the spring and they hired me. I really appreciated that opportunity from them.

What are the advantages of working at a specialist consultancy or service management company like oXya, as opposed to working in-house for a sole company?

Number one is definitely diversity in experiences. So, having the exposure to different industries, different customers using different products. You gain a lifetime’s worth or even multiple lifetimes worth of experience and background in just a few years. And I think that was incredible for me and for many of my colleagues working at oXya. 

Number two is diversity in projects and technologies. So, touching every kind of operating system and version, every kind of database product, every kind of SAP product. Many companies say â€śOK, I’m going to use ECC, or I’m going to use Linux.” And that’s it. That’s the decision they made and maybe, every 10 years, they change products and you’re stuck with the same thing. Having that diversity keeps you sharp. 

Another thing is that clients who typically use SAP are large and very corporate customers. And, if you are working with them, you’re automatically included in a very corporate environment. Being part of a smaller company like oXya, we have more of a startup-like vibe. So you kind of get the best of both worlds. You get smaller teams and a tighter community, and you move more rapidly, but you can still support this product, SAP, which is this huge corporate tool. 

What about the challenges?

The learning curve is really steep. For example, I didn’t know what SAP was, or I didn’t have a lot of strength in database technologies, and to take all of that in at once is quite a lot. If you stick with it, you can catch up at some point, but the learning curve is really steep.

And the projects don’t ever end. That can be a good thing too, that can be in the good category. It depends on what kind of personality you have, but there’s no respite. You are working for a big corp, and they have this upgrade project that lasts two years. And then that’s it for them for a while, whereas, on our side, we’re doing a new project every three months, and it hasn’t stopped in 10 years for me.

After two years in a technical position, you transitioned into a more managerial role. What advice would you give to other specialists looking to take that step?

Being a manager is a job. It’s not just an extra task that you have to do. It took me a long time to realize that, and I see that mistake happen often with new managers. To do it correctly, you have to prioritize that role. It’s not just about having to approve someone’s time off or something like that. The investment in training and people is a full job. If you’re mixing this job as a manager with your technical job, for example, that’s often a recipe for disaster where you choose one priority over another and one of those two will suffer.

Internal company relationships are really important too. That’s an important part of being a manager. It’s not about being a brown-noser or saying nice things to your boss. But management roles are based on trust and execution. There’s not a binary output most of the time, so you have to be a reliable person, and you have to make sure that you are sharing your reliability and your credibility with your managers and with your team.

What are the keys to effective SAP project management?

Understanding the project. I think that’s like the number one. It sounds like a silly thing to say, but I think often folks come in and they say “OK, here’s a project and I’m going to follow a checklist.” But you have to really understand why. Why are we doing this project? What is the real purpose?

Normally there’s a CIO or CFO at some company who has to make some decision, and that trickles down eventually to many projects. And, if you’re not aware of the big picture, then you might not really understand what kind of impact you’re trying to make. So first, you really need to understand the project.

Connect with Mindquest Newsletter

Secondly, coordination in SAP project management is incredibly important, the synergy. And not just internally with your teams and your company, but with your customers or with their third parties. Every customer now has 5-10 vendors, and there’s an expectation that vendors can work together, that there can be synergies and there is not a weak link.

Also, keeping commitments is really important for project management. Everything is essentially a stack of dominoes. If you miss a target, that’s going to affect the whole project. And that doesn’t build trust and or credibility. So, if you’re making commitments, they have to be realistic and you have to keep those commitments. Everything else falls right into place once you meet that.

The deadline to migrate to S/4HANA is rapidly approaching. What do you see as the biggest challenges for a smooth transition?

It all starts with a kind of a legacy mindset. Most customers that are on ECC today say “it’s been working this way for 10 years, 15,20 years. Why do we need to change it?” They say “they will move the goalposts again. Why do we need to make this transformation?”

But the web of external interfaces that connect to ECC makes any concept of transformation really challenging for most customers, especially these really legacy customers. S/4HANA is designed to solve that problem. It’s designed to eliminate the complexity, simplify the code base, simplify the connectivity to it, and kind of futureproof SAP customers from that kind of problem in the future. But making that transformation is still really painful and usually very expensive.

I think the value proposition is really what isn’t obvious for most customers. If you can communicate the future state of the company, not what it will look like in one year or two years after some migration or upgrade, but what it’s going to look like in 5, 10, 15 years; if you can make them see how S/4HANA or cloud-based tools can reimagine their supply chain or things like that, I think that’s when they have the a-ha moment.

It’s not about taking your car and just changing the tires. It’s about turning it electric. It’s a total redesign of the whole concept.

What’s the best career advice you have ever been given?

I would say I had two great career advices. One was to stay humble and have humility with your peers, have humility with your customers. If you’re scoring all the time, it feels good to think that you’re a champ and everything goes right. But then you’re exposing yourself to vulnerabilities or blind spots. So, stay humble. Wins are wins, which is great, but sometimes you need to have an open perspective.

And the second best advice I have been given is: be a buoy. What do I mean by that? Like a buoy in the ocean. Sometimes you want to just be like a Godzilla and knock stuff around and shake things up, especially when things aren’t going well. But, almost all the time, people are looking for stability. They’re looking for reliability, accountability. And, I’ve realized over the years that people will flock to you naturally if you’re stable, if you’re consistent. So be a buoy like in the ocean.

Where do you see yourself in 5-10 years?

I want to help radically change what customers experience from SAP outsourcing. That’s like a super bold claim, but I think that outsourcing as a concept has always had a bad rep. And I think that a partner can be more empathetic, less transactional. We can be an equal in their organization and be a real partner.

And I’m seeing with my customers that, when they’re treated this way, we get a different experience. They treat us like people, they treat us like partners. They even have more flexibility with us, which says a lot. They don’t have to give us any kind of flexibility, but they do it.

So, I would really like to make that kind of change, and I really want to help train others in this kind of methodology.I want our industry to be more empathetic and more partner-focused. In the real sense. Not in the corny corporate sense, but in a real in a real sense. To really make a difference. Because, otherwise, what are we doing?


For more tips on SAP project management, careers and consulting, make sure to follow John on LinkedIn.

You can also explore our S/4HANA careers guide for a comprehensive overview of how to embark on this promising career journey.


Check out more of our interviews in our podcast episodes.

Categories
About us Podcast Interviews

Reskilling From Auto Body Mechanic to Web Integrator

My name is Thomas Mercier, alias “TomCodeur” on Youtube, and I am 24 years old. Almost a year ago, I began a reskilling journey to become a web integrator/web designer. 


Looking to transition into web development? Check out the story of how a stay-at-home-mom became a full-time developer.

We are at the end of October. It is a little after 4 p.m., and I am in the office of my employer’s accountant in order to finally sign the termination of my contract. 

I say “finally” because this transitional moment had been hard to accomplish. To undergo this reskilling, I had to find a way to finance my training. 

My plan was simple: call on Fongecif, an organization accessible to employees wishing to retrain without having to terminate their employment contract.

Rather attractive, isn’t it? 

Yes, except that I never managed to benefit from it. And I wasted over a year trying to put together cases that were all turned down. 

So, I decided to change my plan and discuss it with my employer. Luckily, my boss was understanding and offered me a mutually agreed departure. The advantage? It provides access to aid for getting back to work, which includes financing for training. 

Well, there was still an important step left:

Convincing the French governmental employment agency PĂ´le emploi of the seriousness of my reskilling project and show that this decision was not taken on a whim. 

I told you that I wasted a year before starting my training. In reality, it was not completely the case: during this year, I took the time to inform myself and I discovered multiple web development training courses within the Haut-de-France region. 

This research greatly helped me when I had to demonstrate to my government unemployment advisor that I was highly motivated and determined to carry out this project. 

During this “lost” year, I also completed a few self-taught development projects. They were greatly appreciated by my advisor and it really made a difference. 

My effort and serious commitment paid off in the end. My financing request has been accepted. 

So, here I am in the accountant’s office. All the documents have been signed, the withdrawal period has passed and my month’s notice is over. I am finally leaving my company and my current position, on the way to developer training! 

Want to know what happened next? 

In the three months after I graduated from Pop School, a 6-month boot camp to become a Web & Mobile Web Developer, I had five interviews. Out of those five interviews, I received two offers. This proves that there is work for the reskilled profiles. 

(Discover How to Prepare for an IT Job Interview)

So, what do I take away from this whole story? Reskilling cannot be done overnight. It takes a long time, a time in which we doubt and we are afraid of failure. But it is all well worth the effort. 

You just have to believe in it and don’t let go! 

If I had to give four tips to someone who, like me, to completely change their career and start working as a developer, I would say: 

1. Prepare to learn: your brain will be your best friend in this new adventure. So help it receive all the information you are going to feed it. 

2. Set up a routine that suits your lifestyle. 

3. Eliminate all distractions: organisational tools and lo-fi music … give yourself every chance to stay focused and be productive

4. Test your future job: you must ask yourself if it is possible … but know that there are different ways to do it and that this initiative will teach you a lot about your future job. 

The final word? Stay motivated and don’t give up! 


For more advice on how to get started in your web developer career or transition into development, make sure to follow Thomas on YouTube and through his website.

Connect with Mindquest Newsletter

Join our community and find your next job or expert in IT

Categories
About us Featured Podcast Interviews

How To Learn Python With Rune

Rune holds a PhD in Computer Science and works as a freelance Python consultant specialising in big data and back-end development. When the pandemic hit, he kickstarted the learning platform Learn Python With Rune to teach others how to learn Python and apply it. He tells us about his career story & how to learn Python, how one should go about mastering this powerful programming language.

🔊 Subscribe to the podcast


You might also enjoy this interview on how to code well.

How did you go from doing a PhD to working in tech?

Back in the days when I started university, I actually didn’t think of doing a PhD in the first place. I was just starting but I thought learning is awesome, so I immediately decided I wanted to get a PhD.

But while I was studying for my PhD, I realised it wasn’t really for me because it wasn’t really deeply about science. It’s more about publishing papers and getting funding to continue your career. 

So after I finished my PhD, I started as a developer mainly in the security area (I’ve been working a lot in the security business.) I realised that the one thing that I liked was getting things done, getting projects done. So, I slowly became also a manager type person and worked a few years as a manager. Then I continued working in a SaaS company as an engineering manager for architecture and back-end teams and stuff like that. 

But then you went back to development. How is that? When did you decide to kickstart Learn Python With Rune?

I realised I missed programming a lot, and that’s actually where my journey with Learn Python With Rune started. 

I wanted to learn programming again. As a manager, you slowly lose touch with programming because you’re not really doing any professional code anymore. And I kind of missed that. 

So, a bit more than a year ago, I got the idea. It was actually when the coronavirus pandemic started. I had more time and was working from home, and I was like “I want to program again.” So, I started this small project.  I started producing small projects, publishing them on a web page, and one thing led to another. And it just escalated. 

Now, I work as a freelance consultant and they hire me and I do programming again in a freelance manner. And the reason I like that is because you kind of get more freedom. So, if you want to have some vacation, you just do it. It’s more freedom. 

Why Python? What makes Python so great?

I had to start somewhere, right? I hadn’t been programming that much in Python professionally, but I’ had been programming in C a lot. C is a really low-level programming language and it’s very effective, but you can make so many errors, pointers and stuff like that. It’s just a pain when you don’t know much because you can just do what a processor can do.

But Python is abstracted away. And what happened with Python over the last maybe 10 years is that it has so many libraries. So you can do everything efficiently. It has been developed a lot, for instance, in data science and big data and stuff like that (I myself work with Python in the big data and back-end side of things.) And you can do all this processing now because you have the libraries that can do all the heavy work, but you just manage it in Python code so it can get beautiful. 

It’s easy to understand, It’s readable. It’s almost super code. That’s the main reason I love Python. But there are also some things that I’m not so fond of. 

Like what? What is Python not so great at?

It does hide some of the things away, some of the objects and how they are represented. When you are programming in C you know everything exactly on a byte level. In Python, it’s kind of hidden away.

And I see a lot of beginners having a hard time and struggling with what an object is and what object-oriented programming is, for instance. Because we say that, in Python, everything is an object, but really, is it?. I don’t know. It depends on the implementation. And then they confuse object-oriented programming on top of that.

So, I think it does a really good job, but there are some areas that are not easy to understand in Python. But the pain you get from that is way less than the efficiency and productivity you can get from writing code in Python. 

How should one learn Python? What are your main pieces of advice?

Nowadays it’s difficult to start actually, in some sense, because there’s so much information out there. So my first advice is to ask yourself: what is it that you want to achieve with Python? What is it that you want to learn? What is it you want to code? 

If you just start thinking “I want to program in Python,” then you start a little bit here, a little bit there. All the information is available. The problem is that it’s unstructured. So you get excited about this little bit here, and then you do that, but they are different types of using Python. 

If you want to program back-end like I’m doing, then that is one kind of doing. If you just want to do data science, that’s a different way. You don’t really need to master programming that well, you just need to use some libraries and understand a little about math and so on. 

So it really depends on what you want to achieve. I think people often go around too much. So, advice number one is figure out what it is that you want with it. 

Connect by Mindquest Newsletter

Then find one teacher, one style. It’s just easier. If you take a little bit of this tutorial on the Internet, then a different tutorial, people can do things very differently and it can be difficult to have a cohesive approach. 

The third issue is about managing your expectations about how fast it is to learn. When you learn a new language, you can listen to it and understand it. But when you have to express yourself, it’s different. It’s difficult. You don’t know how to say things, but you understand it. And it’s the same with programming. 

Suddenly, when you see the solution, how people solved it, you go “yeah, I understand it all and that makes total sense.” But when you have to write it, you might have no idea how to solve problems. And that’s kind of the same problem you have right when you start. You understand Python, but you cannot express yourself in it. 

So, I think that would be my three main pieces of advice for beginners. 

One: figure out what you want to do. Two: find one tutor or one style of programming, one book. Three: manage your expectations. It takes a bit more time to learn to write Python than to read it. 

What’s the difference between a senior Python developer and a junior one?

There are actually some aspects I think people overlook. 

One of them is that, when you have a junior in a work environment, you need to help them. If you take somebody straight out of college, for instance, there are a lot of things they don’t teach in college. You know, how to do metrics, monitoring, how to ensure everything is healthy in your system. They don’t teach them that, so that’s one thing they’re lacking. It’s the experience.

Another thing that juniors tend to do is focus on building small systems. Most college-educated and self-taught people tend to do small projects because they’re easier and you have greater chances of success.

But there is an enormous difference between having one tiny system with one tiny server and a distributed system with tens and sometimes hundreds of systems that need to interact with each other and you need to figure out what to do. 

What happens when you make changes to this small thing here? How do you rebuild it when it breaks? How do you build systems that scales in features and amount of users and volume of data? 

Juniors usually can solve small-scale problems, whereas a senior developer can handle bigger scale problems. 

Another aspect I noticed over the years is that juniors are often a bit afraid. When starting in a team, when starting to develop, a junior will not be so quick to contribute to it and will want people to check the code more often and to help them more, because they are a bit afraid. 

So, when things go wrong, they don’t really have the confidence to just do stuff. and break stuff and put it back up again. They like that kind of experience and confidence. 

My advice for new people is to build something bigger. Build something with somebody else. 

You might have done tiny projects in college, or you may have worked together with other people for a bit. But try to make something bigger because you need to be able to build interfaces that interact with each other., where somebody builds one piece and somebody else builds another piece. That will teach you the kind of architecture design principles behind all of it.

I still think that’s a less important part today because there’s a tendency to go to all these microservices or services that are small in framework. And that makes them easier to understand, easier to debug, easier to maintain by other people. 

So it’s not as difficult as back in the day when you had this one big monolith that was running everything. Right now, you have small services that are easier to understand, but it also moves the problem somewhere else. How do you find where the problem is when the system goes down? You need to have really really good monitoring to find things nowadays. 

So you actually move some of the complexity over to the infrastructure guys or the SREs (Site Reliability Engineers). That’s why they are paid a higher rate now than they used to be. A good SRE is so valuable when you need to find problems in big systems. 


For more tips on how to master Python, make sure to follow Rune on Twitter, YouTube and Facebook.

He’s working on a new course portfolio focusing on how to use Python for financial analysis, so stay tuned!


Check out more of our interviews from our podcast episodes.