# പ്രോഗ്രാമർ അല്ലാത്ത ഒരാൾക്ക് ചെയ്യാൻ കഴിയുന്ന കാര്യങ്ങൾ
## ശ്രദ്ധിക്കാൻ  തുടങ്ങുക

ഓപ്പൺ സോഴ്‌സിലെ എല്ലാം മറ്റുള്ളവരെ ഉൾക്കൊള്ളുന്നു.
നിങ്ങൾ ഒരു ടീമിൽ ചേരാൻ നോക്കുകയാണ്, അതിനർത്ഥം കമ്മ്യൂണിറ്റിയെക്കുറിച്ചും അത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്നും മനസ്സിലാക്കുക എന്നാണ്.
ഒരു പ്രോജക്‌റ്റിലേക്ക് ചെന്ന് "ഹായ്, ഈ പ്രോജക്‌റ്റ് ഇങ്ങനെ പ്രവർത്തിക്കണം എന്നാണു ഞാൻ കരുതുന്നത് " എന്ന് പറയുന്നത് ഒരു നല്ല കാര്യമായി കണക്കാക്കില്ല.
ചില പ്രോജക്‌റ്റുകൾ അത്തരം സമീപനത്തെ സ്വാഗതം ചെയ്‌തേക്കാം, എന്നാൽ പ്രോജക്‌റ്റ് കുറച്ച് കാലമായി പ്രവർത്തിക്കുന്നതാണെങ്കിൽ , അങ്ങനെ ഒരു  മനോഭാവം സ്വീകരിക്കാനുള്ള സാധ്യത കുറവാണു . **പ്രോജക്റ്റിന് എന്താണ് വേണ്ടതെന്ന് അറിയാനുള്ള ഏറ്റവും നല്ല മാർഗം ശ്രദ്ധിച്ചു കേൾക്കുക എന്നതാണ് .**

1. **ഒരു മെയിലിംഗ് ലിസ്റ്റിൽ ചേരുക**: പല പ്രോജക്‌റ്റുകൾക്കും, പ്രോജക്‌റ്റിൻ്റെ വികസനത്തെക്കുറിച്ചുള്ള ആശയവിനിമയത്തിൻ്റെ പ്രധാന മാർഗമാണ് മെയിലിംഗ് ലിസ്റ്റ്.
വലിയ പ്രോജക്റ്റുകളിൽ, തിരഞ്ഞെടുക്കാൻ നിരവധി മെയിലിംഗ് ലിസ്റ്റുകൾ ഉണ്ട്.
ഉദാഹരണത്തിന്, PostgreSQL പ്രോജക്റ്റിന് അതിൻ്റെ മെയിലിംഗ് ലിസ്റ്റ് പേജിൽ 12 ഉപയോക്തൃ-അധിഷ്ഠിത ലിസ്റ്റുകളും ആറ് ഡെവലപ്പർ ലിസ്റ്റുകളും ഉണ്ട്.
പ്രധാന ഉപയോക്തൃ-അധിഷ്‌ഠിത ലിസ്‌റ്റും  പ്രധാന ഡെവലപ്പർ ലിസ്റ്റും പിന്തുടരാനാണു  ഞാൻ നിർദേശിക്കുന്നത് .

2. **ഒരു ബ്ലോഗ് പിന്തുടരുക**: കോർ ഡെവലപ്പർമാർ പരിപാലിക്കുന്ന ബ്ലോഗുകൾ ഭാവിയിലെ റിലീസുകളിൽ വരാനിരിക്കുന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ പലപ്പോഴും നൽകുന്നു,
അവിടെ എത്താൻ എന്തൊക്കെ ചെയ്തുവെന്നും . പ്രൊജെക്ടുമായി ബന്ധപ്പെട്ട നിരവധി ഉറവിടങ്ങളിൽ നിന്നുള്ള വാർത്തകളും ബ്ലോഗ് എൻട്രികളും ഒരു പ്ലാനറ്റ് സൈറ്റ് സമാഹരിക്കുന്നു.
planet.gnome.org അല്ലെങ്കിൽ planet.mysql.com പോലുള്ള ഒരു പ്ലാനറ്റ് സൈറ്റ് ഉണ്ടെങ്കിൽ, അവിടെ ആരംഭിക്കുക. "planet <projectname>" എന്നതിനായി ഗൂഗിളിൽ തിരയുക.

3. **ഒരു IRC ചാനലിൽ ചേരുക**: പല ഓപ്പൺ സോഴ്‌സ് പ്രോജക്‌റ്റുകൾക്കും സമർപ്പിത ഇൻ്റർനെറ്റ് റിലേ ചാറ്റ് (IRC) ചാനലുകൾ ഉണ്ട്, അവിടെ ഡവലപ്പർമാരും ഉപയോക്താക്കളും പ്രശ്‌നങ്ങളും വികസനവും ചർച്ചചെയ്യുന്നു.
ചാനലിനെ എന്താണ് വിളിക്കുന്നതെന്നും അത് ഏത് ഐആർസി നെറ്റ്‌വർക്കിലാണെന്നും വിശദാംശങ്ങൾക്കായി പ്രോജക്റ്റിൻ്റെ വെബ്‌സൈറ്റ് പരിശോധിക്കുക.

