I was fortunate enough to take some classes in college that included Python in its curriculum, giving me a certain level of familiarity with it. But the funny thing was, there wasn’t a class that specifically focused on Python. I had the ability to apply general knowledge of how programming languages operate to Python, but that isn’t really knowing Python and what makes it special.
This portion of my role at CrossBrowserTesting allowed me to become introduced to these new concepts and languages quickly. Although I never had to dive deeply into the semantics of the programming languages and coding concepts, my role would allow me to be exposed to many facets of each language.
However, the other portion of my job deals with small programming projects that require experience into how our system works. This was where never having a detailed, structured look at Python, was a hindrance in my productivity.
Enter my part time position as a teaching assistant at LaunchCode. The languages that they were teaching just happened to include Python. I was able to learn and help teach the fundamentals of Python in a condensed, and a somewhat rapidly progressing class setting. It was different from seeing something coded in Python that I didn’t understand and googling it. The ideas were presented in a linear fashion and this allowed me to continuously build upon my base of general knowledge. Eventually, my learning grew from the basics to the slightly more advanced.
I learned everything from how to do loops in Python – this included for loops and how to handle cases where you do not want to deal with every single object in an list using the step parameter – to how to create, initialize, and print classes using the built in syntax for special functions in classes – the double underscore. We also learned how to handle inheritance. Finally, we picked up on how to prepare web applications through a framework called Flask. All of this led to me feeling as if I had a standard grasp on the basic Pythonic concepts. It gave me the chance to really understand what makes Python special and the general ability to look at Python code and comprehend what task is being done.
You never know when a short walkthrough course of any programming language can lead you to a solid foundation of knowledge. You can draw upon this knowledge when encountering new tasks. Additionally to broad overviews of coding languages and intensive learning can also be important. I have recently taken on the task of reading a very large book called “Learning Python, 5th edition” by Mark Lutz. This book enabled one of my colleagues, who has been learning programming for under 2 years, to answer a question about Python that I asked of my team previously. He gave me an equivalent answer of a programmer with over 6 years of experience, showcasing that knowledge is knowledge, no matter who knows it.
In conclusion, programming isn’t easy, nothing worthwhile is. It is, however, a library of ideas that doesn’t change much, and thus, can be learned with repetition and exposure. If you find a way to motivate yourself through the times when you can’t get example code to work for you, if you learn how to search for the answers to questions that already have been solved, if you learn how to reduce what’s wrong with your code through tools and problem-solving skills, then you can become a Python programmer in your own right.