The training section has been created by Andy Challis, to follow Andy, website, Linkedin.

Project ideas for aspiring developers

This repository hosts a heap of ideas and links to resources for aspiring developers to go through. Most people learn from either doing something themselves or by watching others, thats why building a personal project that you have an interest in is a great way to learn. By learning to build the project you will pick up new skills along the way.

Hints and tips

  • Think about the user experience of the project and who it is aimed at.
  • Consider adding logging to your project to help with debugging.
  • Manage your own environment by using tools such as virtualenv, Docker, VM's.
  • Save yourself the headache of losing work by version controlling your code with git.
  • Make it easy for your future self and others by documenting your code and projects detailing how to run it, the features it does/doesn't have and areas for improvement.
  • If you have peers/friends that are also developers then ask them to do a code review.
  • Follow a style guide such as google's style guide for Python and use tools that help you enforce it such as Black for Python and a good IDE such as VS Code.
  • Get into the habit of building testable code and make unit tests as part of your project.
  • Share your projects on GitHub! This will help you with future job opportunities and acts as free storage.

Ideas

Software engineering

Machine Learning

Resources

General

  • Code Wars - Enhance your coding skills by tackling some easy/medium/hard/expert coding challenges (kata), learn new languages by translating the kata and build up a repository of useful code snippets.

Python

  • 🌎 Real Python - Dan Bader and co will help navigate you through to becoming a Pythonista in no time, Real Python has plenty of advice for all ranges of abilities.

  • 🌎 PyImageSearch - Great for all things image based, including; image processing, classifications, regression, filtering, facial recognition, etc

  • 🌎 Full Stack Python - Contains a wealth of links to blogs for tutorials on very specific aspects of using Python.

  • 🎥 Sentdex

  • 🎥 Real Python

  • 🎥 Pretty Printed

  • 🎥 Corey Schafer

  • 🎥 CS Dojo

  • 🎥 Tech with Tim

Docker

Unix/Shell/Bash

SQL

NoSQL

HTML/CSS/JS

  • 🌎 W3 Schools - Absolute classic way to learn the basics of web programming, this can be a little dry so try to combine the learning with a project you have in mind and follow some video tuts too!

  • 🎥 DesignCourse - (CSS/HTML) Gary shows you how to build impeccably designed UI's and gives you tips and a great workflow to follow when taking on similar projects.

  • 🎥 The Net Ninja - (Javascript)

Git

Markdown