Altium Designer: डेल्फी में बनाया गया सबसे बड़ा ऐप (लगभग 15 मिलियन कोडलाइन)

जब यह डेल्फी के साथ निर्मित सफल वाणिज्यिक अनुप्रयोगों की बात आती है, तो एम्बरकैरो हमेशा Altium डिजाइनर का उल्लेख करने में प्रसन्न होता है। यह परियोजना के पैमाने को विस्मित करने में विफल नहीं हो सकता है - इसमें स्रोत कोड की लगभग 15,000,000 (पंद्रह मिलियन) लाइनें हैं। Altium Designer, 3D मॉडलिंग सहित इलेक्ट्रॉनिक प्रणालियों के मुद्रित सर्किट बोर्डों के डिजाइन के लिए एक CAD प्रणाली है। आज हम सॉफ्टवेयर इंजीनियरिंग के दृष्टिकोण से सिस्टम के तकनीकी घटक के बारे में बात करेंगे।



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

आइए इसकी कार्यक्षमता के संदर्भ में सिस्टम के पैमाने का तुरंत मूल्यांकन करें। कृपया मुख्य कार्यात्मक मॉड्यूल या सबसिस्टम का वर्णन करें। यह बहुत महत्वपूर्ण है क्योंकि सीएडी (कंप्यूटर एडेड डिजाइन) शब्द का काफी व्यापक अर्थ है - इसे एक साधारण ड्राइंग एप्लिकेशन और बुद्धिमान सीएडी दोनों कहा जा सकता है। Altium Designer क्या कर सकता है?

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

रक्तचाप के फायदों में से एक यह है कि उपरोक्त सभी ऑपरेशन एक उत्पाद में एक दूसरे के साथ बहुत घनिष्ठ एकीकरण में किए जाते हैं।
सिस्टम के मुख्य कार्यात्मक ब्लॉक:

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

अधिकांश बड़ी प्रणालियों की तरह, Altium एक मॉड्यूलर वास्तुकला का उपयोग करता है। एक मंच है जो बुनियादी ढाँचे (दस्तावेज़, सेटिंग्स, संदेश सबसिस्टम, आदि) और मॉड्यूल प्रदान करता है जो कार्यक्षमता को लागू करते हैं। हाल के संस्करणों में, प्रत्येक मॉड्यूल एक पृथक डीएल है जो इंटरफेस का एक सेट प्रदान करता है। इंटरफेस COM- संगत नहीं हैं, लेकिन इंटरऑपरेबल हैं। इस प्लेटफ़ॉर्म पर कई उत्पाद बनाए गए हैं, लेकिन सबसे बड़ा AltiumDesigner है।

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

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

इस तथ्य को ध्यान में रखते हुए कि Altium Designer (AD) के अलावा, कंपनी के निर्णय स्टैक में सहायक उत्पादों की काफी विस्तृत श्रृंखला है, लाइसेंस सर्वर से लेकर Altium.Live पारिस्थितिकी तंत्र प्रदान करने वाले बुनियादी ढांचे तक, कई नेटवर्क इंटरैक्शन हैं। वेब सेवाओं का सक्रिय रूप से उपयोग किया जाता है। आंतरिक उत्पादों के लिए, क्या यह अक्सर बाहरी सेवाओं के साथ SOAP प्रोटोकॉल है? हाल ही में - बाकी।

परियोजनाओं का भंडारण कैसे आयोजित किया जाता है?

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

कई आंतरिक सहायता सेवाएं हैं - "क्रैश रिपोर्ट", "सिस्टम का निर्माण", "लॉन्च फ़ार्म" पर परीक्षण लॉन्च सिस्टम का संग्रह।

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

ईमानदारी से, कुछ लोग इस तरह की गणना में लगे हुए हैं। हालाँकि प्रलेखन में शामिल सहयोगियों को इसके बारे में पता हो सकता है - उन्हें इन सभी संवादों को अद्यतित रखना होगा :)

दो मुख्य रिपॉजिटरी के लिए dfm फ़ाइलों की खोज करने से प्लेटफॉर्म के लिए ~ 500 और मुख्य उत्पाद के लिए ~ 1800 नंबर मिलते हैं। मेनू आइटम की संख्या किसी तरह गणना करना काफी मुश्किल है, खासकर जब से यह गतिशील है, और खुले दस्तावेज़, ऑपरेशन मोड, आदि पर निर्भर करता है। लेकिन वास्तव में उनमें से बहुत से हैं :)
बुनियादी विन्यास में, लगभग 150-200 dll परियोजनाओं के बेस रिपॉजिटरी में लगभग 150-200 dll मॉड्यूल हैं , पूर्ण उत्पाद निर्माण में 40 मिनट लगते हैं (हालांकि यह वास्तव में पूर्ण है, इस तरह के बिल्ड का परिणाम अपडेट सिस्टम में उपयोगकर्ताओं के लिए उपलब्ध हो जाता है)।

