paint-brush
अलोकप्रिय राय: एक अच्छा सॉफ्टवेयर इंजीनियर बनना पहले से कहीं अधिक कठिन हैद्वारा@jurajmalenica
8,605 रीडिंग
8,605 रीडिंग

अलोकप्रिय राय: एक अच्छा सॉफ्टवेयर इंजीनियर बनना पहले से कहीं अधिक कठिन है

द्वारा Juraj Malenica5m2023/10/15
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

तकनीक की तेज़ गति से जीवित रहना: इंजीनियरों की कहानी, प्रचार, और बदलती दुनिया में वास्तव में क्या मायने रखता है उस पर ध्यान केंद्रित करना
featured image - अलोकप्रिय राय: एक अच्छा सॉफ्टवेयर इंजीनियर बनना पहले से कहीं अधिक कठिन है
Juraj Malenica HackerNoon profile picture
0-item

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


अपने साथियों, शिष्यों और स्वयं की यात्रा को देखते हुए, एक अच्छा इंजीनियर बनना पहले से कहीं अधिक कठिन लगता है।

एक अच्छे इंजीनियर की परिभाषा

इंजीनियर बनने का क्या मतलब है? सॉफ्टवेयर इंजीनियर के रूप में, हम हैं:

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

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

भूमिका के अनुसार कार्य वितरण

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


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


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


हालाँकि नियम के हमेशा अपवाद होते हैं, हम कह सकते हैं कि एक अच्छा इंजीनियर वह है जो किसी लक्ष्य को प्राप्त करने में अधिकतम मूल्य लाने के लिए अपने प्रयासों पर कुशलतापूर्वक ध्यान केंद्रित करता है।

बढ़ते बाज़ार और प्रतिस्पर्धा

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

कुल टेक मार्केट कैप

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


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

दुनिया एक भ्रमित करने वाली जगह है.

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

सभी जावास्क्रिप्ट लाइब्रेरी

सच कहूँ तो, उद्योग में इतने वर्षों के बाद, मुझे अभी भी ChatGPT, GitHub Copilot और अन्य उभरती तकनीक द्वारा लाई गई बदलाव की नई लहर से खतरा महसूस हो रहा है। मेरे दिमाग ने उन परिदृश्यों की कल्पना करना शुरू कर दिया जहां मैं बहुत सी चीजों के संपर्क से बाहर था। क्या मैं मूल्य लाने के लिए सही चीज़ों पर ध्यान केंद्रित कर रहा हूँ? क्या मैं अपनी अधिकतम क्षमता का उपयोग कर रहा हूँ?


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


तकनीक में इतने वर्षों तक काम करने के बाद भी, मैं प्रचार में फंस गया। नौसिखिया गलती!


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


मेरी सलाह है - नए रुझानों और प्रचार में इस हद तक न फंसें कि आप मूल्य लाने पर ध्यान केंद्रित करना बंद कर दें।

तेज़ गति और उच्च उम्मीदें

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

सकारात्मक तनाव बनाम नकारात्मक तनाव

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


फिर भी चीजें गलत हो जाएंगी. जब वे ऐसा करते हैं, तो हम गुंजाइश कम कर देते हैं, ऐसे लोगों को शामिल करते हैं जो मदद कर सकते हैं, या लॉन्च को स्थगित करने के लिए हमारे ग्राहकों के साथ संवाद करते हैं।


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

हम कैसे बेहतर कर सकते हैं?

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

प्रभाव का स्तर

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


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


सांस्कृतिक रूप से, ऐसी प्रक्रियाएं स्थापित करें जो दीर्घकालिक अनुकूलन करते हुए कर्मचारियों का समर्थन करेंगी। अपने सहकर्मियों के साथ मिलकर विश्वास, समर्थन और देखभाल की संस्कृति स्थापित करें। इस तरह, आप सभी एक-दूसरे से सर्वश्रेष्ठ प्राप्त करेंगे।