Nikolay Nedkov, Back-end Developer at PremFina team at Questers
Python – one of the most popular languages among developers in recent years, has been around for quite some time. Today it turns 30 and together with our colleague Nikolay Nedkov from the PremFina team we look back at how the language evolved through the years and what made it so appealing to programmers.
When did you start using Python?
I started using Python at my first job. Back then, I was working in the DevOps team of an automotive company.
What was the first thing you built in Python?
Automation scripts for build system which imitated the same environment as on the server. This enabled the other developers to do an Incremental Build which decreased the building time from 4-5 hours to 20 minutes.
What are you currently working on?
I'm currently working on the Python Core which is used for the microservices we develop at PremFina. We aim to encapsulate all of the good practices and to compact and integrate the different libraries. On top of that, it makes it easy to reuse the same code for the 3 inter-service communication mechanisms REST, Kafka and gRPC. And as you can guess, I'm also developing different microservices using it.
In your opinion how has Python evolved over the years?
Through the years Python has evolved with the aim of making the development process as faster and as easier as possible. This is why it is one of the widely used programming languages nowadays. Also, there have been some major improvements in terms of the language's performance, which was a big problem a few years back. For example, the adding of asyncio to write concurrent code using the async/await syntax that has been implemented in all new libraries. It is used as a foundation for multiple Python asynchronous frameworks that provide high-performance network and web-servers, database connection libraries, distributed task queues, etc. And asyncio wrappers were created for the most widely used libraries
What are the main advantages of the programming language?
Its main advantage is the ease of use, as I mentioned - how fast you can develop a solution for a given problem. Also, Python is a scripting language. This means it doesn't need to be compiled (actually behind the scenes it is first compiled to byte code, and then translated to machine code by Python Virtual Machine, but this is done automatically by the interpreter, so you don't need to think about it). On the other hand, it can be compiled to C code, and you can import C functions in Python code. Because of that, there are libraries for CPU intensive tasks for different calculations and array manipulations like Numpy which is actually running C code.
Another big advantage is that you can develop almost every type of software. It is a multiplatform language. And it has wide usage in the Machine Learning and Data Science at all.
Looking for new opportunities with Python? Check out our vacancies at the PremFina team here.