शून्य से लेकर फुल-स्टैक जावास्क्रिप्ट डेवलपर - अपने आप को कोड को कैसे सिखाना है

Pexels से क्रिस्टीना Morillo द्वारा फोटो

ढाई साल में मैं एक पूर्ण-स्टैक जावास्क्रिप्ट डेवलपर के लिए प्रोग्रामिंग के बारे में शून्य ज्ञान से गया। यह एक कठिन यात्रा थी, और इसे करने की आवश्यकता नहीं थी।

यह लेख प्रोग्रामिंग में कैरियर के सभी लोगों के लिए है, जहां कोई विचार नहीं है कि कहां से शुरू करें। मैं आपको प्रोग्रामिंग के लिए अपने स्वयं के कठिन पथ पर मार्गदर्शन करूंगा और एक संरचित शिक्षण पथ का निर्माण करूंगा जो कि मेरी जैसी ही आकांक्षाओं वाला कोई व्यक्ति उपयोगी हो।

सपना से हकीकत तक का सफर

ढाई साल पहले, मुझे प्रोग्रामिंग के बारे में पता था। यहां तक ​​कि जिन चीजों को मैंने सोचा था कि वे गलत व्याख्याएं थीं।

मेरी औपचारिक शिक्षा राजनीति विज्ञान में थी और मेरा कार्य अनुभव खुदरा से पत्रकारिता तक विविध था। मैं एक ऐसे पेशे को खोजने के लिए संघर्ष करता रहा, जिसमें उद्देश्य की सच्ची भावना थी।

28 साल की होने से पहले, मैंने कोड की एक पंक्ति नहीं लिखी थी, वर्डप्रेस में एक पोस्ट संपादित की, या एक एनीमेशन बनाया। मुझे पता था कि मैं अपना करियर बदलना चाहता था, और प्रोग्रामिंग ने मुझे कुछ ऐसा बनाने की अनुमति दी जो मेरी अपनी थी।

खेल के विकास के लिए मेरा जुनून व्यापक शोध का कारण बना कि वेब विकास मेरे कौशल का निर्माण शुरू करने के लिए सबसे अच्छी जगह थी।

जैसा कि मैंने सॉफ्टवेयर विकास के बारे में सीखना शुरू किया, संसाधनों की विविधता भारी थी और एक स्पष्ट सीखने के रास्ते की कमी भ्रामक थी। सूचना को उछाला गया और मैंने उचित बुनियादी ज्ञान के बिना अधिक जटिल चीजें सीखीं।

मैं अब हेल्थकेयर सॉफ्टवेयर कंपनी फ्लोरेंस के लिए फुल-स्टैक जावास्क्रिप्ट डेवलपर हूं। आज मैं आपके साथ साझा करने जा रहा हूं कि कैसे मैंने खुद को कोड करना सिखाया और आप बहुत ही कम संघर्ष के साथ कैसे कर सकते हैं।

मूल बातों से शुरू करें और निराश न हों

वेब विकास में एक अच्छा प्रारंभिक बिंदु HTML है। यह एक प्रोग्रामिंग भाषा नहीं है, यह गलती न करें।

HTML एक मार्कअप भाषा है जिसका उपयोग वेब पेज पर तत्वों की स्थिति के लिए किया जाता है। HTML के साथ अविभाज्य सीएसएस, वेब पेज तत्वों के डिजाइन के लिए उपयोग किया जाता है। वे इस एक पृष्ठ के पोर्टफोलियो की तरह एक सरल वेबसाइट बनाना संभव बनाते हैं।

यदि आप अपनी यात्रा की शुरुआत में हैं, तो बहुत सरल या आसान प्रतीत होने पर भी कुछ न छोड़ें। वेब विकास की नींव सबसे महत्वपूर्ण हिस्सा है।

कई महत्वाकांक्षी डेवलपर्स और स्वयं-शिक्षार्थी सरल तत्वों को जल्दी से दरकिनार करने की गलती करते हैं और कभी भी इससे उबर नहीं पाते हैं। यहां तक ​​कि अगर आप कभी भी फ्रंट एंड डेवलपमेंट या यूआई / यूएक्स डिजाइन नहीं करेंगे तो आपको एचटीएमएल और सीएसएस पता होना चाहिए।

