Wednesday, April 12, 2017

My fascination with Python — the journey I can’t fully explain

My career started in the Unix/C++ world in late 90s. Then I transitioned to a Microsoft shop doing C++ and then later .NET/C#. Recently I got into open-source technologies such as Java, NodeJS and Python. It’s been a fun journey over last 19–20 years doing software engineering. All software engineers should be privileged to be in the positions that we are in.
In last 2+ years I started getting into Python outside my work because I wanted to see a different perspective. I’ll be honest; even after 2+ years programming things in Python here and there, I am still not used to the Python syntax. I have been a critic of Python as I have been learning it. The curly brackets { } are very much engraved in my system and I still prefer the Java/C++/C# syntax, but there is something else about Python that has me fascinated. Maybe it is its simplicity. Maybe it is availability of different libraries that allow you to do cool things from IoT to web development. Maybe it is the cool community.
That fascination has led me to developing some interesting applications in my spare time that I also applied in my daily job. Some of those are:
  • * Production log analysis (Keeping track of existing errors/exception and detecting brand new types of errors/exceptions)
  • * API testing developers’ friendly tool/framework
  • * Microservices dependency analysis tool
  • * Tool for correcting DynamoDB data via your microservices (batch updates)
  • * Recommendations on modularizing Python code for existing Python operations code at work
I am not sure what my next application is going to be. It definitely depends on my availability at home. When I come up with an idea, I usually spend a week of evenings preparing for it and looking into the libraries that I could use. Then I usually develop the initial version over one or two weekends. One negative thing about Python is that it does not enforce disciplined and structured programming. However, if you combine your discipline from C++/Java/C# experiences with Python’s simplicity, you can develop some cool applications while writing elegant code.
If you have been in Java/C# world for a while, I recommend that you give Python a chance.
Thanks for reading this article. Please follow me and read some of my other articles in the software engineering field.
Almir Mustafic

No comments:

Post a Comment