ப்யூரி ரோடு: தி பில்லிங் டெவலப்பர்ஸ் ஜர்னி

ஒரு பில்லிங் மேம்பாட்டு நிறுவனத்தின் மேலாளர் ஒரு குழுவை உருவாக்க இரண்டு வழிகளைக் கொண்டுள்ளார். முதலாவதாக, ஆயத்தமான "மூத்தவர்களை" பணியமர்த்துவது மற்றும் தொடர்ந்து அத்தகைய பணி நிலைமைகளை உருவாக்குவது, இதனால் அவர்கள் தங்கள் திறன்களையும் அனுபவத்தையும் அதிகபட்சமாகப் பயன்படுத்துகிறார்கள், வளர்கிறார்கள் மற்றும் அதே நேரத்தில் சண்டையில் ஈடுபட மாட்டார்கள். இரண்டாவதாக, புதியவர்கள், நடுவர்கள் மற்றும் சாதகர்கள் ஆகியவற்றின் கலவையிலிருந்து ஒரு குழுவை உருவாக்குவது, அவர்கள் தொடர்புகொள்வதற்கும், ஒருவருக்கொருவர் செல்வாக்கு செலுத்துவதற்கும், நிறுவனத்திற்குள் கற்றுக்கொள்வதற்கும் வளருவதற்கும். "அனுபவம் இல்லை - வேலை இல்லை - அனுபவம் இல்லை" என்ற தீய வட்டத்திற்கு நான் எதிரானவன், மேலும் ஒரு தொடக்க டெவலப்பரை பணியமர்த்துவதில் எனக்கு எந்த பிரச்சனையும் இல்லை. ஃபார்வர்டு டெலிகாம் நீண்ட காலமாக ஒரு இன்டர்ன்ஷிப் திட்டத்தைக் கொண்டுள்ளது, இது பல தற்போதைய ஊழியர்களுக்கு ஒரு தொழில் ஊக்குவிப்புத் திட்டமாக மாறியுள்ளது.

பில்லிங் டெவலப்பரின் வளர்ச்சிப் பாதையை நான் எப்படிப் பார்க்கிறேன், எந்த வரிசையில் நீங்கள் தொழில்முறை திறன்களை மாஸ்டர் செய்ய வேண்டும் என்பதை இப்போது நான் உங்களுக்குச் சொல்கிறேன்.

1. நிரலாக்க மொழியைக் கற்றுக்கொள்ளுங்கள்

தொடக்கத்தில், யாருக்கும். முன்னுரிமை ஜாவா, பைதான் மற்றும் ஜாவாஸ்கிரிப்ட், ஆனால் ரூபி, கோ, சி, சி++ அடிப்படை அறிவைப் பெறுவதற்கு ஏற்றது. எப்படி கற்பிப்பது? கட்டண மற்றும் இலவச படிப்புகளை எடுக்கவும்; கோலாங்கில் இருந்து பயிற்சி பெற நான் பரிந்துரைக்க முடியும். உங்கள் ஆங்கில நிலை அனுமதித்தால், வெளிநாட்டு வீடியோக்களைப் பார்ப்பது ஒரு நல்ல கூடுதல் திறமை.

ப்யூரி ரோடு: தி பில்லிங் டெவலப்பர்ஸ் ஜர்னி

2. OS கருத்துகளைப் புரிந்து கொள்ளுங்கள்

இயக்க முறைமைகள் நீங்கள் தெரிந்து கொள்ள வேண்டிய மற்றும் செயல்பாட்டின் கொள்கையை விளக்கக்கூடிய ஏழு கூறுகளை அடிப்படையாகக் கொண்டவை:

  • செயல்முறை மேலாண்மை;
  • நூல்கள் மற்றும் மல்டித்ரெட் குறியீடு;
  • சாக்கெட் (மென்பொருள் இடைமுகம்);
  • I/O அனுப்புதல்;
  • மெய்நிகராக்கம்;
  • சேமிப்பு;
  • கோப்பு முறைமைகள்.

அடிப்படை லினக்ஸ் நிர்வாக பாடத்தை எடுக்க பரிந்துரைக்கிறேன். வரிசையில் இரண்டாவது இயக்க முறைமைகள் விண்டோஸ் மற்றும் யூனிக்ஸ் ஆகும்.

3. டெர்மினலுடன் பழகவும்

வெற்று தாளின் பயத்துடன் ஒப்பிடுகையில், ஒளிரும் கர்சருடன் வெற்று கருப்புத் திரையின் பயம் உள்ளது. கட்டளை வரியில் நல்ல கட்டளைகளை எழுதுவது எப்படி என்பதை அறிய நீங்கள் அதை கடக்க வேண்டும்.
தெரிந்து கொள்ள வேண்டும்:

  • பாஷ் மற்றும் கோர்ன்ஷெல் குண்டுகள்;
  • கட்டளைகள் find, grep, awk, sed, lsof;
  • நெட்வொர்க் கட்டளைகள் nslookup மற்றும் netstat.