HTML और CSS के बारे में सीखते समय कुछ अच्छे पाठ्यक्रम हैं:

  • Codecademy - मुफ्त ऑनलाइन प्लेटफ़ॉर्म, बस साइन अप करें (HTML और जानें CSS)। स्क्रीन को लंबवत रूप से तीन भागों में विभाजित किया गया है। कार्य, पाठ संपादक (कोड लिखने के लिए) और ब्राउज़र आउटपुट। कोड की कुछ पंक्तियों और कुछ बुनियादी ज्ञान के साथ, आप आसानी से कुछ विशिष्ट बना सकते हैं।
  • उत्तरदायी वेबसाइट मूल बातें: कोर्टेरा पर एचटीएमएल, सीएसएस और जावास्क्रिप्ट (गोल्डस्मिथ, लंदन विश्वविद्यालय) के साथ कोड (पहले दो सप्ताह) - इसमें एक अंतर्निहित कार्य वातावरण नहीं है, इसलिए आप सीखेंगे कि एचटीएमएल का उपयोग कैसे शुरू करें Sublime पाठ संपादक का उपयोग कर सीएसएस और अपने ब्राउज़र में अपनी परियोजना का परीक्षण।

इन दो पाठ्यक्रमों को अधिक जटिल फ्रंट-एंड काम शुरू करने के लिए पर्याप्त जानकारी प्रदान करनी चाहिए। वे यह निर्धारित करने के लिए क्रैश कोर्स के रूप में भी काम करते हैं कि क्या आप वास्तव में कोडिंग का आनंद लेते हैं या नहीं।

प्रोग्रामिंग के लिए उच्च स्तर की दृढ़ता, अनुशासन और विस्तार पर ध्यान देने की आवश्यकता होती है। मेरी राय है कि कोई भी व्यक्ति कोड बनाना सीख सकता है और एक अच्छा डेवलपर बन सकता है। सफलता क्षमता की नहीं बल्कि चरित्र की बात है।

एक प्रोग्रामर होने के लिए आपको प्रॉब्लम सॉल्वर होना चाहिए और आपको काम से प्यार होना चाहिए। यह एक चुनौतीपूर्ण काम है, इससे भी अधिक यदि आप स्व-सिखाया जाता है।

यदि आप वास्तव में प्रोग्रामिंग के प्यार में नहीं पड़ते हैं, तो ऐसा न करें। टेक में बहुत सारी नौकरियां हैं जो अधिक या कम विकास से संबंधित हैं लेकिन कोडिंग (विपणन, उत्पाद विकास, ग्राहक सहायता, आदि) की आवश्यकता नहीं है।

यदि आपने कुछ मूलभूत बातें सीख ली हैं और इसका आनंद लिया है, तो जो यात्रा होती है वह और भी बेहतर है।

फ्रंट एंड बेसिक्स सीखना

मेरे अनुभव में, स्व-सिखाया डेवलपर्स के लिए सबसे अच्छा और सबसे व्यापक वेब विकास संसाधन फ्रीकोडकोड है। पहले अध्याय के साथ शुरू करें उत्तरदायी वेब डिज़ाइन।

उत्तरदायी वेब डिज़ाइन आपकी व्यक्तिगत परियोजनाओं का निर्माण और पोस्टिंग शुरू करने का एक आवश्यक तरीका है। ये पोस्ट आपके और आपके कौशल के बारे में भविष्य के नियोक्ताओं के लिए सबसे अच्छा संदर्भ होगा। अपनी परियोजनाओं (श्रद्धांजलि पृष्ठ, पोर्टफोलियो पृष्ठ, आदि) की मेजबानी करना सुनिश्चित करें। मुझे एक सुविधाजनक होस्टिंग विकल्प के रूप में codepen.io मिला।

Git को आधुनिक विकास में कोड वर्जनिंग टूल का उपयोग करना चाहिए। जैसे-जैसे आपका ज्ञान बढ़ता है, इस वेबसाइट टेम्पलेट की नकल करने की कोशिश करें और इसे GitHub पर पोस्ट करें।

