CodeGym /Java Blog /अनियमित /वरिष्ठ डेवलपर बनना कैसा लगता है। भूमिका के लिए एक लघु गाइ...
John Squirrels
स्तर 41
San Francisco

वरिष्ठ डेवलपर बनना कैसा लगता है। भूमिका के लिए एक लघु गाइड

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

एक वरिष्ठ डेवलपर कौन है?

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

एक वरिष्ठ डेवलपर की जिम्मेदारियां क्या हैं?

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

एक वरिष्ठ डेवलपर के लिए आवश्यकताएँ

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

वरिष्ठ डेवलपर्स कितना बनाते हैं?

जैसा कि आप जानते होंगे, जब अमेरिका में कोडिंग नौकरियों के लिए वेतन की बात आती है, तो एक अनुभवी वरिष्ठ डेवलपर के लिए आकाश एक सीमा है, क्योंकि Google, Facebook, Amazon, Apple और Microsoft जैसे दिग्गज सॉफ्टवेयर इंजीनियरों को बहुत अधिक भुगतान कर रहे हैं । उदाहरण के लिए, Google में, स्तर 7 पर एक सॉफ्टवेयर इंजीनियर, जिसे एक डेवलपर के रूप में आपको प्राप्त होने वाला उच्चतम माना जाता है, एक वर्ष में कुल $608,000 कमा सकता है। लेकिन आइए औसत आंकड़ों के माध्यम से चलते हैं। ग्लासडोर के अनुसार , यूएस में औसत वरिष्ठ प्रोग्रामर प्रति वर्ष लगभग $121,000 कमाता है, जो कि मिड-लेवल कोडर के $71,000 प्रति वर्ष के वेतन और $63,502 प्रति वर्ष के औसत वेतन की तुलना में काफी अधिक है, जो यूएस में जूनियर डेवलपर्स बनाते हैं। एक रिपोर्टPayScale द्वारा, 10-19 वर्षों के अनुभव वाला एक वरिष्ठ डेवलपर 5,523 वेतन के आधार पर $109,122 का औसत कुल मुआवजा अर्जित करता है। अपने बाद के कैरियर (20 वर्ष और अधिक) में, कर्मचारी औसतन $ 111,432 का कुल मुआवजा अर्जित करते हैं। जर्मनी में , PayScale के अनुसार, 10 से अधिक वर्षों के अनुभव वाला एक वरिष्ठ सॉफ़्टवेयर डेवलपर €63,638 का कुल औसत मुआवजा अर्जित करता है। फ्रांस में, एक वरिष्ठ का औसत वेतन €54,982 है। हमेशा की तरह, जब विशुद्ध रूप से संख्या की बात आती है, तो अमेरिकी प्रोग्रामर यूरोप और अन्य जगहों पर अपने सहयोगियों से आगे हैं। ध्यान देने वाली एक और दिलचस्प बात यह है कि अमेरिका में सीनियर प्रोग्रामर मिड-लेवल कोडर्स की तुलना में काफी अधिक कमाते हैं। शायद, यह एक धारणा के साथ सबसे अच्छी तरह से समझाया जाएगा कि यूएस में वास्तव में पेशेवर और अनुभवी वरिष्ठ कोडर अमेरिकी तकनीकी दिग्गजों के लिए काम करते हैं, जो दुनिया के अग्रणी सॉफ्टवेयर कार्यबल खर्च करने वाले हैं।

कैरियर के दृष्टिकोण

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

सीनियर डेवलपर बनना कैसा लगता है। राय