**ടിക്കറ്റുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുക**
ഏതൊരു ഓപ്പൺ സോഴ്‌സ് പ്രോജക്റ്റിൻ്റെയും ഹൃദയമാണ് കോഡ്, എന്നാൽ കോഡ് എഴുതുന്നത് സംഭാവന നൽകാനുള്ള ഏക മാർഗമാണെന്ന് കരുതരുത്.
പുതിയ സവിശേഷതകൾ സൃഷ്ടിക്കുന്നതിനും ബഗുകൾ പരിഹരിക്കുന്നതിനുമുള്ള തിരക്കിൽ കോഡിൻ്റെ പരിപാലനവും കോഡിന് ചുറ്റുമുള്ള സിസ്റ്റങ്ങളും പലപ്പോഴും അവഗണിക്കപ്പെടുന്നു.
ഒരു പ്രോജക്റ്റിലേക്ക് നിങ്ങളുടെ കാൽ എത്തിക്കുന്നതിനുള്ള എളുപ്പമാർഗ്ഗമായി ഈ മേഖലകൾ നോക്കുക.
മിക്ക പ്രോജക്റ്റുകൾക്കും പൊതുവായി കാണാവുന്ന ട്രബിൾ ടിക്കറ്റ് സംവിധാനമുണ്ട്, അത് പ്രോജക്റ്റിൻ്റെ വെബ്‌സൈറ്റിൻ്റെ മുൻ പേജിൽ നിന്ന് ലിങ്ക് ചെയ്‌ത് ഡോക്യുമെൻ്റേഷനിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
ഉപയോക്താക്കളും ഡെവലപ്പർമാരും തമ്മിലുള്ള ആശയവിനിമയത്തിൻ്റെ പ്രാഥമിക മാർഗമാണിത്. അത് പുതുക്കി  നിലനിർത്തുന്നത് പ്രോജെക്ടിനെ  സഹായിക്കാനുള്ള മികച്ച മാർഗമാണ്.
ടിക്കറ്റിംഗ് സമ്പ്രദായത്തിൽ , നിങ്ങൾക്ക് പ്രത്യേക അനുമതികൾ ആവശ്യമായി വന്നേക്കാം, ടിക്കറ്റുകൾ വൃത്തിയാക്കാൻ സഹായിക്കണമെന്ന് നിങ്ങൾ പറയുമ്പോൾ , മിക്ക പ്രൊജക്‌റ്റ് നേതാക്കളും നിങ്ങൾക്ക് അനുമതി നൽകുന്നതിൽ സന്തോഷിക്കും.

4. **ഒരു ബഗ് ഡയഗ്നോസ് ചെയ്യുക**: ബഗുകൾ പലപ്പോഴും മോശമായി റിപ്പോർട്ട് ചെയ്യപ്പെടുന്നു.
ഒരു ബഗ് കണ്ടുപിടിക്കുന്നതും പരീക്ഷിക്കുന്നതും പ്രശ്നത്തിൻ്റെ പ്രത്യേകതകൾ കണ്ടെത്തുന്നതിനുള്ള ലെഗ് വർക്ക് ഉപയോഗിച്ച് ഡവലപ്പർമാരുടെ സമയം ലാഭിക്കാൻ സഹായിക്കും.
"ഞാൻ X ചെയ്യുമ്പോൾ സോഫ്‌റ്റ്‌വെയർ പ്രവർത്തിക്കുന്നില്ല" എന്ന് ഒരു ഉപയോക്താവ് റിപ്പോർട്ട് ചെയ്‌താൽ, ആ പ്രശ്‌നത്തിൻ്റെ പ്രത്യേകതകൾ മനസിലാക്കാൻ കുറച്ച് സമയം ചെലവഴിക്കുക.
ഇത് ആവർത്തിച്ചുള്ളതാണോ? ആവർത്തിച്ച് പ്രശ്‌നമുണ്ടാക്കാൻ നിങ്ങൾക്ക് ഒരു കൂട്ടം ഘട്ടങ്ങൾ സൃഷ്ടിക്കാനാകുമോ? ഒരു ബ്രൗസറിൽ മാത്രം സംഭവിക്കുന്നത് മറ്റൊന്നല്ല, അല്ലെങ്കിൽ ഒരു ഡിസ്ട്രോ എന്നാൽ മറ്റൊന്ന് അല്ലാത്തത് പോലെയുള്ള പ്രശ്നം നിങ്ങൾക്ക് ചുരുക്കാനാകുമോ?