फ़्रीकोडकोड पर फ्रंट एंड लाइब्रेरीज़ सर्टिफिकेशन एक बेहतरीन अगला कदम है। कोड चुनौतियों के अलावा फ्रंट एंड लाइब्रेरी प्रोजेक्ट्स पर काम करने के लिए समय निकालें। परियोजनाएं अधिक समय लेने वाली होती हैं, लेकिन न केवल कोड के लिए बल्कि समस्या का निवारण करने और उन समस्याओं के समाधान खोजने का सबसे अच्छा तरीका है जो आप सामना कर रहे हैं।

फ्रंट-एंड बेसिक्स सीखने के लिए त्वरित कदम:
1. FreeCodeCamp के लिए साइन अप करें
2. कोड चुनौतियों के अलावा उत्तरदायी वेब डिज़ाइन परियोजनाओं पर काम करना
3. codepen.io या पसंद के अन्य होस्टिंग का उपयोग करके अपनी परियोजनाओं की मेजबानी करें
4. FreeCodeCamp पर एक उत्तरदायी वेब डिज़ाइन प्रमाणन प्राप्त करें
5. Git से परिचित हों
6. इस वेबसाइट के टेम्पलेट की नकल करने की कोशिश करें और इसे GitHub पर पोस्ट करें
7. कोड चुनौतियों के अलावा फ्रंट एंड लाइब्रेरी प्रोजेक्ट्स पर काम
8. फ्रीकोड कोड पर फ्रंट एंड लाइब्रेरी सर्टिफिकेशन प्राप्त करें

डेटा संरचनाओं और एल्गोरिदम का निर्माण

अब सबसे कठिन लेकिन सबसे पुरस्कृत हिस्सा आता है। डेटा संरचनाओं और एल्गोरिदम का निर्माण करते समय चीजें अधिक कठिन हो जाएंगी, लेकिन निराश न हों। जब चीजें बस क्लिक करती हैं, तो भावना अस्पष्ट होती है। तुम जीते।

फ्रीकोडकोड के जावास्क्रिप्ट एल्गोरिदम और डेटा स्ट्रक्चर्स के साथ शुरू करें, जो आपको कोड चुनौतियों के बारे में इस विषय के बारे में एक बुनियादी ज्ञान देगा।

बेसिक जावास्क्रिप्ट और बेसिक एल्गोरिथम स्क्रिप्टिंग को पूरा करने के बाद edv पर HarvardX CS50 से शुरू करें। पहले पांच सप्ताह प्रासंगिक हैं और डेटा संरचनाओं, एल्गोरिदम और मेमोरी प्रबंधन जैसे विषयों के साथ कंप्यूटर विज्ञान के मूल प्रदान करते हैं। इस पाठ्यक्रम में, आप सी प्रोग्रामिंग भाषा सीखेंगे, कई प्रोग्रामिंग भाषाओं का आधार।

सबसे महत्वपूर्ण बात, इन चुनौतियों में आपके द्वारा हल की जा रही समस्याओं को समझना प्राथमिकता है। आप अनिवार्य रूप से फंस जाएंगे। मेरी सलाह थोड़ा धोखा है, एक समाधान देखें लेकिन केवल उस हिस्से का उपयोग करें जो आपको रुका हुआ है, बाकी के माध्यम से धक्का दें और इसे अपने दम पर हल करने का प्रयास करें।

डेटा संरचनाओं और एल्गोरिदम के बारे में जानने के लिए त्वरित कदम:
1. फ्रीकोडकोड के जावास्क्रिप्ट एल्गोरिदम और डेटा स्ट्रक्चर्स कोड चुनौतियों पर काम करें
2. EdX पर हार्वर्डएक्स CS50 के पहले 5 सप्ताह

मास्टरींग बैक एंड बेसिक्स

CS50 के पहले पांच हफ्तों के बाद और फ्रीकोडकोड के जावास्क्रिप्ट अल्गोरिथम और डेटा स्ट्रक्चर्स को पूरा करने के बाद, एब्सट्रैक्ट से ब्रेक लें और सर्वर-साइड प्रोग्रामिंग के बारे में सीखना शुरू करें।

बैक एंड बेसिक्स के बारे में जानने के लिए, फ्रीकोडकोड के एपीआई और माइक्रोसर्विसेज चैप्टर में नोड, एक्सप्रेस और मोंगोडीबी के बारे में जानकारी दी गई है।

