Maddy's reflection on the RTP Python Meetup

by Maddy

11 Jun 2018

Cultural Immersion into Python

Test Driven Development with RTP Python

For the cultural immersion in the tech community, I attended a meeting with the RTP Python group, hosted and led by a self-identified Python-Guru. I was fortunate enough to attend the meetup with 2 other people from our class, which made any potential apprehension about meeting up with this group disappear. The meetup was held at a coffee shop in Durham, and throughout the two hours, there were a total of 11 people who attended the meeting. Right from the start, we each went around the table and discussed our backgrounds and interests in Python, this included our familiarity with the program (which was extremely varied from “I’ve been doing Python for several years” to “I am the newest of newbs at learning Python”). There were actually two other individuals present who seemed to know as much or, dare I say, a little less than I do about Python, based on what they told the group. Everyone present was at the meeting because they were truly interested in learning Python and this established group seems to work well for some. The topic for this meeting was Test Driven Development, which was described as the process of writing tests that cause the program to intentionally fail until you build the code so that each test eventually passes. He also discussed how it can be particularly useful when working on large coding projects involving many people (e.g. open source projects). These tests provide a means for tracking errors and keeping one person’s code from “breaking” another person’s code.

Following introductions, the coordinator started going right into the test code he had created for his work, which he shared with the group by sharing his screen on a Google Hangout (I had never even heard of Google Hangout until about 2 weeks ago and now I seem to hear about them all the time). Throughout the meetup, I was able to keep up with a surprising amount of what was discussed, but there was also a significant bit that was over my head. Some of the topics discussed included:

  • CSP
  • test cases
  • error messages during testing
  • decorations
  • unittest
  • super (on functions)
  • itertools
  • collections
  • tuples
  • sets

Of these, I had the most difficulty understanding decorations and supers.

At one point during the discussion, the coordinator talked about how he breaks down the test program into tiny chunks to make sure the code doesn’t break any tests. So the test program itself is a test suite made up of classes and each class contains specific test functions. To check to make sure the program works, he will test the specific functions separately. This method of testing the code struck me as very similar to how we have been taught to approach testing our code throughout this class, both by taking projects bit by bit and constantly checking code at the microscopic level to easily identify potential issues with the code.

Concluding Thoughts

The meetup provided a very open environment to individuals like myself with limited knowledge of Python. The content itself was maybe a little more challenging to follow, but had I come to the group meeting with specific questions, I know that the coordinator would have been more than willing to answer my questions with the whole group. Because the group meets so often, I do believe it might be beneficial for group members hoping to attend the meetups if the weekly discussion had a level of difficulty on the material indicated in the meetup description, just to give attendees an idea of what to expect. During introductions, one person did say that they knew Matlab (a program I took a class in) but struggled getting a job with it (reasons as to why Matlab isn’t as desirable point to the cost of Matlab for a non-university institution/company), so they are now learning Python in hopes of being a more viable candidate in the workforce. For me this is discouraging because I have knowledge of Matlab that may not be very valuable but also encouraging because I am gaining experience with Python that may be more valuable in the workforce. I know I also must take this one person’s experience with a grain of salt because it is just one person’s experience and doesn’t equate to every possible experience.

Further, resources such as the RTP Python group may be very useful to me as I move forward with other coding projects outside of the class setting and attempt to maintain and even improve my skills with Python.

Maddy is a Professional Science Master's student at UNC-Chapel Hill studying Biomedical & Health Informatics. Find Maddy on Twitter, Github, and on the web.