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