क्या एक भाषा का उपयोग करने वाला वरिष्ठ डेवलपर आपको दूसरी भाषा का उपयोग करके वरिष्ठ डेवलपर होने के लिए योग्य बनाता है? [बन्द है]


27

अगर मैं एक भाषा (जैसे जावा) में एक डेवलपर के रूप में काम करता हूं और वरिष्ठ डेवलपर तक अपना काम करता हूं, तो क्या वह मुझे किसी अन्य भाषा (उदाहरण के लिए रूबी) का उपयोग करने के लिए एक वरिष्ठ डेवलपर होने के लिए योग्य होगा?


2
@ फ़ीलिप - यह सवाल वास्तव में दो मोर्चों पर एक सीमावर्ती प्रश्न है। यह बॉर्डरलाइन "बहुत स्थानीयकृत" है क्योंकि यह वास्तव में केवल आपके लिए मूल्य होगा और यह बॉर्डरलाइन "रचनात्मक नहीं" है क्योंकि यह वास्तव में हमारे FAQ में सूचीबद्ध प्रश्नों को पूछने के लिए दिशानिर्देशों को संबोधित नहीं करता है। यदि आप इस प्रश्न को संपादित कर सकते हैं और दिशानिर्देशों को संबोधित कर सकते हैं तो यह प्रश्न को बचाने के लायक हो सकता है।
वाल्टर

8
@Walter - मुझे स्थानीयकरण पर आपकी पहली टिप्पणी से असहमत होना है। यह आम तौर पर लागू होने वाला प्रश्न / उत्तर है कि क्या एक भाषा में एक वरिष्ठ डेवलपर आपको दूसरे में किसी वरिष्ठ डेवलपर की स्थिति में प्रवेश करता है।
क्रेग

1
@Walter - स्थानीयकरण के मुद्दों को हटा दिया, मुझे लगता है कि यह शायद अब उचित है।
जॉन हॉपकिंस

1
@Walker - क्षमा करें, सवाल का मतलब है जैसा कि क्रेग कहता है। मैंने इसे सिर्फ इस तरह लिखा था क्योंकि मैं मानता हूं कि ज्यादातर प्रोग्रामर जिन्हें जूनियर माना जाता है वे किसी दिन सीनियर डेवलपर बनना चाहते हैं। इसलिए सही जूनियर स्थिति चुनना बहुत महत्वपूर्ण है (या नहीं)
फिलिप

11
यह सवाल यह प्रतीत होता है कि "वरिष्ठ डेवलपर" के कुछ प्रकार आम तौर पर स्वीकृत अर्थ हैं। यह आमतौर पर एक नौकरी का शीर्षक प्रकार है, और एक नौकरी का शीर्षक वह है जो आप और आपके नियोक्ता पर सहमत हो सकते हैं।
डेविड थॉर्नले

जवाबों:


33

इसका उत्तर देने का सबसे अच्छा तरीका यह है कि एक डेवलपर और वरिष्ठ डेवलपर के बीच अंतर क्या है। यह मानते हुए कि यह सिर्फ एक समय की सेवा नहीं है, आम तौर पर मैं डेवलपर्स और वरिष्ठ डेवलपर्स दोनों से उम्मीद कर सकता हूं:

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

इसके अलावा, मैं एक वरिष्ठ डेवलपर से अपेक्षा करूंगा:

  • सबसे अच्छा व्यवहार में स्टाफ के अन्य सदस्यों मेंटर
  • टीम द्वारा उपयोग की जाने वाली कम से कम कुछ भाषाओं के लिए संदर्भ बिंदु होना और स्वीकार करना
  • सर्वश्रेष्ठ अभ्यास के सक्रिय रूप से अनुसंधान और चैंपियन नए क्षेत्र
  • अधिक जटिल मुद्दों / कोड के क्षेत्रों का तकनीकी स्वामित्व लें और ठोस समाधान प्रदान करें

तो, फिर सवाल यह है कि क्या आप अपनी दूसरी (या तीसरी या चौथी) भाषा के लिए विस्तारित मानदंडों को पूरा करते हैं? मेरा सुझाव है कि जब तक आप तकनीकी रूप से उस भाषा में पर्याप्त रूप से सक्षम हो जाते हैं जब तक आप हां में चले जाते हैं, तब तक अधिकांश वरिष्ठ डेवलपर सामान हस्तांतरणीय हो जाते हैं।


1
यह वास्तव में पर्यावरण पर निर्भर करता है, विशेष रूप से बॉस पर। कुछ "सीनियर" को लगता है कि उन्हें हर विषय पर अपने ज्ञान को दिखाने की जरूरत है, खासकर जहां एक "जूनियर" में किसी विषय पर अधिक ज्ञान और अनुभव हो सकता है। कुछ गंभीर तनाव का निर्माण तब हो सकता है जब C ++ प्रोजेक्ट पर C ++ बैकग्राउंड के साथ सीनियर काम करता है। इस विशेष रूपरेखा के लिए एक "जूनियर" में एक बड़ा नॉलेजबेस हो सकता है। यह कुछ गर्म लड़ाई पैदा कर सकता है, खासकर जब बॉस सुन रहा हो।
पी। ब्रायन। मैके

