In November, I participated in my first Django Girls event. At the time, I was learning Ruby on Rails. I remember being astounded by the differences between Rails’ and Django’s design patterns. Although I didn’t get to write much Python that day, I was hooked. In four hours I was able to write and deploy my first Django blog. I decided to write my capstone project for Ada Developers Academy using Django and React.
Since then, I have become more involved in the coding community. I received the PyLadies scholarship to PyCon. At the last monthly PuPPy event, I gave my first lightning talk about my experience at PyCon this year. I have become friends with the fantastic founder of She’s Coding (Nathalie Steinmetz) and have volunteered at the Tech Women Rising and WIT Regatta.
As my five month internship at Tableau winds down, I have been realizing that I’ve been doing and learning a lot this past year. So far, I have moved across the country, graduated from Ada Developers Academy, learned Python and Ruby, dabbled in AWS, started my career in tech, and run my first marathon. That isn’t even all of it.
When I heard that there would be another Django Girls event. I decided that it was time for me to give back. I promptly told Nathalie from She’s Coding that I was interested in volunteering.
I’m here today and I was able to help a woman named Georgia on her coding journey. With my assistance, she was able to complete her first blog in Django. Congratulations, Georgia! We started with some Python shell calculations and learned about data structures. It’s great that I have been able to come full circle and help someone else learn Django.
Learning and teaching Django
In the coming weeks, I will be working on my capstone project for Ada Developers Academy. I have decided to make a Python application using Django. Python is a relatively new language to me, so I have spent my break doing a little research. I know that the standard practice in creating a new project is setting up a virtual environment, but what is a virtual environment and why do I need to use it?
As I understand it, creating a virtual environment for Python will allow you to isolate packages and dependencies for that specific project. If you have an updated version of Python on your system, it will not interfere with your work when you return to it because you will be using your virtual environment. While working on my capstone, this will come in handy because I am working in a group. We can decide which versions we want to use for Python and we will be able to independently work on the same project without fear of breaking it due to an unintentional upgrade.
Now for the difficult task, I have to figure out which way to set up my virtual environment. For Python 3, I have been counseled that virtual environment wrapper is the tool for the job. I’ve also seen that anaconda for Python comes with a way to set up virtual environments. Also, Python 3 comes with pyvenv. I have successfully created environments with Anaconda and virtual environment wrapper, but pyvenv is giving me some difficulties at the moment.
As with anything in the software engineering world, there are numerous ways to solve problems. This is an opportunity to learn how to research the correct tool for the task, which tools I enjoy working with, and which ones I will change next time. I anticipate that this project will be full of challenges, but I know that I am ready to meet them and learn from the mistakes.
For the past week, I’ve been having fun with HTML and CSS. The week started off slowly with lectures on HTML. HTML is a straightforward, semantic language. If you remember to close the tags, you will survive. CSS on the other hand… well, I was having difficulties at first. After working with Ruby for a while, I forgot that there are artistic options when it comes to coding.
The developer’s tools app for chrome and using the “inspect” option on webpages gave insight into the mind of developers. I was able to see in real time how to change my code so that it adhered the aesthetics that I was striving for.
A fun project that we did in class is called “Meowspace.” We were given a HTML file and had to style it as close as possible to a wireframe. A wireframe is a schematic diagram. Although I didn’t know about it at the time, flexbox for CSS would have made my project a whole lot easier. For our weekend homework, we had to come up with a personal static site. Because of this project, I learned that many filters can be placed on pictures and that you can change the shape of boxes in CSS.
Although it was fun to learn HTML and CSS, I’m excited to announce that I’ve started learning Rails! Many people have told me that frameworks such as rails will teach me to be a coding wizard of sorts. Right now, I’m in over my head, but I trust that my interest in the subject and my awesome teachers will lead me and the class to victory.