Latest articles

Subscribe via RSS

  • In this episode, we delve into the groundbreaking integration of Python within Microsoft Excel and its transformative impact on non-tech professions. 💪📈 Listen here: Or watch here: Discover how this evolution empowers professionals across diverse fields and the dynamic opportunities it presents for career advancement. We also shine a spotlight on the achievements of people through our Pybites Developer Initialization (PDI) program, illustrating how it’s shaping the next generation of Python enthusiasts 🐍 😍 Celebrate with us as Python broadens its horizons. 🎧🎉 Chapters:00:00 Intro music00:55 Wins (productivity / mindset)03:58 Python is getting even bigger and is for everyone 📈06:00…


  • At Pybites we support our pythonistas with expert CV guidance to make their job applications stand out in a tight talent market 💪 📈 Here are some essential ingredients that make a great resume: 1. Clear and Concise Structure Start with a clean, well-organized format. Use headers, bullet points, and consistent fonts to ensure readability. 📊 2. Compelling Summary Craft a short but powerful summary showcasing your passion for technology, your key skills, and what drives you professionally. 🔍 3. Tailored Content Customize your resume for the job you’re applying to. Highlight relevant skills and experiences that match the job…


  • In this podcast episode we talk about the significance of building real-world Python applications. Listen here: Or watch here: Bob highlights the importance of breaking away from tutorial paralysis and creating genuine software solutions to understand and confront real-world complexities. He also emphasizes the career benefits of showcasing tangible Python projects on your portfolio / GitHub / resume. As an actionable step, listeners are introduced to the Pybites Portfolio Assessment tool. Through a fictional character, Alex, listeners are guided on how to use the tool identifying their passions, strengths, weaknesses, and ultimately leverage Python to realize their goals through real…


  • A challenge in software development is to keep things simple 🤯 For your code to not grow overly complex over time 😱 Simple is better than complex.Complex is better than complicated. Zen of Python 🐍 Simplicity in your code means fewer possibilities for bugs to hide and easier debugging when they do arise 📈 It also makes your code more understandable and maintainable, which is crucial in a team setting or when returning to your code after a period of time. Photo by Pablo Arroyo on Unsplash Let’s look at 5 examples: 1. Are all numbers divisible? A good first example is underutilizing…


  • In this episode of the Pybites podcast, we dive into the power of stepping back from the daily grind, whether that’s coding or career-focused 🧘 Watch here: Or listen here: Drawing insights from Julian’s month-long trip to Canada, we discuss how disconnecting can provide clarity and inspiration for personal growth, and how it can inform decisions in our professional journeys 💡 And of course there are the books we’re reading 📚 Join us for a journey of reflection, discovery, and a touch of humor 😎 Chapters:00:00 Intro00:46 Welcome back (re-introducing) Julian!01:58 Wins of the week03:10 Julian’s break06:20 Lessons learned from…


  • 🎯 Ready to level up your Python skills? 🐍 Stop tutorial paralysis and start implementing 🔥 Here are 10 reasons coding on our platform (CodeChalleng.es) is so effective for (aspiring) Python programmers. 1️⃣ Real World Problems 💪 PyBites allows you to learn Python by solving real world problems, not just tutorial toy examples. This fosters active learning and helps you retain language features. 2️⃣ Deep Understanding 💡 From aspiring web developers to data scientists, our platform offers a wide variety of 400 bite-sized exercises to help you gain fluency in Python. Exercises range from core Python to FastAPI, data analysis…


  • Anyone who’s worked with Python knows that modules can be a Godsend, saving you time, effort, and many lines of code. They even have namespacing built-in 💪 😍 To expand on this a bit: However, not all ways of using modules are equally beneficial. In this article, we will discuss why using import * can be more problematic than it’s worth, and what you should do instead. Why is this a problem? When you use import *, Python brings in every single function and variable from the other module into your own. This can cause something called “namespace pollution” 😱…


  • How to make refactoring part of your Definition of Done Writing code is an iterative process. The first iteration is usually not the best result. Grooming and polishing ✨ are needed before the code is ready to share with the world (and your future self). There is a saying in software development that illustrates the importance of polishing code: The first step is clear: your code should solve a particular problem. But what if your program’s input is huge and requires clever code optimizations to reach the required performance? Maybe you would be tempted to skip step two and jump immediately…


  • In this new podcast episode we are excited to have Chris May back to delve deeper into the intricacies of refactoring. Watch here: Listen here: We talk about the significance of the Flocking Rules, a set of guidelines derived from “99 Bottles of OOP” by Sandi Metz and Katrina Owen.  These rules provide developers with a systematic approach to refine their code by focusing on recognizing similarities, identifying minimal differences, and making straightforward changes.  We also talk about the importance of taking small, incremental steps in refactoring, ensuring code health while mitigating the risks of accumulating technical debt. We reference…


  • Python allows you to use *args and **kwargs in function definitions to accept an arbitrary number of positional and keyword arguments, respectively. Here is a simple example: Different types of function arguments In the above example, the arbitrary_args function is defined to accept any number of positional and keyword arguments using the *args and **kwargs syntax. When the function is called with arbitrary_args(1, 2, 3, a=”apple”, b=”banana”), the *args collects all the positional arguments (1, 2, 3) into a tuple, and **kwargs gathers the keyword arguments (a and b) into a dictionary. Consequently, the function prints the tuple (1, 2,…