संकलक नौकरियां - शिक्षा की कितनी आवश्यकता है [बंद]


15

मुझे कंपाइलर कंस्ट्रक्शन एज़ ए सब्जेक्ट प्रश्न से प्रेरित किया गया और मुझे लगा कि मैं यह पूछूंगा।

मैंने कुछ लोगों से सुना है कि उनके पास एक अच्छी "कंपाइलर टीम" है (यह न पूछें कि मैंने इसे कहाँ सुना है, मुझे याद नहीं है), जिससे मुझे आश्चर्य हुआ कि ऐसी टीम पर किसी को नौकरी कैसे मिलती है ?

मुझे पता है कि अंडरग्रेजुएट प्रोग्राम्स में कक्षाएं होती हैं और इस तरह, लेकिन क्या ऐसा कुछ है जो स्नातक की डिग्री न्यूनतम होगी (जैसे कि कम से कम मास्टर्स के रूप में)?

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


2
एक ओपन सोर्स कंपाइलर प्रोजेक्ट में भागीदारी (जैसे, llvm) एक महान लाभ होगा।
एसके-लॉजिक

Ditta @ SK-Logic मैं वर्तमान में अपने IB CS फाइनल के लिए एक कंपाइलर लिख रहा हूं। अनुभव लेखन संकलक प्राप्त करना शायद सबसे अच्छा तरीका है .... जैसा कि वास्तव में कुछ भी है।

1
मुझे लगता है कि संकलक और runtimes में सबसे बड़े नामों में से एक की डिग्री नहीं है। एंडर्स हेजेलबर्ग ... टर्बो पास्कल, डेल्फी, सी # के पीछे मस्तिष्क, टाइपस्क्रिप्ट
मैथ्यू

जवाबों:


17

खैर, संकलक विकास अल्ट्रा कट्टर है जिसका मतलब है कि इसके लिए बहुत धैर्य, जुनून और ठोस ज्ञान की आवश्यकता होती है। किसी भी तरह की डिग्री के साथ धैर्य, जुनून और ठोस ज्ञान को भ्रमित न करें। हमने मास्टर्स डिग्री के साथ कई आवेदकों को देखा है जो strlen()सी कोड की चार लाइनों में भी नहीं पहचान सकते ।

निश्चित रूप से उन कक्षाओं में भाग लें और व्यावहारिक ज्ञान प्राप्त करें। हो सकता है कि आप भी कंपाइलर के विकास को पसंद नहीं करेंगे, लेकिन आपको जो अनुभव होगा, वह आपको कुछ अन्य दिलचस्प विकास काम दिलाने में मदद करेगा।


जवाब के लिए धन्यवाद। क्या आप किसी ऐसे व्यक्ति को मौका देंगे जो स्वयं पढ़ाया गया हो और जिसकी कोई शैक्षणिक सीएस पृष्ठभूमि न हो?
जेटी

3
सिर्फ MIT OCW के कोर्स की जाँच करें
segfault

3
@ जेटी: मैं किसी को भी एक ओपन-सोर्स कंपाइलर में महत्वपूर्ण योगदान देने का मौका दूँगा, जो भी उनकी पृष्ठभूमि :)
मैथ्यू एम।

@ जेटी: मैं निश्चित रूप से एक बार वे सबूत लाऊंगा कि उनके पास वास्तविक ज्ञान है। उदाहरण के लिए, यदि उन्होंने कोड जनरेटर के अनुकूलन के लिए परीक्षण लिखे, तो वे एक औसत विश्वविद्यालय के स्नातक की तुलना में अधिक होने की संभावना रखते हैं।
sharptooth

यह और भी दिलचस्प हो जाता है जब कंपाइलर अपनी भाषा में लिखा जाता है।
ott--

5

पहला कदम एक अच्छा सीएस पृष्ठभूमि है - संभवतः, जितना बेहतर होगा, लेकिन कम से कम बीएससी ऑनर्स की डिग्री पूरी करनी होगी। इसके लिए वास्तव में कुछ औचित्य है, उस कंपाइलर (आम तौर पर, भाषा अनुवादक) और संबंधित तकनीकों (लेक्सिंग, पार्सिंग) में अच्छी तरह से कंप्यूटर विज्ञान के मूल सिद्धांतों का अध्ययन किया जाता है।

मेरा मानना ​​है कि पर्याप्त औद्योगिक (खुले स्रोत सहित) संकलक विकास बेशक अकादमिक साख की कमी को कम करेगा - लेकिन यह बहुत हद तक उम्मीदवार की पृष्ठभूमि पर निर्भर करता है। ध्यान दें कि यहां संकलक विकास पार्सिंग के लिए दुभाषियों और संबंधित उपकरणों को भी कवर करेगा।

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

अस्वीकरण: मैं एक कंपाइलर डेवलपर हूं, और उम्मीदवारों के साक्षात्कार में शामिल रहा हूं।


5

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

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


5

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


1
यह एक "उत्पाद इंजीनियरिंग भूमिका" की तुलना में आर एंड डी भूमिका की तरह लगता है। मैं आर्मक और एलएलवीएम (दो उत्पादन गुणवत्ता सी / सी ++ कंपाइलर) पर एक उत्पाद इंजीनियर था और उन विषयों में से किसी की भी आवश्यकता नहीं थी, और न ही मैंने उन संदर्भों को भी देखा था जब मैं इस क्षेत्र में काम कर रहा था।
dune.rocks
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.