मैं एक कंप्यूटर विज्ञान की डिग्री के साथ स्नातक कर रहा हूं, लेकिन मुझे ऐसा नहीं लगता है कि मुझे पता है कि कैसे प्रोग्राम करना है


1050

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

मैं एल्गोरिदम का अध्ययन करके अपने ज्ञान में सुधार करने की कोशिश कर रहा हूं, लेकिन यह एक लंबी और दर्दनाक प्रक्रिया है। मुझे एल्गोरिदम मुश्किल लगता है और जिस दर पर मैं सीख रहा हूं वह पुस्तक में सामग्री को मास्टर करने से पहले एक दशक बीत जाएगा। मेरी वर्तमान स्थिति को देखते हुए, मैंने एक महीना काम की तलाश में बिताया है लेकिन मेरे कौशल (C, पायथन, ऑब्जेक्टिव-सी) अपेक्षाकृत उथले हैं और स्थानीय बाजार में इतने वांछनीय नहीं हैं, जहां C #, Java और वेब विकास बहुत अधिक हैं मांग में। यह कहना नहीं है कि सी और पायथन के अवसर मौजूद नहीं हैं, लेकिन मेरे पास 3+ वर्षों का अनुभव है जो मेरे पास नहीं है। मेरा GPA ठीक है (3.0) लेकिन आईबीएम जैसी बड़ी कंपनियों में आवेदन करने या स्नातक की पढ़ाई के लिए वापस जाने के लिए यह पर्याप्त नहीं है।

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

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

जवाबों:


533

प्रोग्राम सीखने का सबसे अच्छा तरीका प्रोग्राम लिखना है।

दो सुझाव:

  • एक खेल विकसित करें
  • एक वेब साइट विकसित करना

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

इसके अलावा, अपने समय में ऐसा करने के लिए बेहतर है। इस सामान को काम पर रखने का इंतजार न करें। मुझे लगता है कि जो लोग बेहतर करते हैं, वे वही होते हैं जो अपने करियर की शुरुआत में अपने समय में अपने कौशल को विकसित करने के लिए प्रयास करते हैं। आमतौर पर क्योंकि वे वास्तव में सॉफ्टवेयर विकास के बारे में भावुक होते हैं

  • एक और बात " किताबें और नमूने पढ़ें " और पूछने में शर्म नहीं आती। यदि आप सीखना चाहते हैं तो आपको पूछना चाहिए :)

70
+1 पर सहमत हुए। और यदि आप इस सामान को अपने समय पर नहीं करना चाहते हैं, तो यह आपके लिए सबसे अच्छा कैरियर मार्ग नहीं हो सकता है। यदि आप अब एक साथ सामान रखते हैं, तो आप एक पोर्टफोलियो बना सकते हैं जो आपके GPA के पूरक हो सकते हैं।
क्रिस

68
@ क्रिस, -1। यह कहने जैसा है कि एक वकील जो अपने समय पर अपच के लिए नि: शुल्क काम नहीं करता है वह गलत कैरियर में है। कई प्रोग्रामर मुझे पता है कि कम समय प्रोग्रामिंग और अधिक समय लगभग कुछ भी करने में बेहतर होगा।

21
वास्तव में बहुत सारे वकील जब अपने दांत काटते हैं, तो बुरी तरह से भुगतान किया जाता है और आगे बढ़ने के लिए बहुत सारे अतिरिक्त घंटों में लगाया जाता है।

22
आप वास्तव में एक प्रोग्रामर की नौकरी के साथ वकील की नौकरी की तुलना नहीं कर सकते। प्रोग्रामिंग के साथ आप अपने दम पर कौशल हासिल कर सकते हैं; आपको उस हिस्से को बेहतर बनाने के लिए किसी भी नियोक्ता या ग्राहकों की आवश्यकता नहीं है।

31
वास्तव में, आपको सोचने से रोकने की आवश्यकता है कि प्रोग्रामिंग विशेष है। वकील काम कर सकते हैं / अपने दम पर सीख सकते हैं जैसे हम कर सकते हैं। वे खराब-भुगतान वाली नौकरियों पर शुरू कर सकते हैं और लंबे समय तक काम कर सकते हैं, लेकिन बहुत सारे प्रोग्रामर करते हैं ... "यदि आप एक शौक के रूप में प्रोग्राम नहीं करते हैं तो आपको प्रोग्रामर नहीं होना चाहिए" लाइन वास्तव में बहुत व्यक्तिपरक है।

388

मुझे ऐसा लगा जैसे मैं ज्यादातर पुस्तकालयों को एक साथ देख रहा था जो अन्य लोगों ने लिखे थे

जबकि मैं समझता हूं कि आपको ऐसा क्यों लगता है कि यह "वास्तविक प्रोग्रामिंग" नहीं था, सच्चाई यह है कि एकीकरण कार्य एक कॉर्पोरेट प्रोग्रामर के लिए विशिष्ट कार्यभार का एक महत्वपूर्ण प्रतिशत बनाता है। आपका अनुभव आपके विचार से थोड़ा अधिक मूल्यवान हो सकता है :)


126
गोंद के लिए +1। कोई भी नया घर बनाने के लिए पेशेवरों के एक समूह को काम पर नहीं रखेगा और उनसे इस प्रक्रिया में घर बनाने की नई तकनीकों का आविष्कार करने की उम्मीद करेगा। वास्तव में, जोखिम और बजट के प्रबंधन में रुचि किसी को भी शायद वे पसंद करेंगे कि है।
डैन ब्रायंट

14
मैं मानता हूं कि वहां कुछ किनारे मामले हैं, लेकिन मैं कहूंगा कि 75-80% प्रोग्रामिंग नौकरियां वहां हैं जहां आप सिर्फ एक साथ पुस्तकालयों को चमका रहे हैं।

15
और केवल पुस्तकालयों को एक साथ मिलाने में कुछ भी गलत नहीं है। वही आपको उत्पादक बनाता है!

10
निश्चित रूप से मेरे काम का 90% हिस्सा या तो अन्य लोगों के कोड (पुस्तकालयों या विरासत कोड) को हुक कर रहा है या पुराने कोड को बनाए रखता है। लेकिन मैं अपने अतिरिक्त समय बिट्स और टुकड़ों को सीखने में बिताता हूं, ताकि मैं जाऊं, ताकि अब मुझे पता चले कि उन पुस्तकालयों में से कितने काम करते हैं, और सामान्य तौर पर हुड के नीचे क्या होता है, इसकी गहरी समझ है। एक जीवन भर सीखने वाले बनें, और आप इसे अंततः पूरा करेंगे।
कोडेक्सआर्कनम

53
जब मैं पुस्तकालयों को एक साथ नहीं देख रहा हूँ, तो मैं आमतौर पर पुस्तकालय बना रहा हूँ जिसे बाद में मैं एक साथ गोंद दूंगा।