एक भरी हुई सर्किट के साथ एक सिस्टम विंडो के कुछ स्क्रीन शॉट की कल्पना कर सकता है। क्या यह एक विशिष्ट वस्तु सीएडी विंडो है? मुख्य कार्य ग्राफिक क्षेत्र, टूलबार, ऑब्जेक्ट गुण संपादक? या कुछ विशेषताएं हैं?

मूल रूप से, परियोजना की तार्किक योजना (पहले स्क्रीनशॉट) और पहले से ही इसके भौतिक कार्यान्वयन (दूसरा स्क्रीनशॉट) के साथ काम किया जाता है। बेशक, कई अन्य क्षेत्र हैं, लेकिन ये महत्वपूर्ण हैं।

छवि

दूसरे स्क्रीनशॉट में (नीचे) - एक फ्लेक्स-कठोर बोर्ड का 3 डी प्रतिनिधित्व। डिजाइन खुद को आमतौर पर 2 डी मोड में किया जाता है।

छवि

क्या आपने मानक डेल्फी घटकों का उपयोग किया था या आपने इंटरफ़ेस के एर्गोनॉमिक्स को बढ़ाने के लिए अतिरिक्त पुस्तकालयों का उपयोग किया था?

दृश्य से - DevExpress और DreamControls घटकों का व्यापक रूप से उपयोग किया जाता है, इसमें बहुत सारे स्व-लिखित नियंत्रण हैं।
ड्राइंग मॉडल - एक "कैनवास" या कुछ जीपीयू-आधारित पुस्तकालय (ओपनजीएल, डायरेक्टएक्स) का इस्तेमाल किया?
अब सर्किट के लिए - GDI / GDI +, PCB के लिए - DirectX।

सिस्टम कितना खुला है? क्या मैं अपने स्वयं के कस्टम प्लगइन्स बना सकता हूँ?

यह पहले काफी खुला था, अब काफी कुछ विस्तार हैं, सबसे अधिक एकीकरण प्रकृति का है। और हाल के संस्करणों में, इस पर जोर दिया गया है - हमारे पास डेल्फी, सी ++ और सी # के लिए एक एसडीके है। आने वाले दिनों में, डेवलपरडिशन का एक संस्करण जारी किया जाएगा, जो एक्सटेंशन के विकास को और भी आसान बना देगा।

क्या कोई उपयोगकर्ता स्वचालन तंत्र है? कोई स्क्रिप्ट, मैक्रोज़, एक आंतरिक प्रोग्रामिंग भाषा?

हां, उपयोगकर्ताओं, डेल्फी / बेसिक / जावा-स्क्रिप्ट के साथ काफी लोकप्रिय है। इसका उपयोग एक्सटेंशन लिखने और रोजमर्रा के काम के लिए किया जाता है, विशेष रूप से वस्तुओं के लिए जटिल फिल्टर स्थापित करने के लिए।

छवि

विकास के इतिहास के बारे में बात करते हैं। प्रोजेक्ट कहाँ से शुरू हुआ?

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

डेल्फी के किस संस्करण से और किसके अनुसार अल्टियम डिजाइनियर का विकास किया गया है? यह स्पष्ट है कि इतने बड़े पैमाने पर परियोजना को स्थानांतरित करना मुश्किल है, लेकिन क्या कोई सफल प्रयास थे?

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

लेकिन डेल्फी के अलावा, यह काफी कुछ भाषाओं और वातावरण का उपयोग करता है, उदाहरण के लिए, कुछ मॉड्यूल C ++ और C # में लागू किए जाते हैं, Morfik का उपयोग वेब सेवाओं और अनुप्रयोगों के लिए किया जाता है।

कोर मॉड्यूल की वास्तुकला कैसे व्यवस्थित है? क्या फॉर्म-कंट्रोल-एक्शन-प्रतिक्रिया प्रक्रिया प्रकार के ये क्लासिक संस्करण हैं या मॉडल और इंटरफ़ेस को अलग करने जैसी अधिक परिष्कृत तकनीकें हैं?

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

क्या पर्यावरण इंटरफ़ेस ज्यादातर स्थिर है या बाहरी विन्यास के आधार पर उपयोगकर्ता इंटरफ़ेस उत्पन्न करने के लिए एक गतिशील तंत्र है?

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

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

क्या अनुकूलन के अवसर हैं, उदाहरण के लिए, मुद्रित सर्किट बोर्ड और संरचनात्मक तत्वों के समग्र आयाम? बहुपरत अनुकूलन? प्रतिबंधों की गतिशील सेटिंग?

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

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

छवि

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

उत्पादन - बजाय हाँ से नहीं। यह अभी भी एक क्षेत्र है, हालांकि आसन्न है, लेकिन हम जिस पर ध्यान केंद्रित करते हैं - डिजाइन और विकास। आधुनिक असेंबली लाइन को नियंत्रित करना काफी मुश्किल है जब मशीन तैयार बोर्डों पर मिलाप लागू करती है, घटकों को रखती है, और फिर प्रक्रिया प्रौद्योगिकी के अनुसार बोर्ड को "bakes" करती है, और पूरी तरह से बोर्ड के विकास के साथ अंतर नहीं करती है। यद्यपि विनिर्माण चरण के लिए निश्चित रूप से समर्थन है, यह प्रक्रिया के सबसे महत्वपूर्ण भागों में से एक है - सर्किट बोर्ड के निर्माण के लिए डेटा का निर्यात और तैयारी, विधानसभा उत्पादन के लिए, परीक्षण खड़ा करने के लिए, आदि।
जुड़े हुए उपकरणों में से, हम प्रोग्रामेबल लॉजिक (FPGA / FPGA) का उपयोग करके विकास के लिए उपयोग किए जाने वाले उपकरण, Nanoboard का उल्लेख कर सकते हैं।

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

