ആദ്യമേ ഒരു കാര്യം പറഞ്ഞേക്കാം , ഇത് സോഫ്റ്റ്വെയര് ബുജികള്ക്കു വേണ്ടി ഉള്ളതല്ല , അതെന്താണെന്ന് ഒരു ഐഡിയ പോലും ഇല്ലാത്ത എല്ലാ ദിവസവും ഇതെന്താണ് ഇവര് ചെയ്തു കൂട്ടുന്നതെന്ന് ഒരു തിരിവും കിട്ടാത്ത പാവപ്പെട്ടവര്ക്ക് വേണ്ടിയാണിത്.
ഞാന് സോഫ്റ്റ്വെയര് എന്താണെന്നു പഠിക്കുന്ന കാലത്ത് പോലും ഞാന് ഭാവിയില് എന്താ ചെയ്യുക എന്ന് എനിക്കൊരു പിടിത്തവും ഇല്ലായിരുന്നു എന്നതാണ് സത്യം. ഏതോ സിനിമയില് ആരോ പറയുന്ന പോലെ സോഫ്റ്റ്വെയര് എഞ്ചിനീയറിംഗ് എന്ന് പറയുന്നത് ഒരു മഹാ സാഗരമാണ് , ഞാന് അതിന്റെ കരയില് ചൂണ്ട ഇടുന്ന ഒരു പാവം മനുഷ്യനും.
മെക്കാനിക്കല് എഞ്ചിനീയര് എന്ന്നാല് മെഷീനുമായി മല്പ്പിടുത്തം നടത്തുന്നവന് , സിവില് എഞ്ചിനീയര് എന്നാല് പാലം പണിയുന്നവന് ഇങ്ങനെയോക്കെയനല്ലോ നമ്മുടെ കോണ്സെപ്റ്റ്.
ഇത്ര മാത്രം സോഫ്റ്റ്വെയര് എഞ്ചിനീയര് കൂട്ടത്തോടെ പണി എടുത്തിട്ടും തീരാത്ത എന്ത് ജോലിയാണ് ഇവര് ചെയ്യുന്നതെന്തു ഒരിക്കലെങ്കിലും നിങ്ങള് ആലോചിച്ചിട്ടുണ്ടോ ? ഉണ്ടെങ്കില് ഇതാണ് ഉത്തരം. നിങ്ങള് ഇപ്പോള് വായിക്കുന്ന വെബ്സൈറ്റ് മുതല് നിങ്ങളുടെ മൌസിന്റെ ചലനം വരെ നടക്കനമെന്നുന്ടെങ്കില് അതിനു പുറകില് നൂറു കണക്കിനാളുകളുടെ അധ്വാനം ഉണ്ട്. ഒരു മൗസ് മൂവ് ചെയ്യുമ്പോള് എന്ത് രസം ഒരു ആരോ അതിനനുസരിച്ച് മൂവ് ആകുന്നു. എന്നാല് അത് എങ്ങനെ സംഭവിക്കുന്നു ? മൗസ് എന്നത് ഒരു ഹാര്ഡ്വെയര് ആണ് , അതായതു ഒരു physical object. അതിന്റെ ചലനം മനസിലാക്കി എടുത്തു അതിനെ കമ്പ്യൂട്ടര് എന്ന മറ്റൊരു physical object ഇന് മനസിലാക്കി കൊടുക്കുന്നത് ഡ്രൈവര് എന്ന് ഓമനപ്പേരുള്ള ഒരു സോഫ്റ്റ്വെയര് ആണ്. ഇനി ഇതെങ്ങനെ സാധിക്കുന്നു എന്നല്ലേ , പറയാം. ഒരു കംപ്യൂട്ടറിന്റെ പ്രോസ്സസര് എന്ന തലച്ചോറിനു ആകെപ്പാടെ മനസിലാവുന്നത് 1 ഉം 0 ഉം മാത്രമാണ്. അതിനെ ബിട്സ് എന്ന് പറയും. അപ്പൊ മൗസ് എന്ന സാധനത്തിന്റെ ചലനത്തെ കംപ്യൂട്ടറിനു മനസിലാക്കി കൊടുക്കാന് ഒരാള് വേണം അതാണ് ഡ്രൈവര് അഥവാ മോസിന്റെ ചലനം മനസിലാക്കാനുള്ള സോഫ്റ്റ്വെയര് . ഇങ്ങനെ നിങ്ങള് കമ്പ്യൂട്ടറില് ചെയ്യുന്ന ഓരോ ചെറിയാ കാര്യത്തിന്റെ പിന്നിലും ഇങ്ങനത്തെ ഡ്രൈവര് അഥവാ സോഫ്റ്റ്വെയര് ഉണ്ടാവും . ഇതിനെ ഞങ്ങള് ഹൈ ലെവല് പ്രോഗ്രാമിംഗ് എന്ന് വിളിക്കും. അതായതു ഭയങ്കര ബുജികള് ചെയ്യുന്ന പ്രോഗ്രാം.
ഞാന് എന്ത് ചെയ്യുന്നുവെന്നു ചോദിച്ചാല് ഞാന് ഒരു പാവം ഡെവലപ്പര് ആണ് , ശരിക്ക് പറഞ്ഞ .NET ഡെവലപ്പര് . ഞാന് ഈ മേലെപ്പറഞ്ഞ പരുപാടി അല്ല ചെയ്യുന്നേ , പകരം നിങ്ങള് കാണുന്ന വെബ്സൈറ്റ് ഇല്ലേ അത് ഉണ്ടാക്കാന് വേണ്ടി പല പല പ്രോഗ്രാമ്മിംഗ് ഭാഷകള് ലഭ്യമാണ് , ex : .NET , ജാവ , PHP , ruby on rails , python [അത് തന്നെ പെരുമ്പാമ്പ് ] ഇങ്ങനെ പലത്. പ്രധാനമായും രണ്ടു തരം ആള്ക്കാര് ഉണ്ട് ടെവലപ്പരും ടെസ്ടരും. ഞങ്ങള് ടെവലപ്പെര്സ് ഉണ്ടാക്കുന്നതിലെ തെറ്റ് കണ്ടു പിടിക്കുകയാണ് ടെസ്ടര്മാരുടെ പ്രധാന പണി. ഞങ്ങള് തമ്മില് ഇപ്പോഴും അടി ആയിരിക്കും , ടെസ്ടര്മ്മാര് പറയും ഇത് തെറ്റാണെന്ന് [ അതായതു ബഗ് ] , ഞങ്ങള് പറയും അല്ല ഇത് ശരിയാണെന്ന് , അങ്ങനെ അങ്ങനെ നീണ്ടു പോകും.അവസാനം ഒരു തിരുമാനത്തില് എത്തുകയും ചെയ്യും.
ഇന്നിപ്പോ നിങ്ങള് കാണുന്ന മൊബൈല് ഫോണ് , ടാബ്ലെട്സ് എല്ലാം ഇങ്ങനെ സോഫവേയറില് അധിഷ്ടിതമാണ് എന്തിനേറെ ടെലിവിഷനില് പോലും സോഫ്റ്റ്വെയര് ഉണ്ട്.
ഞാന് ഇപ്പൊ സോഫ്റ്റ്വെയര് എഞ്ചിനീയര് എന്താണെന്നു പറഞ്ഞു തുടങ്ങിയിട്ടേ ഉള്ളു കേട്ടോ. ആയിരക്കണക്കിന് ശാഖകള് ഉള്ള ഒരു വലിയ മേഖലയാണ് ഇത്. mainframe , വെബ് development, core development, mobile development തുടങ്ങി എന്നിയാ തീരാത്ത പോരാത്തതിന് അതിന്റെ ഉള്ളില് വേറെയും പല തരത്തില് പെട്ട , പല ട്യ്പ്പിലുള്ള മറ്റേ മോഹന് ലാല് പറയുന്ന പോലെ.
ഇതിപ്പോ മുഴുവനായി പറയണമെങ്കില് ഒരു മിനിമം പഴയ നിയമം ബൈബിളിന്റെ വലുപ്പം വരും അത് കൊണ്ട് തല്ക്കാലം നിര്ത്താമെന്ന് തോന്നുന്നു.
ഇനി ഈ മേഖലയിലെ വലിയൊരു സത്യം ഞാന് പറയാം, ഞങ്ങളില് 90 % ആള്ക്കാരും ഇവിടെ ഇത് ഇഷ്ടമായിട്ടു വന്നവരല്ല ( എന്നെ പോലെ ചിലരൊഴികെ :) ) , കനമുള്ള ശമ്പളത്തിന്റെ മേല് കണ്ണ് വച്ചോ അല്ലെങ്കില് പദവിയുടെ പേരിലോ എത്തിപ്പെടുന്നവരാണ് ഭൂരിപക്ഷവും. അങ്ങനെ വരുന്നവര് എത്രത്തോളം കഷ്ടപ്പാട് സഹിക്കുന്നുവെന്നു കണ്ടു അനുഭവിച്ചു അറിഞ്ഞവനാണ് ഞാന്.. . അത് കൊണ്ട് ദയവായി നിങ്ങള്ക്ക് താത്പര്യം ഇല്ലെങ്കില് വന്നു പെടരുത് , നിങ്ങളുടെ മക്കളെയോ , സഹോദരി സഹോധരന്മാരെയോ ഒരിക്കലും ഇതിലേക്ക് വരാന് നിര്ബന്ധിക്കരുത്. ഇനി ഇതില് നിങ്ങള്ക്ക് താത്പര്യമുണ്ടോ എങ്കില് നിങ്ങള്ക്ക് ഇത്രയും ഷൈന് ചെയ്യാന് പറ്റിയ ഒരിടം വേറെ ഇല്ല എന്ന് തന്നെ പറയാം.
ഞാന് സോഫ്റ്റ്വെയര് എന്താണെന്നു പഠിക്കുന്ന കാലത്ത് പോലും ഞാന് ഭാവിയില് എന്താ ചെയ്യുക എന്ന് എനിക്കൊരു പിടിത്തവും ഇല്ലായിരുന്നു എന്നതാണ് സത്യം. ഏതോ സിനിമയില് ആരോ പറയുന്ന പോലെ സോഫ്റ്റ്വെയര് എഞ്ചിനീയറിംഗ് എന്ന് പറയുന്നത് ഒരു മഹാ സാഗരമാണ് , ഞാന് അതിന്റെ കരയില് ചൂണ്ട ഇടുന്ന ഒരു പാവം മനുഷ്യനും.
മെക്കാനിക്കല് എഞ്ചിനീയര് എന്ന്നാല് മെഷീനുമായി മല്പ്പിടുത്തം നടത്തുന്നവന് , സിവില് എഞ്ചിനീയര് എന്നാല് പാലം പണിയുന്നവന് ഇങ്ങനെയോക്കെയനല്ലോ നമ്മുടെ കോണ്സെപ്റ്റ്.
ഇത്ര മാത്രം സോഫ്റ്റ്വെയര് എഞ്ചിനീയര് കൂട്ടത്തോടെ പണി എടുത്തിട്ടും തീരാത്ത എന്ത് ജോലിയാണ് ഇവര് ചെയ്യുന്നതെന്തു ഒരിക്കലെങ്കിലും നിങ്ങള് ആലോചിച്ചിട്ടുണ്ടോ ? ഉണ്ടെങ്കില് ഇതാണ് ഉത്തരം. നിങ്ങള് ഇപ്പോള് വായിക്കുന്ന വെബ്സൈറ്റ് മുതല് നിങ്ങളുടെ മൌസിന്റെ ചലനം വരെ നടക്കനമെന്നുന്ടെങ്കില് അതിനു പുറകില് നൂറു കണക്കിനാളുകളുടെ അധ്വാനം ഉണ്ട്. ഒരു മൗസ് മൂവ് ചെയ്യുമ്പോള് എന്ത് രസം ഒരു ആരോ അതിനനുസരിച്ച് മൂവ് ആകുന്നു. എന്നാല് അത് എങ്ങനെ സംഭവിക്കുന്നു ? മൗസ് എന്നത് ഒരു ഹാര്ഡ്വെയര് ആണ് , അതായതു ഒരു physical object. അതിന്റെ ചലനം മനസിലാക്കി എടുത്തു അതിനെ കമ്പ്യൂട്ടര് എന്ന മറ്റൊരു physical object ഇന് മനസിലാക്കി കൊടുക്കുന്നത് ഡ്രൈവര് എന്ന് ഓമനപ്പേരുള്ള ഒരു സോഫ്റ്റ്വെയര് ആണ്. ഇനി ഇതെങ്ങനെ സാധിക്കുന്നു എന്നല്ലേ , പറയാം. ഒരു കംപ്യൂട്ടറിന്റെ പ്രോസ്സസര് എന്ന തലച്ചോറിനു ആകെപ്പാടെ മനസിലാവുന്നത് 1 ഉം 0 ഉം മാത്രമാണ്. അതിനെ ബിട്സ് എന്ന് പറയും. അപ്പൊ മൗസ് എന്ന സാധനത്തിന്റെ ചലനത്തെ കംപ്യൂട്ടറിനു മനസിലാക്കി കൊടുക്കാന് ഒരാള് വേണം അതാണ് ഡ്രൈവര് അഥവാ മോസിന്റെ ചലനം മനസിലാക്കാനുള്ള സോഫ്റ്റ്വെയര് . ഇങ്ങനെ നിങ്ങള് കമ്പ്യൂട്ടറില് ചെയ്യുന്ന ഓരോ ചെറിയാ കാര്യത്തിന്റെ പിന്നിലും ഇങ്ങനത്തെ ഡ്രൈവര് അഥവാ സോഫ്റ്റ്വെയര് ഉണ്ടാവും . ഇതിനെ ഞങ്ങള് ഹൈ ലെവല് പ്രോഗ്രാമിംഗ് എന്ന് വിളിക്കും. അതായതു ഭയങ്കര ബുജികള് ചെയ്യുന്ന പ്രോഗ്രാം.
ഞാന് എന്ത് ചെയ്യുന്നുവെന്നു ചോദിച്ചാല് ഞാന് ഒരു പാവം ഡെവലപ്പര് ആണ് , ശരിക്ക് പറഞ്ഞ .NET ഡെവലപ്പര് . ഞാന് ഈ മേലെപ്പറഞ്ഞ പരുപാടി അല്ല ചെയ്യുന്നേ , പകരം നിങ്ങള് കാണുന്ന വെബ്സൈറ്റ് ഇല്ലേ അത് ഉണ്ടാക്കാന് വേണ്ടി പല പല പ്രോഗ്രാമ്മിംഗ് ഭാഷകള് ലഭ്യമാണ് , ex : .NET , ജാവ , PHP , ruby on rails , python [അത് തന്നെ പെരുമ്പാമ്പ് ] ഇങ്ങനെ പലത്. പ്രധാനമായും രണ്ടു തരം ആള്ക്കാര് ഉണ്ട് ടെവലപ്പരും ടെസ്ടരും. ഞങ്ങള് ടെവലപ്പെര്സ് ഉണ്ടാക്കുന്നതിലെ തെറ്റ് കണ്ടു പിടിക്കുകയാണ് ടെസ്ടര്മാരുടെ പ്രധാന പണി. ഞങ്ങള് തമ്മില് ഇപ്പോഴും അടി ആയിരിക്കും , ടെസ്ടര്മ്മാര് പറയും ഇത് തെറ്റാണെന്ന് [ അതായതു ബഗ് ] , ഞങ്ങള് പറയും അല്ല ഇത് ശരിയാണെന്ന് , അങ്ങനെ അങ്ങനെ നീണ്ടു പോകും.അവസാനം ഒരു തിരുമാനത്തില് എത്തുകയും ചെയ്യും.
ഇന്നിപ്പോ നിങ്ങള് കാണുന്ന മൊബൈല് ഫോണ് , ടാബ്ലെട്സ് എല്ലാം ഇങ്ങനെ സോഫവേയറില് അധിഷ്ടിതമാണ് എന്തിനേറെ ടെലിവിഷനില് പോലും സോഫ്റ്റ്വെയര് ഉണ്ട്.
ഞാന് ഇപ്പൊ സോഫ്റ്റ്വെയര് എഞ്ചിനീയര് എന്താണെന്നു പറഞ്ഞു തുടങ്ങിയിട്ടേ ഉള്ളു കേട്ടോ. ആയിരക്കണക്കിന് ശാഖകള് ഉള്ള ഒരു വലിയ മേഖലയാണ് ഇത്. mainframe , വെബ് development, core development, mobile development തുടങ്ങി എന്നിയാ തീരാത്ത പോരാത്തതിന് അതിന്റെ ഉള്ളില് വേറെയും പല തരത്തില് പെട്ട , പല ട്യ്പ്പിലുള്ള മറ്റേ മോഹന് ലാല് പറയുന്ന പോലെ.
ഇതിപ്പോ മുഴുവനായി പറയണമെങ്കില് ഒരു മിനിമം പഴയ നിയമം ബൈബിളിന്റെ വലുപ്പം വരും അത് കൊണ്ട് തല്ക്കാലം നിര്ത്താമെന്ന് തോന്നുന്നു.
ഇനി ഈ മേഖലയിലെ വലിയൊരു സത്യം ഞാന് പറയാം, ഞങ്ങളില് 90 % ആള്ക്കാരും ഇവിടെ ഇത് ഇഷ്ടമായിട്ടു വന്നവരല്ല ( എന്നെ പോലെ ചിലരൊഴികെ :) ) , കനമുള്ള ശമ്പളത്തിന്റെ മേല് കണ്ണ് വച്ചോ അല്ലെങ്കില് പദവിയുടെ പേരിലോ എത്തിപ്പെടുന്നവരാണ് ഭൂരിപക്ഷവും. അങ്ങനെ വരുന്നവര് എത്രത്തോളം കഷ്ടപ്പാട് സഹിക്കുന്നുവെന്നു കണ്ടു അനുഭവിച്ചു അറിഞ്ഞവനാണ് ഞാന്.. . അത് കൊണ്ട് ദയവായി നിങ്ങള്ക്ക് താത്പര്യം ഇല്ലെങ്കില് വന്നു പെടരുത് , നിങ്ങളുടെ മക്കളെയോ , സഹോദരി സഹോധരന്മാരെയോ ഒരിക്കലും ഇതിലേക്ക് വരാന് നിര്ബന്ധിക്കരുത്. ഇനി ഇതില് നിങ്ങള്ക്ക് താത്പര്യമുണ്ടോ എങ്കില് നിങ്ങള്ക്ക് ഇത്രയും ഷൈന് ചെയ്യാന് പറ്റിയ ഒരിടം വേറെ ഇല്ല എന്ന് തന്നെ പറയാം.
നല്ലഴെത്ത്.
ReplyDeleteഎബിന് നിനക്ക് പഠിക്കാനറിയില്ലെങ്കിലും പഠിപ്പിക്കാന് അറിയും,ആശംസകള്... എന്നെപ്പോലുള്ള സതാരണക്കര്ക്ക് ഇതൊക്കെ ബല്ലിയ കാര്യമാണ് എബിന്
ReplyDelete