238

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

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

  2. छोटे से शुरू करो

  3. अपने खाली समय में एक हॉबी प्रोजेक्ट शुरू करें। कुछ ऐसा न करें जिसे आप आसानी से पूरा कर सकें। एक ऐसी परियोजना पर जाएं जिसमें आपके पास कोई विचार नहीं है कि कहां से शुरू करें। अपने को गहरे अंत में फेंको। इसका लाभ यह है कि आप उन चीजों को सीखेंगे जिन्हें आप कभी नहीं जानते थे और जब आप इसे पूरा करते हैं, तो आप एक विशाल गर्व और संतुष्टि महसूस करेंगे। मुझे यही चलता रहता है।

  4. आप जो भी करते हैं उसके लिए सच्ची लगन रखें। हालांकि लोग इस पर मुझसे असहमत होंगे। मुझे विश्वास नहीं है कि आप इस क्षेत्र में उत्कृष्टता प्राप्त कर सकते हैं यदि आप इसे केवल 9-5 की नौकरी मानते हैं। इसे करने के लिए एक जुनून होना चाहिए।

  5. SO पर अन्य लोगों की मदद करें! समझने का सबसे अच्छा तरीका यह है कि इसे दूसरे लोगों को सिखाने की कोशिश की जाए।

  6. अन्य लोगों के कार्यक्रमों का अध्ययन करें और यह पता लगाने की कोशिश करें कि वे कैसे काम करते हैं, फिर अपने स्वयं के कार्यक्रमों में इसी तरह की तकनीकों को लागू करें। इसे पढ़ने की कोशिश करें और इसकी समझ हासिल करें, फिर इसे कॉपी और पेस्ट के बजाय उस समझ के आधार पर खुद करें।

  7. इसे रखो । चीजें कई बार बहुत निराशाजनक हो सकती हैं, लेकिन समाप्त होने पर बहुत फायदेमंद होती हैं। यदि आपको कुछ समझ नहीं आ रहा है, तो एक ब्रेक लें, अपने विचारों को साफ़ करें और फिर से प्रयास करें। SO पर हमसे पूछें! हम एक इच्छुक गुच्छा हैं :)

  8. नई तकनीकों को सीखना कभी बंद न करें।

  9. कुछ किताबें पढ़ें। मैं समझता हूं कि एक छात्र होने के नाते, आपने पढ़ने का एक टन किया होगा। यहाँ के एक जोड़े हैं व्यावहारिक - कि आप काम ... उम्मीद है कि मिल सकती है किताबें जर्नीमैन मास्टर से: व्यावहारिक प्रोग्रामर - संहिता पूरा: सॉफ्टवेयर निर्माण की एक व्यावहारिक हैंडबुक


13
अपनी कोड सूची में क्लीन कोड जोड़ें, यह बहुत अच्छा है।

7
"किसी एक भाषा को जानना अच्छा है" -> गलत। एक भाषा को जानना पर्याप्त नहीं है। कई भाषाओं को जानना अच्छा है, इससे अधिक भाषा सीखना और भी बेहतर है।
डेनिलसन सा मायिया

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

2
@ डीनिलसन ओपी ने कहा है कि उन्हें नहीं लगता कि उन्हें पता है कि कैसे कार्यक्रम करना है। प्रोग्रामिंग के बारे में अनिश्चित होने वाले व्यक्ति के लिए एक भाषा जानना अच्छा है। मेरी सूची केवल इस संदर्भ में लागू है।

7
@ डेनिलसन, क्या आप पहले एक भाषा सीखे बिना कई भाषाएँ सीख सकते थे?
पॉटर टॉर्क

141

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

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


मैं अपने दिनों को 1 के बीच विभाजित कर रहा हूं) रिज्यूमे 2 भेजना) किताबें पढ़ना, लेकिन ऐसा लगता है कि 2) बेहतर लेखन कोड हो सकता है। मुझे लगता है कि बहुत सारे नियोक्ता किसी को बहुत कम उद्योग के अनुभव के साथ काम पर रखने का जोखिम नहीं उठाना चाहते हैं, ताकि मैं जो इंटर्नशिप नहीं लेता वह वास्तव में अभी बहुत अच्छा लग रहा है।

5
+1। मैं पूरी तरह से सहमत हूं। एक छोटा सा ऐप शुरू करें, और फिर कार्यक्षमता जोड़ें जैसा कि आप चाहते हैं कि आप इसे चाहते हैं। इमारत पर चला जाता है, और आप महसूस करने के लिए और क्या किया जा सकता है शुरू करते हैं, आप में जोड़ सकते हैं।

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

उत्कृष्ट विचार। लेकिन कोर कार्यों के साथ कुछ छोटे से शुरू करें और धीरे-धीरे इसमें जोड़ें। यह इस तरह से एक से अधिक विशालकाय ऐप प्राप्त करने की कोशिश करने के लिए प्रेरित करेगा। मैं यह भी सोचता हूँ कि आपको पुस्तकों में जानकारी के धन के रूप में उतनी जानकारी और ट्यूटोरियल कभी नहीं मिलेंगे
Xster

@Xster, यही मेरा मतलब है। एक "प्रश्न और उत्तर" एप्लिकेशन लिखने का कार्य जिसमें बहुत बुनियादी कार्यक्षमता है, शुरू करने के लिए एक अच्छी जगह है।
मैट ओलेनिक

106
  1. के.-निकोलस कहते हैं, एक परियोजना का उपयोग करते हुए उन मांग भाषाओं में से एक पर शुरू करें।
  2. StackOverflow द्वारा अपने आप को मापें नहीं। वह आपको अनावश्यक रूप से हतोत्साहित करेगा।

81
# 2 के लिए +1 - अपनी और एक भीड़ के ज्ञान की तुलना न करें।
gf

8
StakOverflow अपने आप में एक गुणी उत्पाद है। उल्लेख नहीं करने के लिए, कई तरह के उत्पादों में कई दशकों के अनुभव के साथ योगदान करने वाले लोग हैं।

6
मैं इसे स्टैकऑवरफ्लो के खिलाफ खुद को मापने के लिए एक बुरी बात नहीं मानूंगा, यहां बहुत सारे स्मार्ट लोग हैं। कुछ पहले से कहीं ज्यादा होशियार हैं। हालाँकि वे लोग हैं जो आपको सीखते रहना चाहते हैं।

15
अरे, मुझे पता है कि मैं एसओ का आदी क्यों हूं! यह एक दर्जन कारणों से भयानक है। लेकिन यह उन सभी चीजों को लगातार उजागर करने के लिए विनम्र है जो आप नहीं जानते हैं। एक को थोड़ा सावधान रहना चाहिए कि वह प्रेतवाधित न हो, बस।

@ जॉर्ज - अच्छा गेम-ऑफ-गो ग्रेविटर। केजीएस स्मंदोली

72

मैं आपकी नौकरी की स्थिति में मदद नहीं कर सकता, लेकिन मुझे आशा है कि मैं आपको अपने कौशल को विकसित करने में मदद कर सकता हूं और अपने स्वयं के कौशल के बारे में अपनी भावनाओं को भी परिप्रेक्ष्य में रख सकता हूं।

मैं एक कंप्यूटर विज्ञान की डिग्री के साथ स्नातक कर रहा हूं, लेकिन मुझे ऐसा नहीं लगता कि मुझे पता है कि कैसे प्रोग्राम करना है।

यह संभव है कि आपके प्रशिक्षकों को कुछ शर्म आए। यह भी संभव है कि आपके जीवन और शिक्षा के इस चरण के लिए कार्यक्रम के बारे में प्राकृतिक और उचित नहीं जानने के बारे में आपकी भावना। यहां कुछ विचार दिए गए हैं जो मदद कर सकते हैं:

  • कई नियोक्ता परवाह नहीं करते हैं कि आपके ट्रांसक्रिप्ट पर क्या पाठ्यक्रम हैं या यहां तक ​​कि आपका जीपीए क्या है। इसके बजाय वे जानना चाहते हैं कि आप क्या कर सकते हैं, और विशेष रूप से आपने क्या बनाया है। एक अच्छी नौकरी के लिए, आपने जो भी बनाया है, वह आपके रिज्यूम में तकनीक (C, C #, आपके पास क्या है) से ज्यादा महत्वपूर्ण है।

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

मैंने कड़ी मेहनत की है, लेकिन अपने दम पर बाहर जाने और अपना ऐप लिखने का आत्मविश्वास नहीं है।

शायद आपने सही प्रकार की समस्याओं पर कड़ी मेहनत नहीं की है? समस्याओं का पता लगाना अच्छा है

  • खुले-आम हैं
  • एक से अधिक अच्छे उपाय करें
  • बहुत सारे बुरे उपाय हैं

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

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

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

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


मुझे सहमत होना होगा। वहां बाहर जाएं और अपने भावी नियोक्ताओं को साबित करें कि आप सी, पायथन, ऑब्जेक्टिव-सी जानते हैं और एक स्वतंत्र एप्लिकेशन का निर्माण करते हैं जो कुछ करता है। लोग अक्सर खेल का चयन करते हैं क्योंकि खेल के आधार पर, वे चुनौतीपूर्ण डिजाइन और कार्यान्वयन को शामिल कर सकते हैं, और आसपास बहुत सारे पुस्तकालय स्वतंत्र हैं। यदि आप विंडोज के लिए एक गेम बनाते हैं, तो GDI / + या DirectX आपके लिए उपयोग करने के लिए सभी नि: शुल्क
देय

भाग "हार्वर्ड संकाय के अधिकांश सदस्य (मैं आठ साल से एक था) को लगता है कि वे वास्तव में हार्वर्ड से संबंधित नहीं हैं, वे पर्याप्त नहीं जानते हैं, और यह कुछ गलती रही होगी कि उन्हें काम पर रखा गया था।"

2
+1 कुछ बनाने के लिए: यह आपको भीड़ से अलग करता है, खासकर यदि यह ऐसा कुछ है जो उपयोगी है।

5
@ एलेक्स, कभी एचआर के माध्यम से मत जाओ। यदि आप भाग्यशाली हैं, तो कोई ऐसा व्यक्ति जिसे आप जानते हैं कि आप काम करना चाहते हैं।
नॉर्मन रैमसे

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

59

एक पुराने लॉ एंड ऑर्डर पर एक दृश्य था जिसमें एक डीए को शिकायत है कि उसने लॉ स्कूल में अपनी नौकरी करने के बारे में कुछ भी नहीं सीखा, कि उसने वास्तविक दुनिया के बारे में कुछ भी नहीं सीखा। जिस प्रोफेसर से वह शिकायत कर रहा है, वह कहता है, "यह एक लॉ स्कूल है, वकील स्कूल नहीं।"

यही बात कंप्यूटर विज्ञान पर भी लागू होती है। शायद आपने यह नहीं सीखा कि आप ऑनलाइन दिखाई देने वाली किसी परियोजना में तुरंत कैसे योगदान दे सकते हैं, लेकिन आपने संभवतः उस नींव को विकसित किया है जिसे आपको लंबे समय में सफल होने की आवश्यकता है।

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

एक परियोजना, किसी भी परियोजना का पता लगाएं। उदाहरण के लिए github.com पर कई लागू परियोजनाएं हैं।

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

वहाँ पर लटका हुआ! यह कठिन हो सकता है, लेकिन आपको एक दिन अनुभव की खुशी होगी।


8
हमने हाल ही में इस बारे में नौकरी पर चर्चा की है। क्या आपको वास्तव में लगता है कि आपके करियर में एक असंबंधित नौकरी पाने के लिए आपके cv को मदद मिलेगी? यदि आपको वित्तीय कारणों से फल लेने की आवश्यकता है, तो ठीक है, लेकिन मुझे नहीं लगता कि आपके सीवी में एक जगह है यदि आप एक प्रोग्रामर के रूप में कैरियर बनाने की कोशिश कर रहे हैं। यदि आपके पास आर्थिक क्षतिपूर्ति के बिना किसी परियोजना में भाग लेने या अपना स्वयं का व्यवसाय स्थापित करने का प्रयास करने के लिए वित्तीय बाधाएं बेहतर नहीं हैं। ओपन सोर्स प्रोजेक्ट्स या फील्ड से जुड़ी किसी चीज में भाग लेना, यहां तक ​​कि बतौर फील्ड टेक्नीशियन मेरी राय में ज्यादा बेहतर है।

1
@piotr - आपने इसे स्वयं कहा - "यदि आपके पास कोई वित्तीय बाधा नहीं है।" किसी भी हाल में कॉलेज के स्नातक को यह समस्या होने वाली है जब तक कि वे माँ और पिताजी के साथ रहते हैं। मैं डेविड एम से सहमत हूं - यदि आप सीधे अपने क्षेत्र में नौकरी नहीं पा सकते हैं, तो कुछ नौकरी प्राप्त करें। दिखाएँ कि आप बस के आसपास नहीं बैठते हैं। फिर, जब आप अपने दिन के काम पर काम नहीं कर रहे हैं, तो रात को सीखना जारी रखें और परियोजनाओं के माध्यम से अपने क्षेत्र को समझें, आदि, फिर से कॉल करना और फिर से शुरू करना।

कोई भी नौकरी फिर से शुरू होने पर बेहतर लगती है।
जिम सी

आपके करियर की शुरुआत में, असंबंधित नौकरी मेरे विचार से, नौकरी से बेहतर है। हालाँकि, मैं इस बात से सहमत नहीं हूँ कि कोई भी नौकरी नौकरी से बेहतर है। यदि "कोई नौकरी नहीं" का एक अच्छा कारण है, तो यह "किसी भी नौकरी" से बेहतर हो सकता है। मैंने स्वेच्छा से बेरोजगारी के लंबे विस्तार से गुजरा है, लेकिन मेरे पास ध्वनि कारण थे जो मैं सुसंगत रूप से समझा सकता हूं।

5
piotr: "क्या आपको लगता है कि वास्तव में आपके करियर के लिए एक असंबंधित नौकरी प्राप्त करने में आपके cv को मदद मिलेगी?" हाँ बिल्कुल। मुझे लगता है कि बहुत सारे प्रोग्रामर काम कर रहे हैं जो पूरे दिन घर बैठे प्रोग्रामर की तुलना में डाउनटाइम के दौरान निर्माण कार्य करते हैं। यह एक काम नैतिक दिखाता है। मैंने कभी भी अकेला जीनियस नहीं बनना चाहा है, जो घर पर अकेले लिखने का काम करता हो। वे यह नहीं जानते कि दूसरों के साथ अच्छा काम कैसे करना है, या नौकरियों का गंदा हिस्सा कैसे करना है।

59

क्या आपने ProjectEuler को देखा है ? मैंने उस साइट पर समस्याओं को करके खुद को पायथन सिखाया। :] यदि आप जावा या C # सीखने के बाद हैं, तो आप इसे आज़मा सकते हैं। साथ ही, मैं आपको GUI प्रोग्रामिंग पर भी हाथ आजमाने की सलाह देता हूं।

संपादित करें:

यहाँ कई लिंक के लिए SO पर एक बढ़िया विषय है जिसे आप कोडिंग अभ्यास के लिए देख सकते हैं:

https://stackoverflow.com/questions/662283/websites-like-projecteuler-net


4
मैंने साइट के बारे में बहुत कुछ सुना है, लेकिन कभी भी समस्याओं का प्रयास करने का समय नहीं था, लेकिन आजकल ऐसा लगता है कि मेरे पास केवल खाली समय है, इसलिए मैं व्यस्त रह सकता हूं।

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

1
मैं चार्ल्स से असहमत हूं - यूलर कुछ अवधारणाओं को समझने और उन पर अमल करने के लिए प्रेरणा प्रदान करेगा।
10:30

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

6
pythonchallenge.com कुंजी है! जबकि यूलर प्रोग्रामिंग द्वारा हल की जाने वाली गणित की समस्याएं हैं, पायथनचेलेंज शुद्ध प्रोग्रामिंग समस्याएं हैं
Xster

48

मैं आपके उपयोगकर्ता नाम से अनुमान लगा रहा हूं कि आप एक महिला हैं ... यदि नहीं, तो इसे अनदेखा करने के लिए स्वतंत्र महसूस करें, या इसे अपने स्वयं के दृष्टिकोण के अनुसार अनुकूलित करें।

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

(मैंने अपने साथियों की तुलना में कुल असफलता की तरह अधिकांश ग्रेड स्कूल महसूस किया, और अपनी कक्षा में स्नातक की उपाधि प्राप्त की।)

इसलिए मेरी सलाह होगी कि आप खुद ईमानदार रहें और अपने कौशल को विकसित करने के लिए कड़ी मेहनत करते रहें। लेकिन नौकरी की तलाश करते समय आप जो कुछ भी जानते हैं उसे नीचे न करें, और "पहुंच" नौकरियों के लिए आवेदन करने से खुद को रोकें नहीं।

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

इसके बाद जोड़े गए:

  • जब आप अपनी पहली नौकरी करते हैं, तो अपने वेतन पर बातचीत करने से न डरें। बहुत सी महिलाएं केवल पहले प्रस्ताव को कृतज्ञतापूर्वक स्वीकार करती हैं, और उन्हें कभी भी वह नहीं मिलता जिसके वे हकदार हैं।

यह संबंधित है ....
पॉल नाथन

+1, सभी अच्छे अंक। जब मैं स्कूल में थी तब मुझे साथी महिला सहकर्मियों के साथ इसी तरह की भावनाओं का सामना करना पड़ा।
हीथर एम

6
सिर्फ एक महिला की बात नहीं; जो लोग या तो पहले से ही सक्षम हैं, या यह देखने में सक्षम हैं कि उन्हें बढ़ने की जरूरत है (याय यू!) उन लोगों की तुलना में उनकी खुद की क्षमता पर अधिक सवाल उठाते हैं जो अपनी अक्षमता पर संदेह करना शुरू नहीं करते हैं। इस घटना का एक नाम है। द डायनिंग-क्रूगर प्रभाव। स्कूल में आपका अनुभव एक शानदार सफलता रही है यदि आप स्कूल को अपने जीवन के पथ को जारी रखने में सक्षम हैं, तो आप जिस भी कारर में रहते हैं, मैं आपको शुभकामनाएं देता हूं !!!
वॉरेन पी

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

बहुत बढ़िया जवाब, मैं पूरी तरह से सहमत हूं। इसके अलावा, मैंने अपने स्नातक स्तर पर ध्यान दिया, जो महिलाएं इसे पूरा करती हैं वे अक्सर शीर्ष छात्र थे। (मतलब, दुख की बात है कि बहुत सी महिलाएं जो बाहर हो गईं, वे पूरी तरह से सक्षम प्रोग्रामर बन सकती हैं ...)

39

बहुत सारे लोगों ने कहा है कि आपको एक व्यक्तिगत परियोजना शुरू करनी चाहिए। मेरी राय में, यह यहाँ पर सबसे अच्छी सलाह है। जब मैं अन्य उत्तर पढ़ता हूं तो मैं कुछ चीजें जोड़ूंगा जो मैंने नहीं देखीं ...

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

  • एक सहयोगी का पता लगाएं । अकेले कोडिंग कठिन है, इसलिए एक और चीज जो बहुत मदद करेगी अगर आपको इस परियोजना में आपके साथ सहयोग करने के लिए एक दोस्त मिला। यह इसे बहुत अधिक मजेदार बनाता है और आपको प्रेरित रखता है। अपने हालिया ब्लॉग पोस्ट में जेफ एटवुड ने एसओ के निर्माण के अपने अनुभव में इस सटीक बात के बारे में बात की। http://www.codinghorror.com/blog/2010/05/on-working-remotely.html

  • कुछ मामूली (शुरू में) उठाओ । आदर्श परियोजना कुछ छोटे से शुरू होगी। यदि गेट से बाहर का लक्ष्य बहुत महत्वाकांक्षी है तो यह बहुत कठिन हो जाएगा। पीसी, फोन, एम्बेडेड सिस्टम और वेब के लिए विकास करने के बाद, मैं कहूंगा कि वेब कुछ प्राप्त करने के लिए सबसे अच्छी जगह है जिसे अन्य लोग तुरंत उपयोग करना शुरू कर सकते हैं।

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

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


यदि संभव हो, कुछ है कि अन्य लोगों का उपयोग करेगा लेने ... प्रतिक्रिया प्राप्त करने के लिए सबसे अच्छा तरीका thats
balalakshmi

34

20+ वर्षों के लिए डेवलपर रहे किसी के दृष्टिकोण से कुछ टिप्पणियां:

मैं Google की तरह Stackoverflow और खोज इंजन जैसी वेबसाइटों को देखता हूँ और नहीं जानता कि मैं भी ऐसा कुछ लिखना कहाँ से शुरू करूँगा।

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

एक गर्मी के दौरान मुझे iPhone डेवलपर के रूप में काम करने का अवसर मिला, लेकिन मुझे ऐसा लगा कि मैं ज्यादातर पुस्तकालयों में एक साथ चमक रहा था जो अन्य लोगों ने हुड के नीचे होने वाले यांत्रिकी की थोड़ी समझ के साथ लिखा था।

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

मूल रूप से मैं कंप्यूटर साइंस की डिग्री के साथ स्नातक कर रहा हूं, लेकिन मुझे ऐसा नहीं लगता कि मैंने प्रोग्राम करना सीखा है।

यह जानना कि प्रोग्राम कैसे करना है, और एक पेशेवर डेवलपर के रूप में कैसे काम करना है, यह जानना दो अलग-अलग चीजें हैं। आपको बस कुछ अनुभव की आवश्यकता है, अधिमानतः वास्तविक दुनिया प्रणालियों पर अन्य डेवलपर्स के साथ काम करना। अपने कौशल में C # या Java जोड़ने की कोशिश करें - उनके बीच बहुत अंतर नहीं है इसलिए ज्ञान हस्तांतरणीय है। बहुत जल्द विशेष बनने से सावधान रहें। आपको यह स्वीकार करना पड़ सकता है कि आप तुरंत ज्यादा पैसा नहीं कमाएंगे, इसलिए यदि आप कर सकते हैं तो अपनी व्यक्तिगत लागत को कुछ समय के लिए कम रखें।

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

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

सौभाग्य!


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

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

31

प्रोग्रामिंग एल्गोरिदम या कॉलेज के दौरान आपके GPA की आपकी समझ के बारे में नहीं है। प्रोग्रामिंग बॉक्स के बाहर सोचने की क्षमता, इच्छा और सीखने की इच्छा और सबसे महत्वपूर्ण, रचनात्मकता के बारे में है।

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

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


27

नोट: मुझे उम्मीद है कि इस पोस्ट को डाउनवोट किया जाएगा। यह मूल पोस्टर का जवाब नहीं है, लेकिन ऊपर पढ़ी गई अधिकांश टिप्पणियों पर एक अवलोकन है।

मैं जो उत्तर ऊपर पढ़ रहा हूं, वे वास्तव में मुझे डरा रहे हैं। ऐसा लगता है कि लगभग एक सार्वभौमिक भावना है कि comp.sci डिग्री बेकार हैं या प्रासंगिक नहीं हैं, या आपको कुछ भी नहीं सिखाते हैं। क्या comp.sci की डिग्री वास्तव में इतनी बुरी हो गई है, या क्या यह सभी डिवेलपर्स की गर्म हवा है, जिसमें बिना डिग्री के ही उनकी कमी को सही ठहराने की कोशिश की जा रही है?

गंभीर रूप से लोग, वे आजकल विश्वविद्यालय में लोगों को क्या सिखा रहे हैं? जब आप एक स्नातक की डिग्री (कम से कम जब मैं एक छात्र था) करते हैं, तब तक जब आप स्नातक होते हैं, तो आपके पास संकलक डिजाइन, कम्प का एक अच्छा समझ होगा। जटिलता, औपचारिक तरीके और तर्क, डेटा संरचनाओं और एल्गोरिदम का एक पूरा चिड़ियाघर, बुनियादी संचालन अनुसंधान (एलपी आदि), डेटाबेस, साइबरोग्राफ़ी और सुरक्षा, शेड्यूलिंग एल्गोरिदम, नेटवर्क प्रोटोकॉल, इंटरनेट विकास, ओएस और कर्नेल डिज़ाइन, समानांतर एल्गोरिदम और डेटा संरचनाएं, संख्यात्मक एल्गोरिदम और एक पूरी बहुत अधिक। पूरी तरह से आम तौर पर एक विशाल प्रोग्रामिंग परियोजना द्वारा सबसे ऊपर होता है जो अंतिम शोध प्रबंध का हिस्सा होता है। मुझे मत बताओ कि comp.sci स्नातकों को पर्याप्त अभ्यास प्रोग्रामिंग नहीं मिलती है।

मैं इस तथ्य की भी सराहना करता हूं कि कुछ अधिक पारंपरिक comp.sci डिग्री सॉफ्टवेयर विकास चक्र के कुछ पहलुओं को छोड़ देते हैं, आप शायद TDD, इकाई परीक्षण के बारे में ज्यादा बात नहीं सुनेंगे। लेकिन चलो पूरी तरह से ईमानदार रहें: यह वास्तव में रॉकेट विज्ञान नहीं है, क्या यह है? आप SCRUM या फ़ंक्शन बिंदु विश्लेषण के बारे में नहीं सुनेंगे। इस तरह के बुनियादी मुद्दों पर विस्तृत पाठ्यक्रम पढ़ाना बहुत ही बेमानी होगा, हालांकि आजकल कई डिग्री सिस्टम डिजाइन पर एक कोर्स है, जहां वे छात्रों को यह अनुमान देते हैं कि ये चीजें कैसे काम करती हैं।

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

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

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

नोट मैं यूरोप में रहता हूं और केवल यूरोपीय विश्वविद्यालय की डिग्री के बारे में जानता हूं। हालाँकि मुझे पूरा यकीन है कि अमेरिका में विश्वविद्यालय का मानक यूरोपीय संघ की तुलना में बहुत अधिक है।


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

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

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

आप यहां दो चीजें मिला रहे हैं। मैंने एक डिग्री अविश्वसनीय रूप से उपयोगी करते हुए पाया - मुझे पता है कि इसने मुझे बहुत बेहतर कोडर बना दिया है, लेकिन मैं कभी भी ठीक से काम नहीं कर सकता (संभवतः थोड़ा ज्ञान और समस्या को हल करने के लिए बेहतर दृष्टिकोण का एक संयोजन)। उस ने कहा, वहाँ बहुत सारे स्नातक हैं (काफी प्रतिष्ठित विश्वविद्यालय से) जो यह भी पता नहीं लगा सकते हैं कि 512-बाइट लुकअप टेबल के साथ (9,5) ईसीसी को कैसे लागू किया जाए। अच्छे कोडर्स वे होते हैं जो "मुझे यह समझ में नहीं आता है, लेकिन मैं परीक्षा के प्रश्न कर सकता हूं"।

1
दिलचस्प समस्या है, लेकिन आप एक ईसीसी परीक्षण को सामान्य क्यों करेंगे?), हार्डवेयर को छोड़कर, निश्चित रूप से, लेकिन इसका एक अच्छा उदाहरण स्वयं-सामान सामान है जो आप नहीं करते / नहीं कर सकते हैं? compSci पर सीखें

24

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

अभ्यास के माध्यम से काम करें, जैसा कि दूसरों ने सुझाव दिया है - प्रोजेक्ट यूलर और अन्य जगहों पर।

एसओ पर यहां दूसरों की मदद के लिए समाधान निकालें। प्रश्न को समझने का अभ्यास, यह निर्धारित करना कि आप क्या जानते हैं कि आवेदन कर सकते हैं, और अंत में एक उत्तर की कलाकृतियां आपके आत्मविश्वास का निर्माण करने में मदद करेंगी, क्योंकि अभ्यास आपके कौशल का निर्माण करते हैं।

इसके साथ बने रहें; ठीक हो जायेंगे।


9
विनम्रता आपको अच्छी तरह से सेवा देगी, सिवाय इसके कि जब आप अपने पैर को दरवाजे पर ( एक व्यक्तिगत परियोजना सहित ) प्राप्त करने के लिए आपको एक निश्चित मात्रा में चुतज़पा की आवश्यकता हो, तो आपको तर्कहीन रूप से आश्वस्त होने की भी आवश्यकता हो सकती है।

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

@ कार्ल - किसी निष्कर्ष पर जल्दी पहुंचना :-) कर्मचारी / प्रबंधक उस अहंकार / आत्मप्रचार को खा जाते हैं। खासकर जब तकनीकी पदों के लिए उम्मीदवारों का मूल्यांकन करते हैं कि वे आवश्यकताओं को समझना शुरू नहीं करते हैं। मैंने इन गरीब महिलाओं के रूप में एक ही नाव में कई बहुत योग्य पुरुषों को देखा है, जब वह एक अति-आत्मविश्वास, आत्म-प्रचारक व्यक्ति को दिखाता है और शो चोरी करता है। मुझे नहीं लगता कि हम इसे अधिक महिलाओं को अधिक आत्मविश्वास को प्रोत्साहित करने के लिए एक जीत मान सकते हैं। वह स्थान जहाँ हम सबसे अच्छा कर सकते हैं, IMHO, एचआर लोगों को बेहतर निर्णय लेने के लिए, या प्रक्रिया को फिर से शुरू करके प्रशिक्षित कर रहा है।

23

एक COMP के साथ स्नातक की डिग्री के साथ कोई और अधिक आप एक महान प्रोग्रामर बनाता है एक संगीत कार्यक्रम से स्नातक होने से आप एक महान संगीतकार बनाता है।

अभ्यास, अभ्यास, अभ्यास और अनुभव का कोई विकल्प नहीं है। दिन में 8 घंटे का कार्यक्रम और 5 वर्षों में आपके पास यह समझ हो सकती है कि आपके पास अभी कमी है।


6
यह एक पकड़ -22 है ना? आप जो नौकरी चाहते हैं उसे प्राप्त करने के लिए पूर्णकालिक कार्यक्रम।
जिम स्कुबर्ट

16
नहीं, 5 वर्षों में आपको एहसास होगा कि आप कुछ नहीं जानते हैं :)
अर्लज़

1
@ एर्लज़, और कुछ भी नहीं जो आप अंततः जानते हैं कि पहले से ही अप्रचलित है।
डेन ब्रायंट

4
वास्तव में - सभी "जावा स्कूलों" (जो यहां हो सकता है या नहीं हो सकता है) के साथ, यह भूलना आसान है कि कंप्यूटर विज्ञान प्रोग्रामिंग नहीं है। मैं ऐसे लोगों को जानता हूं जिन्होंने सीएस की डिग्री ली और मेड स्कूल गए, और जीवविज्ञानी जो प्रोग्रामर के रूप में समाप्त हो गए। फिर भी कोई भी कभी नहीं पूछता कि जीव विज्ञान की डिग्री ने उन्हें सर्जन क्यों नहीं बनाया: हर कोई जानता है कि जीव विज्ञान का अध्ययन दवा का अभ्यास नहीं कर रहा है।

1
@ एर्लज़ कितना ज़ेन :)
तुललो_एक्स '17

23

इस तरह के एक स्पष्ट सवाल, महान जवाब - मैं संक्षेप में झंकार वाला हूँ :)

अब तक के जवाबों ने मुझे थोड़ा प्रभावित किया है - वे संभावित रूप से हमारी अपनी महानता को विडंबना के साथ मनाते हैं। मैं खराब प्रलेखन और चौखटे में कीड़े के कारण एसओ आता हूं। यहाँ स्पष्ट रूप से अन्य सोना है, लेकिन यह आपकी विनम्रता को बनाए रखने के लायक है, भले ही आप एक महान देव बनें - और मैं कहता हूं कि व्यक्तिगत ऐतिहासिक (?) अहंकार के दृष्टिकोण से।

ध्यान रखें कि आप एक तकनीकी विशेषज्ञ द्वारा नियुक्त नहीं किए जा सकते हैं (शायद नहीं हैं) हालांकि बेहतर एचआर लोग और प्रबंधक आपको आकलन करने के लिए एक तकनीकी का उपयोग करेंगे।

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

व्यापार करने वाले लोग (अधिकारपूर्वक) देवों के बारे में विरोधाभास कर सकते हैं, क्योंकि हम उन्हें अक्सर उन निर्णयों की मदद करने के लिए अपनी धारणाओं का प्रबंधन करना पड़ता है, जो उन्हें समझ में नहीं आते हैं - और मैं कहता हूं कि, गाल में जीभ, आपको दिखाने के लिए परिप्रेक्ष्य नहीं है या आपके गैर-तकनीकी सहकर्मियों का विकास। मैं विनम्रतापूर्वक सोचता हूं कि यह समझना कि यह अक्सर तकनीक और गैर-तकनीक के बीच संबंधों का सार है - और यह मुश्किल है कि हम जो करते हैं, उससे बचना मुश्किल है।

पेशेवर होने के नाते, खुले विचारों वाले और सम्मानित लोगों को नौकरी मिलती है - यदि आप इस बात पर फ़र्ज़ी हैं कि पेशेवर क्या है, तो मुझे यकीन है कि वेब पर इसे काम करने के लिए जगह हैं - मैं चाहता हूं कि किसी ने मुझे बताया था कि जब मैंने शुरू किया था। :)

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

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

हे, और जब अनुमान लगाते हैं, तो अपने काम को शुरू करने के लिए, बिट्स में विभाजित करें, कुल समय और फिर इसे दोगुना करें (इसे कहा जाता है, विभाजित करें, जीतें, घर घर;)

सौभाग्य! मैंने एक स्की प्रशिक्षक बनने की उम्मीद में स्कूल छोड़ दिया और एक लीड देव का अंत किया। मुझे यकीन है कि आप जो भी कर रहे हैं उस पर भी आप अच्छा करेंगे।


10
आपके पहले वाक्य में कहा गया था कि आप संक्षेप में बताएंगे ... फिर भी आपके पास यहां सबसे लंबे उत्तर हैं। ;)

+1 के लिए "अपने काम को बिट्स में विभाजित करें, कुल समय और फिर इसे दोगुना करें (इसे कहा जाता है, विभाजित करें, जीतें, मार्च घर;)" ... कई नौकरियों में आपको इसे चौगुना करना चाहिए क्योंकि प्रबंधकों को इसकी उम्मीद होगी; आधा समय और एक और परियोजना जोड़ें जो आपके अनुमान के विस्तार की अनुमति के बिना एक ही समय सीमा में की जानी चाहिए। मैंने भी "दो से गुणा किया और यूनिट (1 घंटा => 2 दिन, 1 दिन => 2 सप्ताह, 1 सप्ताह => 2 महीना, 1 महीना => 2 तिमाही, 1 चौथाई => 2 वर्ष), के बारे में सुना।" ।) और कुछ वास्तविक कार्य अनुभव के बाद यह उतना मज़ेदार नहीं है जितना मैंने हमेशा सोचा था

बस यह मुद्रित और दीवार से चिपके
प्रश्न

22

हां, यह सामान्य रूप से सामान्य है- अधिकांश स्कूल, यहां तक ​​कि प्रतिष्ठित भी, कंप्यूटर विज्ञान पढ़ाने का एक बड़ा काम करते हैं और सॉफ्टवेयर विकास शिक्षण का एक भयानक काम करते हैं। यह धीरे-धीरे बेहतर हो रहा है, लेकिन अभी भी एक लंबा रास्ता तय करना है।

वैसे भी, ऐसा लगता है कि आप ज्यादातर सही काम कर रहे हैं:

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

1
ईमानदारी से, पौराणिक मानव-माह थोड़ा अधिक है, है ना? (लेकिन मैं वास्तव में "* एक संक्षेप में" पुस्तकों की तरह)।
कैमिलो मार्टिन

2
@ कैमिलो असहमत। Mythical Man Month सॉफ्टवेयर इंजीनियरिंग के विषय पर है, जबकि संक्षेप पुस्तकें पूरी तरह से एक ही तकनीक के बारे में हैं। आखिरकार, आपको सॉफ्टवेयर विकास के साथ लोगों के मुद्दों की समझ की आवश्यकता होगी। MMM उन लोगों में से एक है जो इस विषय को पढ़ते हैं।
ब्रायन विग्गिंटन

21

वाकई बहुत बढ़िया सवाल। मुझे यकीन है कि बहुत से ऐसे लोग हैं जो जीवन के सभी क्षेत्रों और नौकरी के बाजारों में आपके द्वारा वर्णित किए गए कार्यों से गुजर रहे हैं।

पहला - आपके नियंत्रण से बाहर की चीजों के बारे में अधिक चिंता न करना। आपको तनाव या स्कूल के बारे में सोचने की अनुमति नहीं है कि आपने क्या किया या नहीं सीखा या आपने अकादमिक रूप से कितना अच्छा किया।

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

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

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


2
सहयोग / संचार कौशल के महत्व का उल्लेख करने के लिए +1। अधिकांश स्नातकों में उनकी कमी है।
डेनिस ओटकिडैक

1
मैं विशेषज्ञता से सहमत नहीं हूं, हर तकनीक किसी न किसी दिन मर जाएगी यदि आप बहुत अधिक विशेषज्ञ हैं तो आप काम के बिना समाप्त हो जाते हैं ... ठीक है, कुछ प्रौद्योगिकियां (=> COBOL) बहुत धीरे-धीरे मर जाती हैं, जिससे आपको एक नई तकनीक के लिए पर्याप्त समय मिल जाता है। लेकिन यह अभी भी जोखिम भरा है।

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

21

ठीक है, इसलिए इस हैकर समाचार को देखा और मैं "HOLY CRAP THAT'S ME !!"

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

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

मुझे नहीं पता कि कोडिंग कुछ ऐसा है जिसे आप करना चाहते हैं और आगे बढ़ाना चाहते हैं, लेकिन ऐसे बहुत सारे काम भी हैं जो गैर तकनीकी हैं जिन्हें तकनीकी पृष्ठभूमि की आवश्यकता होती है। आप उन विकल्पों पर गौर कर सकते हैं।

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

वैसे भी आईबीएम जैसी बड़ी कंपनियां आपकी पहुंच से बाहर नहीं हैं। मुझे कुछ महीने पहले ऐसा ही महसूस हुआ था, और मैं अब आईबीएम में काम करता हूं। मेरा जीपीए भी उतना महान नहीं था। मैं अभी भी प्रोग्रामिंग में चूसता हूं, लेकिन मुझे पता है कि मैं समय के साथ बेहतर हो जाऊंगा। बस सीखने की क्षमता में विश्वास रखें!


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

20

वाह, इस एक से पहले क्या जवाब दिया।

कैसे एक पूरी तरह से अलग प्रतिक्रिया के बारे में ...

एक इंसान होने के नाते आपकी समस्या को फिर से बताने में मदद करता है।

"मैंने गर्भाधान कक्षा को स्नातक कर लिया है और मैं अभी जन्म लेने वाली हूँ। मेरी माँ की ताजपोशी हो रही है और मैं कल सुबह पहुँचा जाऊँगी। लेकिन जब मैं उसेन बोल्ट जैसे एथलीटों को देखती हूँ तो मुझे लगता है" मैं कैसे दौड़ सकती हूँ। तेजी से? "।

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

अब, क्या उसैन बोल्ट का जन्म हुआ और फिर अचानक ट्रैक पर पागल समय में डाल शुरू कर दिया, या यह जीवन के साथ प्राप्त करने की एक बड़ी राशि थी, यह पता लगाना कि वह किस चीज में रुचि रखता था, उसके बाद आवेदन की एक अविश्वसनीय राशि और फिर अचानक " बैम! " वह वहाँ था।

अधिक संभावना बाद। तो अपने आप को यह जानने के लिए कठिन समय न दें कि आपको क्या करना चाहिए। आपके लिए क्या सही है, यह जानने में समय लगता है। वह आपके लिए है , न कि आपके माता-पिता जो सोचते हैं, वैसा नहीं। क्या के लिए सही है आप । क्या रोशनी अपने आग । आपको क्या लगता है * हाँ यह शांत है "तब भी जब बाकी सभी को लगता है कि यह पैंट है।

इसकी शुरुआत (और / या) करने के लिए असामान्य नहीं है कि आप क्या करना चाहते हैं, यह पता नहीं है।

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

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

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

मैं अक्सर प्रभावित (और आश्चर्यचकित) हूं कि युवा लोग, अक्सर अभी भी अपनी किशोरावस्था में, यह जानने के लिए कि वे क्या करना चाहते हैं। लेकिन असली सवाल यह है कि क्या वे 27 साल की उम्र में भी ऐसा कर रहे हैं? या उन्होंने पाठ्यक्रम बदल दिया है क्योंकि उनके शुरुआती विचार उनके लिए सही नहीं थे?

कैसे मैं THAT के रूप में प्रभावशाली के रूप में कुछ भी करते हैं (जो भी है, Google, SO)? ठीक है, आप इसे विखंडू में करते हैं, जैसे आप सॉफ्टवेयर करते हैं और जीवन में बाकी सब कुछ करते हैं। आप मूल बातें से शुरू करते हैं, इसमें अनुभव प्राप्त करते हैं। यदि आप पर्याप्त रूप से अच्छे हैं और आप अधिक अनुभव प्राप्त करते हैं, आदि, या आप इसे छोड़ देते हैं क्योंकि आपको एहसास होता है कि आप पर्याप्त नहीं हैं या यह नरक के रूप में उबाऊ है (इसलिए मैं हमेशा इसके बावजूद भी कॉमिक्स नहीं करता हूं एक सोने की खान। मेरे लिए, इसकी उबाऊ!)।

हर तरह से, अपने साथियों को देखें, अपने बड़ों को देखें, उनकी पसंद और रुचि को देखें। लेकिन अपनी खुद की भी जांच करें। अक्सर जो पहली नजर में पागल लगता है / जो वास्तव में असली सौदागर होता है। ऐसा कुछ करना जो आपको दिलचस्प लगे (केवल बिलों का भुगतान करने के बजाय) तो बहुत अधिक फायदेमंद है।

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

गंभीरता से, इसके बारे में सोचो। इतना अच्छा समाधान सिर्फ सही जवाब नहीं हो सकता है।


-1: क्या आप इसे थोड़ा कस सकते हैं और सवाल पर अधिक ध्यान केंद्रित कर सकते हैं और अपने बारे में कम?
जिम जी।

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

अच्छा जवाब, स्टीफन। बस एक अलग पीओवी से अन्य उत्तरों की तुलना में यहां।

+1, काश मैं शीर्ष उत्तर के रूप में इसे बनाने के लिए 1000 वोट जोड़ पाता। मुझे छुआ!

18

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


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

17

10,000 घंटे के नियम का पालन करें।

किसी चीज का स्वामी बनने के लिए, आपको कम से कम 10,000 घंटे अभ्यास करने की आवश्यकता है। इसलिए 10,000 घंटे की प्रोग्रामिंग खर्च करें, और आप इसके मास्टर बन जाएंगे। यदि आपने 10,000 घंटे की प्रोग्रामिंग नहीं बिताई है और आप शिल्प के मास्टर की तरह महसूस नहीं करते हैं, तो निराश मत हो, बस अधिक समय कोडिंग खर्च करें।

यह भी ध्यान दें कि ऐसा करने में आपको लगभग साढ़े 3 साल लगेंगे यदि आप दिन में 8 घंटे प्रोग्राम करते हैं। यदि आप केवल व्यावसायिक घंटों के दौरान कार्यक्रम करते हैं, तो संभवतः आपको लगभग 4 साल लगेंगे। यदि आपने अपनी 3/4 वर्ष की डिग्री प्रोग्रामिंग के दौरान इतना समय नहीं बिताया है, तो आप शायद एक मास्टर की तरह महसूस नहीं करेंगे।


1
और आपको यह सुनिश्चित करना होगा कि आप एक ही घंटे को बार-बार नहीं कर रहे हैं! सीखते रहने के लिए खुद को धकेलें।
फ्रोमे

10k नियम के लिए +1। पहले इसके बारे में सुना है, लेकिन यह विपणन महान लगता है और बहुत वास्तविक है।

14

बस एक दो विचार, अगर मैं कर सकता हूँ।

वेंडी का कहना है कि एक सीएस डिग्री के साथ स्नातक हो सकता है, फिर भी प्रोग्रामिंग के अभ्यास के बारे में कम ही जानता है। है कि बहुत परेशान नहीं है, यहां तक ​​कि भयानक? यह 70 के दशक में अंग्रेजी विभागों को जलमग्न करने वाले धोखाधड़ी के रूप में परेशान करने वाला है: साहित्य विचारों का संग्रह नहीं है जिसे कोई भी समझ सकता है और एकीकृत कर सकता है, बल्कि 'ग्रंथों' का एक समूह है जिसे छात्र को सार और 'डिकंस्ट्रक्ट' करना चाहिए ( http: / /www.answers.com/topic/deconstruction )। ख़ुशी की बात है कि भ्रूण का ज्वार बढ़ना लाजिमी है, हो सकता है कि प्रशिक्षक जो इसके अजीब सर्फ में मिटा दिए गए थे, अब सेवानिवृत्त हो रहे हैं।

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

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

http://student.mit.edu/catalog/m6a.html

मैं विशेष रूप से नोटिस करता हूं कि विभाग / शिक्षण भाषा के रूप में अजगर का उपयोग करता है! सच में! ऐसा लगता है कि MIT में CS डिग्री का मतलब है, MIT में CS का शिक्षक बनने के लिए किसी छात्र को उत्तीर्ण करना। पुनरावृत्ति के बारे में बात करो!

फिर मैं कोडिंग हॉरर ( http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html ) में इस योगदान पर आया और इस बिंदु पर बहुत सोचा इस बातचीत के:

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

1. "ऑब्जेक्ट-ओरिएंटेड, जिसने छात्रों को प्रक्रियात्मक तरीकों की बहुत कम या बिना समझ के छोड़ दिया, और

2. "खरपतवार वर्ग। कक्षाओं में मुख्य रूप से विभिन्न प्रकार की समस्याओं और उनके पीछे के गणित का वर्णन किया गया था, बजाय इसके कि अयनटैक्स और संरचना, जिसके लिए लोगों को सिर्फ पुस्तक पढ़ने के लिए कहा गया था।

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

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

"1. आवश्यक प्रोग्रामिंग भाषा के रूप में जावा। मैं यहां जावा को कोसने नहीं जा रहा हूं, लेकिन छात्रों के लिए अपना कचरा संग्रह सीखना अच्छा नहीं होगा? और संकेत करना सीखने के लिए अच्छी बात नहीं होगी?" भले ही हमने कभी भी उनके साथ एक भाषा में कार्यक्रम करने का फैसला नहीं किया?

2. 2. ऑपरेटिंग सिस्टम के सिद्धांत पर एक कोर क्लास लेना, जावा के साथ डील-डौल होने के बाद, और यह पता लगाना कि वह कैंपस में एक सी क्लास के बिना भी C (बेशक) था?

"बेशक, मैं तीस साल का हूं, और उन लोगों में से एक भी, जो हमेशा प्रोग्राम करते थे, इसलिए मुझे कोई समस्या नहीं थी, लेकिन मैंने बहुत से ऐसे लोगों को देखा, जिन्हें मैं जानता था कि वे मेरे मुकाबले एब्सट्रैक्ट में बेहतर थे (पथरी, डिफेक, और फिजिक्स क्लास से पहले ) और उनके खिलाफ एक कार्यक्रम को खत्म करने की कोशिश में उनकी कुल पीड़ा।

बस कुछ डेटा बिंदु हैं लेकिन, जैसा कि अन्य लोगों ने कहा है, सता।

- पीट


मैं इस थकाऊ दृष्टिकोण से बहुत थक गया हूँ।
एंड्रेस जान टैक

पायथन अस्तित्व में सर्वश्रेष्ठ शिक्षण भाषाओं में से एक है
केसबश

@Icplben, codehorror.com से पीट या जमाल?
ज़की

14

सबसे पहले, वहाँ में लटका!

दूसरी बात, यहाँ कुछ चीजें हैं जिनसे मुझे मदद मिली:

  1. अपनी रुचि के क्षेत्र से परे अपनी नौकरी खोजें। निश्चित रूप से फिर से पता लगाने के लिए ठीक है। बाहर निकलने और नई जगह देखने का शानदार मौका!
  2. क्योंकि अनुभव कम है, मुझे लगता है कि साक्षात्कारकर्ता यह सुनिश्चित करना चाहते हैं कि आप किसी ऐसे व्यक्ति हैं जो काम करने और समस्याओं को सुलझाने के बारे में उत्साहित और ऊर्जावान होगा। इसलिए मैंने सुनिश्चित किया कि मुझे कंपनी के लिए कोडिंग में दिलचस्पी थी। जो मैं था;)
  3. अपने साक्षात्कारकर्ता से प्रश्न पूछें। कंपनी पर शोध करें और साक्षात्कार के दौरान कुछ सामग्री तैयार करें। आप किस डिज़ाइन पैटर्न का उपयोग करते हैं? वाई तकनीक के बजाय एक्स प्रौद्योगिकी क्यों? मुझे लगता है कि साक्षात्कार के दौरान आप एक व्यक्ति के रूप में यह दौर निकालते हैं और आपको एक ब्रेक लेने का मौका देते हैं।
  4. घर में मनोरंजन के लिए कोड! यह सफल होने की जरूरत नहीं है, लेकिन बस कोड लिखें जो शायद आपके द्वारा पढ़ी जाने वाली तकनीक या डेटाबेस जैसी तकनीक का उपयोग करता है।

तीसरा, मैं एक समान नाव में था जब आप फिर से स्नातक हो जाते हैं, तो वहां लटकते रहें और खोज करते रहें। आपकी पहली नौकरी वहीं है।


14

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


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

4
100% सहमत हूँ। आप किसी चीज़ में विशेषज्ञ क्यों होंगे जिसके लिए आप योग्य हैं?
एलेक्स फ़ेमैन

13

मुझे यह दुष्ट साइट दूसरे दिन http://99designs.com/ मिली, वेबसाइट डिज़ाइन या अन्य डिज़ाइन के तहत, आप शायद सॉफ्टवेयर से संबंधित कुछ प्रोजेक्ट पा सकते हैं।

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

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


मैं अपने दिन को 1 के बीच विभाजित कर रहा हूं) रिज्यूमे 2 भेजना) किताबों की समीक्षा करना लेकिन मैं किसी भी प्रोजेक्ट पर काम नहीं कर रहा हूं। वैसे यह एक बहुत ही रोचक साइट है। यह सॉफ्टवेयर डेवलपर्स की तुलना में कलाकारों और डिजाइनरों के लिए अधिक लक्षित है, लेकिन मुझे आगे की जांच करनी होगी।

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

13

चिंता मत करो। रोम एक दिन में नहीं बना था।

For each P in PeopleYouKnow
Try
  ask/call P for a Job apply for job;
Catch Denial As Exception
  don be worry;
  //you'll get a job later
End Try

Finally
 If you haven't found a job yet
  For each programmingJobAd in internet

 Try
    apply for job;
    Follow up;
  Catch Denial As Exception
   don be worry;
  //you'll get a job later
 End Try
end
//Keep trying.
//find a bug from this code.

संपादित करें: #! diff A B

3c3
<   ask/call P for a Job apply for job;
---
>   ask/call P for a Job job; if job is available apply for job;
9a10
>  //(sic)
14c15
<     apply for job;
---
>     apply for programmingJobAd;
20c21
< end
---
> End

12

सबसे पहले, चिंता न करें कि आप Google को कोड नहीं कर सकते। Google बहुत सारे अनुभवी प्रोग्रामर द्वारा कई वर्षों में बनाया गया था। यह एक दृश्य कला की डिग्री खत्म करने की तरह है, और सोच रहा है कि आप द लास्ट सपर कैसे बना सकते हैं।

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

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

यदि आप वेब एप्लिकेशन करना चाहते हैं, तो आप एक साधारण वेब ऐप इंस्टॉल कर सकते हैं (जैसे कि यह django- आधारित आईपी से देश लुकअप ऐप - http://www.coulix.net/blog/2006/aug/17/ip- देश-झंडे-डीजेंगो-टिप्पणियां / )। आप $ 90 के ड्रीमहोस्ट डिस्काउंट कोड के लिए खरीदारी कर सकते हैं (ताकि आप एक वास्तविक वेब सर्वर पर काम कर सकें), और चीजों को सेट करने का प्रयास करें। सुरक्षा या प्रदर्शन के बारे में बहुत ज्यादा चिंता मत करो (लेकिन ऐसा उपयोग ssh) - यह सिर्फ एक सीखने परियोजना है।

यदि आप डेस्कटॉप पर सामान करना चाहते हैं, तो आप pygame पर एक नज़र डाल सकते हैं।


मैंने सोचा कि Google का पहला संस्करण थोड़े समय में बनाया गया था? जैसे गर्मियों में या ऐसा कुछ
अर्लज़

आपके डेस्कटॉप पर लिनक्स के तहत चल रहा अपाचे एक "वास्तविक वेब सर्वर" है, जिसे पैसे खर्च करने की कोई आवश्यकता नहीं है। आपको क्या लगता है कि होस्टिंग कंपनियां चल रही हैं?
TMN

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

11

आप प्रोग्रामिंग के बारे में सब पढ़ सकते हैं, लेकिन आप तब तक नहीं सीखेंगे जब तक आप अच्छी तरह से प्रोग्राम नहीं बनाते हैं .. प्रोग्रामिंग शुरू करें!

मैं आपको एक निजी परियोजना शुरू करने की सलाह दूंगा। ऐसा क्या है जो आप बनाना चाहते हैं? एक खेल? एक ब्लॉग? इससे कोई फर्क नहीं पड़ता। बस कुछ बनाओ!

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

मैं अपना समय पूरी तरह से पढ़ने में बर्बाद नहीं करूंगा। मैं कह सकता हूँ कि आपको ज्यादातर समय का लगभग 20% पढ़ना चाहिए और अन्य 80% कोड लिखना चाहिए। (बेशक, समय से, मेरा मतलब है कि प्रोग्रामिंग से संबंधित चीजों के लिए आपका समय अलग है)


9

खैर, यहाँ मेरे दो सेंट है ... कुछ अन्य स्रोतों के उद्धरण के साथ युग्मित।

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

- जेफ एटवुड के माध्यम से डैन केगेल

http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html

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

आपके प्रश्न की आवाज़ से, आप कॉलेज से बाहर निकल कर महसूस कर रहे हैं जैसे कि आप अपने जीवन के कुछ वर्षों में कागज के एक टुकड़े को पाने के लिए बाहर निकले। प्रोग्रामर्स के लिए इन दिनों बहुत सारी हायरिंग एजेंसियां ​​डिग्री देखती हैं। वे ऐसे लोगों को चाहते हैं जो साबित कर चुके हैं कि वे प्रोग्राम कर सकते हैं, न कि केवल एक जिसके पास कागज है। लेकिन यह तथ्य कि आप पहली बार में यह सवाल पूछ रहे हैं, मुझे वास्तव में कार्यक्रम सीखने की इच्छा दिखाई देती है।

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

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

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

तुम्हारे लिऐ शुभकामना!

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