जब आप बैक-एंड बेसिक्स के साथ सहज होते हैं, तो वेस बॉस द्वारा जानें जाने वाला व्यापक कोर्स एक बढ़िया अगला चरण है। यह आधुनिक वेब ऐप बनाने के लिए आवश्यक कई चीजों को कवर करेगा।

CS50 के बाकी हिस्सों में लौटें और अजगर में गोता लगाएँ। पाठ्यक्रम के अंत में आपको अंतिम परियोजना प्रस्तुत करना आवश्यक होगा, जो अभी तक की सबसे बड़ी चुनौती होगी। मेरे लिए, यह स्नातक की तरह महसूस किया। इसे पूरा करने के बाद, मुझे लगा कि मैं किसी भी चीज के लिए तैयार हूं।

बैक एंड बेसिक्स में महारत हासिल करने के लिए त्वरित कदम:
1. कोड चुनौतियों के अलावा एपीआई और माइक्रोसर्विसेज प्रोजेक्ट पर काम करना
2. FreeCodeCamp पर एक एपीआई और माइक्रोसॉफ़्ट प्रमाणन प्राप्त करें
3. Wes Bos द्वारा व्यापक पाठ्यक्रम Learn Node लें
4. edX पर HarvardX CS50 की शेष राशि को पूरा करें

एक अंतिम परियोजना का समापन

हार्वर्डएक्स CS50 पाठ्यक्रम को पूरा करने के लिए आपको एक अंतिम परियोजना पूरी करनी चाहिए। मेरा प्रोजेक्ट Procooking नामक नोट्स और व्यंजनों को संग्रहीत करने के लिए एक वेब ऐप था।

Procooking में है:

  • उपयोगकर्ता पंजीकरण और लॉगिन
  • नोट्स बनाने और हटाने के लिए कार्यशीलता
  • उन श्रेणियों को जोड़ने के लिए कार्यक्षमता जो उपयोगकर्ता विभिन्न नोटों को असाइन कर सकते हैं
  • शीर्षक या पाठ द्वारा नोटों को छानने के लिए बार

अनुप्रयोग का उपयोग कर विकसित किया गया था:

  • सामने के छोर पर वेनिला JS (फ्रेमवर्क / लाइब्रेरी के बिना शुद्ध JS)
  • पीछे के छोर पर PHP
  • डेटा को संभालने के लिए MySQL

अपने दम पर एक वेब ऐप विकसित करने के बाद, आपको इसे तैनात करना होगा। Heroku या कुछ इसी तरह का उपयोग करके इसे मुफ्त में नियुक्त करें।

अंतिम परियोजना को पूरा करने के लिए त्वरित कदम:
1. हार्वर्डएक्स CS50 के लिए अपनी अंतिम परियोजना का विकास करें
2. अपने वेब ऐप को तैनात करें

इंटर्नशिप के लिए खोज की जा रही है

अब जब आपने GitHub पर अपनी परियोजनाएं पोस्ट की हैं और अपने CS50 अंतिम प्रोजेक्ट को तैनात किया है, तो आपके पास अपनी पोर्टफोलियो वेबसाइट बनाने और अपने लिंक्डइन पेज को अपडेट करने की जरूरत है। मैंने अपना पोर्टफोलियो बनाने के लिए वर्डप्रेस का इस्तेमाल किया (तब से अपडेट नहीं किया गया)।

GitHub पोस्ट, CS50 अंतिम परियोजना, एक पोर्टफोलियो वेबसाइट, और एक लिंक्डइन पेज अपडेट करने से आपको अपनी पहली प्रोग्रामिंग इंटर्नशिप को लैंड करने में मदद मिलेगी।

उस सामान के बारे में चिंता न करें जिसे आप नहीं जानते हैं। आपने अभी तक जो भी सीखा है, उस पर ध्यान दें। प्रबंधकों को जानने और काम पर रखने के लिए हमेशा कुछ नया होगा जो जानते हैं। इन पाठ्यक्रमों और परियोजनाओं को पूरा करना आपकी भक्ति, प्रेरणा और सीखने की इच्छा को प्रदर्शित करेगा।

