What is machine learning?

This article is part of Demystifying AI, a series of posts that (try) to disambiguate the jargon and myths surrounding AI.

I was nine years old when I had my first taste of programming, and fell in love with the art (yes, I believe programming is as much art as it is science). I quickly became fascinated with how I could control the flow of my programs by setting logical rules and conditions, if…else statements, switches, loops and more.

In later years, I learned to remove clutter from my code by creating modules and abstracting pieces of code into functions and classes. I enhanced my software development skills with object oriented analysis and design (OOA/D). I learned code reuse and design patterns. I learned to express my program in UML charts and diagrams. And I learned to apply those principles in nearly a dozen programming languages.

But the rule of thumb of programming remained the same: Defining the rules and logic. The rest were just tricks that helped facilitate the implementation and maintenance of those rules. Continue reading


Teamwork is the key to modern programming


Ever since the advent of computers, humans have been searching for ways to create software that better address their daily needs. Today, desktop, web, and mobile applications have grown in complexity and size to the extent that there isn’t a shred of our lives that isn’t dependent in one way or another to some sort of application.

Complex software need better programmers. Specifically, complex software need better teams of programmers. The era of single-person programming is long gone, and unless you’re planning to do programming as a hobby, you’re going to need to learn teamwork if you want to embark on a successful programming journey. Continue reading