आज (जटिल) वेब वातावरण के लिए जूनियर प्रोग्रामर को कैसे प्रशिक्षित करें?


39

वर्तमान में हमारी कंपनी ज्यादातर समय रूबी वेब सर्वरों पर और रूबी वेब सर्वर और जावा में कियोस्क सिस्टम से सी / सी ++ में एम्बेडेड उपकरणों (मानक वेब ब्राउज़रों के लिए इंटरफेस के अलावा) पर युक्त अनुप्रयोगों को विकसित करती है। हमें अपनी टीम का विस्तार करने की आवश्यकता है और अच्छे वरिष्ठ प्रोग्रामर खोजने में विफल होने पर, हमने कुछ प्रयास किए जो कि जूनियर प्रोग्रामरों को प्रशिक्षण में डाल दें, जो कंपनी के साथ बढ़ेंगे।

हमने पहले ही उन्हें कुछ रूबी और रेल्स किताबें दी हैं और उनसे कुछ खिलौना कार्यक्रम बनाने के लिए कहा है, लेकिन मैं अब महसूस कर रहा हूं कि वेब प्रोग्रामिंग की वर्तमान स्थिति के लिए सीखने की अवस्था कितनी कठिन है।

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

मुझे ऐसा लगता है कि मैं जिन प्रोग्रामरों को काम पर रख रहा हूं, उन्हें टीम के साथ एकीकृत करने और उपयोग करने योग्य कुछ बनाने में लंबा समय लगेगा, क्योंकि एकल फ्रेमवर्क (रेल) का उपयोग करने के लिए सीखने के लिए बहुत सी चीजें हैं: रूबी, एचटीएमएल, सीएसएस, जावास्क्रिप्ट, आरईएसटी, टेस्ट-केस, डेटाबेस एक्सेस (एसक्यूएल जादुई रूप से फ्रेमवर्क के अंदर बनाया गया है!), एमवीसी, तीन अलग-अलग पैकेज मैनेजर (उबंटू के लिए एप्ट, रूबी के लिए मणि और बंडलर), एसश, गिट, अपाचे और फ़्यूज़न पैसेंजर फ़ायदे के लिए, आदि।

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


8
पिछले से अंतिम पैराग्राफ लगता है जैसे आपने एक महत्वपूर्ण बदलाव नहीं देखा होगा जो पिछले 15 वर्षों में हुआ है: सामान्य तौर पर प्रोग्रामर व्यावहारिक रूप से चले गए हैं । किसी को भी आपके द्वारा संदर्भित सभी विवरणों को जानने के लिए, 15 साल तक उद्योग में होना चाहिए। आपके पास उन विशेषज्ञों को खोजने या प्रशिक्षण देने के लिए बेहतर परिणाम हो सकते हैं जिनमें से एक या दो चीजें आप बहुत ही गहनता से सूचीबद्ध करते हैं, और आपको आवश्यक विभिन्न विशेषज्ञों से एक टीम बनाते हैं ( फिर क्रॉसस्ट्रेन)। वैकल्पिक रूप से अपने जैसे 15 साल के अनुभव के साथ वरिष्ठ इंजीनियरों को खोजें, लेकिन यह कोई आसान काम नहीं है।
जिमी हॉफ

सिर्फ FYI करें, एक मजबूत सीखने की अवस्था का मतलब है कि आप वास्तव में जल्दी कुछ सीखते हैं। गलत तरीके से उपयोग किए जाने पर यह कुछ लोगों को भ्रमित कर देता है :)
वैकल्पिक 12

मैंने हमेशा अभिव्यक्ति को "मुश्किल" के रूप में इस्तेमाल किया (अंग्रेजी मेरी मातृभाषा नहीं है) लेकिन विकिपीडिया का कहना है कि यह अस्पष्ट है, इसलिए मुझे यहां सबसे अच्छा विकल्प नहीं पता है: en.wikipedia.org/wiki/Learning_curve :)
Rômodo Ceccon

जवाबों:


39