പ്രശ്‌നത്തിൻ്റെ കാരണം എന്താണെന്ന് നിങ്ങൾക്കറിയില്ലെങ്കിൽപ്പോലും, സാഹചര്യങ്ങൾ ചുരുക്കാൻ നിങ്ങൾ നടത്തുന്ന പരിശ്രമം അത് പരിഹരിക്കുന്നത് മറ്റൊരാൾക്ക് എളുപ്പമാക്കുന്നു.
നിങ്ങൾ കണ്ടെത്തുന്നതെന്തും, എല്ലാവർക്കും കാണുന്നതിനായി ബഗ് സിസ്റ്റത്തിലെ ടിക്കറ്റിൽ ചേർക്കുക.

5. **ഫിക്സഡ് ബഗുകൾ അടയ്ക്കുക**: പലപ്പോഴും ബഗുകൾ കോഡ്ബേസിൽ പരിഹരിച്ചിട്ടുണ്ടെങ്കിലും അവയെക്കുറിച്ച് റിപ്പോർട്ട് ചെയ്യുന്ന ടിക്കറ്റുകൾ ടിക്കറ്റിംഗ് സിസ്റ്റത്തിൽ അപ്ഡേറ്റ് ചെയ്യപ്പെടില്ല.
ഈ ക്രാഫ്റ്റ് വൃത്തിയാക്കുന്നത് സമയമെടുക്കും, പക്ഷേ ഇത് മുഴുവൻ പ്രോജക്റ്റിനും വിലപ്പെട്ടതാണ്.

ഒരു വർഷത്തിലേറെ പഴക്കമുള്ള ടിക്കറ്റുകൾക്കായുള്ള ടിക്കറ്റ് സംവിധാനം അന്വേഷിച്ച് ആരംഭിക്കുക, ബഗ് ഇപ്പോഴും നിലവിലുണ്ടോ എന്ന് നോക്കുക.
ബഗ് പരിഹരിച്ചിട്ടുണ്ടോ എന്നും അത് അടയ്ക്കാൻ കഴിയുമോ എന്നും അറിയാൻ പ്രോജക്റ്റിൻ്റെ റിലീസ് മാറ്റ ലോഗ് പരിശോധിക്കുക.
അത് പരിഹരിച്ചതായി അറിയാമെങ്കിൽ, ടിക്കറ്റിലെ പതിപ്പ് നമ്പർ ശ്രദ്ധിക്കുകയും അത് അടയ്ക്കുകയും ചെയ്യുക.

സോഫ്റ്റ്‌വെയറിൻ്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഉപയോഗിച്ച് ബഗ് പുനഃസൃഷ്ടിക്കാൻ ശ്രമിക്കുക.
ഏറ്റവും പുതിയ പതിപ്പ് ഉപയോഗിച്ച് ഇത് പുനർനിർമ്മിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, അത് ടിക്കറ്റിൽ ശ്രദ്ധിക്കുകയും അത് അടയ്ക്കുകയും ചെയ്യുക.
അത് ഇപ്പോഴും നിലവിലുണ്ടെങ്കിൽ, ടിക്കറ്റിൽ അത് ശ്രദ്ധിക്കുകയും തുറന്നിടുകയും ചെയ്യുക.

കോഡ് ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു
എല്ലാ അനുഭവ തലങ്ങളിലുമുള്ള പ്രോഗ്രാമർമാർക്ക് പ്രോജക്റ്റിലെ കോഡ് ഉപയോഗിച്ച് സഹായിക്കാനാകും.
നിങ്ങളുടെ പ്രിയപ്പെട്ട പ്രോജക്റ്റിലേക്ക് യഥാർത്ഥ സംഭാവനകൾ നൽകാൻ നിങ്ങൾ ഒരു കോഡിംഗ് ജീനിയസ് ആയിരിക്കണമെന്ന് കരുതരുത്.

നിങ്ങളുടെ ജോലിയിൽ കോഡിലെ മാറ്റം ഉൾപ്പെടുന്നുവെങ്കിൽ, സംഭാവകരിൽ നിന്ന് കോഡ് ലഭിക്കുന്നതിന് പ്രോജക്റ്റ് ഉപയോഗിക്കുന്ന രീതി അന്വേഷിക്കുക.
ഓരോ പ്രോജക്ടിനും അതിൻ്റേതായ വർക്ക്ഫ്ലോ ഉണ്ട്, അതിനാൽ നിങ്ങൾ കോഡ് സമർപ്പിക്കുന്നതിന് മുമ്പ് അത് എങ്ങനെ ചെയ്യണമെന്ന് ചോദിക്കുക.

