This is the format of my ~/programming folder:
~/programming
archive/
// This houses archived companies, I still want to keep their code, but
// I don't need to see it every day
personal/
archive/
projects/
// ... If something archived is a "project" or, it contains more
// than one git repository with multiple languages, it goes here
ansible/
ansible_docs/
ansible_html/
// ..etc
c/
c++/
html/
java/
android/
nodejs/
obj-c/
ios/
python/
ruby/
rails/
oss/
// ... Smaller open source projects and forks
sketch_files/
// ... I use sketch to prototype ideas all the time, I store all the
// files here
// ... active personal projects go here, keep active count < 5
mikup/
scraper/
// ... etc
example_company/
archive/
// ... Archived example_company projects
oss/
// ... Smaller open source projects and forks go in here
example_company-api/
example_company-web-app/
// ... Other projects from example_company
// ... Other companies I am working with