जहां तक ​​इंटर्नशिप के शिकार की बात है, अपना रिज्यूमे और पोर्टफोलियो हर जगह भेजें, चाहे आप वहां कोई भी काम करना चाहें, अगर कोई ओपन पोजिशन हो तो। यदि किसी कंपनी के पास एक खुली स्थिति नहीं है, तो आपको सबसे अधिक संभावना है कि यदि कुछ खुलता है तो आपको ध्यान में रखना होगा।

एक नौकरी खोजने के लिए जो आपके कैरियर के लक्ष्यों से मेल खाती है, एक सामान्य विचार है कि आप प्रौद्योगिकियों, संस्कृति और परियोजनाओं के मामले में कंपनी में क्या देख रहे हैं। मेरी प्राथमिकता एक ऐसी कंपनी में काम करना था जो अपना उत्पाद खुद विकसित करती है। इस तरह मैं उत्पाद के साथ एक डेवलपर के रूप में विकसित हो सकता था।

नौकरी की तलाश के लिए त्वरित कदम:
1. अपनी वेबसाइट पोर्टफोलियो बनाएं
2. अद्यतन लिंक्डइन
3. अपडेट फिर से शुरू करें
4. अपना रिज्यूम और पोर्टफोलियो हर उस जगह भेजें जहाँ आप काम करना चाहते हैं
5. एक इंटर्नशिप खोजें जो आपकी तकनीक, संस्कृति और उत्पाद से मेल खाती हो

मेरा पहला इंटर्नशिप अनुभव

मेरी इंटर्नशिप अमेरिका स्थित स्वास्थ्य सेवा स्टार्टअप की एक छोटी सी विकास टीम के साथ थी। मुझे एक छोटी सी टीम के साथ एक जटिल उत्पाद पर काम करके पूरी विकास प्रक्रिया के लिए जल्दी संपर्क पाने का मौका मिला।

मैं अभी भी एक पूर्णकालिक सॉफ्टवेयर डेवलपर के रूप में यहां हूं, कंपनी के साथ मिलकर सीख रहा हूं और बढ़ रहा हूं।

शुरुआत में, सब कुछ एक चुनौती थी। कोड के पहले पेशेवर लाइनों को लिखने के लिए एक साधारण वातावरण सेटअप से। मेरा पहला दिन ज्यादातर उन तकनीकों और अवधारणाओं के बारे में पढ़ने के बारे में था, जिन्हें कंपनी निर्देशित करती है।

फिर हर दिन एक नई चुनौती लेकर आया। सबसे अच्छी सलाह जो मैं दे सकता हूं वह है हमेशा सवाल पूछना। न जाने में कोई शर्म नहीं है, हम सब वहाँ हैं।

शुरू करने के कुछ ही समय बाद एक खोज सुविधा को लागू करने का मेरा पहला प्रोजेक्ट आया। मैं अभी भी एक प्रशिक्षु था और मेरे लिए यह डिजाइन और कार्यान्वयन दोनों पर काम करना था। प्रदर्शनकारी और सुरक्षित रखते हुए व्यावसायिक आवश्यकताओं को पूरा करना एक बड़ी चुनौती थी।

एक प्रोग्रामर का काम एक कभी न खत्म होने वाली सीखने की प्रक्रिया है, जो उन चीजों में से एक है जो मुझे सबसे ज्यादा पसंद हैं।

इस परियोजना को सफलतापूर्वक पूरा करने पर अगली चुनौती आई और अगली। प्रत्येक ज्ञान और अनुभव का एक नया सेट ला रहा है।

कुछ अतिरिक्त पाठ्यक्रम जो मैंने अपनी इंटर्नशिप के दौरान उपयोगी पाए, वे हैं फ्रंटएंडमास्टर्स, मोंगोडीबी यूनिवर्सिटी और 30-दिवसीय वेनिला जेएस कोडिंग चुनौती।

अपने प्रोग्रामिंग सपने को कभी मत छोड़ो

प्रोग्रामिंग के लिए एक कैरियर स्विच एक आसान रास्ता नहीं है, लेकिन जब आप अपने कोड को अंततः काम करते हैं तो आपको जो महसूस होता है वह कुछ विशेष है।

जब आप टकराते हैं, जो अक्सर होता है, निराश मत हो, इसके माध्यम से धक्का दें और समाधान ढूंढें। अंत में, सिद्धि की भावना महान है।

बहादुर बनो, कभी हार मत मानो और शुभकामनाएँ!