ഉദാഹരണത്തിന്, PostgreSQL പ്രോജക്റ്റ് അതിൻ്റെ പ്രക്രിയയിൽ വളരെ കർക്കശമാണ്: കോഡ് പരിഷ്ക്കരണങ്ങൾ ഒരു മെയിലിംഗ് ലിസ്റ്റിലേക്ക് പാച്ച് രൂപത്തിൽ അയയ്‌ക്കുന്നു, അവിടെ പ്രധാന ഡെവലപ്പർമാർ മാറ്റത്തിൻ്റെ എല്ലാ വശങ്ങളും സൂക്ഷ്മമായി പരിശോധിക്കുന്നു. മറുവശത്ത് പാരറ്റ് പോലെയുള്ള ഒരു പ്രോജക്റ്റ് ഉണ്ട്, അവിടെ കോഡ്ബേസിലേക്ക് കമ്മിറ്റ് പ്രിവിലേജുകൾ ലഭിക്കുന്നത് എളുപ്പമാണ്. പ്രോജക്റ്റ് GitHub ഉപയോഗിക്കുന്നുവെങ്കിൽ, GitHub-ൻ്റെ പുൾ അഭ്യർത്ഥന സവിശേഷത ഉപയോഗിക്കുന്ന ഒരു വർക്ക്ഫ്ലോ ഉണ്ടായിരിക്കാം. എല്ലാ പ്രോജെക്ടറും വൈവിധ്യമേറിയതാണ് .

നിങ്ങൾ കോഡ് പുതുക്കുമ്പോഴെല്ലാം , കമ്മ്യൂണിറ്റിയുടെ ഉത്തരവാദിത്തമുള്ള ഒരു അംഗമായി നിങ്ങൾ പ്രവർത്തിക്കുന്നുവെന്നും ബാക്കി കോഡ്‌ബേസുമായി പൊരുത്തപ്പെടുന്നതിന് നിങ്ങളുടെ കോഡ് ശൈലി നിലനിർത്തുന്നുവെന്നും ഉറപ്പാക്കുക. നിങ്ങൾ ചേർക്കുന്നതോ പരിഷ്ക്കരിക്കുന്നതോ ആയ കോഡ് ബാക്കിയുള്ളത് പോലെയായിരിക്കണം. ബ്രേസിംഗ് ശൈലിയോ ഇന്റേൺഡേഷൻ    സ്‌പെയ്‌സുകൾ കൈകാര്യം ചെയ്യുന്നതോ ആയ രീതി നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ടേക്കില്ല.എന്തിരുന്നാലും ആ സ്റ്റാൻഡേർഡുകളുമായി ഒത്തുചേരാത്ത കോഡ് സമർപികുനത് വളരെ അധികം മോശമായ ഒരു കാര്യം ആണ് . "എനിക്ക് നിന്റെ രീതികൾ ഇഷ്ടമല്ല,എന്റെ രീതികൾ ആണ് നല്ലത്,അതുകൊണ്ട് ഞാൻ ചെയുന്ന പോലെ ചെയുക"  എന്ന് പറയുന്നത് പോലെ തന്നെ ആണ് ഇതും .

6. **ഒരു ബീറ്റാ അഥവാ റീലീസ് ക്യാൻഡിഡേറ്റ് നെ പരീക്ഷിക്കുക**: ഒന്നിലധികം പ്ലാറ്റ്‌ഫോമുകളിൽ പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന ഏതൊരു പ്രോജക്റ്റിനും എല്ലാത്തരം പോർട്ടബിലിറ്റി പ്രശ്‌നങ്ങളും ഉണ്ടാകാം.
ഒരു റിലീസ് സമീപിക്കുകയും ഒരു ബീറ്റ അല്ലെങ്കിൽ റിലീസ് കാൻഡിഡേറ്റ് പ്രസിദ്ധീകരിക്കുകയും ചെയ്യുമ്പോൾ, അത് പല പ്ലാറ്റ്‌ഫോമുകളിൽ നിരവധി ആളുകൾ പരീക്ഷിക്കുമെന്ന് പ്രോജക്റ്റ് ലീഡർ പ്രതീക്ഷിക്കുന്നു.
നിങ്ങൾക്ക് അത്തരം ആളുകളിൽ ഒരാളാകാനും നിങ്ങളുടെ പ്ലാറ്റ്‌ഫോമിൽ പാക്കേജ് പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കാനും സഹായിക്കാനാകും.

സാധാരണയായി നിങ്ങൾ സോഫ്റ്റ്‌വെയർ ഡൗൺലോഡ് ചെയ്യാനും നിർമ്മിക്കാനും പരിശോധിക്കാനും മാത്രമേ ആവശ്യമുള്ളൂ, എന്നാൽ നിങ്ങൾ അസാധാരണമായ വിതരണത്തിലോ ഹാർഡ്‌വെയറിലോ ആണെങ്കിൽ പ്രോജക്റ്റിൻ്റെ മൂല്യം വളരെ വലുതായിരിക്കും.
ബിൽഡ്, ടെസ്റ്റ് വർക്കുകൾ എന്നിവ റിപ്പോർട്ട് ചെയ്യുന്നത്, വരാനിരിക്കുന്ന റിലീസ് ദൃഢമാണെന്ന് പ്രോജക്റ്റ് ലീഡർമാരെ അറിയാൻ സഹായിക്കുന്നു.

