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