Why I Chose Python: My Real-World Project on GitHub

Dal PHP al Python

In recent years, I have worked primarily with PHP, JavaScript, MySQL, and WordPress, developing web applications, business systems, and tailored solutions for companies and professionals.

I still enjoy working with these technologies, and they have enabled me to build solid software development experience.

Over the past few months, however, I began asking myself a question.

How is the job market changing?

During several technical interviews, I noticed a recurring theme: more companies are looking for developers whose skills extend beyond the traditional stack. Python, cloud computing, automation, and API development are increasingly common requirements.

I could have limited myself to taking an online course.

I chose to do something different.

Learning by building

I believe that the best way to learn a technology is not simply to read documentation or complete a video course.

You need to build something real.

I therefore approached Python as I approach every new technology: by starting with a concrete project.

The objective was not merely to learn the language syntax, but to understand its ecosystem, libraries, and role in modern application development.

This idea became my Document Processing API.

Why a Document Processing API?

When learning a new language, it is easy to fall back on familiar teaching exercises: a to-do list, a calculator, or a CRUD application.

These are useful exercises, but I wanted to work on something closer to a real business context.

I decided to build a REST service capable of receiving PDF documents, validating them, and returning structured information.

It is an apparently simple project, but one built around a clean, readily extensible architecture.

Discovering FastAPI and the Python ecosystem

Python itself has been one of the most pleasant surprises of this journey.

I was already familiar with ecosystems such as PHP, JavaScript, and Kotlin, each with its own strengths. Python impressed me with the quality of the libraries available.

FastAPI, for example, makes it possible to develop modern APIs with very little code while maintaining strong architectural quality. Pydantic makes data validation feel natural. Ruff helps me check errors and formatting. Testing is straightforward to integrate.

It feels like working in a highly mature ecosystem where many common problems already have well-designed solutions. That is probably what has excited me most.

A small project developed with a professional mindset

The goal was not to build a huge product. The goal was to build it well.

From the beginning, I organised the project around a modular structure:

  • separation between APIs, services, and models;
  • input validation;
  • custom exception handling;
  • automated tests;
  • OpenAPI documentation;
  • a public GitHub repository;
  • source control;
  • a first official release.

Regardless of the language, these elements are part of the software engineering approach I consider essential.

More than learning Python: evolving as a developer

This project represents much more than my first Python repository.

It reflects the way I am approaching my professional development.

In recent months, I have embarked on a path towards technologies increasingly sought after in the market, including Python, cloud computing, and AWS.

Not because they are fashionable, but because I believe a good developer must continue to evolve.

The experience accumulated over the years remains the foundation. New technologies are the next step.

The first release is only the beginning

This first release completes an important phase, while opening the way to many new features. In the coming months, I would like to add:

  • PDF text extraction;
  • OCR for scanned documents;
  • automatic document classification;
  • integration with artificial intelligence models;
  • support for additional formats.

Every feature will provide another opportunity to explore Python and its ecosystem in greater depth.

Conclusion

I published this project on GitHub because I believe code communicates far more than a list of skills on a CV.

It shows the journey, the design decisions, the corrected mistakes, and the evolution.

This repository is my first concrete step into the Python ecosystem—and, above all, it represents the direction in which I want to continue growing as a developer.

Contact

Tell me about your project or role

Share the context, goals and timeline. I will reply within 48 hours with focused questions to assess the next steps.

Name
Read the Privacy Policy. Data is processed to respond to your request; this checkbox confirms acknowledgement and is not consent to necessary processing.

If the form is unavailable, email me at [email protected].