वर्तमान में ऐसी कोई योजना नहीं है। जैसा कि आपने खुद देखा है, उनके लिए उद्देश्य और आवश्यकता पूरी तरह से स्पष्ट नहीं है। वे उन्हें विशेष रूप से काम के लिए उपयोग करने में सक्षम नहीं होंगे, जैसे कि MCAD में पेपर ड्रॉइंग की जगह - भी ...

कंपनी के पास मोबाइल विकास से जुड़े विभाग हैं, लेकिन यह पड़ोसी क्षेत्र में एक अलग क्षेत्र है जो सीधे AD से संबंधित नहीं है।

मैं मान सकता हूं कि आपके पास एक बहुत ही विकसित वस्तु संरचना है। क्या आप डेवलपर्स के बीच बातचीत के लिए ग्राफिकल नोटेशन का उपयोग करते हैं? या प्रोग्रामर्स की योग्यता ऐसी है कि जिम्मेदारी और कार्यात्मक मॉड्यूल के क्षेत्रों का मौजूदा वितरण आपको सिस्टम के ज्ञान के स्रोत के रूप में स्रोत कोड का उपयोग करने की अनुमति देता है?

नहीं, ग्राफिक नोटेशन का उपयोग नहीं किया जाता है। जैसा कि अभ्यास से पता चलता है, हमारे मामले में, प्रत्यक्ष संचार और डेवलपर्स की योग्यता का पर्याप्त स्तर अधिक प्रभावी है।

अधिक जटिल प्रणाली, परीक्षण के लिए आवश्यकताओं को और अधिक कठोर, विशेष रूप से प्रतिगमन परीक्षण। आप इस प्रक्रिया का प्रबंधन कैसे करते हैं? स्वचालित परीक्षण, मैनुअल परीक्षण, डेवलपर्स और परीक्षकों के बीच संबंध?

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

Altium की कार्मिक नीति क्या है? क्या आपके पास काफी बंद टीम है? या आप हमेशा एक योग्य विशेषज्ञ को किराए पर लेने के लिए तैयार और तैयार हैं?

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

सबसे पहले, क्या आप पेशेवरों की कीमत पर अपने कर्मचारियों का विस्तार करते हैं या क्या शुरुआती लोगों के लिए रिक्तियां हैं जो अभी सॉफ्टवेयर विकास में अपना करियर बनाना शुरू कर रहे हैं?

आमतौर पर, डेवलपर्स कंपनी में या तो अच्छे कौशल और अनुभव के साथ आते हैं या किसी अद्वितीय योग्यता के साथ। ताल और कार्यों में शामिल होने के लिए शुरुआती काफी कठिन हैं।

यदि आप अद्वितीय विशेषज्ञों को ज्ञान, कौशल और अनुभव के साथ आमंत्रित करते हैं, तो क्या आप औसत बाजार से अधिक वेतन देने के लिए तैयार हैं?

हाँ :)।

फिर भी, Altium एक उत्पाद कंपनी है, और बहुत कुछ इस बात पर निर्भर करता है कि कौन उत्पाद पर काम करता है। यहां हम मुद्दे के औपचारिक पहलुओं पर चर्चा नहीं करेंगे, इसके लिए हमारी कंपनी (anastasia.demchenko@altium.com) में विशेष लोग हैं, वे हमेशा संपर्क में रहते हैं।

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

नहीं, हमारी कंपनी में काम करने के लिए यह आवश्यक नहीं था कि आपको "अपने हाथों में टांका लगाने वाले लोहे के साथ" पैदा होना था। :)) बेशक, कुछ क्षेत्रों के लिए इलेक्ट्रॉनिक्स या गणित का ज्ञान एक प्लस है, लेकिन अनिवार्य आवश्यकता नहीं है - हमारे द्वारा सामना किए जाने वाले कार्यों की सीमा बहुत व्यापक है।

उत्पाद विकास रणनीति क्या है? अब प्राथमिकता क्या है? स्वचालन में सुधार? कार्यात्मक एक्सटेंशन? उदाहरण के लिए, संबंधित क्षेत्रों में प्रवेश करने की कोशिश करना, जटिल तकनीकी प्रणालियों के अन्य तत्वों को डिजाइन करना?

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

पारंपरिक सवाल। नौसिखिया प्रोग्रामर को क्या सलाह दी जा सकती है जो कि पेशेवर विकास के स्तर पर बढ़ना चाहते हैं, उदाहरण के लिए, अल्टियम द्वारा मांग में?

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

Source: https://habr.com/ru/post/In205974/


All Articles