स्वाभाविक रूप से, जब सामान्य रूप से वरिष्ठ डेवलपर की स्थिति की बात आती है, तो अधिकांश चर्चाएँ दो प्रमुख विषयों पर ध्यान केंद्रित करती हैं, जिन पर डेवलपर्स सिर्फ बहस करने के लिए उत्सुक होते हैं: क्या वास्तव में आपको एक वरिष्ठ देव बनाता है और आप कितनी जल्दी खुद को एक वरिष्ठ कहना शुरू कर सकते हैं। "यह कुछ लोगों को आश्चर्यचकित कर सकता है, लेकिन वरिष्ठ स्तर की नौकरियों ने आवेदकों से लगातार 5 से 8 साल के अनुभव के लिए कहा। कुछ ऐसे थे जिन्होंने 10 साल या उससे अधिक समय मांगा, लेकिन बहुत से नहीं। एक वरिष्ठ डेवलपर के रूप में, एक कंपनी आपसे एक अस्पष्ट विचार लेने में सक्षम होने की उम्मीद करेगी, इसे निर्दिष्ट करें, विकास की योजना बनाएं, एक टीम को शामिल करें और इसे पूरा करने के लिए इसका पालन करें। जबकि, एक मध्यवर्ती डेवलपर से, आम तौर पर, पर्यवेक्षण के बिना, उन्हें सौंपे गए व्यक्तिगत कार्यों को पूरा करने, एक टीम के भीतर काम करने और कुछ सलाह देने की अपेक्षा की जाती है।अपना विचार साझा करता है । "एक वरिष्ठ डेवलपर के साथ, मैं एक उच्च स्तर/अधिक अस्पष्ट लक्ष्य दे सकता हूं और वे इसे निर्दिष्ट कर सकते हैं, निष्पादन के लिए एक योजना बना सकते हैं, इसे मेरे द्वारा चला सकते हैं, फिर इसे कम से कम हैंड-होल्डिंग के साथ कार्यान्वित कर सकते हैं। इसलिए जब आप आश्वस्त महसूस करते हैं कि आप एक अस्पष्ट विचार ले सकते हैं और इसे पूरी तरह से पूरा कर सकते हैं तो आप एक वरिष्ठ देव हैं। ध्यान दें कि इसका मतलब यह नहीं है कि आप कभी भी मदद के लिए नहीं पूछते हैं, क्योंकि हर कोई समय-समय पर करता है, लेकिन आप इस प्रक्रिया को मेरे द्वारा आपको बेबीसिट किए बिना चला सकते हैं, ”वाइज टेलीमेट्री के सह-संस्थापक और सीईओ एरिक वाइज कहते हैं । और इसे इस बहुत अच्छी बोली के साथ समाप्त करते हैंपाब्लो ओलिवा, जर्मनी के एक अनुभवी सॉफ्टवेयर डेवलपर द्वारा: “मैंने जिन वरिष्ठ डेवलपर्स के साथ काम किया है, ऐसा लगता है कि उनके पास बोलने के लिए एक विशाल टूलबेल्ट है। जब भी समस्याएँ आतीं, उनके पास मुड़ने के लिए बहुत सारे संसाधन होते। वे हमारे द्वारा दैनिक आधार पर उपयोग किए जाने वाले उपकरणों और भाषाओं को अच्छी तरह से जानते थे, और जानते थे कि जब वे कुछ नहीं जानते थे तो उन्हें कहाँ देखना चाहिए (पहली बार में लक्ष्यहीन रूप से गुगली करने और सही मैनुअल पृष्ठ पर जाने के बीच अंतर है)। पुराने समाधानों के इस ज्ञान और नए समाधानों की तलाश में दक्षता ने उन्हें उनके साथियों द्वारा अच्छी तरह से सम्मानित किया, जो अक्सर सुझावों के लिए उनके पास जाते थे। बदले में, उन्हें यह भी पता चलेगा कि कब खुद को देखना बंद करना है और किसी सहकर्मी से मदद माँगनी है। कुछ के पास प्रमाणपत्र थे, कुछ के पास नहीं थे। कुछ ने स्नातक किया था, कुछ ने नहीं किया था। लेकिन वे हमेशा अपनी टीमों के लिए एक संदर्भ बिंदु थे (और यहां तक ​​​​कि अन्य टीमों के लोगों के लिए, कुछ विशेष रूप से शानदार वरिष्ठ देवों के लिए)। तो, कितने लोग अटक जाने पर आपसे मदद माँगने के बारे में सोचते हैं?”
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION