You know what they say about cat ownership? In some cases you don’t go out looking for a cat, the cat sometimes picks you. In that sense, the python programming language seems to have worked its way into my life. I never planned on ever using it as much as I do and embracing it with the kind of enthusiasm that befits a newly initiated cult member. I’ve taken a few “learn python” courses and tutorials on a few platforms, but it never got me too excited. I was always turned off by the syntax, the coding environments (IDLE) and the fact that I never quite saw the big picture beyond “What is a variable?” and mathematical computations. I would give it a go, get to the part about functions and quickly lose interest. I always got a little lazy a few days in and then justified my laziness by questioning the practicality of trying to learn code in the first place.
When I got hired as an analytics specialist all the basic web development experience came in handy, especially while working with tag managers and analytics platforms. One day, a few weeks into the new job, I was asked to figure out how to scrape content from word and pdf documents. The idea was to come up with a means of batch automating the conversion of text content from various documents into HTML tables for display on a website. After googling a bit, I discovered the e-book Automate the Boring Stuff with Python and realized that python and the associated libraries were the ticket.
I was shocked. It felt like I was able to accomplish quite a lot and impress people at work with something I literally ‘picked up’ 3 days prior. I didn’t really know what I was doing, and I still don’t know what I’m doing. Somehow, this doesn’t bother me because 99.9% of the time I can figure out how to accomplish a task in python or a library by using a search engine or stack overflow. Most of the problems I’ve faced have been solved in countless ways by other people! A lot of my coding in python is just grabbing libraries and code online, repurposing my own stuff and plugging it all together. It feels a bit like playing with magic lego bricks, and it’s a blast!
It snowballed from there. So far on the job, I’ve had the opportunity to research and build internal business tools including:
an automated excel formatter that uses a simple GUI and runs as a Windows desktop application using PySimpleGUI
A QR-code generator app with qrcode
A NLP workflow to analyze large collections of text and produce ‘wordcloud’ and ngram visualizations. There are tons of resources out there. I liked this
A fast and easy to use customer website feedback analytics toolkit and workflow using pandas, NumPy and sqlite that replaced a gigantic excel workbook that crashed if you looked at it funny. (another thing I picked up on the job was SQL, which was a snap with python).
Full stack Interactive data visualization web apps with plotly/Dash to build online dynamic reports
After having some experience building with React, building apps with Dash was very intuitive. Using React and Flask under the hood, it’s a low-code path to creating slick data visualization projects with some basic python syntax.
I'm hardly a ‘python master’, but in the first four months of coding on a regular basis at work, I’ve been hugely productive. I didn’t have to go to a bootcamp or anything like that either! Making little utilities for myself and for my coworkers to speed up and automate our work has been the big payoff for learning python. The experience has been nothing but positive and I’ve seen a lot of growth professionally! I can’t wait to see what else I can do with this stuff in the coming months. Will I ever take a structured learning approach and invest in a bootcamp?
I’m not sure I really need to!