"नौकरी के लिए सही उपकरण" और परिचित के बीच संतुलन [बंद]


19

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

जवाबों:


12

वाह कि एक बहुत मुश्किल सवाल है जब सिद्धांत की दुनिया से बाहर ले जाया गया और उत्पादन की दुनिया में।

सिद्धांत रूप में

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

प्रयोग में

न केवल आपके प्रवाह का सवाल है, अन्य व्यावसायिक प्रश्नों के एक मेजबान हैं जो आपको यह उत्तर देने से पहले पूछे जाने की आवश्यकता है:

  • "सही टूलींग" खरीदने की लागत
  • इसका समर्थन करने की लागत - लोगों को प्रशिक्षित करने की आवश्यकता है
  • सीखने की अवस्था की लागत
  • अन्य उत्पादों (अभी और भविष्य में) के साथ एकीकरण लागत
  • ... आदि

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

अब मैं यह नहीं कह रहा हूं कि सही उपकरण न चुनें - बस सुनिश्चित करें कि सही उपकरण अपने लागत निहितार्थ पर भी ब्रेक लगाने में सक्षम होगा।

यदि यह एक व्यक्तिगत परियोजना है - हमेशा "सही" टूल का उपयोग करें - इसलिए जब आपको व्यवसाय के संदर्भ में इस निर्णय का सामना करना पड़ता है तो आप बेहतर सूचित कॉल कर सकते हैं।


2
यह सिद्धांत में 'सरल' नहीं है। बस क्या वास्तव में सबसे अच्छा मतलब है ? मानदंड क्या हैं?
whatsisname

+1: जब सभी कारकों को जोड़ दिया गया है, तो सही उपकरण सबसे अच्छा उपकरण होने का अंत नहीं हो सकता है - कुछ लोगों को यह मिलता है, सबसे अच्छा उपकरण चुनें, और परिणाम भुगतें।
स्टीवन एवर्स

1
@whatsisname सबसे व्यक्तिपरक है और आपके पर्यावरण, बजट, समय सीमा पर निर्भर करता है ... - लेकिन एक घर परियोजना की भावना में यह एक ऐसी तकनीक का प्रयास करने का मामला होगा जो उस समस्या को हल करने के लिए डिजाइन किया गया था। जैसे वितरित के लिए एर्लैंग, पाठ हेरफेर के लिए पर्ल - फिर आप अपना निर्णय ले सकते हैं।
स्टीफन बेली

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

9

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

http://headrush.typepad.com/creating_passionate_users/2006/08/when_the_best_t.html


3

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

मेरा सामान्य दृष्टिकोण:

  1. यदि यह एक छोटी या छोटी अवधि की बात है, तो इसे हमेशा परिचित उपकरणों में लिखें।
  2. यदि यह एक बड़ी, दीर्घकालिक बात है, तो एक नया टूल सीखने की लागत-लाभ वाले ट्रेडऑफ़ को देखें।
  3. यदि आप निश्चित नहीं हैं, तो इसे एक छोटी अवधि की चीज़ के रूप में समझें जब तक कि आपके पास यह सबूत न हो कि यह एक दीर्घकालिक चीज़ है। तब जाकर निर्णय पर फिर से गौर करें।

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


1

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

मैं डिजिटल एजेंसियों में ASP.NET डेवलपर के रूप में कुछ वर्षों से काम कर रहा हूँ जहाँ हमारे पास बड़ी परियोजनाओं, छोटी परियोजनाओं, तंग परियोजनाओं, अच्छी तरह से गद्देदार परियोजनाओं आदि का मिश्रण है, हम अपने कौशल का विस्तार करने के लिए क्या करने की कोशिश करते हैं, "सॉफ्ट टारगेट" की तलाश करें, छोटी परियोजनाएं, जिनमें दर्दनाक रूप से तंग और कठिन समय सीमाएं नहीं हैं, और उन्हें नए तकनीक का उपयोग करने के अवसर के रूप में उपयोग करें जो बेहतर हो सकता है। .NET 2.0, 3.5, 4.0, ASP.NET MVC, Linq to SQL, Entity Framework - इन सभी में, मैंने पहली बार इस तरह की परियोजना में उपयोग किया है।

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

लेकिन अगर समय सीमा कम और ठोस है और परियोजना महत्वपूर्ण है, तो मैं आपको परिचित उपकरणों के साथ रहने की सलाह दूंगा। कुछ अलग हो सकता है बेहतर अनुकूल हो, लेकिन इस तरह की परियोजनाओं में, यह सब जोखिम के बारे में है


1

यह कुछ बातों पर निर्भर करता है:

1. नई भाषाएँ या उपकरण सीखने में आप कितने अच्छे हैं।

यदि आप एक त्वरित अध्ययन कर रहे हैं, तो नई भाषा या उपकरण सीखने की बाधा कम है। यह आपको टूलबॉक्स में एक और टूल जोड़ने का अवसर देता है।

2. कैसे भाषा / उपकरण स्वतंत्र आप अपने काम के माहौल बनाते हैं।

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

किसी को विम या एमएसीएस का उपयोग करने से यह समस्या नहीं होती है। बस उन्हें नई भाषा सीखनी होगी।

3. व्यावसायिक वास्तविकता

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

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


0

अगर कोई नई भाषा है जिसके बारे में आप उत्सुक हैं, और आप (और व्यवसाय) इसे बर्दाश्त कर सकते हैं, तो इसका पता लगाने के लिए अपने आप को एक से दो महीने तक का समय क्यों न दें?

इस तरह मैंने रूबी को सीखा। मेरे कोडर पार्टनर को जावा के साथ 7 साल का अनुभव था। मेरे पास 11 साल का जावा अनुभव था। न तो हम में से कोई भी माणिक के बारे में कुछ भी जानता था, केवल हम इसे आज़माना चाहते थे।

मैंने उसे और बाकी कंपनी को एक महीने के लिए रूबी की कोशिश करने के लिए मना लिया (यह 6-8 महीने की परियोजना होने जा रही थी)। सबसे खराब स्थिति, हम जावा का उपयोग करते हुए इस समय से शुरू करेंगे।

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


0

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


0

मैं कहूंगा कि किसी भाषा के साथ परिचित होना भी "नौकरी के लिए एक सही उपकरण" होने का एक पहलू है। मैं ऐसी स्थिति की कल्पना नहीं कर सकता, जहां प्रोलॉग मेरे लिए भाषा का पूरा अज्ञान बताकर नौकरी के लिए एक सही उपकरण होगा।


0

मेरा अपना संस्करण काम के लिए "मेरे लिए उपलब्ध सही उपकरण का उपयोग करना" है। "उपलब्ध" होने का अर्थ है कि मैं इसका उपयोग करने में सक्षम हूं, न कि केवल मैं संकलक और / या रनटाइम खरीद / प्राप्त कर सकता हूं।

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

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

मैं यह नहीं कह रहा हूं कि केवल एक (या यहां तक ​​कि दो या तीन) भाषाएँ सीखें और उन्हें सभी परियोजनाओं के लिए उपयोग करें और कुछ और न सीखें। अपने टूलबॉक्स में जोड़ने के लिए अधिक टूल हासिल करने के लिए, अन्य भाषाओं को सीखना महत्वपूर्ण है। लेकिन एक समस्या का सामना करना पड़ा, अपरिचित प्रौद्योगिकियों का उपयोग करके अपनी चिंताओं को जोड़ने के बजाय उन उपकरणों के साथ रहना बेहतर है जो आप जानते हैं। लेकिन दूसरी भाषाओं को सीखते रहें ताकि अगली बार चुनाव आसान हो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.