हाई स्कूल प्रोग्रामर के लिए अपने काम पर ध्यान देने के लिए सबसे अच्छी जगह क्या है? [बन्द है]


52

मैं 16 साल का हाई स्कूल का छात्र हूँ, कंप्यूटर प्रोग्रामिंग का शौक रखता हूँ। मैं 11 वीं कक्षा में हूं, और मैं इसे लगभग 8 महीने से स्कूल के पाठ्यक्रम के भाग के रूप में सीख रहा हूं। मैं स्कूल में पढ़ाया जा रहा है, और कुछ (यथोचित) अनुप्रयोगों को मिटा दिया है। विंडोज़ प्लेटफॉर्म पर जिस भाषा में मैं प्रोग्राम करता हूं वह C ++ है। आखिरकार मैं सीएस में अच्छे कॉलेज में पढ़ाई करना चाहता हूं और फिर एक प्रोग्रामर के रूप में काम करता हूं।

मेरे पास जो विशिष्ट प्रश्न हैं:

  • अपने काम पर ध्यान देने के लिए मेरे लिए एक अच्छी जगह क्या है?
  • क्या विशेष रूप से युवा प्रोग्रामर के लिए कोई पत्रिका, या प्रकाशन हैं?
  • यदि प्रकाशन नहीं हैं, तो क्या कोई अच्छा ब्लॉग है, या यह केवल अपना खुद का शुरू करने के लिए बेहतर है?
  • क्या कुछ और है, जो मुझे एक प्रोग्रामर के रूप में देखने में मदद करेगा?

मैंने यथासंभव उद्देश्य के रूप में होने की कोशिश की है।

अगर यह सब tl? Dr था: युवा प्रोग्रामर के रूप में देखने का सबसे अच्छा तरीका क्या है?

संपादित करें: मैं हाई स्कूल से सीधे काम पर रखने के लिए नहीं देख रहा हूं। इसका उद्देश्य पेशेवर प्रोग्रामर के रूप में समुदाय को प्रभावित करना नहीं है। यह कॉलेज के अनुप्रयोगों के प्रति अभिप्राय के साथ है जहाँ आपके काम को देखा और अन्य लोगों द्वारा समीक्षित होने से आपके आवेदन में सुधार होगा मैंने जो लिखा है (अब तक) उससे पैसा कमाना नहीं चाह रहा हूं।


12
आपको क्या लगता है कि अन्य लोग 16 साल के ग्रीनहॉर्न ;-) पर ध्यान देना चाहते हैं।
Doc Brown

27
स्टैक ओवरफ्लो एक शानदार जगह है! कुछ अच्छे, उपयोगी उत्तर दें (और कुछ अच्छे, उपयोगी प्रश्न पूछें!), फिर अपने संभावित नियोक्ताओं को अपनी प्रोफ़ाइल पर इंगित करें।
कोड़ी ग्रे

24
@viraj मैं आपके उत्साह और यहाँ के अच्छे उत्तरों की सराहना करता हूँ। हालांकि मेरा सुझाव यह है कि आप इसे अपने शुरुआती जीवन का उपभोग न करने दें। अन्य शौक और रुचियों को अपनाएं, सामाजिककरण करें और मज़े करें, आप अपने जीवन में केवल एक बार बच्चे बन सकते हैं, जहां आप चीजों को पेंच कर सकते हैं और वापस अनचाहे उछाल सकते हैं। एक बार जब आप बड़े हो जाते हैं और अपना कैरियर बनाते हैं, तो आप अपने जीवन के बाकी हिस्सों के लिए इसकी संभावना रखेंगे । यह इतनी उम्र में बनाने के लिए काफी गंभीर है। आप इतने सारे लोगों की तरह नहीं बनना चाहते हैं, जहां उन्होंने कम उम्र में करियर पर ध्यान दिया और फिर बाद में अपने जीवन से घृणा की और एक भयानक मध्य-जीवन संकट था।
maple_shaft

4
@FrustratedWithFormsDesigner आप शीर्ष पैसे के बिना एक शीर्ष स्कूल में प्राप्त करना चाहते हैं तो यह में प्राप्त करने के लिए कठिन है।
maple_shaft

10
@maple_shaft आपकी बात अच्छी है, लेकिन अगर वह वास्तव में प्रोग्रामिंग के लिए भावुक है, तो आप उसे इससे दूर नहीं करना चाहते हैं - युवा बिल गेट्स / मार्क जुकरबर्ग को यह बताने की कल्पना करें "प्रोग्रामिंग पर अपने युवाओं का बहुत अधिक खर्च न करें, आप अपने जीवन के बाकी है "। सलाह आपके हितों और जुनून पर केंद्रित होनी चाहिए , न कि आपके करियर पर
कर्क ब्रॉडहार्ट

जवाबों:


61

मैं आपको कुछ चेतावनी और कुछ सुझाव देना चाहूंगा।

चेतावनी:

  • अपने ज्ञान का अनुमान न लगाएं: अभी मैं मान सकता हूं कि आप एक साधारण आवेदन लिखने के लिए पर्याप्त जान सकते हैं और वास्तव में कक्षा में जो पढ़ाया जाता है, उससे अधिक है। लेकिन यह आपको "पेशेवर प्रोग्रामर" नहीं बनाता है; यह आपको एक "फ्रीलांसर" बना सकता है।

  • स्कूल में जो पढ़ाया जाता है, उसके मूल्य को कम आंकें नहीं। यहां तक ​​कि अगर कुछ आपके लिए स्पष्ट प्रतीत हो सकता है, तो भी इसका अध्ययन करें: आप "नए पहलुओं" (बाद में और अधिक स्पष्ट हो जाएंगे) को देखेंगे।

सुझाव:

  • व्यावसायिक अनुप्रयोगों में 3-5 वर्षों का विशिष्ट जीवन-चक्र होता है और हज़ारों (लाखों तक) मानव-घंटे की आवश्यकता होती है। वे अकेले एक डेवलपर द्वारा तैनात नहीं किए जा सकते। पेशेवर प्रोग्रामर को दूसरों के साथ काम करना पड़ता है। यह सिर्फ औजारों (जैसे भाषा, आईडीई आदि) के अच्छे ज्ञान का विषय नहीं है, बल्कि तकनीकों, विधियों और मुहावरों का भी है।

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

  • कंपनियां, जब स्कूल से काम पर रखती हैं, तो उपकरणों की अपनी समझ और बुनियादी टेकनीक के साथ अपनी क्षमता की जांच करें, लेकिन - सबसे महत्वपूर्ण - तेजी से नई चीजों को सीखने में अपनी क्षमता का परीक्षण करें और आवश्यकतानुसार "काम पर कब्जा" करें।

  • अनुभवी लोगों के लिए काम पर रखने पर, वे देखते हैं कि उन्होंने कितने काम किए हैं और उन चीजों से उन्हें क्या अनुभव मिला है।

नैतिक:

  • यदि आप और अधिक "मूल्यांकन" करना चाहते हैं तो दूसरों के साथ काम करना सीखें, अन्य समस्याओं (जैसे स्टैकओवरफ़्लो ) या ओपन प्रोजेक्ट्स (जैसे सोर्सफोर्ज पर ) में भाग लेकर

  • इसके अलावा, पैसे मांगने के लिए बहुत तेज़ मत बनो; अपने "कोड उत्पादन" को "साझा करने के लिए कुछ" और "बेचने के लिए कुछ" में विभाजित करें। आप जो साझा कर सकते हैं वह दूसरों द्वारा उपयोग किया जा सकता है लेकिन प्रारंभिक परियोजना के विस्तार के लिए दूसरों की भागीदारी को भी आकर्षित कर सकता है। आप जो बेच सकते हैं वह वही है जो आपके ऐप को अन्य समान परियोजनाओं के संबंध में "अद्वितीय" बनाता है, जिससे यह एक वास्तविक वाणिज्यिक उत्पाद बन जाता है।
    अन्य लोगों के साथ कोड साझा करने के लिए, आप साइट का उल्लेख कर सकते codeproject या sourceforge । उनकी रेटिंग से यह भी पता चलता है कि आपने अन्य लोगों के साथ क्या दिलचस्प किया था।


30
अपने ज्ञान को कम आंकने के लिए +1। जब मैं हाई स्कूल में था तब मैं कुछ अच्छी चीजें लिख रहा था और मुझे लगा कि मैं एक अच्छा प्रोग्रामर हूं। फिर मैंने कॉलेज जाना शुरू किया और महसूस किया कि मैं पेशेवर स्तर पर होने के करीब नहीं था।
माइक एल।

1
+1 हालांकि OTOH, मैं लोगों को (व्यक्तिगत रूप से नहीं), जो हाई स्कूल में चीजों को लिखा था पता है कि मैं अभी भी समझ नहीं
BlueRaja - डैनी Pflughoeft

+1, जब मैं पहली बार विश्वविद्यालय जा रहा था, तो मुझे लगा कि मेरे पहले से ही प्राप्त कौशल का प्रमाण पत्र प्राप्त करना अधिक है। जब मैं कुछ क्षेत्रों में अन्य छात्रों से आगे था, तब भी मैं पेशेवर स्तर के निकट नहीं था।
user606723

4
अपने ज्ञान को कम करने के लिए +1। मैं आपको यह नहीं बता सकता कि मुझे एक सप्ताह में कितने रिज्यूमे मिलेंगे जो कि सूचीबद्ध हर कौशल पर "विशेषज्ञ" हैं। ऐसा करना केवल आपके भोलेपन को दर्शाता है।
जेसी बंच

6
मजेदार बात, मुझे पता है कि कंप्यूटर विज्ञान में 3-5 साल की डिग्री के साथ पेशेवर रूप से लिखने का काम करने वाले कुछ लोग खुद को एक पेपर बॉक्स से बाहर नहीं रख सकते हैं ... बस यह कहना है कि प्रेरणा से कोई व्यक्ति वास्तव में घर पर अच्छी प्रथाओं को सीख सकता है। पेशेवर रूप से काम करने वाले कई लोगों के आगे अक्सर मील।
मैक्स

35

क्या आपने उन अनुप्रयोगों के लिए ओपन सोर्स प्रोजेक्ट बनाने के बारे में सोचा है जो आपने लिखे हैं और उन्हें ऑनलाइन होस्ट कर रहे हैं? SourceForge.net या GitHub.com अच्छे ओपन सोर्स प्रोजेक्ट होस्ट हैं। यह आपके अनुप्रयोगों के लिए दृश्यता प्राप्त करने में मदद करेगा।


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

26

सबसे पहले, आइए स्पष्ट हो जाएं: 16 वाईओ प्रोग्रामर में से अधिकांश वास्तव में समुदाय को प्रभावित नहीं करेंगे।

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

  • गणित में एक अच्छी पृष्ठभूमि प्राप्त करें, एल्गोरिथम को समझना आवश्यक है और इसलिए विभिन्न डेटा संरचनाओं को मास्टर करना चाहिए।
  • यह समझें कि एक अच्छा प्रोग्रामर पहले "ठोस" भाषा के इच्छुक होने से पहले प्रतिमानों (वस्तु-उन्मुख, कार्यात्मक, ...) को समझता है।
  • समझें कि अच्छी प्रोग्रामिंग अक्सर कोड मॉडलिंग के लिए भी आती है, और मौजूदा डिज़ाइन-पैटर्न सीखते हैं।

यदि आपको लगता है कि आप पहले ही उस सब में महारत हासिल कर चुके हैं, तो हाँ, आप शायद समुदाय को प्रभावित करेंगे।

आप हमेशा एक ओपन-सोर्स प्रोजेक्ट में योगदान करने की कोशिश कर सकते हैं, लेकिन आप भी काफी आश्चर्यचकित हो सकते हैं कि वास्तव में योगदान करने में सक्षम होने से पहले आपको कितना पकड़ना होगा।

अंत में, StackOverflow पर चारों ओर एक नज़र डालें और देखें कि आप अपनी पसंदीदा भाषा में वहां कितना जवाब दे सकते हैं ... आपके पास अपने स्तर का एक अच्छा प्रॉक्सी होगा।


2
+1: अनुभव का कोई विकल्प नहीं है। जब मैं काम पर रख रहा हूं तो मैं आमतौर पर यह देखना चाहता हूं कि किसी व्यक्ति ने अपनी बेल्ट के तहत परीक्षण-त्रुटि के पुनरावृत्तियों का बहुत कुछ किया है।
जॉनफक्स

3
+1: इतने सारे प्रोग्रामर जिनके साथ मुझे लगता है कि गणित उनके लिए महत्वपूर्ण नहीं था। और फिर वे चारों ओर मुड़ेंगे और एक ही सांस में एल्गोरिथ्म दक्षता के बारे में बहस करेंगे।
कोजिरो

+1: कंप्यूटर विज्ञान में गणित सबसे बुनियादी तत्वों में से एक है। एक क्षेत्र के रूप में कंप्यूटर विज्ञान गणित के बिना मौजूद नहीं हो सकता। एक गणित के बिना बाइट्स के दूसरे समूह को बाइट्स का एक समूह नहीं दिया जा सकता था। इसके अलावा इस क्षेत्र में इसे बनाना कठिन होगा यदि आप यह नहीं समझते हैं कि कंप्यूटर कैसे काम करता है, अगर आपको समझ में नहीं आता है कि बाइट्स के दो रजिस्टर एक साथ कैसे जोड़े जाते हैं (यह एक सरल प्रक्रिया नहीं है), तो आप कभी भी कंप्यूटर को नहीं समझ पाएंगे विज्ञान। प्रोग्रामिंग के लिए समस्या निवारण कौशल की आवश्यकता होती है, प्रोग्रामिंग लैंग्वेज सीखना और कंप्यूटर साइंस में अंडरलाइन फ्रेमवर्क आसान हिस्सा है।
रामहुंड

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

13

स्टैक ओवरफ्लो पर वास्तव में उच्च प्रतिष्ठा प्राप्त करने की कोशिश करें। लगभग इसी विषय पर यहां चर्चा की गई:

क्या स्टैक ओवरफ्लो में उच्च प्रतिष्ठा एक अच्छी नौकरी पाने में मदद करेगी?


5
इसके अलावा, SO पर उच्च प्रतिनिधि प्राप्त करना बहुत मजेदार है और आप प्रश्नों को पढ़ने, पोस्ट करने और जवाब देने के तरीके से बहुत कुछ सीखते हैं।
पॉल हैमस्ट्रा 18

1
मेरी राय में, एसओ पर उच्च प्रतिष्ठा का अर्थ है "मैं साइट पर बहुत समय बिताता हूं जो बुनियादी सवालों के टन का जवाब देता है जो हर प्रोग्रामर से संबंधित हो सकता है"। मैं इसके बारे में ज्यादा नहीं सोचता। (नोट: आप अभी भी एक विशेषज्ञ हो सकते हैं और SO पर उच्च प्रतिष्ठा प्राप्त कर सकते हैं)
siamii

8

कुछ चीज़ें जिन्हें आप आज़माना चाहते हैं:

  • ऐसे सॉफ़्टवेयर लिखें जो वास्तविक समस्याओं को हल करते हैं, आदर्श रूप से ऐसी समस्याएं जो पहले हल नहीं हुई हैं (या कम से कम संतोषजनक रूप से ऐसा नहीं है)। यदि कोई भी आपके सर्वोत्तम प्रचार प्रयासों के बावजूद आपके सॉफ़्टवेयर का उपयोग नहीं करता है, तो संभावना है कि उन्हें इसकी सख्त ज़रूरत नहीं है।
  • प्रासंगिक मेलिंग सूचियों, आईआरसी चैनलों और इंटरनेट मंचों पर अपने काम की घोषणा करें। यदि आपका प्रोग्राम कुछ लाइब्रेरी का व्यापक उपयोग करता है, तो लाइब्रेरी के समुदाय पर पोस्ट करने पर विचार करें; यदि यह सॉफ्टवेयर के अन्य मौजूदा टुकड़ों का अनुपालन करता है, तो उनके समुदायों की घोषणा करें, आदि।
  • यदि यह एक गंभीर पर्याप्त परियोजना है, तो इसके लिए एक समर्पित वेब साइट स्थापित करें। वेब साइट को एक सुविधा सारांश, डाउनलोड और प्रलेखन के लिंक, और (यदि लागू हो) कुछ स्क्रीनशॉट प्रदान करना चाहिए। सुनिश्चित करें कि यह एक उचित वेबसाइट है, न कि कुछ विज्ञापन-आधारित सस्ते जियो-स्टाइल-एबोमिनेशन - जिन्हें आप गंभीरता से लेना चाहते हैं, इसलिए इस पर कार्य करें। एक समाचार अनुभाग जोड़ना, एक विकी और / या बग ट्रैकर संभावित उपयोगकर्ता को एक संकेत देता है कि परियोजना कितनी सक्रिय है, जो आपके लिए या आपके खिलाफ काम कर सकती है (यदि परियोजना बिल्कुल सक्रिय नहीं है)।
  • यदि यह एक ओपन सोर्स प्रोजेक्ट है, तो इसे लोकप्रिय FOSS हब में से एक पर होस्ट करें (github, bitbucket, sourceforge यदि आपको करना है), और (ऊपर देखें) विकी और बग ट्रैकर को उजागर करें (लेकिन केवल आप उन्हें नियमित रूप से उपयोग करते हैं)।
  • आप जो भी करते हैं, अच्छा प्रलेखन प्रदान करते हैं। आपको एक छोटी "शुरुआत" और एक पूर्ण संदर्भ की आवश्यकता है। यदि आपके पास पहले नहीं है, तो लोग आपके प्रोग्राम को उपयोग करने के लिए बहुत कठिन पाएंगे। यदि आपके पास दूसरा नहीं है, तो लोग इसका उपयोग करना बंद कर देंगे क्योंकि वे अपनी ज़रूरत की जानकारी नहीं पा सकते हैं।

7

मैं बर्नार्ड के जवाब पर चलूंगा और थोड़ा और जोड़ूंगा। वहाँ कई ओएसएस परियोजनाएं हैं, जब तक कि आप एक लोकप्रिय परियोजना नहीं बनाते हैं, तब तक ध्यान देना मुश्किल हो सकता है, जो कि प्रोग्रामर के लिए आसान नहीं है।

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

यहाँ मेरे सिर के ऊपर से कुछ उदाहरण हैं:

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


4
  1. इमेजिन कप जैसी प्रतियोगिताओं में जाएं या कम से कम, आपके स्कूल के कंटेस्टेंट (यदि कोई हो)
  2. अपने आवेदन ऑनलाइन रखें, हो सकता है कि स्रोत कोड दें और, हालांकि आपके प्रश्न से संबंधित नहीं है, दूसरों से प्रतिक्रिया सुनें और उससे सीखें
  3. विभिन्न समुदायों में योगदान करने का प्रयास करें

4

मेरा यहां थोड़ा अलग नजरिया है।

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

अपने कोड का उपयोग करने के लिए लोगों को प्राप्त करने के लिए:

  • अपने उत्पाद को बहुत से लोगों को बेचें। उदाहरण के लिए एक ऐप स्टोर पर एक मोबाइल ऐप रखें और डाउनलोड, खरीदारी और निरंतर उपयोग को ट्रैक करें।
  • अपने उत्पाद का उपयोग करने के लिए बहुत से लोग प्राप्त करें, और विज्ञापन राजस्व बनाएं।
  • उत्पादों को विकसित करने के लिए बहुत सारे डेवलपर्स प्राप्त करें जो आपके उत्पाद के साथ काम करते हैं। यह कठिन है।
  • एक लोकप्रिय ओपन-सोर्स प्रोजेक्ट में योगदान करें ताकि आपके योगदान का उपयोग बहुत से लोगों द्वारा किया जा सके।

मेरी राय में, उपयोगकर्ताओं को लाभ प्रदान किए बिना सॉफ़्टवेयर लगभग अप्रासंगिक है। और आपको उन समस्याओं को हल करने के लिए ध्यान दिया जाएगा जिनकी लोग परवाह करते हैं, और यह एक बहुत ही दुर्लभ कौशल है।


3

एक उत्तर जो मैंने अभी तक नहीं पढ़ा: Google समर ऑफ़ कोड।

से वेबसाइट :

Google समर ऑफ कोड एक वैश्विक कार्यक्रम है जो छात्र डेवलपर्स को विभिन्न ओपन सोर्स सॉफ़्टवेयर परियोजनाओं के लिए कोड लिखने के लिए स्टाइपेंड प्रदान करता है। [...] कोड के Google ग्रीष्मकालीन के माध्यम से, स्वीकार किए जाते हैं कि छात्र आवेदकों को भाग लेने वाली परियोजनाओं से एक संरक्षक या संरक्षक के साथ जोड़ा जाता है, इस प्रकार वास्तविक-विश्व सॉफ्टवेयर विकास परिदृश्यों के लिए जोखिम होता है।

आपको भाग लेने के लिए 18 होना चाहिए, लेकिन यह बहुत दूर नहीं है। मैं कुछ ऐसे लोगों को जानता हूं जिन्होंने भाग लिया और एक अच्छा अनुभव था। क्योंकि आपके सभी योगदान खुले-स्रोत कार्यक्रमों के लिए हैं, वे सार्वजनिक हैं, इसलिए उन पर ध्यान दिया जाएगा।

चूँकि आप 18 वर्ष से कम आयु के हैं, इसलिए Google के पास प्री-यूनिवर्सिटी छात्रों (13-17 वर्ष के बच्चों) के लिए GSOC जैसा कार्यक्रम है, जिसे Google Code IN कहा जाता है ।


3

मेरे दृष्टिकोण से, ऐसे लोग हैं जो प्रोग्राम करते हैं।

  1. "प्रोग्रामर" - इनमें चीन में 16 वर्षीय स्वयं को पढ़ाया जाने वाला और उपलब्ध "सॉफ्टवेयर डेवलपर" वर्क फोर्स का 99% शामिल है। वे काम कर सकते हैं ... एक तरह से .. न्यूनतम अर्थों में, लेकिन अवधारणा के छोटे विचार हैं जैसे कि डिजाइन पेटेंट, रखरखाव, मजबूत / रक्षात्मक कोडिंग, एल्गोरिदम / डेटा-संरचनाएं और अन्य चीजें जो स्रोत के कुशल उपयोग को पसंद करती हैं। नियंत्रण सॉफ्टवेयर। उनके पास प्रभावी ढंग से प्रलेखन पढ़ने और अधिकांश एपीआई का उपयोग करने की क्षमता है।
  2. "औसत इलेक्ट्रिकल इंजीनियर" - 80% इलेक्ट्रिकल, 10% कंप्यूटर विज्ञान, 10% सॉफ्टवेयर इंजीनियर। इलेक्ट्रॉनिक्स के साथ प्रवीणता, लेकिन बस "प्रोग्रामर" के रूप में ज्यादा प्रोग्रामिंग के बारे में। तर्क और महत्वपूर्ण सोच, और विद्युत पक्ष से प्रबंधन कौशल हालांकि मदद करेंगे।
  3. "औसत कंप्यूटर विज्ञान बीएस स्नातक" - 25% प्रोग्रामर, 25% सॉफ्टवेयर इंजीनियर, 25% कंप्यूटर वैज्ञानिक, 25% लागू इलेक्ट्रॉनिक्स (तर्क शामिल)।
  4. "औसत कंप्यूटर इंजीनियर" - ये लोग 50% इलेक्ट्रिकल इंजीनियर, 50% कंप्यूटर विज्ञान स्नातक का मिश्रण हैं।

परिभाषाएं:

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

ध्यान दें, मैंने ऊपर "औसत" शब्द का इस्तेमाल किया है। व्यक्तिगत रुचियों और नौकरी के अनुभव के आधार पर, ये प्रतिशत काफी बदल सकते हैं। ये केवल अति सामान्यीकृत रूढ़ियाँ हैं। पुस्तक को कवर करके न देखें। मैं भी अपने अनुभव से सिर्फ बीएसईंग प्रतिशत हूं।


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

मैंने इसे थोड़ा अजीब लिखा था। मैंने इसे थोड़ा रिफैक्ट करके तय किया। हालांकि यह अभी भी पूरी तरह से सही नहीं है। प्रतिक्रियाएं: क) इस बिंदु पर, मेरी सूची में एक "प्रोग्रामर" एक प्रभावी समर्थक नहीं है। b) कंप्यूटर साइंस सॉफ्टवेयर विकसित करने के बारे में नहीं है और इसलिए वे सॉफ्टवेयर इंजीनियरिंग का उपयोग नहीं करते हैं। ग) कंप्यूटर इंजीनियरिंग कंप्यूटर विज्ञान और इलेक्ट्रिकल इंजीनियरिंग के बीच एक संकर क्षेत्र है। en.wikipedia.org/wiki/Computer_engineering
user606723

1

मैं एक फ्रीलांस प्रोग्रामर हूं। प्रोग्रामिंग मेरी प्राथमिक आय रही है क्योंकि मैंने 9 साल पहले हाई स्कूल में स्नातक किया है। मैं अभी भी अपनी डिग्री प्राप्त करने का इरादा रखता हूं, लेकिन फिलहाल वह समय अभी भी मेरे लिए सही नहीं है।

स्व-चालित मान्यता के लिए मेरा मार्ग इस प्रकार था। मैं यह नहीं कह रहा हूं कि ये चरण आपको प्रोग्रामिंग समुदाय द्वारा मान्यता प्राप्त करेंगे, लेकिन साक्षात्कार के समय आने पर यह आपकी विश्वसनीयता बढ़ाने में मदद करेगा।

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

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

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

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


0
  1. जितना हो सके उतना सीखो। यह किताबों, मंचों, कक्षाओं द्वारा किया जा सकता है, लेकिन वास्तव में प्रोग्रामिंग (और गंभीर रूप से प्राप्त करके)। यदि आप अपने हाई स्कूल में प्रोग्रामिंग क्लासेस से आगे निकल गए हैं, तो देखें कि क्या एक स्थानीय (सामुदायिक) कॉलेज में कोई अच्छी सीएस कक्षाएं हैं, जिन्हें आप ले सकते हैं (शायद गर्मियों में या रात की कक्षा के रूप में); या MIT / स्टैनफोर्ड प्रकार से ओपन कोर्स वेयर लेने का प्रयास करें।
  2. पहल का प्रदर्शन। यह कहना कि आप जानते हैं कि C ++ पूरी तरह से अस्वीकृत हो जाएगा। यह कहते हुए कि आपके पास दर्जनों ओपन सोर्स प्रोजेक्ट्स की एक सूची है, जो आपको कुछ पता है, आदि दिखाते हैं (हालांकि सावधान रहें; केवल कमिट करने के लिए प्रतिबद्ध न हों)। अपने खुद के ओपन सोर्स प्रोजेक्ट्स शुरू करें। यह ऐसा कुछ नहीं है जो आप एक दोपहर में करते हैं; लेकिन कुछ ऐसा है जो कुछ महीनों में आपका शिशु बन जाता है। एक Android / iphone ऐप लिखें और प्रकाशित करें जो कुछ उपयोगी है और इसे डाउनलोड करने के लिए लोगों को प्राप्त करता है।

पुनश्च: जब से मैंने कॉलेज में आवेदन किया है, तब तक यह एक लंबा समय रहा है - वे अभी भी आपको इस तरह से चीजों को सूचीबद्ध करने का अवसर देते हैं, है ना? (जैसे, शौक के बारे में एक खंड, या आपके हितों के बारे में एक निबंध प्रश्न)।


0

मुझे लगता है कि जॉनएफएक्स ने इस सवाल का शानदार जवाब दिया।

कुछ विचार:

  • मुझे लगता है कि jQueryUI शुरू करने के लिए सबसे अच्छी जगह हो सकती है। यह मजेदार और दृश्य है। तो आप jQueryUI डेवलपर फोरम पर jQuery साइट पर जा सकते हैं और योगदानकर्ता बनने के लिए कह सकते हैं।

  • मुझे लगता है कि आप प्रोग्रामिंग के लिए महान जुनून और समर्पण का प्रदर्शन करेंगे, जितना आप महान कौशल का प्रदर्शन करेंगे। लेकिन ऐसा मत करो कि तुम बंद करो! मैं आपको शामिल होने के लिए दृढ़ता से प्रोत्साहित करता हूं।

  • इस बिंदु पर आपको क्यूए करने के लिए समझौता करना पड़ सकता है। क्यूए उबाऊ है लेकिन आप इसे स्वीकार कर सकते हैं और समर्पण दिखा सकते हैं। लेकिन वहाँ से आप कुछ कोड का योगदान कर सकते हैं और शायद प्लगइन्स बना सकते हैं।

  • यदि आप किसी चीज में शामिल होने के लिए कहते हैं और वे इसे कठिन बनाते हैं, तो यह इसलिए है क्योंकि वे गधे हैं। बस एक ऐसी परियोजना की तलाश करें जहां लोग उत्साहजनक और अच्छे हों।

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


0

मैं सम्मानपूर्वक उन लोगों से असहमत हूं जिन्होंने जवाब दिया "अपने आप को मत समझना"!

यदि आपको अपनी उम्र में प्रोग्रामिंग के लिए प्यार है, तो इसके लिए जाएं, आप शायद अपनी उम्र के अन्य बच्चों की तुलना में महान और अधिक हैं, और जब तक आप एक अनुभवी नहीं हो जाते, तब तक आप अगले ब्रायन केर्निघन, एग्जर्स दिक्जस्त्र और डग ले जा सकते हैं!

मैं सुझाव दूंगा कि IPhone या Android विकास सीखें, और कुछ वास्तविक एप्लिकेशन बनाएं।

किसी चीज़ में महान बनें और जब आप वहां पहुंच रहे हों, तो सम्मेलनों में बोलें और लेख लिखें, जो आपको गौर करेंगे, और आपके कौशल को चमकायेंगे।

मैं 70 के दशक के अंत से और जावा के बाद से 1996 से प्रोग्रामिंग कर रहा हूं। मैं आपको सबसे महत्वपूर्ण जावा पुस्तक बता सकता हूं जो मैंने कभी पढ़ी थी गैंग ऑफ फोर डिजाइन पैटर्न, जो जावा के आविष्कार से एक दशक पहले लिखी गई थी। इसे पढ़ें और महान बनें!

आज सबसे अधिक भुगतान करने वाला उद्योग वित्तीय है, लेकिन यह तेजी से बदल रहा है। मुझे विश्वास है कि यह वापस आ जाएगा, लेकिन आप कभी नहीं जानते हैं!

एक प्रोग्रामर बनें और उच्च रोजगार और नौकरी की संतुष्टि का आनंद लें!

गुड लक, आपके आगे एक शानदार करियर है!


0

IPhone और Android पर अच्छी तरह से काम करने वाले वेब ऐप का निर्माण करें (अब के लिए मानक ब्राउज़रों को अनदेखा करें) और विलंबता, धब्बेदार नेटवर्क को दूर करने के लिए HTML5 की विस्तारित सुविधाओं (https://developer.mozilla.org/en/HTML/HTML5) का लाभ उठाएं। और फोन ब्राउज़रों की सीमा। यह सबसे अधिक संभावना है कि एक जावास्क्रिप्ट + एचटीएमएल 5 ब्राउज़र ऐप वितरित करना है जो सर्वर-आधारित एपीआई से जुड़ता है। (xmlrpc / json / yaml चुनें, SOAP नहीं)। इसे तेजी से चिल्लाओ। सर्वर पर, मैं सस्ते वीपीएस पर लिनक्स (डेबियन) में चेरी का उपयोग करने की सलाह देता हूं। आप $ 4 माह के तहत 123systems.com, buyvm.net (पसंदीदा लेकिन अक्सर उपलब्ध नहीं) पर कुछ प्राप्त कर सकते हैं। अजगर का उपयोग करना सीखें, और अपने सर्वर (एस) में अपना सामान तैनात करने के लिए फैब्रिक का उपयोग करें। $ 2.99 प्रति वर्ष के लिए namecheap.com पर एक .info डोमेन प्राप्त करें, और DNS के लिए dnsmadeasy.com का उपयोग करें (अधिक महंगा है, लेकिन इसके लायक है - वर्षों से उनका उपयोग कर रहा है, कभी भी एक मुद्दा नहीं था) जहां आप डीएनएस के माध्यम से लोड-बैलेंस कर सकते हैं। इसके अलावा, डेटाबेस द्वारा बंद नहीं किया जाना चाहिए। Sqlite का प्रयोग करें और sql स्टेटमेंट्स के साथ मैन्युअल रूप से अपनी टेबल डिजाइन करना सीखें। अंत में, एक मशीन से आप संभवतः 30,000 उपयोगकर्ताओं को संभाल सकते हैं। (2,000 एक साथ सर्वर पर हर 3 सेकंड में हिट)। HTML5 के स्टोरेज में जितना हो सके कैश करना याद रखें।

यदि आप ऐसा करते हैं, और आप इसके बारे में ब्लॉग करते हैं और ब्लॉग प्रविष्टियों और आपकी प्रगति के बारे में ट्विट करते हैं, तो आप निश्चित रूप से गौर करेंगे। दी सीखने के लिए बहुत कुछ है, लेकिन आप इसे कर सकते हैं!


-1

अपने काम पर ध्यान देने के लिए मेरे लिए एक अच्छी जगह क्या है?

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

क्या विशेष रूप से युवा प्रोग्रामर के लिए कोई पत्रिका, या प्रकाशन हैं?

यदि प्रकाशन नहीं हैं, तो क्या कोई अच्छा ब्लॉग है, या यह केवल अपना खुद का शुरू करने के लिए बेहतर है?

आप पहले से ही यहाँ हैं - यह सिर्फ एक है, कई समुदायों में से, कि साझा करने की इच्छा से बाहर है, और जानने के लिए जाना जाता है - अन्य लोग वर्तमान चर्चा के लिए योग्यता के विषयों को जोड़ने के लिए खुश हैं।

क्या कुछ और है, जो मुझे एक प्रोग्रामर के रूप में देखने में मदद करेगा?

प्रोग्रामिंग के लिए बस प्रोग्राम - जब तक यह उत्पादक, रचनात्मक और उपयोगी है - नोटिस लिया जाएगा।

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


-1

अगर मैं आप होता तो मैं अपने ज्ञान को अपने काम से परिचित कर लेता, आप कहते हैं कि आप ऐसे प्रोग्राम cबनाना शुरू कर दें जो रोज़मर्रा के यूजर्स के पीसी अनुभव की ओर बढ़ें, ऐसी चीज़ें बनाएँ youtube downloaderऔर अपना खुद का dev teamहीम इम शुरू करें और केवल 4 साल की प्रोग्रामिंग शुरू कर दें। पहले और इस im को हुड से एक युवा काले आदमी को प्राप्त करें .... इसलिए मैं प्रोग्रामिंग के लिए आपके पास हो सकता है जो जुनून समझ सकता था, लेकिन एक ही समय में प्रोग्रामिंग आपके समय का एक बहुत कुछ ले सकता है, और प्रयास, अपने आप को जीने का समय दे। , जिसका अर्थ है कि एक कंप्यूटर पर बैठने वाले सभी समय एक युवा लड़के पर तनावपूर्ण हो सकते हैं।


-1

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


-2

यदि आप खेल में हैं, तो लुडम डेयर में भाग लेने का प्रयास करें। एक अच्छा खेल कुछ यश मिलेगा।


-3

यदि आप ध्यान देना चाहते हैं और कुछ पैसे कमाते हैं तो मैं iPhone या Android पर मोबाइल विकास की सिफारिश करूंगा। आप सी ++ को पहले से ही जानते हैं, जो एक शानदार शुरुआत है। IPhone पर मूल विकास के लिए आपको ऑब्जेक्टिव C की आवश्यकता होगी, और Android के लिए आपको जावा की आवश्यकता होगी। दोनों C ++ के समान हैं (जावा आसान है क्योंकि मेमोरी मैनेजमेंट नहीं है), और सीखना बहुत मुश्किल नहीं होगा। इसलिए न केवल आप उन अनुप्रयोगों को लिखेंगे जो आपको नोटिस करेंगे, और आपको कुछ पैसे कमाएंगे, लेकिन आप इस प्रक्रिया में नई भाषाओं और गर्म प्लेटफार्मों को सीखेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.