ப்யூரி ரோடு: தி பில்லிங் டெவலப்பர்ஸ் ஜர்னி

4. நெட்வொர்க் மற்றும் பாதுகாப்பு

பில்லிங் நெட்வொர்க் மற்றும் தரவு பாதுகாப்பு தேவைகளுடன் நெருக்கமாக தொடர்புடையது. நெட்வொர்க் எவ்வாறு செயல்படுகிறது என்பதைப் புரிந்து கொள்ளாமல் ஆன்லைன் சேவைகளை எழுத முடியாது, எனவே நீங்கள் அடிப்படைக் கருத்துகள் மற்றும் நெறிமுறைகளைக் கற்றுக்கொள்ள வேண்டும்: DNS, OSI மாதிரி, HTTP, HTTPS, FTP, SSL, TLS. பின்னர், இணைப்பு மறுக்கப்பட்ட பிழையை நீங்கள் சந்தித்தால், என்ன செய்வது என்று உங்களுக்குத் தெரியும்.

5. சேவையகங்கள்

நெட்வொர்க்கில் தகவல் பரிமாற்றத்தின் கொள்கைகளைப் படித்த பிறகு, நீங்கள் சேவையக செயல்பாட்டின் அடிப்படைகளைத் தொடங்கலாம். இணைய சேவையகங்களுடன் தொடங்கவும்: IIS, Apache, Nginx, Caddy மற்றும் Tomcat.

பட்டியலில் அடுத்து:

  • ரிவர்ஸ் ப்ராக்ஸி;
  • அநாமதேய பதிலாள்;
  • கேச்சிங்;
  • சுமை சமநிலை;
  • ஃபயர்வால்.

6. உள்கட்டமைப்பைக் குறியீடாகக் கற்றுக்கொள்ளுங்கள்

இந்த நிலை மிக முக்கியமான ஒன்றாகும் என்று நான் நம்புகிறேன். நீங்கள் மூன்று பரந்த தலைப்புகளைப் புரிந்து கொள்ள வேண்டும்:

  • கொள்கலன்கள்: டோக்கர் மற்றும் குபெர்னெட்ஸ்
  • உள்ளமைவு மேலாண்மை கருவிகள்: அன்சிபிள், செஃப், சால்ட் மற்றும் பப்பட்
  • காப்புப்பிரதி: டெர்ராஃபார்ம், மேகங்கள்.

7. CI/CD கற்கவும்

பில்லிங் டெவெலப்பருக்கு மற்றொரு பயனுள்ள திறன், தொடர்ச்சியான ஒருங்கிணைப்பு மற்றும் விநியோகத்திற்கான பைப்லைனை அமைப்பது ஆகும். CI/CD பகுதியில் Jenkins, TeamCity, Drone, Circle CI மற்றும் பிற கருவிகள் உள்ளன. ஸ்பாய்லர்: பரவலாகப் பயன்படுத்தப்படும் ஜென்கின்ஸ் கற்றுக்கொள்வது முதலில் போதுமானதாக இருக்கும்.

8. மென்பொருள் மற்றும் உள்கட்டமைப்பு கட்டுப்பாடு

பயன்பாட்டு கண்காணிப்பின் அடிப்படைகளைப் புரிந்துகொள்வதே முக்கிய குறிக்கோள். இந்த பகுதியில் உள்ள கருவிகள் மூன்று குழுக்களாக பிரிக்கப்பட்டுள்ளன:

  • உள்கட்டமைப்பு கண்காணிப்பு: நாகியோஸ், ஐசிங்கா, டேட்டாடாக், ஜாபிக்ஸ், மோனிட்.
  • பயன்பாட்டு செயல்திறன் கண்காணிப்பு: AppDynanic, New Relic.
  • LMS: ELK ஸ்டாக், கிரேலாக், ஸ்ப்ளங்க், பேப்பர்ட்ரெயில்.

9. கிளவுட் சேவைகள்

எதிர்காலத்தில், ஒவ்வொரு பயன்பாடும் அல்லது மென்பொருளும் கிளவுட் எண்ணைக் கொண்டிருக்கும். விரைவில் அல்லது பின்னர், டெவலப்பர்கள் மேகக்கணியை எதிர்கொள்கின்றனர், எனவே பிரபலமான கிளவுட் வழங்குநர்கள் (AWS, Google Cloud மற்றும் Azure) மற்றும் தொழில்நுட்பத்தின் அடிப்படைகளைப் படிக்கவும்.

10. தரவுத்தளத்துடன் பணிபுரிதல்