7. **ഒരു ബഗ് പരിഹരിക്കുക**: സാധാരണയായി ഇവിടെയാണ് കോഡ് ആരംഭിക്കാൻ ആഗ്രഹിക്കുന്ന സഹകാരികൾ.
ഇത് ലളിതമാണ്: ടിക്കറ്റ് സിസ്റ്റത്തിൽ രസകരമായ ഒരു ബഗ് കണ്ടെത്തി കോഡിൽ അത് പരിഹരിക്കാൻ ശ്രമിക്കുക.
ഉചിതമെങ്കിൽ കോഡിൽ തിരുത്തൽ രേഖപ്പെടുത്തുക.
നിങ്ങൾ ഉറപ്പിച്ച കോഡിൻ്റെ സ്പോട്ട് പരിശോധിക്കാൻ ടെസ്റ്റ് സ്യൂട്ടിലേക്ക് ഒരു ടെസ്റ്റ് ചേർക്കുന്നത് നല്ലതാണ്; ചില പ്രോജക്റ്റുകൾക്ക് ടെസ്റ്റുകൾ ഉൾപ്പെടുത്തുന്നതിന് ബഗ് പരിഹരിക്കലുകൾ ആവശ്യമാണ്. അപരിചിതമായ ഈ കോഡ്ബേസിന് ചുറ്റും നോക്കുമ്പോൾ കുറിപ്പുകൾ സൂക്ഷിക്കുക. ബഗ് പരിഹരിക്കാൻ നിങ്ങൾക്ക് കഴിയുന്നില്ലെങ്കിലും, പരിഹരിക്കാനുള്ള ശ്രമത്തിൻ്റെ ഭാഗമായി നിങ്ങൾ കണ്ടെത്തിയ കാര്യങ്ങൾ ടിക്കറ്റിൽ രേഖപ്പെടുത്തുക. നിങ്ങൾ കണ്ടെത്തുന്നത് നിങ്ങളുടെ പിന്നാലെ വരുന്നവരെ സഹായിക്കുന്നു.

8. **ഒരു ടെസ്റ്റ് എഴുതുക**: മിക്ക പ്രോജക്റ്റുകൾക്കും കോഡ് പരിശോധിക്കുന്ന ഒരു ടെസ്റ്റ് സ്യൂട്ട് ഉണ്ട്, എന്നാൽ അതിൽ കൂടുതൽ ടെസ്റ്റുകൾ ചേർക്കാൻ കഴിയാത്ത ഒരു ടെസ്റ്റ് സ്യൂട്ട് സങ്കൽപ്പിക്കാൻ പ്രയാസമാണ്.
ടെസ്റ്റ് സ്യൂട്ട് പരിശോധിക്കാത്ത സോഴ്‌സ് കോഡിലെ ഏരിയകൾ തിരിച്ചറിയാൻ, C-നുള്ള gcov അല്ലെങ്കിൽ Devel::Cover-നുള്ള ഒരു ടെസ്റ്റ് കവറേജ് ടൂൾ ഉപയോഗിക്കുക.
തുടർന്ന്, അത് മറയ്ക്കാൻ സ്യൂട്ടിലേക്ക് ഒരു ടെസ്റ്റ് ചേർക്കുക.

9. **ഒരു കംപൈലർ മുന്നറിയിപ്പ് നിർത്തലാക്കുക**: പല സി-അധിഷ്‌ഠിത പ്രോജക്‌റ്റുകൾക്കായുള്ള ബിൽഡ് പ്രോസസ്സ് പലപ്പോഴും വിചിത്രമായ കംപൈലർ മുന്നറിയിപ്പ് ഫ്ലാഗ് സ്‌ക്രീനിലേക്ക് തുപ്പുന്നു.
ഈ മുന്നറിയിപ്പുകൾ സാധാരണയായി ഒരു പ്രശ്നത്തിൻ്റെ സൂചകങ്ങളല്ല, പക്ഷേ അവയ്ക്ക് അത് പോലെ കാണാനാകും.
വളരെയധികം മുന്നറിയിപ്പുകൾ ഉള്ളത് അരൗചകം ആണ് .
കോഡ് യഥാർത്ഥത്തിൽ ഒരു ബഗ്  ഉണ്ടോ  എന്ന് പരിശോധിക്കുക. ഇല്ലെങ്കിൽ, ഉറവിടത്തെ നിശബ്ദമാക്കുന്ന ഈ തെറ്റായ പോസിറ്റീവുകൾ മറയ്ക്കാൻ സഹായിക്കുന്നു.

