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