अगर मैं एक भाषा (जैसे जावा) में एक डेवलपर के रूप में काम करता हूं और वरिष्ठ डेवलपर तक अपना काम करता हूं, तो क्या वह मुझे किसी अन्य भाषा (उदाहरण के लिए रूबी) का उपयोग करने के लिए एक वरिष्ठ डेवलपर होने के लिए योग्य होगा?
अगर मैं एक भाषा (जैसे जावा) में एक डेवलपर के रूप में काम करता हूं और वरिष्ठ डेवलपर तक अपना काम करता हूं, तो क्या वह मुझे किसी अन्य भाषा (उदाहरण के लिए रूबी) का उपयोग करने के लिए एक वरिष्ठ डेवलपर होने के लिए योग्य होगा?
जवाबों:
इसका उत्तर देने का सबसे अच्छा तरीका यह है कि एक डेवलपर और वरिष्ठ डेवलपर के बीच अंतर क्या है। यह मानते हुए कि यह सिर्फ एक समय की सेवा नहीं है, आम तौर पर मैं डेवलपर्स और वरिष्ठ डेवलपर्स दोनों से उम्मीद कर सकता हूं:
इसके अलावा, मैं एक वरिष्ठ डेवलपर से अपेक्षा करूंगा:
तो, फिर सवाल यह है कि क्या आप अपनी दूसरी (या तीसरी या चौथी) भाषा के लिए विस्तारित मानदंडों को पूरा करते हैं? मेरा सुझाव है कि जब तक आप तकनीकी रूप से उस भाषा में पर्याप्त रूप से सक्षम हो जाते हैं जब तक आप हां में चले जाते हैं, तब तक अधिकांश वरिष्ठ डेवलपर सामान हस्तांतरणीय हो जाते हैं।
आप अपनी पसंद की किसी भी कंपनी के लिए किसी भी पद के लिए आवेदन कर सकते हैं।
यह आपके सीवी / कवर पत्र / साक्षात्कार में साबित होगा कि आप नौकरी के लिए आदमी हैं।
जब मैं सीनियर डेवलपर्स का साक्षात्कार लेता हूं तो मैं निम्नलिखित गुणों की तलाश करता हूं।
वहाँ अन्य बातों के असंख्य हैं, जिन्हें मैं खोज रहा हूँ, लेकिन ये मुख्य बिंदु हैं।
जबकि मैंने सीनियर डेवलपर्स को काम पर रखने की सिफारिश की है जो काम में इस्तेमाल की जाने वाली भाषा के विशेषज्ञ नहीं थे, वे समान भाषाओं के विशेषज्ञ थे।
आप आवेदन कर सकते हैं, लेकिन कम से कम अगर मैं काम पर रख रहा था, तो मैं आपको काम पर रख सकता हूं या नहीं।
वरिष्ठता (कम से कम) दो क्षेत्रों से संबंधित है। सामान्य विकास विशेषज्ञता और भाषा / रूपरेखा विशेषज्ञता। (वर्तमान में मैं व्यावसायिक-अंतरिक्ष-ज्ञान को छोड़ रहा हूं)। मेरी पुस्तकों में एक वरिष्ठ डेवलपर होने के साथ डिजाइन / वास्तुकला विशेषज्ञता का एक स्तर भी शामिल होगा। अच्छी / परीक्षण योग्य प्रणाली आदि का निर्माण कैसे करें
जावा में इस स्तर पर पहुंचना आपको अन्य (समान / प्रक्रियात्मक) भाषाओं के लिए अच्छे स्थान पर खड़ा होना चाहिए ।
लेकिन अपेक्षित तात्कालिक उत्पादकता के इस युग में, आपको रूबी के बारे में जावा के रूप में लगभग जानने की संभावना नहीं है। जावा-फ्रेंडली कंस्ट्रक्शन के बजाय अपने सिस्टम को रूबी-फ्रेंडली कंस्ट्रक्शन में कैसे विभाजित करें। आप शायद कुछ जावा फ्रेमवर्क जानते हैं और न ही रेल या अन्य रूबी-विशिष्ट चीजें।
अगर मैं आपसे इंटरव्यू के दौरान रूबी में व्हाइटबोर्ड कोडिंग करने के लिए कहता, तो क्या आप ऐसा कर पाते?
ये सभी आपको किसी भी स्तर पर या नहीं, आपको किराए पर लेने के मेरे निर्णय में जाएंगे; लेकिन विशेष रूप से एक वरिष्ठ भूमिका के लिए।
शुभ लाभ
नहीं।
यह हमारे पेशे और अन्य 'औपचारिक' व्यवसायों के बीच बड़े अंतरों में से एक है। यदि आपने 20 वर्षों तक वसीयत और सम्पदा करने वाले वकील के रूप में काम किया है, तो आप एक उच्च दर का आदेश देने जा रहे हैं क्योंकि आपके पास उस डोमेन में निर्मित 20 वर्षों का ज्ञान है ।
यदि आप 15 वर्षों से C ++ / Win32 / MFC कर रहे हैं, तो यह वास्तव में आपको रेल डेवलपर के रूप में एक वरिष्ठ स्थान के लिए योग्य नहीं बनाता है, भले ही आप अभी भी उसी डोमेन में समान समस्याओं को हल कर रहे हों ... मेडिकल कहो उदाहरण के लिए बिलिंग।
इससे भी बदतर, ज्यादातर कंपनियां आपको उस स्थिति के लिए भी नहीं मानेंगी जो लगभग समान है ... उदाहरण के लिए, यदि आपने 5-7 वर्षों के लिए C ++ / MFC किया है, तो आपको C # पर गति प्राप्त करने में सक्षम होना चाहिए / .NET बहुत जल्दी, कम से कम डेस्कटॉप के लिए। दुर्भाग्य से ज्यादातर कंपनियां इसे इस तरह से नहीं देखती हैं।
निर्भर करता है
इसमें से "प्रोग्रामिंग" लें। इसके बजाय यह बताएं कि आप एक पेशेवर अनुवादक हैं।
मान लें कि अंग्रेजी आपकी पहली भाषा है, और आप फ्रेंच में भी कुशल हैं। आपको स्पैनिश आसानी से सीखने की संभावना है।
हालाँकि, आप चीनी की कई बोलियों को जल्दी से समझने की संभावना नहीं रखते हैं। जबकि एक भाषाविद् के रूप में आपका अनुभव आपको भाषा सीखने में मदद करेगा, जिससे आपको किसी ऐसे व्यक्ति पर लाभ मिलेगा जिसने कभी किसी विदेशी भाषा का अध्ययन नहीं किया है, फिर भी आपको "विशेषज्ञ" (यानी "वरिष्ठ" बनने में बहुत अधिक समय लगेगा। ) उस भाषा में अनुवादक।
हां और ना।
यदि भाषाएं समान हैं , तो C ++, Java या रूबी कहें कि आपको माना जाना चाहिए। इस बात पर निर्भर करता है कि उन कार्यालयों में बैठे लोग कितने लचीले हैं, आपके पास लड़ाई का मौका है।
हालाँकि अगर भाषाएं बहुत अलग हैं , और इसका मतलब है कि आप एक COBOL आदमी हैं, जो हास्केल के बारे में सोच रहे हैं, तो आपके 10+ साल के COBOL के अवसरों के बावजूद, आप एक साक्षात्कार को सुरक्षित करने में सक्षम नहीं हो सकते हैं।
उन लोगों के हाथ जो आपके शरीर के अंगों पर चले जाएंगे:
मैंने शायद ही कभी भाषा के आधार पर "वरिष्ठ" शीर्षक देखा हो। मैं कुछ वरिष्ठ सिस्टम प्रोग्रामर, कुछ वरिष्ठ वेब प्रोग्रामर और एक वरिष्ठ COBOL प्रोग्रामर को जानता हूं ।
प्रोग्रामिंग बहुआयामी है और इसमें बहुत कुछ विषयों की पेशकश है। मैं वेब विकास में उपयोग की जाने वाली कई मुख्यधारा की भाषाओं में निपुण होने के लिए एक वरिष्ठ वेब डेवलपर (शीर्षकों में, प्रोग्रामर और डेवलपर विनिमेय प्रतीत होता है) की अपेक्षा करता हूं। क्या वह पायथन और पीएचपी गुरु को C # में तत्काल विशेषज्ञ बनाता है? दूसरी ओर, सभी C # गुरुओं को परियोजना प्रबंधन और नेतृत्व की उत्कृष्ट कला में महारत हासिल नहीं है।
मैंने वरिष्ठ सिस्टम प्रोग्रामर होने के अलावा एक कंपनी में सीटीओ की भूमिका निभाई। फिर भी, मैं खुशी से किसी स्कीम या LISP विशेषज्ञ के सामने आ जाता हूं, अगर हमें ऐसी परियोजना का सामना करना पड़ता है जिसकी या तो आवश्यकता होती है। एक अच्छा लीडर होने का एक हिस्सा आपकी अपनी सीमाओं और कमियों को पहले समझ रहा है ।
मुझे यकीन नहीं है कि मैं एक कंपनी में काम करना चाहता हूं, या यहां तक कि एक विभाग जो केवल और केवल एक भाषा पर केंद्रित है। ऐसा लगता है कि यह वही करेगा जो उन्होंने कहा था कि सिगरेट पीने से हमेशा होता है: अपने विकास को स्टंट करें जब वास्तविकता वास्तव में बहुत खराब है।
ज्ञान के बाद शीर्षकों का पीछा न करें। लेकिन, निष्पक्ष होने के लिए, एक पूर्व नेतृत्व की स्थिति में आपकी भूमिका शायद आपको एक अतिरिक्त बढ़त प्रदान करेगी, बशर्ते कि आपने हाथ में भाषा में योग्यता का प्रदर्शन किया हो।
मुझे लगता है कि यह इस बात पर निर्भर करता है कि आप वरिष्ठ डेवलपर के रूप में क्या अनुभव करते हैं? यदि यह एक वास्तुकार की भूमिका से अधिक है, तो डिज़ाइन के कई सिद्धांत और डिज़ाइन पैटर्न आपके अनुभव से एक डेवलपर के रूप में आपके निपटान में होंगे, चाहे भाषा की कोई भी हो। तो यह एक प्लस ;-) है
हालाँकि, जब किसी एप्लिकेशन या कोड को उत्पादक रूप से बनाए रखने और संभव के रूप में बनाए रखने के लिए (आपके स्लेव्स को थोड़ा ऊपर उठाते हुए) देखते हैं, तो मुझे नहीं लगता कि आप भाषा, आईडीई और / या फ्रेमवर्क स्विच करते समय एक ही अनुभव स्तर पर प्रवेश कर सकते हैं।
लेकिन जैसा कि रनरून ने कहा, यह आपको किसी भी चीज के लिए आवेदन करने से नहीं रोकता है
यह उस कंपनी पर अत्यधिक निर्भर होने जा रहा है जिस पर आप साक्षात्कार करते हैं क्योंकि यह आमतौर पर आंतरिक मानव संसाधन प्रक्रियाएं हैं जो ड्राइव करती हैं कि नए कर्मचारियों को बोर्ड पर कैसे लाया जाता है। बड़ी कंपनियाँ बहुत कठोर हो जाती हैं और अगर वे कहते हैं कि आपको किसी वरिष्ठ स्तर पर विचार करने के लिए किसी दिए गए भाषा में n वर्षों का अनुभव होना चाहिए, तो आप पा सकते हैं कि वे आपको केवल मध्य-स्तर के डेवलपर में लाएंगे।
हालांकि उन्होंने कहा, यह आपको स्थिति के लिए आवेदन करने से नहीं रोकना चाहिए और यदि वे आपको साक्षात्कार के लिए लाते हैं तो यह कुछ ऐसा है जिस पर आपको चर्चा करनी चाहिए।
मैं कहूंगा कि भाषा जितनी कम-स्तरीय या मशीन के अनुकूल है, आप उतने ही अधिक विशेषज्ञ हैं।
Java / C # विशेषज्ञता ASM / C / C ++ विशेषज्ञता से कम भुगतान की है।
बाद की भाषाएं स्मृति प्रबंधन और अन्य चीजें करती हैं जो वास्तव में प्रोग्रामिंग करते समय होती हैं।
लेकिन अन्य "आसान" भाषाओं के लिए, आपको उन विशेषताओं के बारे में एक त्वरित तुलना करने की आवश्यकता होगी जो उन्हें "आसान" बनाती हैं, लेकिन मुझे यह बेकार लगता है। आसान भाषाओं के साथ अनुभव को सीएमएस / अन्य मेड-कोड के साथ मापा जाता है जो आप काम करते थे, जैसे कि कोड इग्नाइटर या django या Apache या RoR।
मेरे लिए, वरिष्ठ डेवेलपर्स वे लोग हैं जो कर्नेल, सिस्टम, एंबेडेड हार्डवेयर, आदि प्रोग्रामर हैं जो उन भाषाओं का उपयोग करते हैं जो मशीन के अनुकूल नहीं हैं जो मेरे लिए वरिष्ठ नहीं हैं। वे बस काम करते हैं, लेकिन यह सब है।