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