As a scientist, learning to program can be a valuable skill that can open up a range of new opportunities and improve your research. One popular programming language for scientists is Python, which is known for its simplicity, versatility, and strong community support. There is often debate around which language is the most optimal to learn but their fundamentals remain the same. Python's versatility has seen it climb to the second most popular language behind JavaScript and is likely to increase further. Learning Python will arguably set you up to create anything you can conjure up with your imagination and might just be the most rewarding thing you do.
Here are some tips for learning to program in Python:
Start with online resources
There are many free online resources available for learning to program in Python, such as online tutorials, video courses, and interactive exercises. These resources can be a great place to start learning the basics of the language and getting a feel for how it works. One of our favourite YouTube channels that teach Python is Sentdex, whose channel not only covers introductory Python material, it also delves into leveraging Python for data science and machine learning. Sentdex, a pseudonym adopted by Harrison Kinsley, also produces engaging video content in the latest developments in AI.
Practice, practice, practice
As with any skill, the best way to learn to program in Python is to practice. This can be as simple as working through exercises and challenges, or you can try building small projects of your own to put your newfound skills to the test. If you can't think of a project yet, one interesting way of honing your newly learned Python skills is trying the challenges on either HackerRank or LeetCode. Both of which are used by recruiters within companies for technical exams that test candidates' programming skills. Not only do they provide an interesting way to practice your programming skills, but, they also familiarise you with the types of technical exams you might be asked to do if you're interested in a technical-based career.
Join a community
There are many online communities of Python programmers that can be a great resource for learning and getting help. These communities often have forums, chat rooms, and other resources where you can ask questions, get feedback, and connect with other learners. A great place to ask and answer questions is StackOverflow. Oftentimes, a question you might have has already been answered there by Python's thriving community.
We don't know about you, but one way to get us to commit to something is telling lots of people you're going to do it. That's why engaging in the #100daysofcode challenge is a fun way to hold yourself to account. Participants often share their daily activities on Twitter using the hashtag, and gather support and new networking opportunities.
Consider taking a course
If you prefer more structured learning, there are also many courses available that can teach you how to program in Python. These courses can range from short, intensive bootcamps to longer, more in-depth programs, depending on your needs and goals. We particularly like Codecademy, which features a structured and well thought-out learning plan for new-starters. Honourable mentions also go to Khan Academy, and, of course, Coursera, which features both free (if you click on the 'audit' course option) and paid tiers. The latter grants you access to certification upon course completion that you can feature on your LinkedIn profiles.
So why should you learn to program in Python as a scientist? There are many benefits to having programming skills as a scientist, including the ability to automate tasks, analyze data more efficiently, and develop custom software tools for your research. In addition, programming skills can also make you a more competitive job candidate, as many research positions now require some level of programming proficiency. Ultimately, learning to program in Python can be a valuable investment in your career as a scientist, and it can open up new doors and opportunities that might not have been available otherwise.