@ P.Brian.Mackey - पर्याप्त रूप से, एक ही शीर्षक के साथ विभिन्न नौकरियों के बीच कुछ काफी भिन्नताएं हैं। मैंने जो सोचा था कि मैं एक सामान्य (और समझदार) परिभाषा के साथ गया था, लेकिन यह "30 साल की उम्र से अधिक है" से लेकर "सब कुछ के बारे में सब कुछ जानता है" तक हो सकता है।
जॉन हॉपकिंस

1
किसी भी भाषा में बीएफ की तुलना में अधिक जटिल बाद में शुभकामनाएं ... यहां तक ​​कि सी की तुलना में अधिक अंधेरे कोनों की अपेक्षा है!
17

'कुछ "सीनियर का मानना ​​है कि उन्हें हर विषय पर अपना ज्ञान दिखाने की जरूरत है।" इन लोगों को सर्द करने के लिए कहा जाना चाहिए। यदि आप स्वीकार नहीं करते हैं तो आप कुछ भी नहीं सीख सकते हैं। किसी चीज की अज्ञानता को स्वतंत्र रूप से स्वीकार करने की क्षमता ताकत की निशानी है, कमजोरी की नहीं।
पीटरअलेनवेब

1
+1 यह इंगित करने के लिए कि कुछ लेकिन सभी कौशल हस्तांतरणीय नहीं हैं। इसे लगाने का शानदार तरीका।
निकोल

5

आप अपनी पसंद की किसी भी कंपनी के लिए किसी भी पद के लिए आवेदन कर सकते हैं।

यह आपके सीवी / कवर पत्र / साक्षात्कार में साबित होगा कि आप नौकरी के लिए आदमी हैं।


5

जब मैं सीनियर डेवलपर्स का साक्षात्कार लेता हूं तो मैं निम्नलिखित गुणों की तलाश करता हूं।

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

वहाँ अन्य बातों के असंख्य हैं, जिन्हें मैं खोज रहा हूँ, लेकिन ये मुख्य बिंदु हैं।

जबकि मैंने सीनियर डेवलपर्स को काम पर रखने की सिफारिश की है जो काम में इस्तेमाल की जाने वाली भाषा के विशेषज्ञ नहीं थे, वे समान भाषाओं के विशेषज्ञ थे।


3

आप आवेदन कर सकते हैं, लेकिन कम से कम अगर मैं काम पर रख रहा था, तो मैं आपको काम पर रख सकता हूं या नहीं।

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

जावा में इस स्तर पर पहुंचना आपको अन्य (समान / प्रक्रियात्मक) भाषाओं के लिए अच्छे स्थान पर खड़ा होना चाहिए

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

अगर मैं आपसे इंटरव्यू के दौरान रूबी में व्हाइटबोर्ड कोडिंग करने के लिए कहता, तो क्या आप ऐसा कर पाते?

ये सभी आपको किसी भी स्तर पर या नहीं, आपको किराए पर लेने के मेरे निर्णय में जाएंगे; लेकिन विशेष रूप से एक वरिष्ठ भूमिका के लिए।

शुभ लाभ


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

3

नहीं।

यह हमारे पेशे और अन्य 'औपचारिक' व्यवसायों के बीच बड़े अंतरों में से एक है। यदि आपने 20 वर्षों तक वसीयत और सम्पदा करने वाले वकील के रूप में काम किया है, तो आप एक उच्च दर का आदेश देने जा रहे हैं क्योंकि आपके पास उस डोमेन में निर्मित 20 वर्षों का ज्ञान है

यदि आप 15 वर्षों से C ++ / Win32 / MFC कर रहे हैं, तो यह वास्तव में आपको रेल डेवलपर के रूप में एक वरिष्ठ स्थान के लिए योग्य नहीं बनाता है, भले ही आप अभी भी उसी डोमेन में समान समस्याओं को हल कर रहे हों ... मेडिकल कहो उदाहरण के लिए बिलिंग।

इससे भी बदतर, ज्यादातर कंपनियां आपको उस स्थिति के लिए भी नहीं मानेंगी जो लगभग समान है ... उदाहरण के लिए, यदि आपने 5-7 वर्षों के लिए C ++ / MFC किया है, तो आपको C # पर गति प्राप्त करने में सक्षम होना चाहिए / .NET बहुत जल्दी, कम से कम डेस्कटॉप के लिए। दुर्भाग्य से ज्यादातर कंपनियां इसे इस तरह से नहीं देखती हैं।


4
मुझे नहीं पता कि "अधिकांश" कंपनियां इसे इस तरह से देखती हैं। डाउन इकोनॉमी में अभी समस्या यह है कि बहुत सारे ऐसे लोग उपलब्ध हैं जो पहले से ही (आपके उदाहरण से) C # जानते हैं, इसलिए वे आपको संख्याओं के आधार पर केवल एक खोज से बाहर कर सकते हैं।
साने

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

3

निर्भर करता है