10. **ഒരു കമന്റ്  ചേർക്കുക**:
നിങ്ങൾ കോഡ് പരിശോധിക്കുമ്പോൾ, ആശയക്കുഴപ്പമുണ്ടാക്കുന്ന ചില സ്ഥലങ്ങൾ നിങ്ങൾ കണ്ടെത്തിയേക്കാം.
നിങ്ങൾ ആശയക്കുഴപ്പത്തിലാണെങ്കിൽ, മറ്റുള്ളവരും അങ്ങനെയാകാൻ സാധ്യതയുണ്ട്. അവ കോഡിൽ രേഖപ്പെടുത്തി ഒരു പാച്ച് സമർപ്പിക്കുക.
ഡോക്യുമെൻ്റേഷനുമായി പ്രവർത്തിക്കുക
ഡോക്യുമെൻ്റേഷൻ സാധാരണയായി ഒരു പ്രോജക്റ്റിൻ്റെ ഭാഗമാണ്, അത് ഷോർട്ട് ഷ്രിഫ്റ്റ് ലഭിക്കുന്നു.
ആരുടെയെങ്കിലും കണ്ണിലൂടെ അതിൽ പ്രവേശിക്കുന്നതിനുപകരം, പ്രോജക്റ്റുമായി പരിചയമുള്ളവരുടെ വീക്ഷണകോണിൽ നിന്ന് എഴുതിയതും ഇത് കഷ്ടപ്പെടാം.
നിങ്ങൾ എപ്പോഴെങ്കിലും ഒരു പ്രോജക്‌റ്റിനായി ഡോക്‌സ് വായിച്ചിട്ടുണ്ടെങ്കിൽ, "ഈ മാനുവൽ പ്രതീക്ഷിക്കുന്നത് പോലെയാണ് എനിക്ക് പാക്കേജ് എങ്ങനെ ഉപയോഗിക്കണമെന്ന് ഇതിനകം അറിയാമെന്ന്", ഞാൻ എന്താണ് സംസാരിക്കുന്നതെന്ന് നിങ്ങൾക്കറിയാം.
പ്രൊജക്‌റ്റിനോട് അടുപ്പമുള്ളവർ ശ്രദ്ധിക്കാത്ത ഡോക്യുമെൻ്റേഷനിലെ പോരായ്മകൾ പലപ്പോഴും ഒരു കൂട്ടം പുതിയ കണ്ണുകൾക്ക് ചൂണ്ടിക്കാണിക്കാൻ കഴിയും.

11. **ഒരു ഉദാഹരണം സൃഷ്‌ടിക്കുക**: വളരെയധികം ഉദാഹരണങ്ങളുള്ള ഒരു പ്രോജക്‌റ്റും ഇല്ല.
അതൊരു വെബ് API ആയാലും, ദിനചര്യകളുടെ ഒരു ലൈബ്രറി ആയാലും, Gimp പോലെയുള്ള GUI ആപ്പ് ആയാലും അല്ലെങ്കിൽ ഒരു കമാൻഡ് ലൈൻ ടൂളായാലും,
ശരിയായ ഉപയോഗത്തിൻ്റെ നല്ല ഉദാഹരണം ഡോക്യുമെൻ്റേഷൻ്റെ പേജുകളേക്കാൾ കൂടുതൽ വ്യക്തമായും വേഗത്തിലും സോഫ്റ്റ്വെയറിൻ്റെ ശരിയായ ഉപയോഗം വിശദീകരിക്കാൻ കഴിയും.
ഒരു API അല്ലെങ്കിൽ ലൈബ്രറിക്ക്, ഉപകരണം ഉപയോഗിക്കുന്ന ഒരു ഉദാഹരണ പ്രോഗ്രാം സൃഷ്ടിക്കുക. നിങ്ങൾ എഴുതിയ കോഡിൽ നിന്ന് പോലും ഇത് എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്‌തേക്കാം, അവശ്യസാധനങ്ങൾക്കായി ട്രിം ചെയ്യുക.
ഒരു ഉപകരണത്തിന്, നിങ്ങളുടെ ദൈനംദിന ജീവിതത്തിൽ നിങ്ങൾ അത് എങ്ങനെ ഉപയോഗിച്ചു എന്നതിൻ്റെ യഥാർത്ഥ ലോക ഉദാഹരണങ്ങൾ കാണിക്കുക. നിങ്ങൾ കാഴ്ച്ചാധിഷ്ഠിതനാണെങ്കിൽ,
ആപ്ലിക്കേഷൻ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം എന്നതുപോലുള്ള ഒരു പ്രധാന പ്രക്രിയയുടെ സ്ക്രീൻ ക്യാപ്ചർ സൃഷ്ടിക്കുന്നത് പരിഗണിക്കുക.

കമ്മ്യൂണിറ്റിയുമായി പ്രവർത്തിക്കുക
ഓപ്പൺ സോഴ്‌സ് ഭാഗികമായി കോഡിനെക്കുറിച്ചാണ്. കമ്മ്യൂണിറ്റി ഓപ്പൺ സോഴ്‌സ് വർക്ക് ചെയ്യുന്നു. അത് കെട്ടിപ്പടുക്കാൻ നിങ്ങളെ സഹായിക്കുന്ന വഴികൾ ഇതാ.

