Learn Python FREE Online

Why learn Python?

There are many reasons to learn Python, and that is the power of it. Here are a few common strong uses of Python and how to learn Python free online.

We will dive into how you can learn Python in free online courses without spending any money. I will show you how you can get started with Python today.

Keep reading.

Why Python is preferred language. A survey among self-taught programmers.
Why Python is the preferred language to learn

Why learn Python today and why it is popular?

See why Python is popular and why Python is easy to learn and the right choice for you to start with.

Readability – Easy to understand code!

  • Readability is a core principle in the design of Python.
    • Clear syntax The syntax makes Python easy to learn and is the key behind its popularity.
    • Beginner friendly Because it is beginner friendly it enables people of different levels to cooperate on bigger complex Python projects.
    • Maintainable As the code is easy to understand it also makes it easier debug and extend with new features later.

Versatile – Is used for a lot of different areas!

  • Versatile enables many different use cases for Python.
    • Big community Python is now more popular than Java and this has created a big community that makes it easy to get help in places like StackOverflow.
    • Used by big companies Just look at the list: Netflix, Facebook, Google, Instagram, Quora, Spotify, reddit, Dropbox, and the list could go on.
    • Easy to change career If you learn Python you have great opportunities in many programming fields (see below, before we show you how to learn Python free online today).

Frameworks – Makes it easy to build your own projects!

  • Frameworks are fast and flexible.
    • Speed Python is an interpreted language and often criticized for being slow. Most don’t don’t understand that only 20% of the code takes up 80% of the processing time. With amazing libraries optimized in fast C/C++ code it keeps the speed beyond expectations.
    • Easy to create Want to start web development? You will have your first web application running after a few hours of work. How, the power of frameworks like Django and Flask. I prefer FastAPI to create REST-APIs, the cornerstone in Cloud computing. The key is, you only write the simple part of the code, everything around the complex system is provided by the framework.
    • Scalable by design In the times of Cloud computing it is important to be able to scale up and down on resources on demand. Frameworks like FAST-API are created with this core principle behind them, which makes it easy to have running in big scale companies as well as small startups.

Is Python right for you?

Want to learn Python? I want to teach you how to do it the easiest, but most useful way. I connect with a lot of people that want to learn Python, but most of the time they didn’t think of for what. Do yourself a favor and find out what you want to use Python for.

The most popular uses of Python. StackOverflow survey 2022.
StackOverflow survey 2022: Most popular uses of Python

Why is it important to know what you want to use Python for?

Because it will save you time to learn.

Exactly, the more focus you have on your learning goals the faster you will learn it. I see people trying first to learn to build web applications with Python, then they try Machine Learning, then a bit of game development, and then what is the next thing?

You see the problem?

I know, the Power of Python is the versatility, but it is also a curse. Why? Well, you can learn so many things, and most beginners want that. You don’t want to end up like that, knowing a little bit of every aspect of Python, but not mastering one aspect.

My best advice to you.

Find one aspects and learn Python for that first before you move on.

Learn Python for what?

Here you can find inspiration to the WHAT.

Uses of Python.
Uses of Python
  • Web applications Python has amazing frameworks to build web applications from scratch in frameworks like Django or Flask. It is the most preferred language when it comes to building full web applications with core functionalities.
  • Data Science / Data Analysis We are in the age of data, and Python has become the strongest language to use and is preferred over more specialized languages like R, since it offers a bigger community, which makes it easier to collaborate.
  • Machine Learning Python has the greatest collection of libraries to support Machine Learning and makes it the preferred language of choice.
  • Web Scraping This is actually a big industry and easy to start in as freelancer. It requires you to learn a few things, but the demand is huge. There are no one-size-fits-all solution for the web scraping problem. Hence, the demand for specific web scraping tasks will continue to be in demand.
  • Internet of Things (IoT) Python on your raspberry pi and you are writing your first application for IoT. Actually, this is a big industry where companies need to track their devices, machines, or production systems. This requires embedded monitoring software, which can be written in Python.
  • SaaS This is my favorite, in the age of Software as a Services (SaaS) we need people writing code that is prepared for the Cloud. The easiest way is to create REST-APIs, which makes it easy. This can easily done with the FastAPI framework.
  • Desktop Applications While not an expert in this field, Python should be widely used to create GUIs for desktop applications. But in the age of SaaS, I think we will see this becoming less and less common.
  • Game Development Well, it should be a big deal, Python projects in the gaming industry include Battlefield 2, Frets on Fire, World of Tanks, etc. These games use Python libraries like PySoy and PyGame for development.
  • Academic and Education Python is without any doubt the preferred language in the scientific communities. This makes it the preferred language for educational purposes as well.