इसमें से "प्रोग्रामिंग" लें। इसके बजाय यह बताएं कि आप एक पेशेवर अनुवादक हैं।

मान लें कि अंग्रेजी आपकी पहली भाषा है, और आप फ्रेंच में भी कुशल हैं। आपको स्पैनिश आसानी से सीखने की संभावना है।

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


2

हां और ना।

यदि भाषाएं समान हैं , तो C ++, Java या रूबी कहें कि आपको माना जाना चाहिए। इस बात पर निर्भर करता है कि उन कार्यालयों में बैठे लोग कितने लचीले हैं, आपके पास लड़ाई का मौका है।

हालाँकि अगर भाषाएं बहुत अलग हैं , और इसका मतलब है कि आप एक COBOL आदमी हैं, जो हास्केल के बारे में सोच रहे हैं, तो आपके 10+ साल के COBOL के अवसरों के बावजूद, आप एक साक्षात्कार को सुरक्षित करने में सक्षम नहीं हो सकते हैं।

उन लोगों के हाथ जो आपके शरीर के अंगों पर चले जाएंगे:

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

1
ठीक है, मुझे पूछना है - रूबी सी ++ या जावा की तरह कैसे है? C ++ और Java दोनों C- शैली की भाषाएं हैं, जबकि Ruby Perl, Python और Smalltalk से ली गई है।
क्रेजी

मैं मार्गदर्शक विषय होने के नाते ओओपी का उल्लेख कर रहा था।
Fanatic23

2

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

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

मैंने वरिष्ठ सिस्टम प्रोग्रामर होने के अलावा एक कंपनी में सीटीओ की भूमिका निभाई। फिर भी, मैं खुशी से किसी स्कीम या LISP विशेषज्ञ के सामने आ जाता हूं, अगर हमें ऐसी परियोजना का सामना करना पड़ता है जिसकी या तो आवश्यकता होती है। एक अच्छा लीडर होने का एक हिस्सा आपकी अपनी सीमाओं और कमियों को पहले समझ रहा है ।

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

ज्ञान के बाद शीर्षकों का पीछा न करें। लेकिन, निष्पक्ष होने के लिए, एक पूर्व नेतृत्व की स्थिति में आपकी भूमिका शायद आपको एक अतिरिक्त बढ़त प्रदान करेगी, बशर्ते कि आपने हाथ में भाषा में योग्यता का प्रदर्शन किया हो।


0

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

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

लेकिन जैसा कि रनरून ने कहा, यह आपको किसी भी चीज के लिए आवेदन करने से नहीं रोकता है


0

यह उस कंपनी पर अत्यधिक निर्भर होने जा रहा है जिस पर आप साक्षात्कार करते हैं क्योंकि यह आमतौर पर आंतरिक मानव संसाधन प्रक्रियाएं हैं जो ड्राइव करती हैं कि नए कर्मचारियों को बोर्ड पर कैसे लाया जाता है। बड़ी कंपनियाँ बहुत कठोर हो जाती हैं और अगर वे कहते हैं कि आपको किसी वरिष्ठ स्तर पर विचार करने के लिए किसी दिए गए भाषा में n वर्षों का अनुभव होना चाहिए, तो आप पा सकते हैं कि वे आपको केवल मध्य-स्तर के डेवलपर में लाएंगे।

हालांकि उन्होंने कहा, यह आपको स्थिति के लिए आवेदन करने से नहीं रोकना चाहिए और यदि वे आपको साक्षात्कार के लिए लाते हैं तो यह कुछ ऐसा है जिस पर आपको चर्चा करनी चाहिए।


0

मैं कहूंगा कि भाषा जितनी कम-स्तरीय या मशीन के अनुकूल है, आप उतने ही अधिक विशेषज्ञ हैं।

Java / C # विशेषज्ञता ASM / C / C ++ विशेषज्ञता से कम भुगतान की है।

बाद की भाषाएं स्मृति प्रबंधन और अन्य चीजें करती हैं जो वास्तव में प्रोग्रामिंग करते समय होती हैं।

लेकिन अन्य "आसान" भाषाओं के लिए, आपको उन विशेषताओं के बारे में एक त्वरित तुलना करने की आवश्यकता होगी जो उन्हें "आसान" बनाती हैं, लेकिन मुझे यह बेकार लगता है। आसान भाषाओं के साथ अनुभव को सीएमएस / अन्य मेड-कोड के साथ मापा जाता है जो आप काम करते थे, जैसे कि कोड इग्नाइटर या django या Apache या RoR।

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


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

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

30 वेब डेवलपर? डेवलपर खैर "वरिष्ठ" का अर्थ है कि व्यक्ति लंबे समय से कोडिंग कर रहा है, या अधिक वृद्ध है। लेकिन अगर मैं अनुभव और ज्ञान के मामले में "वरिष्ठ" सोचता हूं जो मायने रखता है, तो मुझे नहीं लगता कि अगर आप एक गारंटीकृत भाषा का उपयोग करते हैं तो आप इसे प्रोग्रामिंग अनुभव कह सकते हैं।
जोकून
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.