12. **ഒരു ചോദ്യത്തിന് ഉത്തരം നൽകുക**: സമൂഹത്തെ കെട്ടിപ്പടുക്കാൻ സഹായിക്കുന്നതിനുള്ള ഏറ്റവും നല്ല മാർഗം മറ്റുള്ളവരെ സഹായിക്കുക എന്നതാണ്.
ഒരു ചോദ്യത്തിന് ഉത്തരം നൽകുന്നത്, പ്രത്യേകിച്ച് തുടക്കക്കാരെ , പ്രോജക്റ്റ് വളരാനും അഭിവൃദ്ധിപ്പെടാനും സഹായിക്കുന്നതിന് അത് നിർണായകമാണ്.
ഒരു തുടക്കക്കാരനെ സഹായിക്കാൻ നിങ്ങൾ എടുക്കുന്ന സമയം, അവർ ഒരു ചോദ്യം ചോദിക്കുന്നുണ്ടെങ്കിൽ പോലും, പിനീട് അത് കമ്മ്യൂണിറ്റിക്കു വിലമതിക്കാനാവാത്ത സംഭാവന നൽകുന്ന ഒരാൾ ആയി മാറിയേക്കാം .


13. **ഒരു ബ്ലോഗ് പോസ്റ്റ് എഴുതുക**:
നിങ്ങൾക്ക് ഒരു ബ്ലോഗ് ഉണ്ടെങ്കിൽ, നിങ്ങൾ ഉപയോഗിക്കുന്ന പ്രോജക്റ്റിലെ നിങ്ങളുടെ അനുഭവങ്ങളെക്കുറിച്ച് എഴുതുക.
സോഫ്‌റ്റ്‌വെയർ ഉപയോഗിച്ച് നിങ്ങൾ നേരിട്ട ഒരു പ്രശ്‌നത്തെക്കുറിച്ചും അത് പരിഹരിക്കാൻ നിങ്ങൾ എന്താണ് ചെയ്‌തതെന്നും പറയുക.
നിങ്ങളുടെ ചുറ്റുമുള്ള മറ്റുള്ളവരുടെ മനസ്സിൽ പ്രോജക്റ്റ് നിലനിർത്താൻ സഹായിക്കുന്നതിലൂടെ നിങ്ങൾ രണ്ട് തരത്തിൽ സഹായിക്കും.
ഭാവിയിൽ നിങ്ങളുടെ പ്രശ്‌നമുള്ള മറ്റാരെങ്കിലും ഒരു റെക്കോർഡ് സൃഷ്‌ടിക്കുകയും ഉത്തരത്തിനായി വെബിൽ തിരയുകയും ചെയ്യുക.
(നിങ്ങളുടെ സാങ്കേതിക സാഹസങ്ങളുടെ ഒരു ബ്ലോഗ്, അടുത്ത തവണ നിങ്ങൾ ജോലിക്കായി വേട്ടയാടാൻ പോകുമ്പോൾ, സംശയാസ്‌പദമായ സോഫ്‌റ്റ്‌വെയർ ഉപയോഗിച്ച് യഥാർത്ഥ ലോകാനുഭവം കാണിക്കുന്നതിനുള്ള മികച്ച മാർഗം കൂടിയാണ്.)

14. **ഒരു വെബ്‌സൈറ്റ് മെച്ചപ്പെടുത്തുക**:
നിങ്ങൾക്ക് വെബ് ഡിസൈനിംഗിൽ വൈദഗ്ദ്ധ്യം ഉണ്ടെങ്കിൽ, വെബ്‌സൈറ്റ് മെച്ചപ്പെടുത്താൻ സഹായിക്കുകയും അതുവഴി പ്രോജക്റ്റിൻ്റെ പൊതുജനങ്ങൾ അഭിമുഖീകരിക്കുന്ന ഇമേജ് മെച്ചപ്പെടുത്തുകയും ചെയ്യുന്നുവെങ്കിൽ, അത് നന്നായി ചെലവഴിച്ച സമയം.
ഒരുപക്ഷേ പ്രോജക്റ്റ് തിരിച്ചറിയാൻ ഒരു ഗ്രാഫിക് ഓവർഹോൾ അല്ലെങ്കിൽ ഒരു ലോഗോ ഉപയോഗിച്ചേക്കാം.
ഇത് സമൂഹത്തിൽ ഇല്ലാത്ത കഴിവുകളായിരിക്കാം. എൻ്റെ പ്രോജക്‌റ്റുകളുടെ വെബ്‌സൈറ്റുകളിൽ എന്തെങ്കിലും ഗ്രാഫിക് ഡിസൈൻ സഹായം ലഭിച്ചാൽ എനിക്കത് ഇഷ്ടമാകുമെന്ന് എനിക്കറിയാം.