Learn Python FREE Online – But just before you Start today

There is a lot of tempting options to start learning Python for free online. And that is great, but also can make it confusing at first.

If you nailed you WHAT. Great. If not, well here is the good news for you.

The starting point for learning Python is the same, but there are different approaches. Listen, the start is the same, next step is different.

Python specialization roadmap.
Python specialization learning roadmap

The roadmap is as follows for all WHAT (specializations).

  • Learn the basics: Can read code.
    • What is programming. Variables, flows, booleans, etc.
    • This will equip you with the fundamental understanding.
    • Often you will not feel comfortable solving programming problems on your own, but you understand the code when you see the solution.
  • Solve things on your own: Can write code.
    • At this stage you try to solve smaller coding problems and challenges on your own on pages like HackerRank.
    • You make small scripts solving simple tasks with Python.
    • This is before you really specialize still. This is where you go from can-read-code to can-write-code.
  • Create specialized projects: Can-create-projects.
    • Now you take specialized courses or in-depth tutorials to learn what you want.
    • Maybe you want to become a Data Scientist. Now you go in depth.
    • This enables you to be specialized and you can create projects with help from resources.
  • A specialist: Capstone-project.
    • Now you start create projects on your own without help of courses or in-depth tutorials.
    • You still need to look up things (I do too all the time), so don’t bother about that.
    • You made your first Capstone project, say, it might have been a Machine Learning project without help.

Start to Learn Python FREE Online – The HOW Choice

You now know that the starting point of learning Python is the same.

But there still is one choice to make. How and where to start, right?

Let’s start with the HOW to start.

On a high level there are the following choices.

Python learning options: Online interpreter, Notebooks, or IDE
How to learn Python?
  • Online interpreter You code in an online web application.
    • Pro You don’t need to install anything.
    • Con Most are not as good as the real thing and have problems and differences.
  • Notebooks
    • Pro They are used by professionals working with data. They are interactive and makes learning easy.
    • Con You need to install it.
  • IDE
    • Pro This is how most end working professionally, if you are not working as data scientist or related area.
    • Con A lot to learn on top of just the programming aspect.

I must say, my experience helping people to learn Python programming easy, has shown me the best choice is Notebooks. And yes, this is no matter what you want to learn in the end. The IDE are difficult and the Online interpreters are not good to learn in.

On the other hand Notebooks are amazing as you can learn easy in them.

What is a Notebook?

  • It runs in your browser locally from your laptop.
  • Then it is like a Notebook, you can write text, but also Python code.
  • This makes it easy to create learning material with description (text) and cells with Python code.
  • They are interactive, meaning you can run code snippets from cells, which makes it easy to experiment without having to re-run a full program.

This clarifies the HOW to learn Python.

How to get Notebooks on your laptop?

  • Go to Anaconda and install the Anaconda distribution. It will install everything you need.
  • Then you have Python running on your system.
  • And also, Jupyter Notebooks, which still today is the best Notebooks to learn Python programming.

Start to Learn Python FREE Online – The WHERE Choice

Now you have installed Anaconda, which install Python and Jupyter Notebooks (and some other cool stuff too).

The next question is, where should you learn Python free online?

To be honest, there are a lot of good choices, but I made a great free Python online course for you. I have focused on making it as easy as possible.

  • 34 Prepared Jupyter Notebooks for your learning journey to master Python in an easy way.
  • 17 lessons taking one concept at the time, demonstrating it in a relatable way.
  • 17 projects from simple to more advanced, using the new concepts just demonstrated.
  • All lessons, project descriptions, and project solutions come with a video tutorial explaining and demonstrating everything for you.

