Digging Into Python, Part 1
As you might already know, I’m an avid cook. I love looking at a set of given ingredients and figuring out what I can make with it. It allows me to solve a problem while being creative. It is something that I can share with others and perhaps put a smile on their face. It gives me joy to come up with something different, see the end result, and hopefully make someone happy in the process.
I feel like much of what appeals to me about cooking is what draws me to programming. Being able to take my base knowledge and to build on it to improve and explore other tools and methods for creating the end result. For me it is a way of expressing myself and impacting the world around me. One of my first interests in learning to program has been to create a recipe management application to help me keep track of and take notes on dishes I make. In the process, I have become fascinated by programming languages and development. At one point I thought I would like to change careers and be a cook. What happened in the end is I have found a passion working with code and a desire to work as a web developer.
The ChiPy Mentorship Program
One of the things that I felt I lacked in my process to become a web developer is a bit of direction or answers to the question of “what’s next?” I realized after a while that what would be helpful is to have a guide, a mentor to work with to see a project to fruition as a developer would. In comes the ChiPy Mentorship Program. I heard about the program a while back after attending a couple of their meetings. At the time I wasn’t sure which language to go with as I began my learning process. Over time and after seeing friends having a great time working with Python, I decided I wanted to learn more and to work more with the language. I decided to finally take the plunge and apply. I was accepted and am very excited to be part of the process! My mentor is Steve Kain and he has been very helpful in answering my questions and providing guidance via email (I have been in Germany for the past couple of weeks). I look forward to meeting in person when I return next week.
In the past, I have focused primarily on Ruby and looking into web development utilizing Ruby on Rails. I will say my main interests have lied in full stack web development, having looked at React and Elm in the past as well. I also have fun solving puzzles and working on coding challenges such as the cryptopals challenges. I have tended to hop around from one thing to another in moments of inspiration but not leaving a project complete to a point where I would be satisfied with it. I would say this is one of my main goals with the mentorship program. Some of my other goals include:
- A better understanding of the Python programming language
- Learn more about data structures and working with databases
- Become comfortable with testing a web application and TDD
- Get exposure to how someone in the industry works and develops a solution
- Contribute to open source projects in Python
- Gain the experience and confidence to change to a career in development
Going back to my interest in cooking and tracking recipes, I would like to create an application that will allow a user to enter and post a recipe and save it to their “cookbook”. This is something I have played with in the past but also felt it was lacking in some ways. In talking with my mentor, it seemed like a good idea to take it one step further and to work with the data provided by the users to analyze different aspects of recipes. Of interest to me is being able to see trends in terms of the types of recipes and ingredients are being used, the cuisines that are most popular, ingredients that appear more frequently, and which ingredients are most likely to be found together. I feel like this would be a good starting off point for doing more with Python including machine learning. Perhaps a game that guesses your recipe or cuisine based on the ingredients being entered. This project will most likely be a Django application utilizing a PostgreSQL database. Over time, I will add additional features to visualize recipe data provided and display recipe trends.
I hope to get closer to my goals through this project. I look forward to further working with my mentor and becoming more of a part of the Python community as well. I’m excited to be a part of the mentorship program and look forward to honing my skills as a web developer and creating more applications that people will enjoy.