How I learned Python
About me
A Software development engineer at Amazon.
Why I wanted to learn Python
We had to develop a machine learning pipeline combined with an android application that will take images as input and send the data about the image, telling us whether this image has service cancer or not with certain confidence(probability).
How I approached learning Python
I will divide my learning into 3 parts:
-
When I was a complete newbie.
After a lot of google search, I went with google python tutorials and learnt about the language nuances by implementing them. this took me about 2-3 days(I was doing it dedicatedly and spending all my time apart from regular job). -
I started feeling confident so phase 2 started from here
I started implementing questions from Leetcode in python to gain some coding experience in python.
this took me about 7 days and I solved about 50 questions there.
this was the most challenging part for me as I came to know the differences between the performance of Java and python and why optimizations are required in python code. -
Finally, I started reading OpenCV library documentation and used the already given methods into our use.
Challenges I faced
The most challenging part was to get the write statements during phase 2 of the preparation.
Like list comprehension and string processing can be done in c/c++ java way or pythonic way, for else loops etc which makes the code elegant and cleaner.
Key takeaways
Python was a great tool to have in my arsenal as now whenever I something, first, I think is can I write a script to automate? Almost, everything in amazon works this way as we try to improve or optimize our solutions and python definitely is an excellent tool in doing so.
Tips and advice
Learning by implementing things is the best way to learn software development and I would suggest everyone do some practicals, write a piece of code to verify the learnings you have done.
Final thoughts and next steps
There is a lot to learn into python and it is still seems to be evolving with each release, I will definitely learn Django as it seems to have some cool features to run a web server with minmal code.
2-3 days to learn the nuances of a coding language seem fast
I already have programming experience in Java and Javascript in my day to day work and also, I am a computer science graduate, so the initial phase was just to pick how to do common things in Python, and somehow I feel it is relatively easier than other languages.
yes that helps