“I have spent countless hours online over the past 5 years wondering where to begin. I never got a good guidance course online. When I found your program, I now feel I am making progress. I hope to improve my skills to the level I can be fully dedicated in this field. I am hopeful I will get back to a career in software engineering which was my vision in my young years.”

Gilbert (38 years old)

There are also TWO free eBooks to help your learning. They are both to accompanying you and tailored for learning Python easy.

This is what you get for FREE to learn Python.

  • The easy way to Learn Python FREE Online.
  • 8 hours video content.
  • 17 lessons with one concept each.
  • 17 projects with description and solution.
  • 2 eBooks that help you learning Python.

Full 8 hours FREE Python course here (see it here, but get started below).

Get the FULL FREE material: Follow LINK BELOW 👇

“Sir you are really awesome teaching skill. I am not at all coding background but after seeing ur videos I feel free to learn python. U makes me easy soo many things, I feel proud finally find tutor like you.. ,,♥️ from India”

Narayana M.

Get started here.

The Truth About Being a Python Software Contractor

There are a lot of Myths out there

There are lot of Myths about being a Software Contractor – say, that they are delivering value from first hour stepping in the door. 

What myths did I believed to be true and they held me back from starting my career as a Software Contractor.

In the end of this post I will also elaborate on the Good, the Bad, and the Ugly thing about being a Software Contractor.

Before that, let’s just clarify what a Software Contractor is.

What is a Software Contractor?

A software contractor is hired on short contracts to help out with building software. Just like a Software Engineer, but just on a limited contract.

Why are they hired on short contracts?

Well, there can be many reasons. For one is the demand of software engineers cannot follow the supply. Hence, the competition to get software engineers is so high companies need to pay contractors to fill the missing seats in their teams.

That also mentions why you would want to become a software contractor.

The pay – you get a really good pay.

In the end of this post I will write more about the Good things, also the Bad and Ugly things about being a software contractor.

Myth #1: Software Contractors are good developers

I would say, I know a lot of software contractors and they come in all flavors.

No kidding. In general, they are not better than the average senior software engineer. Meaning, no better than someone with about 5 years of professional experience.

But there is a catch.

Software contractors are most of the time hired into projects that are understaffed and have no senior developers in them. This makes the Software Contractors seem really good comparing to the other developers in the team.

Of course, you should not underestimate the experience you get as a software contractor, you experience a lot of different implementations and see what works and what doesn’t.

This is great value to contribute with in a tech team.

Being reflective on what works, pays highly.

Myth #2: Software Contractors add value from the first day

This surprised me a lot. As the hourly salary for a Software Contractor is high, you would expect that the people hiring you would have a stopwatch counting every second to get the most out of you.

I used to think, that there would be an expectation of a Software Contractor could just sit down at a computer and immediately deliver valuable code from the first day.

That a Software Contractor is just understands the full software ecosystem from first hour and can find bugs, add new modules, and so forth just by looking at an overall design diagram.

First of all – that is not the case. As a software contractor you are not overly human.

Also, what surprised me, the first day everyone wants to talk to you and influence you. They know that your opinion matters. You are more senior. You have the external eyes on the system.

That means the Product Owner, the Scrum Master, the people Manager, the Team manager, the C-level staff, want to influence you.

Why?

For many reasons, but one is often common.

  • They want to challenge the decisions made by the team on technologies.

Myth #3: Software Contractors add value every second

To be honest, I thought that especially manager would be focused on keeping Software Contractors as efficient as possible. The main reason being, that they are expensive.

Again, I was wrong.

Actually, the managers seem more busy pushing the employed staff as busy as possible and less the Software Contractors.

The managers love to discuss things with Software Contractors. They seem to think of us as a neutral party that always will tell the truth and not be biased by the team.

Managers think that your judgement is better than employed team members.

My experience is, that you sit more often than you like it not doing what you love. You love to code – and that is how simple it is.

Myth #4: Software Contractors need a huge savings

This kept me for many years from starting as a Software Contractor.

The nature of being a Software Contractor is that you live from contract to contract, and that can be on a monthly basis.

