Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python in Industry

54 views

Published on

Slides from the talk given at Nirma University. Audience comprised of fifth semester Electronics & Communications (EC) Engineering students.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Python in Industry

  1. 1. Python in Industry Dharmit Shah
  2. 2. GOAL To make you aware of awesome career options for Python Programmers!
  3. 3. Topics ● Who uses Python? How do they use Python? ● What kind of problems does Python help solve? ● What are different career options for a Python programmer? ● How to become a better Python programmer?
  4. 4. Who am I? ● Developer at Red Hat ● Working on open source projects that are built using Python & Golang ● I organize and speak at various Meetups in Ahmedabad ○ Docker ○ Ansible ○ Kubernetes ○ DigitalOcean ● Firm believer in lifelong learning
  5. 5. Brief intro to Python
  6. 6. History of Python ● Developed by Guido van Rossum in late 1980s ● Named after a TV show called “Monty Python” ● Python interpreter developed using C language ● Open source - so you can contribute to it as well!
  7. 7. Which organizations use Python? ● Red Hat ● YouTube ● Instagram, Facebook ● NASA ● Google ● Microsoft ● ...many more
  8. 8. How do organizations use Python? ● Web framework for backend ● Data analysis (scientific and numeric computing) ● Machine learning & Artificial Intelligence ● Automating the boring tasks ● Configuration management ● Web Scraping ● Embedded systems
  9. 9. Web Frameworks
  10. 10. What is a framework and why use it? ● Framework is a collection of code that makes it easier to develop applications ● Web framework makes it easy to write, scale and maintain web applications ● They provide features like: ○ URL routing ○ Database manipulation ○ Security ○ Session control ● Different frameworks have different set of features
  11. 11. django (https://www.djangoproject.com/) ● Most popular web framework of Python ● Provides a lot of features to develop websites; probably most feature-rich! ● Works with number of databases using ORM (no need to learn SQL!) ● But doesn’t work so well with NoSQL ● Has a huge community of developers using it ● Extensive documentation available online!
  12. 12. Flask (http://flask.pocoo.org) ● A minimalistic framework ● Very easy to get started with as a beginner ● Doesn’t follow batteries included approach of django ● Excellent online documentation and great community of developers
  13. 13. Few other frameworks ● Bottle (http://bottlepy.org/docs/dev/index.html) ● Pyramid (http://www.pylonsproject.org/projects/pyramid/about) ● Falcon (https://falconframework.org/)
  14. 14. Data Analysis
  15. 15. What is Data Analysis? ● Process of producing meaningful information from a big (huge?) chunk of data ● Encompasses various other domains: ○ Data Mining ○ Business Intelligence ○ Predictive Analysis, etc. ● Closely related to Data Visualization ● Helps make decisions that might change the future!
  16. 16. SciPy Ecosystem (https://www.scipy.org/index.html) ● An ecosystem of opensource software for maths, science & engineering ● NumPy ○ Package for numerical computation. ○ Helps define numerical arrays and matrices ○ Perform operations on arrays & matrices ● SciPy library ○ Collection of numerical algorithms and domain-specific toolboxes ○ Signal processing, optimization, statistics and more
  17. 17. SciPy Ecosystem (contd..) ● Matplotlib ○ Popular plotting package ○ Helps plot 2D and basic 3D plots ● Pandas: provides high-performance, easy to use data structures ● scikit-image: collection of algorithms for image processing ● scikit-learn: collection of algorithms for machine learning ● IPython: an alternate interface to interact with Python interpreter
  18. 18. Data Analysis ● Data is continuously increasing! ● Making sense of data is a hot skill ● People from varying educational background are picking it up! ● Jobs & opportunities up for grabs! ● Plenty of MOOC (massive open online course) available
  19. 19. Machine Learning And Artificial Intelligence
  20. 20. What is ML and AI? ● Ability of computers to learn without being programmed! ● Ability to perform data driven decisions ● Significant overlap with Data Mining ● ML focuses on prediction, based on known properties ● Data Mining focuses on the discovery of (previously) unknown properties
  21. 21. Frameworks and libraries ● Mostly the same as the ones we covered in Data Analysis ● It’s about how we use those libraries ● Also, TensorFlow
  22. 22. Automating the Boring Tasks
  23. 23. A book! ● Automating tasks that would otherwise take hours if done manually ● Great book titled “Automate the Boring Stuff with Python” ○ Search for text in a file or across multiple files ○ Create, update, move, and rename files and folders ○ Search the Web and download online content ○ Update and format data in Excel spreadsheets of any size ○ Split, merge, watermark, and encrypt PDFs ○ Send reminder emails and text notifications ○ Fill out online forms ● https://automatetheboringstuff.com/ (free to read online!)
  24. 24. Python for Electronics Engineers
  25. 25. Python and Embedded systems ● Steadily increasing adaption ● Boards ○ MicroPython ○ Raspberry Pi ○ Arduino ● Lots and lots of documentation and tutorials available online!
  26. 26. Few projects ● Motion sensor with alarm ● Home automation system ● Use Lego toys to make robotic cars ● Send board to space (PITS : Pi In The Sky) ● ...many, many more!
  27. 27. Web Scraping
  28. 28. What is it? ● Process of extracting data from websites ● Data from websites is downloaded for later analysis ● This data is then extracted ● The extracted content may be parsed, searched, reformatted, etc.
  29. 29. Python tools for scraping ● BeautifulSoup ● Mechanize ● Scrapemark ● Scrapy
  30. 30. What else can be done with Python? ● Chatbots ● Blockchain ● Configuration Management tools ● Desktop and mobile applications
  31. 31. Career Options
  32. 32. ● Developer ○ Backend developer ○ Full Stack developer ● System Administrator ● Data Scientist ● Many more specialized roles!
  33. 33. How to get better at Python?
  34. 34. Talk is cheap, write some code! ● Participate in open source projects ● Read more Python code and then write more ● Subscribe to newsletters ○ Python Weekly ○ Import Python ○ Pycoder’s Weekly ○ Full Stack Python ● Read and learn from ton of free online material about Python ● Find a mentor if you can
  35. 35. https://goo.gl/yf7VEL Feedback! Contact Me: https://dharmitshah.com

×