To make you aware of awesome career options for
● 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?
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
● Firm believer in lifelong learning
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!
Which organizations use Python?
● Red Hat
● Instagram, Facebook
● ...many more
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
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
○ Session control
● Different frameworks have different set of features
● 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!
● 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
Few other frameworks
● Bottle (http://bottlepy.org/docs/dev/index.html)
● Pyramid (http://www.pylonsproject.org/projects/pyramid/about)
● Falcon (https://falconframework.org/)
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!
SciPy Ecosystem (https://www.scipy.org/index.html)
● An ecosystem of opensource software for maths, science & engineering
○ 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
SciPy Ecosystem (contd..)
○ 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
● 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
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
Frameworks and libraries
● Mostly the same as the ones we covered in Data Analysis
● It’s about how we use those libraries
● Also, TensorFlow
● 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!)
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.
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