I had noticed, that some Software Contractors seemed to be part of teams longer than the hired employees. But the reality was, that they needed to get contracts prolonged every month or similar.

Therefore I thought you needed at least 6 months of savings to start as a Software Contractor. What if you couldn’t find the next contract?

You can be terminated from day-to-day.

This sounds scary.

But the reality is, that you get offers all the time from recruiters that need Software Contractors like you. The demand is so big, that you can start in a new position the day after you get terminated from your current position.

Another reality is, that even though you are hired for short term, they almost never want to let you go. They want to keep you there.

There is simply no need to have a saving.

Myth #5: Software Contractors deliver perfect solutions

This is kind of a weird one.

I actually thought that Software Contractors were hired to make great software solutions. But that is actually not what directors in organizations want.

They want something totally different.

Guess what?

Now, I think it is kind of strange I never thought of it before. Yes, I truly believed that directors wanted good solid software solutions, that was built stable.

No, they just want results.

Teams talk about how to make the “perfect” solution, that is easy to maintain, that can be extended easy. The problem with this is, that they go into too much analysis.

Directors just want results. At the cost of making it good. They need products they have promised to customers.

They promised solutions. But the team went into hibernation (from the view of director) and did not deliver.

You, the Software Contractor, is hired to get results. Results fast.

The Good thing about being a Software Contractor

As promised, here are some of the good things I like about being a Software Contractor.

  • No employment development plan – when you are hired as a software engineer, your manager will make a development plan on how you should improve your skills and keep up to date with everything. It is a waste of time and you never follow it. Things change faster than your yearly made plan. I just love to avoid this pain point.
  • No participation in social meetings and events – you simply do not get invited into meetings where they discuss future strategies, plans on how to make it a better place to work and so on. If anything is important for you, you get a summary with the highlights. No more wasting time in these hourly meeting. You get time to do what you love without interruptions – code.
  • You are often the most experienced – you get hired into teams with less experienced. This means that you can shine with your experience. The senior in the organization you work for are often stuck supporting their critical systems.
  • Mostly Greenfield projects – the most fun projects to work on are Greenfield projects, as you built something new. Again, this is because they need to try something new and their seniors are stuck in their existing systems. This means you don’t end up in an old legacy system.

The Bad thing about being a Software Contractor

Here are some bad things about being a Software Contractor.

  • Showcase how you develop your skills – Before you get hired into a project, they always want to know how you keep yourself up to date with the technologies. They expect this to be done in your free time. So it is important you can showcase this.
  • Good at job interviews – you need to be good at job interviews, as they will run you through a lot of things in no time and expect you to be on a totally different level than normal software engineers are in job interviews. This is just practice, but you need to good at selling yourself.
  • Big network – having a big network is also a key thing you want to get the interesting contracts. Recruiters are pain, and are often hired to get contractors into projects that cannot attract anything. That said, it means using the offers from recruiters is plan B. You would want to know someone working in a project you want to be part of.

The Ugly thing about being a Software Contrsactor

Here are the ugly things about being a Software Contractor.

  • You are responsible for your code – if you work as an employee in a company, you are actually not responsible for the code you write. As a Software Contractor you are. That means, if you make some code that is the result in a company losing a lot of money, then they can sue you for that. This means you need an insurance.
  • There are no benefit – while the pay is great, you get nothing else. If you want to participate in social events where you work, you most often have to pay for everything yourself. Also, if you need to go somewhere on behalf of what you do for them, you also need to pay the expenses yourself.
  • Contractors have a bad reputation – As mentioned above, Software Contractors are most of the time hired to get results fast. This often comes with a price of quality in the solutions you deliver. Some Software Contractors don’t mind this, and just come, deliver code, and leave. I like to discuss solutions and why choices are made with the team, to compensate for the design and solution choices.

Want to learn more?

Get my book that will teach you everything a modern Python cloud developer needs to master.

Learn how to create REST API microservices that generate metrics that allow you to monitor the health of the service.

What does all that mean? 

Don’t wait, get my book and master it and become one of the sought after Python developers and get your dream job.

Do This and 10X Your Salary as a Software Engineer

