आधुनिक सॉफ्टवेयर इंजीनियरिंग अत्यधिक प्रतिस्पर्धी और हमेशा बदलती रहने वाली जगह है जिसके लिए कई अलग-अलग कौशल की आवश्यकता होती है। सिर्फ़ यह जानना ही काफी नहीं है कि कैसे अच्छी तरह से कोड करना है और आपसे जो कहा जाता है उसके अनुसार कार्यों को कैसे लागू करना है। आपको अपनी कंपनी के व्यावसायिक पक्ष, इसके महत्वपूर्ण पैसे कमाने वाले मेट्रिक्स को अच्छी तरह से जानना चाहिए, परिणाम तेज़ी से प्राप्त करने के लिए कोनों को काटना सीखना चाहिए, महत्वपूर्ण किनारे के मामलों को खोजना चाहिए जिनके बारे में उत्पाद टीम को जानकारी नहीं है, अपेक्षाओं और अपने विचारों को स्पष्ट रूप से संप्रेषित करें और परिणामों का परिश्रमपूर्वक परीक्षण करें। मूल रूप से, आपको कई भूमिकाएँ निभानी होंगी और अपनी टीम और कंपनी के लिए हर चीज़ में थोड़ा-बहुत योगदान देना होगा। यह आमतौर पर कुछ भारी अनुभव, कोशिश करने और गलतियाँ करने के तरीके और निरंतर सीखने के साथ आता है। लेकिन आप हमेशा पेशेवर रूप से आगे बढ़ सकते हैं और कम समय में अधिक उत्पादक बन सकते हैं, उम्मीद है कि ऐसा करते हुए आपको पदोन्नति भी मिलेगी। इस लेख में मैं 7 उत्पादकता युक्तियाँ साझा करने जा रहा हूँ जो मैंने एक वरिष्ठ iOS इंजीनियर के रूप में वर्षों के कठिन तरीके से सीखी हैं। आइए देखें कि आप आज से ही एक बेहतर इंजीनियर कैसे बन सकते हैं: 1. अपना आंतरिक बैकलॉग बनाए रखें हां, जीरा और अन्य ट्रैकिंग सिस्टम बहुत बढ़िया हैं, लेकिन वे सिर्फ़ आपके लिए नहीं बल्कि आपकी टीम के लिए डिज़ाइन किए गए हैं। हर कोई स्प्रिंट कार्यों पर आपकी प्रगति की जांच करने के लिए इसका उपयोग करता है, लेकिन यह विस्तृत नहीं है और आपके लक्ष्यों के अनुरूप नहीं है। आपको यहां किसी अन्य परिष्कृत ट्रैकिंग सिस्टम की आवश्यकता नहीं है। यह आपके डिवाइस पर केवल एक नोट्स ऐप या एक सरल कार्य प्रबंधक, टू-डू सूची या आपके कार्यों को संरचित करने का कोई अन्य तरीका हो सकता है। यहाँ एक कदम दर कदम उदाहरण दिया गया है कि यह कैसे काम कर सकता है: अपने पसंदीदा Jira से स्प्रिंट कार्य लें, उन्हें देखें और प्राथमिकता दें। आपका प्राथमिक कार्य क्या होना चाहिए? संकेत: आमतौर पर यह व्यवसाय से संबंधित कुछ होता है, शायद कोई नई सुविधा जो आपकी टीम स्प्रिंट के अंत तक पूरी करने की अपेक्षा करती है। ऐसे कौन से कार्य हैं जिन्हें बाद के लिए सुरक्षित रूप से स्थगित किया जा सकता है और यदि आपके पास कुछ समय बचा है तो उन्हें पूरा किया जा सकता है? अपनी समझ को स्पष्ट करना और प्रबंधक या उत्पाद व्यक्ति के साथ साझा करना हमेशा एक अच्छा विचार है। यदि आपके पास कोई है तो स्प्रिंट योजना के दौरान ऐसा किया जा सकता है। अपने कार्यों को दिन के अनुसार विभाजित करें, अपने मुख्य कार्यों के लिए अधिक समय और प्रयास आवंटित करें तथा उन कार्यों के लिए कम स्थान छोड़ें जिन्हें आप महत्वपूर्ण नहीं मानते हैं। अपनी सूची में टीम मीटिंग और अन्य गतिविधियाँ जोड़ें। उदाहरण के लिए, मुझे हर दिन कोड समीक्षा के लिए एक समर्पित समय स्लॉट रखना एक अच्छा अभ्यास लगता है। इस तरह आपको अपनी टिप्पणियों में जल्दबाजी करने की ज़रूरत नहीं है, और बेहतर योगदान देने के अधिक अवसर हैं। मैंने अपनी पीआर समीक्षाओं से अधिकतम लाभ उठाने पर एक अलग लेख प्रकाशित किया है। यहाँ अपनी सूची में कुछ अन्य कार्य जोड़ें जो आपके स्प्रिंट में शामिल नहीं हैं। उदाहरण के लिए, "टॉम से पिछले सप्ताह किए गए बदलाव के बारे में पूछें ताकि पता चल सके कि अगली बार मुझे कुछ करने की ज़रूरत है या नहीं" कॉर्पोरेट ज़िम्मेदारियाँ भी सूची में होनी चाहिए। उदाहरण: "अपने लक्ष्य अपडेट करें", "कंपनी सर्वेक्षण अनुरोध का जवाब दें", आदि। अंत में, दिन की शुरुआत में इन सभी चीजों पर नज़र रखें। यह आंतरिक कार्य आपको उन छोटी-छोटी चीजों को न भूलने में मदद करता है, जिन्हें आप अन्यथा भूल सकते हैं। 2. टीम मीटिंग में सक्रिय रहें अपनी टीम की मीटिंग में उपस्थित रहना आकर्षक लग सकता है, लेकिन साथ ही उस कष्टप्रद कार्य को पूरा करने या स्लैक में किसी के साथ फ़ॉलो-अप करने का प्रयास करें। लेकिन, मेरा विश्वास करें, यह ध्यान भटकाने का सबसे अच्छा समय नहीं है। आपकी टीम के सदस्य, विशेष रूप से इंजीनियरिंग मैनेजर और उत्पाद प्रबंधक दोनों ही आपसे मुखर और उपस्थित रहने की अपेक्षा करते हैं। अपने विचार और राय साझा करें, क्यों और कब पर सवाल पूछें, पहल करें। यह एक कठिन काम है, और मुझे पता है, ऐसे दिन भी आते हैं जब आप कम ऊर्जा स्तर के साथ चुपचाप बैठना चाहते हैं। लेकिन ये प्रयास आमतौर पर लंबे समय में फल देते हैं। 3. स्पष्ट रूप से संवाद करें सॉफ्टवेयर इंजीनियरों के लिए संचार बहुत महत्वपूर्ण है। आप दूसरे लोगों से क्या और कैसे कह रहे हैं, इसमें संतुलन बनाने की कोशिश करें। उदाहरण के लिए, एक क्रॉस-फ़ंक्शनल टीम स्टैंडअप के दौरान जहाँ आपके पास एक उत्पाद प्रबंधक, एक डिज़ाइनर, एक QA इंजीनियर होता है - जिसका अर्थ है, अलग-अलग पृष्ठभूमि और ज़िम्मेदारियों वाले लोग, - आपके भाषण में उन चीज़ों को फ़िल्टर करना बेहतर होता है जो उन्हें समझ में नहीं आएंगी। आइए अंतर देखें: कल मैं हमारे डिलीवरी एंडपॉइंट पर पैच लगा रहा था, तभी कॉसमॉस डेटाबेस में कुछ इकाइयाँ भ्रष्ट हो गईं। मुझे इसे वापस रोल करना पड़ा और इसके टेबल में हैश मान डालने के तरीके को बदलना पड़ा, जिससे बेहतर सॉर्टिंग एल्गोरिदम जुड़ गए। कल मुझे डिलीवरी टास्क पर काम करते समय परेशानी हो रही थी। रोलआउट के दौरान एक समस्या आई जिसे मैंने तुरंत ठीक कर दिया। यह एक बीटा वातावरण था, इसलिए हम पूरी तरह से ठीक हैं। वास्तव में, मैंने इसके साथ काम करने के तरीके में सुधार किया है जिसे हम अगले सप्ताह अपने मेट्रिक्स में देखेंगे। ध्यान दें कि कैसे दूसरे संस्करण में तकनीकी शब्दों को छोड़ दिया गया है और उन परिणामों पर ध्यान केंद्रित किया गया है जो सभी के लिए बिल्कुल स्पष्ट हैं? इस सरल प्रकार के संचार का अभ्यास करने के लिए अपने आप से ये प्रश्न पूछने का प्रयास करें: वे वास्तव में क्या जानना चाहते हैं? मैं वास्तव में क्या कहना चाह रहा हूं? जटिल तकनीकी चीज़ों को सरल शब्दों में समझाना एक गुण है। लेकिन आप इसे जितना बेहतर तरीके से करेंगे, दूसरे लोग इसे उतनी ही बेहतर तरीके से समझ पाएंगे। अंत में आपको गलतफहमी की समस्याएँ कम होंगी, अनिश्चितताएँ कम होंगी और चिंताएँ भी कम होंगी। अंत में, यदि आवश्यकता हो या पूछा जाए तो आप हमेशा तकनीकी चीजों में गहराई से जा सकते हैं। यह अन्य इंजीनियरों के साथ तकनीकी सिंक पर ऐसा करने के लिए एकदम सही जगह है। 4. अपने मैनेजर के साथ संबंध बनाएं यह पूरी तरह से आप पर निर्भर नहीं करता है, लेकिन सामान्य तौर पर, एक अच्छा प्रबंधक वह होता है जो व्यवसाय की नज़र में आपकी और आपकी हिस्सेदारी की वकालत करता है। वे ही हैं जो ऊपरी प्रबंधन के साथ टीम के साथियों के लिए पदोन्नति पर चर्चा करते हैं और इस बात पर निर्णय लेते हैं कि क्या आप बड़ी भूमिका और ज़िम्मेदारियाँ लेने के लिए तैयार हैं। इसलिए, अपने प्रबंधक के साथ अच्छे संबंध बनाए रखना आपके हित में है। आप वास्तव में ऐसा करने की योजना कैसे बना सकते हैं? खैर, अपने आप को अपने प्रबंधक के स्थान पर रखकर देखें। उनके लक्ष्य क्या हैं और उच्च प्रबंधन उनसे क्या अपेक्षा करता है? आगामी प्रदर्शन चक्र में प्राप्त करने के लिए अपने लिए लक्ष्यों का एक सेट बनाएं और उन्हें पूरा करने के लिए प्रतिबद्ध हों। उन्हें प्रबंधक के सामने प्रस्तुत करें, साथ में चर्चा करें और उन्हें पूरा करें। उदाहरण के लिए, एक अच्छा रिफैक्टरिंग प्रोजेक्ट लें जो उत्पाद के प्रदर्शन को बेहतर बनाएगा। वैसे, अनुभवी इंजीनियर का एक अच्छा संकेत यह है कि वह कुछ कार्यों को दूसरों को सौंपने में सक्षम हो, प्रक्रिया को नियंत्रित करने और काम पूरा करने में सक्षम हो। 5. लगातार एक साथ कई काम करने की बजाय ध्यान केंद्रित करके काम करना चलिए वास्तविक कोडिंग रूटीन के बारे में बात करते हैं। मान लीजिए, आपको हमारे पहले सुझाव के अनुसार एक कार्य करना है। आप इसे कैसे करते हैं? आपके आस-पास हर जगह "शोर" कारक हैं: मीटिंग, लगातार Slack संदेश, आदि। मुझे लगता है कि खुद को बाहरी गैर-महत्वपूर्ण चीजों से बचाना और अपने कार्य के संदर्भ में खुद को बिना किसी अनावश्यक व्यवधान के रखना अधिक प्रभावी है। यदि संभव हो तो इन गैर-अनिवार्य मीटिंग से छुटकारा पाएं और हर Slack संदेश का तुरंत जवाब देने में जल्दबाजी न करें। बेशक, इसका मतलब यह नहीं है कि आपको हर समय DM को अनदेखा करना चाहिए, लेकिन अपने "सोच चक्र" में व्यवधान से बचना बेहतर है। मेरा क्या मतलब है? यह कैसे किया जा सकता है इसका एक उदाहरण यहां दिया गया है: आपको एक महत्वपूर्ण बग को हल करना है। कुछ सिद्धांत हैं जिन्हें आप आज़माना चाहेंगे। आप पहले वाले पर काम कर रहे हैं। आपने एक फिक्स लागू किया है और यह जांचने के लिए तैयार हैं कि यह काम करता है या नहीं। फिर आपको एक स्लैक संदेश प्राप्त होता है। एक अधिसूचना को सरसरी तौर पर देखने से (वास्तव में आपके समय का एक सेकंड) आपको पता चल जाता है कि यह प्रतीक्षा कर सकता है। आप सिद्धांत का परीक्षण पूरा कर लेते हैं। लेकिन यह सफल नहीं होता, तो अगली बार आप दूसरा प्रयास करने वाले हैं। फिर आप थोड़ा ब्रेक लें और उस संदेश का उत्तर दें। बग पर वापस आने के बाद आप अगले सिद्धांत पर काम करने के लिए तैयार हैं। मेरे अनुभव में किसी ऐसी चीज़ पर वापस आना बहुत मुश्किल है जिसे आपने आंशिक रूप से अधूरा छोड़ दिया हो, बस बदलाव के बीच में छोड़ दिया हो। ब्रेक के बीच जितना ज़्यादा समय होगा, बाद में उस संदर्भ को वापस पाना उतना ही मुश्किल होगा, अगर आप चाहें तो इसे "अपने RAM में लोड करें"। इस दृष्टिकोण का मतलब यह नहीं है कि अपने सहकर्मियों को भूल जाना ठीक है। नहीं, लेकिन कई मामलों में कोई भी आपसे तुरंत जवाब देने की उम्मीद नहीं करता है। निश्चित रूप से कुछ अनुग्रह अवधि होती है, इसलिए इसे ज़्यादा न करने का प्रयास करें। कभी-कभी, अगर वे मुझसे कुछ जाँचने के लिए कहते हैं, और इसमें समय लगता है जबकि उस समय मेरा कार्य अधिक महत्वपूर्ण होता है, तो मैं उन्हें बता दूँगा कि मैं इसे जाँचूँगा और एक घंटे या उससे भी कम समय में वापस आऊँगा: अरे, ज़रूर, मैं इसे जाँचने जा रहा हूँ और एक घंटे में आपके पास वापस आऊँगा। आशा है कि आप इससे सहमत होंगे। बात बस इतनी है कि मेरे पास एक उच्च प्राथमिकता वाला कार्य है जिसे मैं पूरे दिन निपटाता रहा हूँ, और मुझे इसे पहले पूरा करना है। इस तरह आप अपने सहकर्मी को वास्तविक ETA दे रहे हैं और अपने संवाद में विनम्र और मैत्रीपूर्ण बने हुए उन्हें अधर में नहीं लटका रहे हैं। 6. अपना काम प्रदर्शित करें मैं बहुत प्रतिभाशाली इंजीनियरों को जानता हूँ, जिनकी तकनीकी पृष्ठभूमि अलग-अलग है और जिन्होंने मेरी बहुत मदद की है। इन जानकार लोगों से सीखना बहुत खुशी की बात थी। लेकिन क्या उन्होंने अपने करियर में आगे बढ़ते हुए बहुत बढ़िया काम किया है? शायद पदोन्नति, ज़्यादा ज़िम्मेदारियाँ और ज़्यादा तनख्वाह पाई हो? हैरानी की बात है कि सभी ने ऐसा नहीं किया। ऐसा होने का एक कारण यह है कि उनके काम के बारे में उनकी छोटी-सी डेवलप टीम के लोगों के अलावा लगभग कोई नहीं जानता था। ईमानदारी से कहूँ तो, अगर आप किसी ऐसी अच्छी कंपनी में काम करते हैं जहाँ माइक्रोमैनेजिंग नहीं होती, तो कोई भी आपके पुल रिक्वेस्ट को 24/7 माइक्रोस्कोप से नहीं देख रहा होता। और वह छोटा सा बदलाव जो किसी कंपनी को काफी पैसे बचा सकता है, अगर आप इसके बारे में संबंधित हितधारकों को ठीक से नहीं बताते हैं, तो आसानी से अनदेखा हो सकता है। अक्सर ये लोग मैनेजर, उत्पाद के मालिक या विभागों के प्रमुख होते हैं... इसका मतलब है कि वे थोड़े से भी तकनीकी लोग नहीं हैं। इसलिए, मैं आपको सलाह देता हूँ कि आप सिर्फ़ अपना सुनहरा पीआर न दिखाएँ, बल्कि इसे इस तरह से पेश करें कि आपके "टेक बबल" के बाहर कंपनी में हर कोई इसका मतलब समझ सके और सबसे महत्वपूर्ण बात, कंपनी का मूल्य समझ सके। प्रस्तुति, अच्छे ग्राफ़, वास्तविक संख्याएँ - ये सब। जो हमें सॉफ्ट स्किल्स और संचार के बारे में तीसरे बिंदु पर वापस ले जाता है। इस बात का एक अलग पहलू भी है जो मैं कभी-कभी साथी इंजीनियरों की शिकायतों में सुनता हूँ। जैसे कि आपकी कंपनी में वह व्यक्ति जो खुद की मार्केटिंग करने में माहिर है और हर चीज़ को वास्तविकता से कहीं ज़्यादा बड़ा बना देता है। हो सकता है कि उनके प्रदर्शन कौशल के कारण नेतृत्व टीमों द्वारा उनकी ज़्यादा प्रशंसा की गई हो। और सिर्फ़ इसी वजह से उन्हें नीचा देखा जा सकता है। लेकिन, उनसे मार्केटिंग की एक-दो तरकीबें सीखना भी फ़ायदेमंद होगा। हाँ, अपने काम को “बेचना” भी ज़रूरी है। अगर आपकी प्रस्तुति कौशल में कमी है, तो सोचें कि आप इसे कैसे सुधार सकते हैं। मैं इसे व्यक्तिगत लक्ष्यों में से एक बनाऊंगा जिसमें स्पष्ट कार्य बिंदु होंगे। देखें कि क्या आपका प्रबंधक यहाँ मदद कर सकता है। वहाँ पर चौथी टिप पर आँख मारना 😉 7. अपने समय का महत्व समझें आखिरी लेकिन सबसे महत्वपूर्ण बात, अतिरिक्त घंटे न काटें। जरूरत से ज्यादा काम न करें। यह आपकी कंपनी की संस्कृति पर निर्भर करता है, लेकिन कुछ जगहों पर प्रबंधन “जल्दी करो जल्दी करो” प्रकार का माहौल बनाने में बहुत चालाकी कर सकता है, जहाँ आपकी स्क्रीन के सामने देर तक न रहना नापसंद किया जाता है। निष्कर्ष यह है कि मैं बेहतर कार्य-जीवन संतुलन के पक्ष में ऐसी कंपनियों से दूर रहूँगा। संक्षेप में, इसका मतलब है कि कंपनी अपने कर्मचारियों को महत्व नहीं देती है और उनकी परवाह नहीं करती है। मैं इंजीनियर के तौर पर अपने शुरुआती सालों में पहले अतिरिक्त घंटे काम करता था। एक बार, हमें एक निश्चित समय में एक बहुत बड़ा और जटिल फीचर जारी करने के लिए कहा गया था। पहली जगह में समय सीमा यथार्थवादी नहीं थी। हम सभी इसके बारे में जानते थे, लेकिन किसी कारण से, जो मुझे पहले से ही याद नहीं है, टीम को इसके साथ तालमेल बिठाना पड़ा। हमने कई सप्ताहांतों में रात में काम किया। क्या आप अनुमान लगा सकते हैं कि इसका नतीजा क्या हुआ? हम स्वाभाविक रूप से इसे पूरा नहीं कर पाए। अंत में, वास्तव में किसी ने इसके बारे में कुछ नहीं किया, लेकिन मुझे इससे उबरने के लिए एक महीने के लिए बिना काम के सप्ताहांत की ज़रूरत थी। जैसा कि हमारे टीम लीडर ने मुझसे अच्छी तरह से कहा: "यह कंपनी आपका उतना ही समय लेगी जितना आप उसे लेने देंगे"। उस घटना और इससे पहले की कई घटनाओं के बाद, मैंने अपनी खुद की व्यक्तिगत सीमाएँ तय कीं कि मुझे जिस काम के लिए भुगतान किया जा रहा है, वह कहाँ और कब शुरू और बंद होगा। याद रखें, अगर आप आधिकारिक तौर पर 5/7 काम करते हैं, तो आपके पास कुछ घंटे होते हैं जिनके लिए आपको भुगतान किया जाता है। भले ही आप एक फ्रीलांसर के रूप में काम करते हों, यह मूल रूप से एक ही बात है। हमेशा "प्रति घंटे पैसे" का संबंध होता है। यदि आप अतिरिक्त भुगतान के बिना अतिरिक्त घंटे काम करते हैं, तो ज्यादातर मामलों में आप खुद को नुकसान पहुँचाते हैं। मेरा विश्वास करो, यह सब आसानी से किसी बिंदु पर बर्नआउट का कारण बन सकता है जिससे बाहर आना मुश्किल होगा। कुछ दुर्लभ अवसरों पर, अतिरिक्त समय काम करना लाभदायक हो सकता है, लेकिन केवल तभी जब इससे वास्तविक लाभ होने की संभावना हो। अतिरिक्त वेतन, पदोन्नति, अतिरिक्त छुट्टियां या किसी अन्य प्रकार का प्रतिशोध जिसके लिए ऐसा करना वास्तव में सार्थक हो। लेकिन इसे एक सामान्य नियम के रूप में लें: अपने काम के घंटों का अधिकतम लाभ उठाएँ और कड़ी मेहनत करें, लेकिन दिन के अंत में, जब आपकी घड़ी खत्म हो जाए, तो इसे अगले दिन के लिए छोड़ दें। अपने समय का मूल्य समझें। निष्कर्ष मुझे उम्मीद है कि ये सुझाव आपके लिए कुछ हद तक मददगार साबित हुए होंगे। हो सकता है कि इनमें से कुछ के बारे में आप पहले से ही जानते हों, लेकिन कुछ ने आपको सुधार करने के बारे में सोचने पर मजबूर कर दिया हो। और यही कारण था कि मैंने ये विचार लिखे - अपने अनुभव को साझा करने और यह देखने के लिए कि क्या यह दूसरों के लिए उपयोगी हो सकता है। अगली बार तक, आगे बढ़ते रहें और खुद को बेहतर बनाते रहें!