आप बोल्डर, कोलोराडो में Google के कैंपस के फ्रंट-डेस्क पर प्रतीक्षा कर रहे हैं, अपने कोडिंग साक्षात्कार के शुरू होने की प्रतीक्षा कर रहे हैं। लॉबी में आपके सामने दो अन्य उम्मीदवार बैठे हैं:
एक करिश्माई एयरपॉड्स-शानदार डेवलपर जो कमरे में किसी की भी पैंट उतार सकता है, लेकिन लिंक की गई सूची को काम करने के लिए 8 घंटे की आवश्यकता होती है
एक प्रोग्रामिंग कौतुक जो असेंबली में गेम लिखता है, लेकिन इतना बड़ा झटका है कि कोई भी अपना गेम नहीं खेलेगा
उनमें से कौन जॉब स्पॉट के लिए अधिक भयंकर प्रतिस्पर्धा प्रदान करेगा? आइए सदियों पुराने प्रश्न से निपटें: प्रोग्रामर के लिए कौन सा अधिक महत्वपूर्ण, कठिन या सॉफ्ट कौशल है?
पहले मैं झुंझलाहट के साथ समझाऊंगा कि हार्ड और सॉफ्ट स्किल्स क्या हैं, लेकिन फिर हम इस लेख को लिखने के कारण में गोता लगाएंगे: आयत सादृश्यता । यह सादृश्य आपको यह समझने में मदद करेगा कि नौकरी मिलने की संभावना को अधिकतम करने के लिए आपको अपना समय कहाँ खर्च करना चाहिए।
पहली चीज़ें पहली: कठिन कौशल क्या हैं? ये मूर्त, औसत दर्जे की क्षमताएं हैं जिनकी आपको काम पूरा करने के लिए आवश्यकता है । एक डेवलपर के रूप में, आपको चाहिए:
कठिन कौशल आपके प्रोग्रामिंग करियर की रोटी और मक्खन हैं। वे अधिकांश प्रोग्रामिंग पदों के लिए एक परम आवश्यकता हैं, और वे आपकी तकनीकी योग्यता प्रदर्शित करते हैं। वास्तव में, यदि आपके पास केवल एक प्रकार का कौशल हो सकता है, तो कठिन कौशल अधिक महत्वपूर्ण होंगे। आखिरकार, बिना कोड लिखना बहुत कठिन है, आप जानते हैं, वास्तव में कोड कैसे जानना है।
तकनीक की दुनिया ख़तरनाक गति से आगे बढ़ रही है, और यदि आप लगातार अपने कठिन कौशल का स्तर नहीं बढ़ा रहे हैं, तो आप धूल में मिल जाएंगे। याद रखें, रोम एक दिन में नहीं बनाया गया था, और न ही आपकी प्रोग्रामिंग विशेषज्ञता है। समय के साथ-साथ नई भाषाएं, उपकरण और तकनीक सीखने में समय और प्रयास लगाएं।
आपको हर चीज का विशेषज्ञ होने की आवश्यकता नहीं है, लेकिन आपको यह जानने की आवश्यकता है कि आपके डोमेन के भीतर वास्तविक समस्याओं को हल करने वाले कार्यकारी कोड को कैसे डिलीवर किया जाए। यदि आप बैक-एंड डेवलपर बनना चाहते हैं और सास कंपनियों में काम करना चाहते हैं, तो आपको कम से कम:
दूसरी ओर, सॉफ्ट स्किल्स, अमूर्त, पारस्परिक क्षमताएं हैं जो आपके करियर को अच्छा बूट दे सकती हैं। हो सकता है कि वे कठिन कौशल के रूप में मापना आसान न हों लेकिन वे लगभग उतने ही महत्वपूर्ण हैं। शीतल कौशल में शामिल हैं:
सॉफ्ट स्किल्स वह गुप्त चटनी है जो आपके करियर को नई ऊंचाइयों तक ले जा सकती है। वे सहयोग और टीम वर्क की सुविधा देते हैं, जिससे आपके लिए दूसरों के साथ काम करना और काम पूरा करना आसान हो जाता है। साथ ही, ठोस सॉफ्ट स्किल्स होने से आपकी समग्र नौकरी से संतुष्टि और करियर में वृद्धि हो सकती है। आखिरकार, कोई भी ऐसे जीनियस के साथ काम नहीं करना चाहता जो एक बेवकूफ भी हो।
टेक में नौकरी पाने के लिए कठिन कौशल की आवश्यकता होती है, लेकिन यह मानते हुए कि दो उम्मीदवारों के बीच कठिन कौशल में अंतर समान है, मैंने वास्तव में देखा है कि अधिक करिश्माई और आकर्षक उम्मीदवार को तकनीकी रूप से अधिक सक्षम व्यक्ति की तुलना में नौकरी मिलती है। क्यों? प्रबंधक लोग हैं, और लोग अन्य लोगों के साथ काम करना पसंद करते हैं जिन्हें वे पसंद करते हैं।
अगर आपका व्यक्तित्व खराब है, तो ज्यादा चिंता न करें। कोड बंदर के रूप में नौकरी पाने के लिए आपको एक शानदार वक्ता या लिखित शब्द का स्वामी होने की आवश्यकता नहीं है। नंबर एक नियम का पालन करना आसान होना चाहिए: गधे मत बनो। यदि आप ऐसा करते हैं, तो आप आधे रास्ते में हैं।
संबंधित अनुवर्ती नियम आत्मविश्वास और विनम्रता को संतुलित करना है। यदि आप एक दयालु, खुले विचारों वाले डेवलपर हैं जो जानते हैं कि आप किस बारे में बात कर रहे हैं, तो आप बहुत अच्छा करेंगे।
अब जबकि हमने हार्ड और सॉफ्ट दोनों कौशलों का पता लगा लिया है, आइए यह समझने के लिए कि वे एक साथ कैसे काम करते हैं, आयत सादृश्यता में गोता लगाएँ। कल्पना कीजिए कि आपके कठिन कौशल एक आयत की लंबाई हैं, जबकि आपके सॉफ्ट कौशल चौड़ाई का प्रतिनिधित्व करते हैं।
इस आयत का क्षेत्रफल आपकी नौकरी मिलने की संभावना से मेल खाता है। क्षेत्र जितना बड़ा होगा, आपके कौशल के अनुकूल गिग खोजने की संभावना उतनी ही बेहतर होगी।
इसका मतलब है कि आपकी नौकरी की संभावना के लिए समीकरण है:
hard_skills * soft_skills = job_probability
कम से कम प्रयास के साथ job_probability
अधिकतम करने के लिए, जिस भी कौशल की आप में कमी है, उस पर अधिक समय दें। एक वर्ग का क्षेत्रफल समान परिमाप वाले एक एकतरफा आयत के क्षेत्रफल से बड़ा होता है।
यदि आप सोच रहे हैं कि यह एक Dungeons & Dragons चरित्र पत्रक जैसा लगता है जहां आपके पास आवंटित करने के लिए सीमित संख्या में कौशल बिंदु हैं, तो वास्तविक दुनिया इस तरह काम नहीं करती है। वास्तविक दुनिया में, आप बस अधिक कौशल अंक प्राप्त कर सकते हैं। आप हार्ड और सॉफ्ट स्किल दोनों में उत्कृष्टता प्राप्त कर सकते हैं।
यदि आप कड़ी मेहनत करते हैं और अपना सर्वश्रेष्ठ करते हैं, तो आप एक महान प्रोग्रामर और एक महान व्यक्ति दोनों बन सकते हैं। यह या तो या स्थिति नहीं है। शिया ला बियॉफ़ के अमर शब्दों में, "बस करो!"