Personal development - cortadocodes
This repository documents my personal development as a software engineer and Python programmer. It includes:
Together, these form a plan and a measure of my progress; as such, this repository will be added to, changed and
improved over time.
Other projects:
- Set up a VPN server on a cloud-based virtual machine
- Create an inventory system keeping track of when products need to be rotated and notifying the
owner when this is the case
- Scrape interest rates of various financial products over time and plot them on a live dashboard
- Traverse the network of dependencies in a python package and produce a graph illustrating their
linking structure (e.g. for visual inspection for circular imports)
This is the list of topics I have identified for further study and investigation.
| Topic |
Details |
Status |
| Advanced use of git (rebasing, squashing, tagging, hooks etc.) |
Here |
Completed |
| Virtual environments |
Here |
Completed |
| Regex (theory and practical use) |
Here |
Completed |
| Bash and shell control in depth |
Here |
Completed |
| Creating CLIs in python with argparse |
Here |
Completed |
| Web scraping with requests and beautifulsoup4 |
Here |
Active |
| PostgreSQL; creating, hosting and interacting with databases |
Here |
Active |
| Docker |
Here |
Active |
| Clean code and architecture |
Here |
Active |
| Compression and archiving |
Here |
Active |
| Python multiprocessing library |
Here |
Active |
| Context managers |
Here |
Active |
| Generators and yield |
Here |
Active |
| Interacting with and building RESTful APIs |
Here |
Active |
| Python packaging in depth |
Here |
|
| Testing and mocking with pytest in depth |
Here |
|
| Use of PyCharm in depth |
Here |
|
| Python decorators |
Here |
|
| Linux command line utilities |
Here |
|
| HTTP conventions |
Here |
|
| Memory architectures |
Here |
|
| Digital Ocean and Terraform |
Here |
|
| Setting up a gittea mirror |
|
|
| Lambda functions |
|
|
| Ansible |
|
|
| Daemons |
|
|
| RabbitMQ and Celery |
|
|
| File I/O including binary files and streams (including text wrappers and the python io libary) |
|
|
| Python classes in depth (including @classmethod and @staticmethod) |
|
|
| Abstract base classes |
|
|
| Principles of Test Driven Development (TDD) |
|
|
| Error handling in Python |
|
|
| os and sys python libraries |
|
|
| Python set operations |
|
|
| matplotlib and seaborn |
|
|
| Markdown vs reStructuredText |
|
|
| Sphinx documentation |
|
|
| Encoding |
|
|
| Storage formats e.g. csv vs parquet vs pickle |
|
|
| Google cloud platform in depth |
|
|
| Continuous integration and deployment |
|
|
| Mapping |
|
|
| Hashes |
|
|
| Machine learning libraries |
|
|
| The basics of Go |
|
|
| Use of vim in depth |
|
|
| Static-typing in Python |
|
|
| Hexagonal architecture |
|
|
| Python GUIs and graphics |
|
|
| Hosting webservers using e.g. Nginx |
|
|
| pandas.groupby objects further in depth |
|
|
| NoSQL databases; mongoDB |
|
|
| Cybersecurity basics for engineers |
|
|
| HypothesisWorks tests |
|
|
| Kubernetes |
|
|
| Spark and Hadoop |
|
|
| ElasticSearch |
|
|
| Airflow |
|
|
| Scala |
|
|
| Kafka |
|
|
| Blockchain basics |
|
|
These are generally shorter and lower cost courses.
| Course |
Provider |
Cost |
Certified |
Completed |
| How to use Git and GitHub |
Udacity |
Free |
No |
2018-08-09 |
| GCP Essentials Quest |
Qwiklabs |
Subscription |
Yes |
2018-08-17 |
| Learn SQL |
Codecademy |
Subscription |
No |
2018-08-25 |
| SQL: Analyzing Business Metrics |
Codecademy |
Subscription |
No |
2018-08-25 |
| SQL: Table Transformation |
Codecademy |
Subscription |
No |
2018-08-26 |
| Intro to Relational Databases |
Udacity |
Free |
No |
|
| Computer Science Fundamentals |
Brilliant |
Subscription |
No |
|
| Computer Science Algorithms |
Brilliant |
Subscription |
No |
|
| Computer Memory |
Brilliant |
Subscription |
No |
|
| Intro to Computer Science |
Udacity |
Free |
No |
|
| Software Development Process |
Udacity |
Free |
No |
|
| GCP - Infrastructure and DevOps |
QwikLabs |
PAYG |
Yes |
|
| GCP - Big Data |
QwikLabs |
PAYG |
Yes |
|
| GCP - Security, Backup & Recovery |
QwikLabs |
PAYG |
Yes |
|
| GCP - Websites & App Dev |
QwikLabs |
PAYG |
Yes |
|
| GCP - Machine Learning |
QwikLabs |
PAYG |
Yes |
|
| Intro to Machine Learning |
Udacity |
Free |
No |
|
| Artificial Neural Networks |
Brilliant |
Subscription |
No |
|
| Machine Learning |
Brilliant |
Subscription |
No |
|
| Practical Deep Learning For Coders (Parts 1 and 2) |
fast.ai |
Free |
No |
|
These are generally deeper and higher cost courses.