Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Locked learning resources

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Tips for Working on Projects

00:00 Tips for Working on Projects. In this section, I’m going to take a look at some tips for working on projects, the first of which is finding motivation. I think this is probably the most important part of this.

00:13 You need to take on a project where you feel motivated to work on it and get it over the finishing line. Hopefully, one of the projects presented in this course will provide you with the motivation needed to spend time coding it, but if not, look for something in a similar vein which you can program which will be useful to you or someone you know in their everyday life.

00:35 This can be one of the most important factors in getting a project completed. The first large project I took on and completed was one which solved a problem at the school where my girlfriend works as a technician.

00:47 It made managing one aspect of data about all of the pupils in the school much simpler, while still complying with all the regulatory needs. I learned a huge amount when coding this project, and while if I started from scratch today I would approach it in a completely different manner, it was immensely useful to go through all of the work that I did with it.

01:07 Secondly, subtasks. The analogy I normally use with this is building a rocket. You wouldn’t just build a rocket all-in-one from scratch; you would build small parts of it and test each of them individually, making sure that each component works as it should do and testing it thoroughly.

01:26 This brings us neatly to the next area: combining subtasks. Once you have all of the component parts of your program working, you can start to integrate them together and test that they work together in the way that they should do. Once again, testing is an important part of this, making sure that all of these subtasks work together to provide more comprehensive functionality. Fourth, ask for help. As an intermediate developer, you shouldn’t be expected to know everything about the language on the task that you’re programming. Asking for help is perfectly acceptable once you’ve spent a bit of time trying to solve the problem on your own.

02:04 Make sure when you do ask for help, you’re asking in a clear and concise manner and you’re making it immediately apparent what you’re asking for, and then—typically—people will be all too ready to help. There’s been many a time when I’ve been working on a problem for hours, and even the act of asking for help and quantifying what it is I need sometimes gives me the answer I need without actually having to ask the question. But when you do ask the question, often you get an authoritative and clear reply which pushes you in the right direction once more.

02:36 The final point is dependencies. It’s very easy to find a Python package which may solve a problem that you’re working on. Often, it’s just a couple of lines of code to import this into your Python project and get it up and running. However, you should take the time to check that the package that you’re importing is being maintained and is up-to-date. Otherwise, you may be taking on code which will open you up to issues with security or stability in the future.

03:02 Clearly, this isn’t a problem with large projects such as BeautifulSoup and requests, which are well supported and kept up-to-date.

03:10 While doing research for this course, I came across a number of packages which solved the problem at hand, but weren’t kept up-to-date. When looking deeper into them, you could see they had issues on places such as GitHub, which could become a problem if you were going to use any of these applications in production.

03:28 One of the greatest strengths of Python is its package ecosystem, but you do need to do your due diligence before importing any package into your project.

Become a Member to join the conversation.