Python — considered by many only as a tool to automate simple tasks, by others considered the most desirable to learn. What is the reasoning behind this? We have at least a few good answers. In an interview with Maciej Gromadzki and Michał Turemka, we debunk myths, find out how it is used in the automotive industry and … why it is perfect for changing your career path.
Maciej and Michał, Python according to a 2020 survey of developers by Stack Overflow, Python is in TOP3 of the most “loved” languages what is behind it? Why is Python one of the most popular programming languages right now?
Python is simple – that’s its greatest advantage compared to other programming languages. You don’t need any particular experience to start writing Python code, principles are simple and easy to learn. That’s the main reason it has been taught to children in the Elementary Schools. It isn’t just for beginner developers, but is an utility that even experienced developers tend to use to simplify their tasks.
What are the challenges of coding in Python?
If you come from some low-level language, like C, it might take some time to get used to “everything’s an object” concept. Python is strongly object-oriented and this kind of versatility might be confusing at first, but later you can take advantage of that – imagination is the only limit here.
What’s the entry level?
How much time would be needed to start as a Junior Python Developer? It depends on your programming experience and how many hours a day you are willing to put into it. Assuming you are going to spend 40 hours weekly and you know the basics, i.e. from another language, it would be fairly easy to switch within a few weeks. Starting your journey with coding, on the other hand, would take an additional month or two to wrap your head around the theory behind it.
What do you value the most in Python?
Mostly coding speed, as it allows you to do more in shorter time. Really helpful is that Python is a mature language, with well written documentation, coding rules and big community. That leads to a huge amount of 3rd party libraries and packages that can be used to achieve what’s needed. To be fair, if you want to automate something, most likely there is already a Python package for that.
How’s the language performance?
It’s rather low, but being a top in performance wasn’t Python’s goal. In the end, it is a scripting language, so would always perform worse than compiled ones. As mentioned before, its main advantages are simplicity, coding swiftness and versatility. It allows creation of simple, easy to maintain solutions in cases where software’s reaction time is not so crucial. Creating prototypes of solutions that would be later written in a better performing language, might also improve project’s development process.
Where is it used the most? What are the fields it’s underestimated in?
Popular opinion among veteran developers is that Python’s only use case is to automate tedious tasks with a short, simple script. Contrary to that, on the Internet you will mostly find complex packages with thousands lines of code. Job offers have been shaping the opinion around Python drastically – most of them are looking for either tester or backend developer with Django, so for many people these have been the only applications they know. Meanwhile, it has been used in machine learning and big data for a long time now, currently spreading to other domains.
Is Python used in Automotive? If so, what are the use cases?
Mainly, it is being used in a test automation, thanks to the wide range of 3rd party packages handling various software and hardware APIs. Next to that would be prototyping, mentioned earlier, and all kinds of scripts, e.g. used to emulate car’s internal components to ease software development.
In the same Stack Overflow survey, one in 3 programmers indicate that Python is the number one language they would like to be developing with it. Would you recommend Python as a starting point of someone’s IT career? If so, for which positions it might be useful?
For someone who is trying to switch careers and has very little knowledge about IT industry or struggles to find the first job, learning Python is a very good idea. There are many job offers for testers and the ability to write Python code is nice to have, sometimes even required, so it would be a great addition to your resume. You will also find such offers at Codelab. Of course, this won’t close you the doors to other job positions – you can still hone your skills and take positions as a Python or even other language developer in the future.