15. **സാങ്കേതിക ഡോക്യുമെൻ്റേഷൻ എഴുതുക**
 ഒരു ആപ്ലിക്കേഷനോ സോഫ്‌റ്റ്‌വെയറോ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിനെക്കുറിച്ച് നിങ്ങൾക്ക് എഴുതാൻ കഴിയുമെങ്കിൽ, അതിനെക്കുറിച്ചുള്ള സാങ്കേതിക ഡോക്യുമെൻ്റേഷൻ നിങ്ങൾക്ക് എഴുതാം. പ്രത്യേകിച്ച് ഓപ്പൺ സോഴ്‌സ് പ്രോജക്‌റ്റുകൾ അപ്‌ഡേറ്റ് ചെയ്യാനോ നവീകരിക്കാനോ വിപുലീകരിക്കാനോ പൊതുജനങ്ങൾക്ക് വായിക്കാൻ സാങ്കേതിക ഡോക്‌സ് സൃഷ്‌ടിക്കാനോ ശ്രമിക്കുന്നു. നിങ്ങൾ പ്ലെയിൻ ഇംഗ്ലീഷിൽ എത്രയധികം എഴുതുന്നുവോ അത്രയും നല്ലത്. ഏറ്റവും നല്ല ഭാഗം, സാങ്കേതിക ഡോക്‌സ് എഴുതാൻ നിങ്ങൾ ഒരു പ്രോഗ്രാമർ ആകണമെന്നില്ല.

എല്ലാറ്റിനുമുപരിയായി, നിങ്ങളുടെ ചുറ്റുമുള്ള ആളുകൾ ചർച്ച ചെയ്യുന്നത് ശ്രദ്ധിക്കുക. നിങ്ങൾക്ക് ഒരു പ്രധാന ആവശ്യം തിരിച്ചറിയാൻ കഴിയുമോ എന്ന് നോക്കുക. ഉദാഹരണത്തിന്, അടുത്തിടെ പാരറ്റ് ഡെവലപ്പർമാരുടെ മെയിലിംഗ് ലിസ്റ്റിൽ, അവരുടെ പഴയ ട്രാക്ക് ഇൻസ്റ്റാളേഷൻ ഉപേക്ഷിച്ച് ട്രബിൾ ടിക്കറ്റ് സിസ്റ്റമായി GitHub ഉപയോഗിക്കാൻ തീരുമാനിച്ചു. ടിക്കറ്റുകൾ GitHub-ൻ്റെ സംവിധാനത്തിലേക്ക് മാറ്റാൻ മാർഗമില്ലാത്തതിനാൽ ചിലർ ഈ നീക്കത്തെ എതിർത്തിരുന്നു. ഒരു ദിവസത്തെ അങ്ങോട്ടുമിങ്ങോട്ടും തർക്കിച്ചതിന് ശേഷം, ഞാൻ പൈപ്പ് ചെയ്തു, "ഞാൻ ഒരു കൺവെർട്ടർ എഴുതിയാൽ എങ്ങനെ?" ആളുകൾ ആശയത്തിൽ ആവേശഭരിതരായി. 450+ ടിക്കറ്റുകൾക്കായി ഒരു കൺവേർഷൻ പ്രോഗ്രാം എഴുതാൻ ഞാൻ സമയം ചെലവഴിച്ചു, അതിനാൽ ഞങ്ങളുടെ ടിക്കറ്റ് ചരിത്രമൊന്നും നഷ്‌ടപ്പെട്ടില്ല. അത് വലിയ വിജയമായിരുന്നു. ഞാൻ ഇടപെട്ടു, പ്രധാന ഡെവലപ്പർമാർ തത്തയിൽ ജോലി ചെയ്യുന്ന ബിസിനസിൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു.

15. **മറ്റുള്ളവരെ പഠിപ്പിക്കുകയും സഹായിക്കുകയും ചെയ്യുക**:
ഒരു വിഷയത്തെക്കുറിച്ച് കൂടുതലറിയാനുള്ള ഏറ്റവും നല്ല മാർഗം അത് പഠിപ്പിക്കാൻ ശ്രമിക്കുക എന്നതാണ്.
സങ്കീർണ്ണമായ കാര്യങ്ങൾ ലളിതമായ ഉദാഹരണങ്ങളിലൂടെ വിശദീകരിക്കാൻ കഴിയുന്നവനാണ് മികച്ച അധ്യാപകൻ. അതിനാൽ നിങ്ങളുടെ പ്രോഗ്രാമിംഗ് ലോകത്തിലെ ഏറ്റവും മികച്ച പഠിതാവാകാനും മികച്ച അധ്യാപകനാകാനും നിങ്ങൾ ശ്രമിക്കേണ്ടതുണ്ട്. മറ്റുള്ളവരെ പഠിപ്പിക്കുന്നത് നിങ്ങളെക്കുറിച്ച് നിങ്ങൾക്ക് കൂടുതൽ മെച്ചമുണ്ടാക്കും കൂടാതെ നിങ്ങളുടെ തൊഴിലിൽ മികച്ച വൈദഗ്ധ്യവും അറിവും നേടാൻ ഇത് നിങ്ങളെ സഹായിക്കും. നിങ്ങൾക്ക് ഒരാളിൽ നിന്ന് സഹായം ലഭിക്കുമ്പോൾ, അത് സ്വയം സൂക്ഷിക്കരുത്, അത് മറ്റുള്ളവരുമായി പങ്കിടുക. ലോകത്തെ ജീവിക്കാനുള്ള മികച്ച സ്ഥലമാക്കി മാറ്റുക.
