कुछ ज्ञात / सामान्य विकास विशेषता क्या हैं? [बन्द है]


10

में एक जवाब है कि मैं तैनात एक और सवाल है, मैं उल्लेख किया सॉफ्टवेयर के विकास में अधिक से अधिक विशेषज्ञता हो जाने की संभावना है कि वहाँ: वहाँ प्रोग्रामिंग की दी प्रकार के लिए किया जा रहा है विशेषज्ञों या विशेषज्ञों।

मैं सोच रहा हूँ, क्या विशिष्टताओं को उद्योग में उचित मात्रा में मौजूद है (अब अकादमिक नहीं), जो कि विशिष्ट नहीं हैं (जैसे। इस चर्चा के लिए winforms एक विशेषता नहीं है)? मुझे इस उद्योग में भी दिलचस्पी है कि यदि आवश्यक हो तो ऐसे विशेषज्ञ को काम करना होगा।

जवाबों:


18

जिस तरह से मैं देख रहा हूँ कि यह विशेषज्ञता की दो श्रेणियां हैं:

  1. एक विशेष प्रोग्रामिंग क्षेत्र में विशेषज्ञता;
  2. या किसी समस्या डोमेन में विशेषज्ञता।

एक प्रोग्रामिंग विषय के उदाहरण होंगे:

  • एंबेडेड
  • जीयूआई
  • दृश्य
  • परिक्षण

फिर एक विशेष समस्या डोमेन में विशेषज्ञता है जैसे कि

  • वित्तीय
  • वैज्ञानिक
  • मेडिकल
  • लगभग किसी भी प्रमुख उद्योग को एक समस्या डोमेन माना जा सकता है

मुझे लगता है कि यह एक महत्वपूर्ण अंतर है।


4

एंबेडेड सिस्टम प्रोग्रामिंग (जो मैं लगभग 30+ वर्षों से लगा हुआ हूं) को किसी अन्य प्रकार के सॉफ़्टवेयर विकास की तुलना में काफी अलग मानसिकता की आवश्यकता होती है। कंप्यूटिंग शक्ति की सीमा व्यापक रूप से भिन्न होती है, 8-बिट माइक्रोकंट्रोलर से, जो लिनक्स या किसी अन्य सामान्य ओएस पर चलने वाले 32-बिट माइक्रोप्रोसेसर की मात्रा में 30 सेंट की लागत होती है। मैं वर्तमान में इस पैमाने के दोनों सिरों पर परियोजनाएँ कर रहा हूँ। सबसे छोटे माइक्रोस पर कोड मेमोरी केवल कुछ केबी हो सकती है, केवल कुछ सौ बाइट्स रैम के साथ। एक मिड-रेंज 16-बिट माइक्रो कॉस्ट $ 3 की मात्रा में 256KB प्रोग्राम स्टोरेज और 16KB की रैम हो सकती है।

सीमित मेमोरी संसाधनों के अलावा, एम्बेडेड प्रोग्रामिंग का एक पहलू जो सॉफ्टवेयर डेवलपमेंट के अन्य क्षेत्रों के विपरीत है, वह यह है कि प्रोग्रामर अक्सर रजिस्टर स्तर पर सीधे हार्डवेयर के साथ काम कर रहा है - या तो माइक्रो पर ही, या परिधि में संलग्न है UART, SPI या I2C जैसे सीरियल बूस के माध्यम से माइक्रो। इस कारण से, कम-अंत एम्बेडेड माइक्रो आमतौर पर सी या असेंबली भाषा में प्रोग्राम किए जाते हैं।

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

एम्बेडेड विकास के हार्डवेयर पहलुओं के कारण, डेवलपर्स के पास अक्सर कुछ इलेक्ट्रॉनिक्स पृष्ठभूमि होती है। (मेरे पास ईई और सीएस दोनों में डिग्री है)।


1

"डेवलपर डीबीए" भूमिका / टीम मौजूद है लेकिन पर्याप्त या सराहनीय नहीं है।

बड़ी दुकानों के बारे में बात करते हुए, एक प्रोडक्शन डीबीए टीम के पास कुछ 1000 SQL सर्वर इंस्टेंस हो सकते हैं, जो आपदा वसूली, SAN, नेटवर्क और OS टीम आदि के साथ लेन-देन प्रदान करते हैं।

विकास टीमों के लिए कौन है? ट्यूनिंग? इंडेक्स? डिज़ाइन? कोडिंग मानक?

यह कहते हुए कि, खुद को एक डेवलपर डीबीए के रूप में, मैंने बहुत सारे क्लाइंट डेवलपर्स से मुलाकात की है जो डेटाबेस के बारे में अधिक जानते हैं जो मैं करता हूं ... :-)

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


0

एक विशेष प्रकार के सॉफ़्टवेयर समाधान को जानने का गौरव भी है जैसे कि निम्नलिखित में से कोई भी:

  • उद्यम संसाधन योजना
  • ग्राहक संबंध प्रबंधन
  • सामग्री प्रबंधन प्रणाली

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

हो सकता है कि वेब डेवलपमेंट जैसा कुछ खास न हो, क्योंकि इस क्षेत्र में कई खासियतें हो सकती हैं, या क्या आप इसे चाहते हैं?


हम्म, मैं उन विशिष्टताओं की आशा कर रहा हूं जो उनके कार्यान्वयन कौशल से अलग हैं। उदाहरण के लिए, एक AI विशेषज्ञ को C ++ / Prolog / किसी भी भाषा का उपयोग करने की आवश्यकता नहीं है। वेब विकास जैसा कि मैं देख रहा हूं कि यह इन दिनों प्रौद्योगिकियों (asp.net mvc! = RoR - अनुवाद योग्य ज्ञान ज्यादातर सामान्य प्रोग्रामिंग और प्लेटफॉर्म ज्ञान) के साथ दृढ़ता से लागू होता है
स्टीवन एवर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.