அனைத்து தற்போதைய திட்டப்பணிகளும் தரவுத்தளங்களைப் பயன்படுத்துகின்றன, மேலும் DBMS மற்றும் SQL உடனான அனுபவம் தொடங்குவதை எளிதாக்கும். SQL வினவல்களை எழுத கற்றுக்கொள்ளுங்கள், விளக்கத்தைப் பயன்படுத்தவும் மற்றும் குறியீட்டு எவ்வாறு செயல்படுகிறது என்பதை அறியவும். ஒரு பாடத்தை எடுப்பதே எளிதான வழி. உங்கள் போஸ்ட்கிரெஸ் ஆவணப்படுத்தல் திறன்களை நீங்கள் பயிற்சி செய்யலாம் மற்றும் நகலெடுப்புடன் விளையாடலாம்.

11. உங்கள் மென்மையான திறன்களை மேம்படுத்தவும்

எதிர்பாராத விதமாக சாதாரண புள்ளி, ஆனால் குறைவான முக்கியத்துவம் இல்லை. தொடங்குவதற்கு, பொறுமையாக இருங்கள். "உங்கள் இரும்பை சரிசெய்யவும், நீங்கள் ஒரு புரோகிராமர்" போன்ற சூழ்நிலைகளுக்கு நீங்கள் விரைவாகப் பழகுவீர்கள், ஆனால் புதிய திட்டங்களைத் தொடங்குவதற்கான காலக்கெடுவிற்கு நீங்கள் மனதளவில் தயாராக இருக்க வேண்டும். நீங்கள் புரோகிராமிங்கில் பூஜ்ஜியத்திலிருந்து ஒரு வருடம் வரை ஜூனியராகக் கருதப்பட்டால், விமர்சனத்திற்குத் தயாராகி, அதை ஏற்றுக்கொள்ளக் கற்றுக்கொள்வது, வழிகாட்டியின் குறியீட்டு மதிப்பாய்வு பெரும்பாலும் வேதனையான செயலாகும். ஆனால் அதே நேரத்தில், ஒரு கட்டாய திறன் என்பது ஒருவரின் பார்வையை பாதுகாக்கும் திறன் மற்றும் ஆக்கப்பூர்வமாக வாதிடுவது; சில நேரங்களில் உண்மை ஒரு வாதத்தில் பிறக்கிறது. டெவலப்பர்கள் கற்றலை ஒருபோதும் நிறுத்த மாட்டார்கள், தொழிலில் நடைமுறையில் உச்சவரம்பு இல்லை, எனவே கற்றல் திறன் மற்றும் புதிய விஷயங்களைக் கற்றுக்கொள்வதற்கான ஆசை ஆகியவை உங்கள் வளர்ச்சியின் அடிப்படையாகும்.

ப்யூரி ரோடு: தி பில்லிங் டெவலப்பர்ஸ் ஜர்னி

ஒரு தொடக்கநிலையாளர் எப்போது நடுத்தர நிலையை அடைகிறார், எப்போது அவரை "மூத்தவர்" என்று பெருமையுடன் அழைக்க முடியும் என்று என்னிடம் அடிக்கடி கேட்கப்படுகிறது. நடைமுறை திறன்கள் ஒரு முக்கிய அளவுகோலாக இருந்தாலும், நிலையிலிருந்து நிலைக்கு மாறுவதற்கான தருணம் பணிபுரிந்த ஆண்டுகளின் எண்ணிக்கையால் தீர்மானிக்கப்படவில்லை என்று நான் நம்புகிறேன். டெவலப்பரின் வளர்ச்சியின் வேகத்தை பெரும்பாலும் தீர்மானிக்கும் மென்மையான திறன்கள்: பயிற்சி பெற்ற மற்றும் கடின உழைப்பாளி தொடக்கநிலையாளர் பல மொழிகளில் உயர்தர குறியீட்டை எழுத முடியும் மற்றும் ஒரு சில மாதங்களில் ஒரு குழுவில் பணியாற்ற முடியும். 10 வருட அனுபவமுள்ள டெவலப்பரால் தரமற்ற சிக்கல்களைத் தீர்க்க முடியாது, ஒரு குழுவை நிர்வகிக்க முடியாது மற்றும் ஒருதலைப்பட்ச திறன்களைக் கொண்டிருக்க முடியாது.

பில்லிங் டெவெலப்பரின் வளர்ச்சிப் பாதையை நான் இப்படித்தான் பார்க்கிறேன், எங்கள் ஃபார்வர்ட் டெலிகாம் குழுவில் தகுதியான நிபுணர்களை உருவாக்குவது இதுதான். எதையுமே தவறவிட்டதாகத் தெரியவில்லை, ஆனால் புள்ளியில் உதவிகரமான சேர்த்தல்களுக்கு நான் எப்போதும் நன்றியுள்ளவனாக இருக்கிறேன்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்