Anda tidak perlu memiliki pemahaman yang mendalam tentang keseluruhan proyek untuk dapat mempertahankannya. Biasanya dengan perangkat lunak besar dan kompleks, orang akan memiliki "area" khusus mereka sendiri yang mereka rawat dan mereka hanya memiliki pengetahuan 'lewat' dari seluruh sistem.
SQLite sebenarnya relatif kecil pada skala "proyek perangkat lunak besar" tetapi jika Anda melihat sesuatu seperti sistem operasi Windows, Anda akan memiliki orang-orang yang hanya bekerja pada kernel, orang-orang yang hanya bekerja pada shell, orang-orang yang hanya bekerja di Internet Explorer, orang-orang yang hanya bekerja di Window manager, dll. Seseorang yang bekerja di "shell" tidak akan dapat memperbaiki bug di kernel dengan cepat.
Ada juga manfaat yang berkembang dari proyek-proyek ini dari waktu ke waktu: mereka tidak selalu memulai yang rumit ini. Itu berarti pengembang baru biasanya dapat "dilatih" oleh pengembang yang lebih berpengalaman.
Ketika Anda bergabung dengan tim besar pengembang, Anda akan diberikan aspek tertentu dari proyek untuk dikerjakan (mungkin bug atau fitur baru) dan Anda akan memiliki pengembang lain menjadi Anda "teman" untuk beberapa iterasi pertama. Teman Anda akan memiliki pemahaman yang baik tentang area Anda bekerja dan dapat membantu Anda menemukan jalan keluar.
Untuk proyek open source seperti SQLite, sebenarnya sedikit lebih sulit karena tidak ada motivasi bagi pengembang yang ada untuk "melatih" pengembang baru. Jadi Anda akan menemukan diri Anda sedikit lebih banyak. Tetapi Anda masih dapat menemukan bantuan di forum pengembang atau milis (mis. Hanya memposting pertanyaan seperti "Saya ingin menerapkan fitur ini & itu" atau "Saya menemukan bug XYZ, di mana saya mulai mencari?" Dan Anda cenderung mendapatkan beberapa bentuk bantuan.