एक सॉफ्टवेयर डेवलपर होने के नाते एक आकर्षक करियर योजना है. वे लोग कुछ गंभीर विपणन योग्य कौशल वाले हैं. लेकिन वे वास्तव में क्या कर रहे हैं? चूंकि आप शायद उन्हें हरा नहीं सकते हैं, आपको इसमें शामिल होना होगा. क्या आपके पास एक अच्छा उत्पाद विकसित करने के लिए तकनीक-समझदारता और दर्शकों की सापेक्षता है? ब्रेनस्टॉर्मिंग के साथ - और, निश्चित रूप से, नीचे चरण 1 से शुरू - आप करेंगे!
कदम
3 का भाग 1:
किसी कार्य को करने का तरीका सीखना
1. निर्धारित करें कि कौन सा मूल प्रकार का सॉफ्टवेयर विकास हित. सॉफ्टवेयर विकास के दो मूल प्रकार के शिविर हैं: अनुप्रयोग विकास तथा तंत्र विकास. अनुप्रयोग विकास उन कार्यक्रमों को बनाने पर केंद्रित है जो उपयोगकर्ताओं की जरूरतों को पूरा करते हैं. ये मोबाइल फोन ऐप्स, उच्च उत्पादन वीडियो गेम तक, एंटरप्राइज़-लेवल एकाउंटिंग सॉफ्टवेयर तक हो सकते हैं. सिस्टम विकास जीवन चक्र विकास का उपयोग करके ऑपरेटिंग सिस्टम बनाने और बनाए रखने पर केंद्रित है. सिस्टम विकास में अक्सर नेटवर्क ऑपरेटिंग और डेटा सुरक्षा शामिल होती है.
2. अपने आप को एक प्रोग्रामिंग भाषा सिखाओ. कोई भी विचारों के साथ आ सकता है, लेकिन एक डेवलपर उन विचारों को कुछ मूर्त रूप में बदलने में सक्षम होगा. यहां तक कि यदि आप केवल सॉफ्टवेयर के डिजाइन पहलुओं पर काम करना चाहते हैं, तो आपको कोडिंग के साथ कुछ परिचित होना चाहिए और बुनियादी प्रोटोटाइप बनाने में सक्षम होना चाहिए. प्रोग्रामिंग भाषाओं की एक बड़ी विविधता है जिसे आप स्वयं सिखा सकते हैं. कुछ अधिक उपयोगी और महत्वपूर्ण लोगों में शामिल हैं:
सी - सी अभी भी उपयोग में पुरानी भाषाओं में से एक है, और इस सूची में अन्य अन्य भाषाओं का आधार है. सी का उपयोग निम्न स्तर के कार्यक्रमों को विकसित करने के लिए किया जाता है, और कंप्यूटर के हार्डवेयर के साथ बहुत करीबी काम करता है.सी++ - यह सी का ऑब्जेक्ट उन्मुख संस्करण है, और दुनिया में सबसे लोकप्रिय प्रोग्रामिंग भाषा है. क्रोम, फ़ायरफ़ॉक्स, फ़ोटोशॉप जैसे कार्यक्रम, और कई अन्य सभी सी के साथ बनाए जाते हैं++. यह वीडियो गेम बनाने के लिए भी एक बहुत ही लोकप्रिय भाषा है. सी ++ डेवलपर्स लगभग हमेशा बहुत अधिक मांग में होते हैं.जावा - यह सी ++ भाषा का एक विकास है, और पोर्टेबिलिटी की आसानी के कारण उपयोग किया जाता है. लगभग कोई भी सिस्टम जावा वर्चुअल मशीन चला सकता है, जिससे इसे जावा सॉफ़्टवेयर चलाने की अनुमति मिलती है. इसका व्यापक रूप से वीडियो गेम और बिजनेस सॉफ्टवेयर में उपयोग किया जाता है, और कई लोग इसे एक आवश्यक भाषा के रूप में अनुशंसा करते हैं.सी# - C # एक विंडोज-आधारित भाषा है जो का हिस्सा है .माइक्रोसॉफ्ट से नेट फ्रेमवर्क. यह जावा और सी ++ से निकटता से संबंधित है, और यदि आप जावा सीखते हैं तो आप जल्दी से सी # में संक्रमण कर सकते हैं. यह भाषा विशेष रूप से विंडोज या विंडोज फोन सॉफ्टवेयर के साथ काम कर रहे डेवलपर्स के लिए उपयोगी है.उद्देश्य सी - यह सी भाषा का एक और चचेरा भाई है जो विशेष रूप से ऐप्पल सिस्टम के लिए डिज़ाइन किया गया है. यह आईफोन और आईपैड ऐप्स में बेहद लोकप्रियता देखता है. एक फ्रीलांसर के रूप में सीखने के लिए यह एक महान भाषा है.पायथन - यह सीखने के लिए एक अविश्वसनीय रूप से आसान भाषा है, सबसे आसान में से एक है. पायथन वेब विकास में माहिर हैं.पीएचपी - यह बिल्कुल सॉफ्टवेयर विकास नहीं है, लेकिन यदि आप वेब विकास में रुचि रखते हैं तो PHP आवश्यक है. PHP डेवलपर्स के लिए हमेशा बहुत सारे काम होते हैं, हालांकि यह सॉफ्टवेयर विकास के रूप में आकर्षक नहीं है.3. सीखने में मदद करने के लिए संसाधन खोजें. अधिकांश बुकस्टोर्स में प्रोग्रामिंग किताबों के लिए समर्पित पूरे अनुभाग होते हैं, और अमेज़ॅन और अन्य ई-टेलर पर कई टन उपलब्ध होते हैं. एक अच्छी तरह से लिखित प्रोग्रामिंग पुस्तक संभवतः आपके पास सबसे अच्छा संसाधन होगा, और आपको परियोजनाओं पर काम करते समय इसे तुरंत संदर्भित करने की अनुमति देगा.
किताबों से परे, इंटरनेट गाइड और ट्यूटोरियल का एक अंतहीन खजाना-ट्रोव है. कोडाडेमी, कोड जैसी साइटों पर अपनी पसंद की भाषा पर गाइड के लिए खोजें.संगठन, बेंटो, उदासिटी, उडेमी, खान अकादमी, W3Schools, और कई अन्य.4. कुछ कक्षाएं लें. जब आपको सॉफ़्टवेयर विकास में शामिल होने के लिए पूर्ण डिग्री की आवश्यकता नहीं होती है, तो यह आपके स्थानीय सामुदायिक कॉलेज या लर्निंग सेंटर में कुछ कक्षाएं नहीं ले सकता है. यह आपको एक-एक-एक निर्देश का लाभ देगा, और आपको उन समस्याओं को हल करने के लिए चुनौती दी जाएगी जिन्हें आप संभवतः नहीं करेंगे अगर आप अपने आप को सीख रहे थे.
कक्षाएं पैसे खर्च करती हैं, इसलिए सुनिश्चित करें कि आप कक्षाओं के लिए साइन अप कर रहे हैं जो आपको सीखने में मदद करेंगे कि आप क्या जानना चाहते हैं.जबकि कई डेवलपर्स पूरी तरह से अपने कौशल की योग्यता पर उद्योग में प्रवेश करने में सक्षम हैं, यदि आपके पास चार साल के विश्वविद्यालय से कंप्यूटर साइंस में स्नातक की डिग्री है, तो आप पैक से बाहर खड़े होने में मदद करेंगे।. एक डिग्री आपको ज्ञान की एक विस्तृत पृष्ठभूमि प्रदान करेगी और आपको गणित और तर्क जैसे अतिरिक्त उपयोगी वर्गों तक पहुंच प्रदान करेगी.5. पालतू परियोजनाओं पर काम करते हैं. इससे पहले कि आप अपने नए प्रोग्रामिंग कौशल को वास्तविक-विश्व नौकरियों में लागू करने की कोशिश करना शुरू करें, अपने लिए कुछ परियोजनाओं पर काम करें. अपनी प्रोग्रामिंग भाषा का उपयोग करके समस्याओं को हल करने के लिए खुद को चुनौती दें. न केवल यह आपके कौशल को विकसित करने में मदद करेगा, यह आपके फिर से शुरू करने में भी मदद करेगा.
उदाहरण के लिए, व्यवस्थित रहने के लिए अपने कंप्यूटर के कैलेंडर प्रोग्राम का उपयोग करने के बजाय, अपना खुद का डिज़ाइन करने का प्रयास करें!यदि आप में रुचि रखते हैं वीडियो गेम विकास, सरल खेलों पर काम करें जो ग्राफिक्स या जटिल यांत्रिकी पर ध्यान केंद्रित नहीं करते हैं. इसके बजाय, उन्हें मजेदार और अद्वितीय बनाने पर ध्यान केंद्रित करें. आपके द्वारा बनाए गए छोटे खेलों का एक संग्रह आपके पोर्टफोलियो में बहुत अच्छा लगेगा. विशेषज्ञ युक्ति
जीन Linetsky, एमएस
स्टार्टअप संस्थापक और इंजीनियरिंग निदेशकजीन लिनेटस्की सैन फ्रांसिस्को खाड़ी क्षेत्र में एक स्टार्टअप संस्थापक और सॉफ्टवेयर इंजीनियर है. उन्होंने 30 से अधिक वर्षों से तकनीकी उद्योग में काम किया है और वर्तमान में पोयट में इंजीनियरिंग निदेशक, एक तकनीकी कंपनी व्यवसाय के लिए स्मार्ट पॉइंट-ऑफ-सेल टर्मिनलों का निर्माण कर रही है.
जीन Linetsky, एमएस
स्टार्टअप संस्थापक और इंजीनियरिंग निदेशक
हाथ से अनुभव आपका सबसे अच्छा सीखने का उपकरण है. जीन Linetsky के अनुसार, एक सॉफ्टवेयर इंजीनियर और स्टार्टअप संस्थापक: "एक सॉफ्टवेयर इंजीनियर होने के नाते प्रोग्राम की क्षमता नहीं है- यह सब कुछ है जो आपके कोड को वास्तविक लोगों द्वारा वास्तविक उत्पाद में बनाने के लिए आवश्यक है. फिर, जब आप ऐसा करते हैं, तो आपके ग्राहक आमतौर पर वापस आते हैं और कहते हैं, `यह काम नहीं करता है,` या `जो काम नहीं करता है.` अपने स्वयं के सामान को बनाए रखने का चक्र एक सॉफ्टवेयर इंजीनियर की वास्तविक शिक्षा है."
6.
सवाल पूछो. इंटरनेट अन्य डेवलपर्स से जुड़ने का एक शानदार तरीका है. यदि आप अपनी परियोजनाओं में से किसी एक पर खुद को फंस गए हैं, तो स्टैकओवरफ्लो जैसी साइटों पर सहायता मांगें. सुनिश्चित करें कि आप
एक बुद्धिमान तरीके से पूछें और साबित कर सकते हैं कि आपने पहले ही कई संभावित समाधानों की कोशिश की है.
7. प्रतिदिन अभ्यास करें. हर दिन अपने पालतू परियोजनाओं पर काम करते हैं, भले ही केवल एक घंटे के लिए. यह आपको ताजा रहने और लगातार नई तकनीकों को सीखने में मदद करेगा. कई डेवलपर्स को यह सुनिश्चित करके सफलता मिली है कि वे दैनिक आधार पर इसके संपर्क में हैं.
हर दिन एक समय निर्धारित करें कि आप कोडिंग को समर्पित कर सकते हैं, या एक समय सीमा निर्धारित कर सकते हैं जिसे आपको समाप्त करने की आवश्यकता है. सप्ताह के दौरान हर दिन अपनी परियोजनाओं पर काम करने की कोशिश करें ताकि आप अपने सप्ताहांत पर आराम कर सकें.3 का भाग 2:
एक कार्यक्रम का विकास
1
विचारों का मंथन. एक अच्छा कार्यक्रम एक ऐसा कार्य करेगा जो उपयोगकर्ता के लिए जीवन को आसान बनाता है. उस सॉफ़्टवेयर को देखें जो वर्तमान में उस कार्य के लिए उपलब्ध है जिसे आप करना चाहते हैं, और देखें कि क्या प्रक्रियाएं आसान हो सकती हैं या चिकनी हो सकती हैं. एक सफल कार्यक्रम वह है जो उपयोगकर्ताओं को बहुत उपयोगिता मिल जाएगी.
- अपने कंप्यूटर पर अपने दैनिक कार्यों की जांच करें. क्या कोई तरीका है कि आप एक कार्यक्रम के साथ उन कार्यों के एक हिस्से को स्वचालित कर सकते हैं?
- हर विचार लिखें. यहां तक कि अगर वह उस समय मूर्खतापूर्ण या अपमानजनक लगता है, तो यह कुछ उपयोगी या यहां तक कि शानदार भी बदल सकता है.
- अन्य कार्यक्रमों की जांच करें. वे करते क्या हैं? वे इसे कैसे बेहतर कर सकते हैं? वे क्या लापता हैं? इन सवालों का जवाब देने से आप अपने बारे में विचारों के साथ आने में मदद कर सकते हैं.
2. एक डिजाइन दस्तावेज़ लिखें. यह दस्तावेज़ उन सुविधाओं की रूपरेखा तैयार करेगा और आप परियोजना के साथ क्या हासिल करना चाहते हैं. विकास प्रक्रिया के दौरान डिजाइन दस्तावेज़ का जिक्र करने से आपकी परियोजना को ट्रैक और केंद्रित रखने में मदद मिलेगी. ले देख यह गाइड दस्तावेज़ लिखने के विवरण के लिए.
3. एक प्रोटोटाइप बनाएं. यह एक मूल कार्यक्रम है जो उस कार्यक्षमता को दिखाता है जिसे आप प्राप्त करने का लक्ष्य रखते हैं. एक प्रोटोटाइप एक त्वरित कार्यक्रम है, और जब तक आपको कोई डिज़ाइन नहीं मिल जाता है तब तक इसे पुनरावृत्त किया जाना चाहिए. उदाहरण के लिए, यदि आप कैलेंडर प्रोग्राम बना रहे हैं, तो आपका प्रोटोटाइप मूल कैलेंडर (सही तिथियों के साथ) होगा!) और घटनाओं को जोड़ने का एक तरीका.
आपके प्रोटोटाइप अक्सर विकास चक्र के दौरान बदल जाएंगे क्योंकि आप समस्याओं से निपटने या बाद में एक विचार के बारे में सोचने के नए तरीकों के साथ आते हैं जिसे आप शामिल करना चाहते हैं.प्रोटोटाइप को सुंदर नहीं होना चाहिए. वास्तव में, कला और डिजाइन उन अंतिम चीजों में से एक होना चाहिए जिन पर आप ध्यान केंद्रित करते हैं. कैलेंडर उदाहरण का उपयोग फिर से, आपके प्रोटोटाइप को केवल टेक्स्ट होना चाहिए.4. इसे और अधिक परीक्षण करें. बग हर डेवलपर का बैन हैं. कोड और अप्रत्याशित उपयोग में त्रुटियां एक तैयार उत्पाद में सभी प्रकार की समस्याओं का कारण बन सकती हैं. जैसा कि आप अपनी परियोजना पर काम करना जारी रखते हैं, जितना संभव हो सके इसका परीक्षण करें. इसे तोड़ने के लिए आप जो कुछ भी कर सकते हैं, उसे करें, और फिर इसे भविष्य में तोड़ने से बचाने की कोशिश करें. दोस्तों और परिवार अपने कार्यक्रम का परीक्षण करें और वापस परिणामों की रिपोर्ट करें. किसी भी तरह से आप प्रतिक्रिया प्राप्त कर सकते हैं आपकी विकास प्रक्रिया में मदद करेगा.
यदि आपका कार्यक्रम तिथियों से संबंधित है तो अजीब तिथियों को इनपुट करने का प्रयास करें. वास्तव में पुरानी तिथियां या भविष्य की तारीखें कार्यक्रम के साथ अजीब प्रतिक्रियाएं पैदा कर सकती हैं.गलत प्रकार के चर इनपुट करें. उदाहरण के लिए, यदि आपके पास कोई फॉर्म है जो उपयोगकर्ता की आयु के लिए पूछता है, तो इसके बजाय एक शब्द में प्रवेश करें और देखें कि कार्यक्रम के साथ क्या होता है.यदि आपके कार्यक्रम में एक ग्राफिकल इंटरफ़ेस है, तो सबकुछ पर क्लिक करें. क्या होता है जब आप पिछली स्क्रीन पर वापस जाते हैं, या गलत क्रम में बटन पर क्लिक करते हैं?5. अपनी परियोजनाओं को पॉलिश करें. जबकि प्रोटोटाइपिंग और विकास चरण के लिए एक मोटा प्रोजेक्ट बनाना ठीक है, यदि आप दूसरों को इसका उपयोग करना चाहते हैं तो आपको पॉलिश पर कुछ समय बिताने की आवश्यकता होगी. इसका मतलब यह है कि मेनू तर्कसंगत रूप से प्रवाह प्रवाह, उपयोगकर्ता इंटरफ़ेस (यूआई) स्वच्छ और उपयोग करने में आसान है, वहां कोई चमकदार या शोस्टॉपिंग नहीं है, और यह एक अच्छी लग रही खत्म में लेपित है.
यूआई डिजाइन और कार्यक्षमता बहुत मुश्किल और जटिल हो सकती है. लोग पूरी करियर को डिजाइन करने से बाहर करते हैं. बस सुनिश्चित करें कि आपकी व्यक्तिगत परियोजना का उपयोग करना आसान है और आंखों पर आसान है. एक पेशेवर यूआई बजट और एक टीम के बिना संभव नहीं हो सकता है.यदि आपके पास बजट है, तो बहुत सारे फ्रीलांस ग्राफिक्स डिजाइनर हैं जो संभावित रूप से आपके लिए अनुबंध पर एक यूआई डिजाइन कर सकते हैं. यदि आपके पास एक ठोस प्रोजेक्ट है जो आप उम्मीद कर रहे हैं कि अगली बड़ी बात हो जाएगी, एक अच्छा यूआई डिजाइनर ढूंढें और उन्हें अपनी टीम का हिस्सा बनाएं.6. अपनी परियोजनाओं को github पर रखें. Github एक ओपन-सोर्स समुदाय है जो आपको अपने कोड को दूसरों के साथ साझा करने की अनुमति देता है. यह आपको अपने कोड पर अंतर्दृष्टि प्राप्त करने के साथ-साथ उन अन्य लोगों को लाभ पहुंचाने की अनुमति देगा जो आपके द्वारा किए जा सकने वाले समाधानों की तलाश में हैं. Github एक महान शिक्षण संसाधन के साथ-साथ आपके पोर्टफोलियो को बनाने का एक अच्छा तरीका है.
7. अपना सॉफ्टवेयर वितरित करें. एक बार आपके पास एक तैयार उत्पाद हो जाने के बाद, आप यह चुन सकते हैं कि आप इसे वितरित करना चाहते हैं या नहीं. आपके द्वारा बनाए गए सॉफ़्टवेयर के प्रकार के आधार पर आप इन दिनों विभिन्न तरीकों से कर सकते हैं.
छोटे टीमों या स्वतंत्र डेवलपर्स के लिए अपने सॉफ्टवेयर वितरित करने के लिए सबसे आम तरीकों में से एक व्यक्तिगत वेबसाइट के माध्यम से है. सुनिश्चित करें कि आपकी सभी सुविधाएं अच्छी तरह से प्रलेखित हैं, और कुछ स्क्रीनशॉट और ट्यूटोरियल शामिल हैं. यदि आप अपना सॉफ़्टवेयर बेच रहे हैं, तो सुनिश्चित करें कि आपके पास एक अच्छा डिजिटल भुगतान प्रणाली है और सॉफ़्टवेयर को वितरित करने के लिए एक सर्वर है.यदि आप किसी विशिष्ट डिवाइस या ऑपरेटिंग सिस्टम के लिए सॉफ़्टवेयर विकसित कर रहे हैं, तो कई डिजिटल स्टोर हैं जिन्हें आप उपयोग करने में सक्षम हो सकते हैं. उदाहरण के लिए, यदि आप एंड्रॉइड डिवाइस के लिए सॉफ़्टवेयर बना रहे हैं, तो आप Google Play Store, अमेज़ॅन ऐप स्टोर, या अपनी व्यक्तिगत वेबसाइट के माध्यम से अपना ऐप बेच सकते हैं.3 का भाग 3:
काम मिलना
1.
अनुबंध नौकरियां लें. हालांकि ये भी भुगतान नहीं करेंगे और पूर्णकालिक रोजगार की तुलना में कम विश्वसनीय हैं, आप अनुबंध नौकरियों की एक श्रृंखला ले कर अपने पोर्टफोलियो को काफी हद तक थोक कर सकते हैं. Elance और Odesk जैसी साइटों की जांच करें (जिसे भी कहा जाता है "अव्यवस्थित" अब) काम खोजने के लिए. जबकि एक अनुबंध के लिए विचार करना मुश्किल हो सकता है, एक बार जब आप अपना पहला प्राप्त करते हैं तो यह बहुत आसान हो जाता है.
- हैकर समाचार अनुबंध और फ्रीलांस नौकरियों के लिए एक महान संसाधन है. जाँचें "पूछना" अनुभाग.
- हालांकि यह अनुबंध नौकरी को सुरक्षित करने के लिए कम बोली लगाने के लिए मोहक हो सकता है, अपनी सेवाओं को कम न करें. न केवल आप कम से कम काम करने के लिए अधिक काम करेंगे, आप अपने क्षेत्र में दूसरों को भी क्रोधित करेंगे, जिससे कम नेटवर्किंग हो जाएगी.
- अनुबंध कार्य पर अच्छा काम कभी-कभी पूर्णकालिक स्थिति का कारण बन सकता है. हमेशा अपना सर्वश्रेष्ठ पैर आगे रखें!
2
जितना संभव हो नेटवर्क. जितना संभव हो उतना सम्मेलन और हैक-ए-थॉन के रूप में भाग लें. न केवल यह आपको हल करने के लिए अधिक कोड और समस्याओं का खुलासा करेगा, इससे आपको उद्योग में अन्य लोगों से मिलने में भी मदद मिलेगी. अपने बेसमेंट में अकेले काम करने वाले प्रोग्रामर के बारे में आप जो सोच सकते हैं उसके बावजूद, पूर्णकालिक डेवलपर्स का अधिकांश हिस्सा एक टीम का हिस्सा है और नेटवर्किंग किसी भी अन्य क्षेत्र के रूप में उतनी ही महत्वपूर्ण है.
3. पूर्णकालिक पदों के लिए आवेदन करें. एक बार आपके बेल्ट के नीचे कुछ अनुबंध नौकरियां हो जाने के बाद, आप पूर्णकालिक रोजगार के लिए अपने रेज़्यूमे और पोर्टफोलियो को बड़े संगठनों को भेजना शुरू कर सकते हैं. राक्षस के अलावा और वास्तव में, कई प्रकार की डेवलपर-विशिष्ट नौकरी साइटें हैं जिन पर आपको देखना चाहिए, जिसमें GitHub नौकरियां, स्टैकओवरफ्लो जॉब बोर्ड, एंजेलिस्ट, क्रंचबोर्ड, हिरलीलाइट और हैकर समाचार शामिल हैं.
4. अपने कौशल को विविधता दें. एक अच्छा सॉफ्टवेयर डेवलपर आमतौर पर एक से अधिक भाषा में कुशल होता है. जबकि आप जो कुछ भी सीखते हैं वह नौकरी पर होगा, अपने ज्ञान का विस्तार करने और किसी अन्य भाषा या दो की मूल बातें सीखने के लिए अपने खाली समय का उपयोग करें. यह नई परियोजनाओं में बहुत आसान बना देगा और आपको एक और अधिक वांछनीय नौकरी उम्मीदवार बना देगा.
5. वेतन के बारे में चिंता मत करो. प्रत्येक प्रवेश-स्तर के सॉफ्टवेयर विकास नौकरी छह आंकड़े का भुगतान नहीं कर रही है. वास्तव में, उनमें से कोई भी नहीं होगा. हालांकि, सॉफ्टवेयर विकास के बारे में अच्छी बात यह है कि नौकरी का बाजार अविश्वसनीय रूप से मजबूत है. अगर आपको लगता है कि आप पर्याप्त कमा रहे हैं जहां आप हैं, तो एक नई कंपनी में एक नई स्थिति में स्थानांतरित करना अपेक्षाकृत आसान है (यदि आपके पास कौशल है). अपनी सेवानिवृत्ति योजना पर ध्यान केंद्रित करने के बजाय अपने पहले कुछ नौकरियों को आवश्यक अनुभव के रूप में देखें.
सामाजिक नेटवर्क पर साझा करें: