प्रोग्रामर किसके लिए है? ध्यान देने योग्य टिप

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


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

प्राथमिकताओं

नौकरी चुनते समय, मैं अपने लिए निम्नलिखित प्राथमिकताएँ निर्धारित करता हूँ।

  1. प्राप्त नकद आय की राशि. यह आसान है।
  2. कार्य स्थान का आराम. यह कितना सुविधाजनक या असुविधाजनक हो सकता है जो आपको कार्यस्थल पर घेरता है: घर से दूरी, कार्यालय में लोग, कार्य कंप्यूटर का प्रदर्शन, कार्यस्थल के पास का मौसम, आपके मॉनिटर पर एक निगरानी कैमरा, आपका मॉनिटर गलियारे की ओर, संबंध प्रबंधन, देर से आने पर जुर्माना वगैरह।
  3. आपके व्यावसायिक विकास का अवसर। इसमें नौकरी पर प्राप्त अनुभव भी शामिल है। यह ऐसी तकनीकें सीखना है जो आपके लिए नई हैं, जो आपने पहले सीखी है उसे निखारना और नए कौशल प्राप्त करना है जो आपके लिए उपयोगी हैं। कुछ भी जो आपको पेशेवर रूप से अधिक अनुभवी बनाता है।

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


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

अपनी सैलरी कैसे बढ़ाएं

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


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


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


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


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


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


यदि आपको पता नहीं है कि वेतन वृद्धि के लिए पूछने का साहस कैसे जुटाया जाए, तो मैं आपको निम्नलिखित सुझाव देता हूं। अपने वर्तमान कार्यस्थल की सभी कमियों पर ध्यान देना शुरू करें: आपको यह कैसे पसंद नहीं है कि दोपहर के भोजन के दौरान कोई हमेशा मछली गर्म कर रहा है, कि एयर कंडीशनर आपकी पीठ के ठीक ऊपर काम कर रहा है, आप एक मिनट के जुर्माने से कैसे क्रोधित हैं काम करने में देर हो रही है, आप उन सुविधाओं को लागू करने से कितने थक गए हैं जिनकी वास्तव में किसी को आवश्यकता नहीं है, आप उपयोग की जाने वाली प्रौद्योगिकियों के वर्तमान ढेर से कितने थक गए हैं, कैसे आपने लंबे समय से कुछ नया नहीं सीखा है। लेकिन सबसे महत्वपूर्ण बात यह है कि कल्पना करें कि आप +X% पैसा कमा रहे हैं, लेकिन आपके नियोक्ता के कारण आपको यह नहीं मिल रहा है। क्या आपको अच्छा लगता है जब आपका नियोक्ता आपका पैसा अपने पास रखता है? नहीं? आगे बढ़ें और उससे इस बारे में बात करें। बस नाराज होकर काम पर न जाएं, किसी तरह अपना काम करें, उम्मीद करें कि मैनेजर इस पर ध्यान देगा और कुछ ऑफर करेगा। यह अव्यवसायिक है.


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

ओवरटाइम काम

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

होम प्रोजेक्ट्स

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



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

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

वे अपने संचित अनुभव को किस प्रकार कार्यान्वित कर सकते हैं?

एक कार्यकारी प्रोग्रामर के रूप में क्षैतिज कैरियर

एक गीक के लिए सबसे अच्छा विकल्प है (अर्थात्, नौकरी की स्थिति बदले बिना लक्षित प्रशिक्षण)। एक प्रोग्रामर जो लगातार सुधार करता है वह एक मूल्यवान कर्मचारी है।

वेतन निधि वितरित करते समय उनके नाराज होने की संभावना नहीं है। वह अंतरराष्ट्रीय संगठनों सहित किसी अधिक प्रतिष्ठित कंपनी में जगह पाने के लिए एक योग्य उम्मीदवार बन जाएगा।

ध्यान देने योग्य युक्ति:

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

एक विशेषज्ञ के रूप में पदोन्नति

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

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

क्या आप एक सम्मानित विशेषज्ञ बनने का सपना देखते हैं? केवल प्रोग्रामिंग पर ध्यान केंद्रित न करें. आसानी से सीखें लोगों से संवाद करने के लिए, सक्षमतापूर्वक और आलंकारिक रूप से विचार व्यक्त करें.

प्रबंधन कार्य

यदि आप एक विशेषज्ञ के स्तर तक बढ़ गए हैं, लेकिन आप एक व्यक्तिगत उद्यमी को पंजीकृत नहीं करना चाहते हैं, तो एक प्रतिष्ठित कंपनी में एक ऊर्ध्वाधर कैरियर बनाने का प्रयास करें।

आपको अन्य विशेषज्ञों के काम की योजना बनाने और पर्यवेक्षण करने का काम सौंपा जाएगा।

मूलतः, आप बॉस होंगे। इसलिए अपने अंदर विकास करें नेतृत्व कौशल, लोगों को प्रेरित करना सीखें।

खुद का स्टार्टअप

एक अन्य करियर विकल्प - शायद सबसे कठिन - अपने स्वयं के प्रोजेक्ट को जीवन में लाना है (उदाहरण के लिए, कुछ मूल भुगतान सेवा लॉन्च करना)।

स्टार्टअप केवल उन प्रोग्रामर के लिए सफल होते हैं जिनके पास है उद्यमिता की भावनाया खोजें एक अनुभवी बिजनेस पार्टनर.

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

शायद, लेख पढ़ने के बाद, आप रिक्ति की तलाश शुरू कर देंगे। हमारे कैटलॉग में प्रकाशित का लाभ उठाएँ।


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

निकट भविष्य में 50 से अधिक प्रोग्रामर हैं, लेकिन उनकी संख्या काफी कम है। कैसे समझाऊं क्यों? - क्या ऐसा इसलिए है क्योंकि लोग ज्यादातर प्रबंधन और अन्य व्यवसायों में जाते हैं? - या यों कहें कि यह पेशा अभी भी बहुत तेजी से बढ़ रहा है, और 30 साल पहले बहुत कम लोगों ने प्रोग्रामर बनने के लिए अध्ययन किया और इस पेशे में प्रवेश किया, तो अब सामान्य जनसमूह में उनमें से कुछ ही रह गए हैं? संभवतः दोनों स्पष्टीकरण सही हैं, लेकिन शायद उनमें से एक अधिक महत्वपूर्ण है? पता नहीं।

मैं 37 वर्ष का हूं, और कुछ किशोर अंशकालिक नौकरियों के अलावा, मैं 20 वर्षों से अधिक समय से आजीविका के लिए प्रोग्रामिंग कर रहा हूं। यह अधिकांश समय उन कंपनियों में बीतता है जहां मैं अपना बॉस नहीं हूं। अब तक, मैंने सचेत रूप से उस अंतर्धारा का विरोध किया है जो प्रोग्रामरों को दो कारणों से प्रबंधन में खींचती है। मुझे ऐसा लगता है कि मुझे इसमें कम मजा आता है और मुझे नहीं लगता कि मैं इसमें बहुत अच्छा हो पाऊंगा। अब तक मुझे इस फैसले पर कोई पछतावा नहीं हुआ है.' लेकिन यह मानते हुए कि मैं जीवित हूं, अपेक्षाकृत स्वस्थ हूं और अभी भी काम कर रहा हूं, अगले 20 वर्षों में मैं क्या करूंगा? अभी भी बहुत कुछ बदल सकता है; लेकिन अगर मैं विशेष रूप से कोशिश नहीं करता और फड़फड़ाता नहीं, तो जीवन की जड़ता का नियम कहता है कि 57 साल की उम्र में भी मैं किसी कंपनी में टेक्स्ट एडिटर में कुंजी दबाता रहूंगा और कीवर्ड दर्ज करता रहूंगा। क्या 57 वर्षीय मेरे लिए उद्योग में अच्छे, दिलचस्प अवसर और परियोजनाएँ होंगी जो 20 वर्षों में होंगी? अब हमारे उद्योग में, मैं दोहराता हूं, 50 से अधिक प्रोग्रामर हैं, लेकिन उनमें से बहुत सारे हैं...

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

निःसंदेह, केवल मैं ही यह निर्णय ले सकता हूँ कि क्या मुझे "विशेष रूप से प्रयास करना चाहिए" या कीवर्ड और संपादकों के साथ जारी रखना चाहिए। लेकिन मुझे इस विषय पर वर्तमान और मौजूदा प्रोग्रामरों की राय जानकर खुशी होगी, जिन्होंने बिल्डिंग मैनेजर के रूप में दोबारा प्रशिक्षण लिया है या जो इसके लिए प्रयास कर रहे हैं।

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

कहाँ से शुरू करें

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

यदि उपरोक्त में से कुछ भी आपके साथ नहीं हुआ, तो आपके पास चार विकल्प हैं:

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

कौन सी भाषा, तकनीक और दिशा चुनें

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

  • बाज़ार में रिक्तियों की उपलब्धता. इस पथ का अंतिम लक्ष्य एक प्रोग्रामर के रूप में नौकरी खोजना है। और ऐसा करना मुश्किल होगा यदि कोई भी जॉब मार्केट में आपकी प्रोग्रामिंग भाषा में डेवलपर्स की तलाश नहीं कर रहा है। नौकरी साइटों की जाँच करें, देखें कि सबसे अधिक मांग किसकी है, एक दर्जन भाषाएँ लिखें। और अगले मानदंड पर आगे बढ़ें।
  • निम्न प्रवेश स्तर. यदि आपको किसी भाषा को सीखने में लंबा समय लगाना पड़ता है, तो यह आपको प्रोग्रामिंग करने से बिल्कुल भी हतोत्साहित कर सकता है। ऊपर आपके द्वारा चुनी गई भाषाओं के बारे में पढ़ें। इन भाषाओं को सीखने के लिए आपको जिस साहित्य की आवश्यकता होगी उसकी समीक्षा करें। और उन्हें चुनें जिन्हें आसान बताया गया है, या जो आपको आसान लगे। ऐसी भाषाएँ PHP, Ruby, Python हो सकती हैं।
  • प्रक्रिया का रोमांच. यदि आप अपनी चुनी हुई भाषा में कोड लिखने का आनंद नहीं लेते हैं, तो आप प्रक्रिया, अपने काम या अपने जीवन का आनंद नहीं लेंगे। क्या आपको इसकी जरूरत है? सही चुनाव करें.

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

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

प्रारंभिक अनुभव कैसे प्राप्त करें

बिना अनुभव के आपको नौकरी नहीं मिलेगी. बिना काम के आपको अनुभव नहीं मिलेगा. वास्तविक जीवन का एक दुष्चक्र. लेकिन यह ठीक है, हम इससे बाहर निकल जायेंगे।

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

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

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

वास्तविक अनुभव प्राप्त करने का एक और अच्छा विकल्प खुला स्रोत है। ऐसी परियोजनाओं के लिए हमेशा नए लोगों की आवश्यकता होती है, यहां तक ​​कि शुरुआती लोगों की भी। आप प्रोजेक्ट में बग खोज सकते हैं या बग ट्रैकर में देख सकते हैं और उन्हें हल करने के तरीके सुझा सकते हैं। आप ऐसे प्रोजेक्ट GitHub या पर आसानी से पा सकते हैं। वहां बेझिझक प्रश्न पूछें.

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

आखिरी तरीका है आपकी अपनी परियोजनाएं, विभिन्न हैकथॉन या सहकर्मी स्थान पर काम करना। अपनी खुद की परियोजनाएँ स्वयं शुरू करना कठिन है; परिचितों या दोस्तों की तलाश करना बेहतर है।

पायथन क्यों चुनें?

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

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

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

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

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

क्या अंग्रेजी महत्वपूर्ण है?

महत्वपूर्ण! नहीं जानतीं? पढ़ाना। क्या आप जानते हैं? सुधार। अंग्रेजी पढ़ना, लिखना, सुनना और बोलना सीखें। तकनीकी साहित्य पर ध्यान दें. अंग्रेजी भाषा के पॉडकास्ट सुनें। अंग्रेजी भाषा की प्रोग्रामिंग पाठ्यपुस्तकें पढ़ें।

प्रोग्रामिंग भाषा के अलावा आपको क्या जानने की आवश्यकता है

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

हर किसी को एल्गोरिदम सीखने की जरूरत है। कौरसेरा पर एक कोर्स लेने का प्रयास करें या एल्गोरिदम पर एक किताब ढूंढने का प्रयास करें जो आपके लिए उपयुक्त हो। इसके अलावा, आपको डेटाबेस, प्रोग्रामिंग पैटर्न और डेटा संरचनाओं में से एक को जानना होगा। यह कोड रिपॉजिटरी की जाँच करने लायक भी है। कम से कम एक के साथ. संस्करण नियंत्रण प्रणालियों का ज्ञान आवश्यक है. Git चुनें, यह सबसे लोकप्रिय है। आपको उन उपकरणों, ऑपरेटिंग सिस्टम और विकास परिवेश के बारे में जानना होगा जिनके साथ आप काम कर रहे हैं। और एक प्रोग्रामर का मुख्य कौशल Google में सक्षम होना है। इसके बिना आप नहीं रह पाएंगे.

अंतिम चरण

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

अपने करियर के बारे में सोचें. फोटो: उदाचनया किम्बरलाइट पाइप, याकुतिया।

एक बुरा प्रोग्रामर वह है जो सीआईओ बनने का प्रयास नहीं करता है। महत्वाकांक्षा और कैरियर की ऊंचाइयों की इच्छा आमतौर पर अपने क्षेत्र में एक उत्कृष्ट पेशेवर बनने की इच्छा के साथ-साथ चलती है।

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

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

प्रशिक्षु (जूनियर डेवलपर)

अधिकांश प्रोग्रामर अपने करियर की शुरुआत इसी पहले कदम से करते हैं। भर्ती के लिए मुख्य आवश्यकताओं में से:

उच्च या अपूर्ण तकनीकी शिक्षा।
प्रोग्रामिंग भाषाओं की बुनियादी बातों का ज्ञान।

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

सॉफ्टवेयर डेवलपर

इस पद पर परिवर्तन के समय तक, प्रोग्रामर को कम से कम यह करना होगा:

एक विशेषज्ञ डिप्लोमा (अधिमानतः एक तकनीकी विशेषज्ञता, लेकिन आवश्यक नहीं) हो।
सॉफ्टवेयर इंजीनियरिंग के बारे में सब कुछ जानें।
कई प्रोग्रामिंग भाषाओं में पारंगत।
डेटाबेस प्रबंधन प्रणालियों, वेब सेवाओं, ओएस की समझ हो।

इस स्तर पर, कर्मचारी की ज़िम्मेदारियाँ पूरी तरह से अलग स्तर पर पहुँच जाती हैं - उसे सॉफ़्टवेयर के विकास और कार्यान्वयन का काम सौंपा जाता है, नई परियोजनाओं पर काम करने और मौजूदा परियोजनाओं को बनाए रखने का काम सौंपा जाता है।

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

प्रमुख डेवलपर

आवेदक के लिए आवश्यकताओं में अतिरिक्त रूप से शामिल हैं:

एक बड़ी विशिष्ट कंपनी में 2 वर्ष का अनुभव।
वाणिज्यिक कॉर्पोरेट परियोजनाओं में भागीदारी।

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

विकास विभाग के प्रमुख (टीम लीडर)

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

मुख्य जिम्मेदारियों में, एक नियम के रूप में, परियोजना प्रशासन और डिजाइन निर्णय लेना, टीम वर्क का आयोजन करना और सभी प्रकार की तकनीकी समस्याओं को हल करना शामिल है।

प्रोजेक्ट मैनेजर

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

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