बहुत से लोग इस विचार को पसंद नहीं करेंगे, लेकिन मैं जहां कहीं भी हो सकता हूं, इसकी वकालत कर रहा हूं: प्रोग्रामिंग भाषा और पर्यावरण की परवाह किए बिना, अगर उनके पास कोई अनुभव नहीं है और अगर रखरखाव के कार्य हैं जो ग्राहकों की वास्तविक दुनिया की बग रिपोर्ट से आते हैं उनमें से, यह सुनिश्चित करने का प्रयास करें कि वे अपने समय के कम से कम 30-40% (+) कार्य के लिए उस तरह से असाइन किए गए हों। "यहां बग रिपोर्ट है, इस पर एक नज़र डालें, इसे हल करें। अगर आपको नहीं पता कि यह सब क्या है, तो अनुभवी सहकर्मियों के साथ संवाद करें, इसे गूगल करें, जो भी हो"। वास्तविक समस्याओं पर वास्तविक कार्य, नहींखिलौने, कम से कम: न केवल खिलौने। यह भी सुनिश्चित करें कि बहुत सारे अनुभव रखने वाले व्यक्ति की नज़र इस बात पर हो कि वे इसे जारी करने से पहले और ग्राहक को भेज रहे थे, बेशक। सुनिश्चित करें कि नए सहकर्मी ने सहकर्मियों और ग्राहकों से जो किया, उस पर ईमानदार प्रतिक्रिया मिले। ओवरबर्डन न करने के लिए इन कार्यों को सावधानी से चुनें, लेकिन ध्यान रखें कि किसी दिन आप चाहते हैं कि वे अपना काम स्वतंत्र रूप से करें।

बग फिक्सिंग करना उस काम पर सीख रहा है जो उन्हें कोड पर काम करने देता है जो वास्तव में निष्पादित हो जाते हैं और उनकी कुछ प्रासंगिकता होती है (अन्यथा कोई बग रिपोर्ट नहीं होगी) और उन्हें कई उदाहरणों में दिखाएंगे कि यह कैसे नहीं करना है।

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

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

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


मैं तो यही करता हूँ। अच्छा उत्तर।
रॉकलन

मैंने पहले साल के लिए अपने करियर के दोषों को ठीक करना शुरू कर दिया। जब मैं अन्य परियोजनाओं में गया, मुझे लगता है कि बग फिक्सिंग ने मुझे इस पर बहुत बेहतर बना दिया क्योंकि मुझे पता था कि क्या नहीं करना है।
ब्रैंडन

8

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

लेकिन, यह मानते हुए कि वे सक्षम हैं, पहला कदम उन्हें एक कक्षा में भेजना है। एक सप्ताह की कक्षा में आपको $ 2,000- $ 3,000 (US) खर्च होंगे। हालांकि, यह उन्हें एक प्रशिक्षक के साथ हाथों से अनुभव प्रदान करेगा, जो (उम्मीद है) सामग्री को समझता है, और एक पाठ योजना जो उन्हें गति लाने के लिए डिज़ाइन किया गया है। किसी को एक पुस्तक के साथ भेजना और "यह सीखना" का निर्देश मूल्यवान के रूप में कहीं भी नहीं होने वाला है, और इसकी लागत अधिक होने की संभावना है (वर्ग की लागत लगभग एक व्यर्थ प्रोग्रामर-सप्ताह के बराबर है)।

उनके पास आधारभूत ज्ञान होने के बाद, उनके साथ काम करें। एक आसन्न डेस्क पर बैठें, और अपना कम से कम आधा समय यह सुनिश्चित करने के लिए दें कि वे आपके व्यवसाय, और आपके काम करने के तरीके को समझें। हां, यह आपकी उत्पादकता को कम कर देगा, कम से कम शुरुआत में, लेकिन लंबे समय में आपकी टीम को पूरी तरह से अधिक उत्पादक बनाता है। और अगर आप सोचते हैं, फिर से, लागतों के बारे में, यदि कोई कनिष्ठ व्यक्ति गलत काम करने में एक महीना बर्बाद करता है, तो संभवतः यह आपके वेतन के आधे महीने के बराबर है।


4

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

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

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

आपके पास इसका बेहतर समय होगा यदि आप ऐसे युवाओं को पा सकते हैं जो बहुत ही होशियार, बौद्धिक रूप से उत्सुक और आत्म-शुरुआत करने वाले हों। मैंने इस प्रक्रिया को देखा है; यह मेरे पूर्व नियोजक का दृष्टिकोण था, क्योंकि वह विशेषज्ञों के लिए मोटी रकम का भुगतान नहीं करना चाहता था, हालांकि यह एक "सिंक या स्विम" किस्म का था (ऐसा कोई औपचारिक प्रशिक्षण कार्यक्रम नहीं था)। उनकी सबसे बड़ी चुनौती उन्हें अपने निवेश को फिर से प्राप्त करने के लिए लंबे समय तक रहने के लिए मिल रही थी; हमेशा कहीं और बेहतर वेतन का लालच था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.