The Honest Truth

To be honest, I am not really a great programmer – that is not what you get highly paid for.

This is something that even software engineers that have been in the industry for many years do not understand. Also, those that craft code that is way better what I can do.

Let’s dive into the 5 things that will increase your salary as a Software Engineer.

Key Skill #1: Decouple Code

To decouple code is about writing and designing code with loose coupling. The best way to understand it, is to understand what strong coupling is.

Strong coupling is basically what happens when you write code and it grows organically.

What do I mean?

Well, you let the code evolve from the first line of code until the last line of code solves the problem.

You end up with code, which is difficult to test, debug and maintain. If you make a change one place in the code, you do not really know what happens in the other parts of the code.

This happens for everyone, which does not think about encapsulation.

Encapsulation is about creating classes with an agreed upon interface. This hides the actual code away.

As an example consider the RestApi class above. If the way you call and parse the result from the REST API changes, this can be hidden in the method call. Hence, if you use call in your code, you most likely do not need to change anything at those places if the nature of the REST API changes, you can make those changes inside the method call.

The same for class Storage. Imagine you want to change the way you store data. You can make all the changes to that inside the Storage class, without needing to make any changes to the code where you use the class Storage.

Software Engineers that master decoupling craft code that is easy to maintain, debug, and extend. This is a key skill when you make production code.

Key Skill #2: Source of Truth

Every modern system uses data and the most common pitfall when working with data is not to understand the Source of Truth.

The Source of Truth means that data is mastered, and most importantly, edited only in one place.

You actually see this problem all places.

The above screenshots where taken simultaneously from two different pages of my YouTube channel.

It claims two different numbers of views.

Which one is right, which one is wrong?

The problem is, that it reads the data from different places. That data is stored temporarily in different places and not synchronized fast enough to be given the same numbers.

Consider the following problem I just encountered. I was creating a system view of the data types of files in a storage and exposing them.

Now the Truth about the data types is in the Storage, not in my view.

Now someone else needs the Data types of the data in the storage. Since I already extracted them, they were inclined to just take them from my new system (see image above).

The problem comes, when someone changes the data type of, say, Data A. Then it is wrong in my system (the middle one), and surely wrong in the last system (on the right).

I might remember to synchronize the data types, but what about their system. Did they remember? Anyhow, it can easily end up with a data ecosystem, where there is a lot of wrong data.

Understanding this is crucial when creating systems.

Key Skill #3: Think Long-Term

Most developers only focus on solving the programming problem they are hired to do. They get a feature they need to implement. They just implement it and move on to the next one.

A more experienced programmer, and highly paid programmers think differently about it.

They try to craft code in a way that makes it easy to.

  • Find a bug in the code.
  • Extend the code with more functionality.
  • Add tests to make sure someone in the future does not break the code.

But not only that, also consider the following.

  • What can go wrong in the module?
  • How can you make logging and metrics to know if it would happen?

Key Skill #4: Terminology

This one was a big surprise for me.

But actually how we use words and concepts is very different from team to team, and it also change over time.

What can go wrong?

Well, it does it all the time. You sit in a meeting with someone else, another team. You agree to implement some things. The meeting ends and everyone thinks they know what to do.

The problem is, that you all understand the concepts you use differently.

A highly paid software engineer will always ensure that all participants have a common understanding of what is agreed on. Asks about what is meant by the used concepts.

You will be surprised by the different ways we understand things.

Key Skill #5: Persistence Debugging

Most only care about finding the bug and move on.

When a system goes down, it can cost organizations millions of dollars per hour. Being able find bugs and ensure you catch them faster next time is crucial.

This is where concepts like leading indicators pays a big role.

A leading indicator, is something that can indicate that a crash might be on the way.

Sometimes bugs only show up on certain occasions, and you cannot reproduce them. Then you need to add logging and metrics to your module to get more evidence to your hypothesis.

Want to learn more?

Get my book that will teach you everything a modern Python cloud developer needs to master.

Learn how to create REST API microservices that generate metrics that allow you to monitor the health of the service.

What does all that mean? 

Don’t wait, get my book and master it and become one of the sought after Python developers and get your dream job.