पूर्ण-स्टैक डेवलपर्स वास्तव में मध्य-स्तर पर अटक जाते हैं। अपने आप को दुख से दूर करो - उस रास्ते पर मत जाओ


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


यह सब जानने का जुनून


मैंने विभिन्न एप्लिकेशन डोमेन (asp.net, wpf, xamarin), js / ts (प्रतिक्रिया / redux, नोड) में C # और .NET सीखा और अपने आप को आश्वस्त किया कि मेरे पास कुछ भी करने की शक्ति थी जो मैं चाहता था। मेरी सोच अमूर्त थी, मैं एक ही समय में कई प्रोग्रामिंग प्रतिमानों में कुशल था, और मेरे पास पेशेवर सॉफ्टवेयर इंजीनियरिंग के सभी पहलुओं में व्यावहारिक कौशल था। मैं उन 40-कुछ वरिष्ठों को एक ही तकनीक की लत से छुटकारा दिलाने के लिए पूरी तरह तैयार था, जिन्होंने एक सप्ताह के समय में जो कुछ हासिल किया था, उसे पूरा करने के लिए अपना आधा जीवन लगा दिया था। मैं यह घोषित करने के करीब था कि कुछ ज्ञान डोमेन में गहराई से जाना उन मोरों के लिए था जो अपने पूरे जीवन के लिए समान नौकरी पाने के लिए खुश थे, जबकि मैं यह सब से अलग था।


मुझे लगा कि सब कुछ बस एक ही पुरानी चीज थी, इसलिए मैंने एक सुसंगत पैटर्न देखा। अब जब मेरी नौकरी में कुछ आकर्षक पायथन में कोडिंग शामिल थी, तो मैं जाऊंगा, 'मुझे कल्पना के माध्यम से एक त्वरित पढ़ने के लिए कुछ समय दें, और मैं वरिष्ठ स्तर पर इस गंदगी के साथ काम करने के लिए तैयार रहूंगा। क्यों, क्या जटिलताएँ शायद उस तरह की हो सकती हैं जो मैंने पहले नहीं देखी हैं? ' और इसलिए मैं विस्तार-उपेक्षा पंथ का शिकार हो गया। कनिष्ठों को विवरण के साथ बेलाग होने दें, यह देखते हुए कि वे अमूर्तता के साथ अक्षम हैं।


ज्ञान अंतराल सूक्ष्म हैं और तुरंत दिखाई नहीं देते हैं


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


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


तभी मेरी बुरी लकीर शुरू हो गई। Poof! मुझे SQL में अनुक्रमित के प्रकारों के बारे में कोई जानकारी नहीं थी। बैम! मैं भूल गया जब मुझे C # में एक स्थिर निर्माता को कॉल करना चाहिए। ऊप्स! मैं Google पर देखे बिना आईडीसोपायरी को सही ढंग से लागू नहीं कर सका। ओह, और मैं एक प्रतिक्रिया घटक की स्थिति को बदलना चाह रहा था।


मुझे तब संदेह हुआ कि मेरा अमूर्तन वास्तव में काम नहीं कर रहा था। यह कि मैं जिस प्रकार की तकनीक से काम कर रहा था, वे सब के बाद अलग थीं और यह विवरण मायने रखता था। प्रत्येक तकनीकी पारिस्थितिकी तंत्र की अपनी अनूठी सर्वोत्तम प्रथाएं हैं। Jvm के साथ काम करने पर आपका .NET अनुभव चोट नहीं पहुंचाएगा, लेकिन इसे प्रतिस्थापित नहीं कर सकता। 'सीखने का तरीका सीखना' का मेरा आत्म-मूल्यांकन कौशल कल्पना का एक नाटक बन गया। मेरी सीखने की गति दूसरों की तुलना में तेज़ नहीं थी। यह अहसास बहुत देर से हुआ।


मेरा कौशल सिर्फ परस्पर विरोधी विचारों का एक थैला था - मुझे इधर-उधर से ज्ञान के टुकड़े-टुकड़े किए जा रहे थे। मैं स्वचालित रूप से एक वरिष्ठ जैक-ऑफ-ऑल-ट्रेड नहीं बन गया। इसके बजाय मैं एक बहु-कुशल मध्य-स्तरीय डेवलपर बन गया, जो 40-कुछ वरिष्ठों के लिए हंसी का पात्र था जिन्होंने एक तकनीक में महारत हासिल की थी। इस प्रकार, मुझे एहसास हुआ कि फुल-स्टैक का रास्ता चुनना एक गलती थी।


अपने आप को इसके बारे में पिटाई


समस्या यह है, व्यवसायों को पूर्ण-स्टैक डेवलपर्स की आवश्यकता है। नहीं, मेरी तरह नकल नहीं, लेकिन बहुमुखी वरिष्ठ, वे लोग जिनके पास बेल्ट के तहत प्रत्येक पूर्ण-स्टैक तकनीक में पांच साल का अनुभव है।


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


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


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


लेकिन कहीं न कहीं आत्म-प्रतिबिंब के गहरे स्तर पर हम अभी भी खुद को हरा रहे हैं। पूर्ण-स्टैक डेवलपर्स प्रौद्योगिकी के गहन ज्ञान नहीं होने के लिए खुद को अभिशाप देते हैं। एकल-विषय विशेषज्ञ विलाप करते हैं कि उनके पास कौशल की एक विस्तृत श्रृंखला नहीं है।


चौड़ाई में सीखना बनाम गहराई से सीखना


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


यदि आप एक पूर्ण-स्टैक डेवलपर के रूप में रखना चाहते हैं, तो आपको कुछ टाइपस्क्रिप्ट के रिलीज़ नोट्स के माध्यम से खुद को पढ़ना होगा, जैसा कि आप पढ़ते हैं, भले ही आपको ऐसा न लगे। फिर भी, आप एक डेवलपर से मीलों दूर होंगे जो हर रोज विशेष रूप से टाइपस्क्रिप्ट में कोड करता है।


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


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


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


आप हमेशा के लिए मध्य-स्तर पर अटके रहेंगे।


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

Source: https://habr.com/ru/post/hi436596/


All Articles