संयोग से डेवलपर के रूप में शुरुआत की थी, और देखते-देखते 12 साल बीत गए।
मैं कोशिश कर रहा हूँ कि दूसरों से पीछे न रह जाऊँ,
लेकिन कभी-कभी लगता है कि डेवलपर के रूप में मेरी ग्रोथ ठहर गई है।
जैसे जब दूसरों के लिखे सोर्स को आसानी से समझ नहीं पाता,
या कई सालों तक वही काम बार-बार करता रहता हूँ...
ऐसे समय में आप इससे कैसे बाहर निकलते हैं?
19 टिप्पणियां
पिछली नौकरी में मुझे लगा कि अब सीखने के लिए कुछ बचा नहीं है (हमेशा लगभग एक जैसे प्रोजेक्ट्स और senior engineers की कमी), इसलिए मैंने ऐसी बड़ी जगह पर नौकरी बदली जहाँ Sydney के engineers ज़्यादा हैं.
नौकरी बदलने के बाद मुझे महसूस हो रहा है कि मैं ज़्यादा सीख रहा हूँ और आगे बढ़ रहा हूँ.
मैंने भी ऐसे समय देखे हैं जब मन बहुत थक गया था। तब मैंने सब कुछ थोड़ी देर के लिए छोड़ दिया, development से दूर जाकर आराम किया, और फिर महसूस हुआ कि मुझे दोबारा development करने की कितनी तीव्र इच्छा है। इस लगातार फैलती दुनिया में, जहाँ हमेशा कुछ नया सामने आता रहता है और बेहतरीन developers से आसानी से मुलाकात हो जाती है, खुद की दूसरों से तुलना करना बहुत पीड़ादायक होता है। कुछ साल पहले मैंने यह निष्कर्ष निकाला कि यह सोचना कि क्या मैं वह काम अच्छी तरह कर रहा हूँ जो मैं सच में करना चाहता हूँ, कम तकलीफ़देह और ज़्यादा उत्पादक है। community activities के दौरान मुझे बहुत अच्छे लोग मिले, और इंसान के तौर पर भी उससे मुझे बहुत सहारा मिला। खुद को कोड़े मत मारिए। अपने और अपने आसपास के लोगों की पीठ थपथपाते हुए धीरे-धीरे आगे बढ़ना भी काफ़ी अच्छी ज़िंदगी हो सकती है। कामना है कि आपके अच्छे दिन लगातार बने रहें। :)
जो काम आप कर रहे हैं, उससे जुड़ी किसी खास दिशा में और गहराई से निखार ला सकते हैं,
या फिर ट्रेंडी तरीके से नए और विविध environments को अनुभव करके उनकी तुलना अपने मौजूदा माहौल से करना भी अच्छा लगता है।
नहीं तो, जो पहले से मौजूद नहीं था, उसमें योगदान देना भी संभव लगता है।
मैं जब कभी ऐसा महसूस करता हूँ, तो सच में कुछ भी नहीं करता। फिर किसी पल जब आँखों के सामने कुछ ऐसा दिख जाता है जो करने का मन हो, तो पहले बस वही करके देखता हूँ। फिर धीरे-धीरे वापस अपनी जगह पर आ जाता हूँ।^^
आह, एक बात और! यह सोचिए, “ऐसा सिर्फ मेरे साथ ही नहीं हो रहा।”
हो सकता है आपने यह पढ़ा हो, लेकिन मैं यह लेख सुझाऊँगा। “आपके एक ही जगह अटके रहने की वजह” http://m.egloos.zum.com/agile/v/5749946
ओह, मुझे भी यह लेख याद आया। खुद से कठिनाई का स्तर नियंत्रित करने वाला तरीका।
IDE environment की जगह मैंने जानबूझकर vim में development किया था। अजीब लगा था.. लेकिन कुछ ऐसा था कि बिना कोई तैयारी किए, तुरंत आज़मा सकता था, इसलिए अच्छा लगा।
अब तो मैं इसे अपने main development tool के रूप में भी इस्तेमाल कर रहा हूँ।
विकास महसूस करने के मानदंड भी बदल जाते हैं.
शुरुआती: भाषा की किताब के हर chapter पर विकास महसूस होता है
अनुभवी: Functional + JPA + Queue + तरह-तरह के MSA integration + तरह-तरह की fault tolerance features + नई language तक करनी पड़े, तब संतोष होता है. क्योंकि ऐसे काम पहले कर चुके होते हैं. अपने बेहतर रूप की इच्छा रखना अच्छी बात है, लेकिन कभी-कभी यही हमारे मन को थका देता है.
हो सकता है अब वह समय आ गया हो जब आप phase 2 शुरू करें कि आपके लिए विकास का मतलब क्या है.
आप किस तरह का विकास चाहते हैं?
करना चाहिएकी बजायकरना चाहता/चाहती हूँके नज़रिये से सोचें, तो मदद मिलती है.हो सकता है कि अब आपका लक्ष्य सिर्फ ज्ञान और तकनीक से भरपूर programmer होना न रह गया हो.
सिर्फ communication और mediation अच्छी हो, तब भी आप कंपनी के काम को आगे बढ़ा सकते हैं, इसलिए संभव है कि आप ऐसी भूमिका में विकास महसूस करें.
हो सकता है आप किसी दूसरे उद्योग की ओर जाना चाहते हों
या xguru ki baat ki tarah, shayad aapko bas aaraam ki zarurat rahi ho.
मैंने
बड़े enterprise में backend development करते हुए विकास महसूस नहीं किया,
फिर startup भी गया,
और बाद में दूसरे domain में आ गया.
थोड़ा रुककर यह देखिए कि आप वास्तव में क्या चाहते हैं, और test करने के लिए थोड़ा कदम बढ़ाइए.
सभी को जवाबों के लिए धन्यवाद। मैं आपकी दी गई सलाहों को ध्यान में रखकर एक side project आगे बढ़ाऊँगा और फिर उसे यहाँ परिचय के लिए साझा करूँगा haha
मुझे चीज़ों को क्रम से पढ़ना पसंद है। ऐसे टूल्स ज़रूर होंगे जिनका source code किसी और ने बनाया है, और जिन्हें आपने बिना ज़्यादा सोचे बस इस्तेमाल किया होगा। यानी ऐसी चीज़ें जिन्हें आप इतनी सहजता से इस्तेमाल करते हैं मानो वे शुरू से ही बिल्कुल स्वाभाविक रूप से मौजूद रही हों। मैं उनका source code खोलता हूँ, जिन features का मैंने इस्तेमाल किया है उन्हें entry point बनाता हूँ, या अगर test code हो तो किसी random test को entry point मानकर बस पढ़ना शुरू कर देता हूँ। उस प्रक्रिया में मुझे बहुत कुछ सीखने को मिलता है और नए विचार भी आते हैं।
अगर कोरोना न होता तो और बेहतर होता, लेकिन डेवलपर कम्युनिटी की गतिविधियों में हिस्सा लेना भी अच्छा रहेगा। इससे प्रेरणा मिल सकती है, और दूसरों की बातें सीधे सुनकर उन्हें साझा करना भी काफ़ी मददगार होगा।
मुझे भी कभी इसी तरह की चिंता काफी समय तक रही थी, और जैसा कि कमेंट्स में भी पहले से है, आखिरकार मैं इस निष्कर्ष पर पहुँचा कि इसकी शुरुआत ही खुद की दूसरों से तुलना करने से टेढ़ी हो गई थी.
उसके बाद, दूसरों से तुलना करने के बजाय मैंने बस उन चीज़ों को आज़माना शुरू किया जिन्हें मैं अच्छी तरह नहीं जानता था, या बिल्कुल नई चीज़ें करता रहा.
फिर शुरुआती दिनों वाले मन से मुझे दोबारा यह एहसास होने लगा कि मैं इसी वजह से developer बनना चाहता था. शायद उसी तरह मैंने वह दौर पार किया.
शायद सच कहूँ तो मैंने उसे पूरी तरह पार नहीं किया है, बल्कि अब मैं ऐसे विचारों (दूसरों से तुलना) के बारे में ज़्यादा सोचता ही नहीं हूँ.
जब भी ऐसा लगता है, मैं यह सोचता हूँ कि मैं नया क्या अच्छा कर सकता हूँ। छोटे स्तर पर नए side project से लेकर बड़े स्तर पर बिल्कुल नया hobby अपनाने तक, मैंने बहुत कुछ आज़माया है। वहीं से मुझे अपने कई छोटे-बड़े नए strengths भी मिले।
और जो चीज़ मैं समझ नहीं पाता, उसके बारे में मैं मानता हूँ कि मैंने अभी पर्याप्त समय नहीं दिया है। एक बार मैं LLVM source code पढ़ रहा था, वह इतना मुश्किल लगा कि मुझे लगा मैं खुद बहुत अयोग्य हूँ =m= और मैं लगभग रो ही पड़ा था। लेकिन बाद में सोचा कि उन लोगों ने compiler पर दशकों तक research की होगी, और उस source code को बनाने में भी सैकड़ों घंटे लगाए होंगे। ऐसे में मैं अगर उसे सिर्फ कुछ घंटों देखकर समझ लेना चाहूँ, तो क्या यह मेरी बहुत बड़ी अहंकारी सोच नहीं है? ऐसा विचार आया। उसके बाद से, जब भी मैं दूसरों से अपनी तुलना करता हूँ, तो सम्मान का भाव रखते हुए धीरे-धीरे उनके पीछे चलने की कोशिश करके ही इससे बाहर निकलता हूँ।
अगर तुलना करनी है, तो दूसरों से तुलना करने के बजाय समय के पैमाने पर अपने पुराने स्वरूप से अपनी तुलना करके देखिए.
असल में शुरुआत से ही मानदंड बहुत अस्पष्ट होता है.
और अगर कोई आपसे बेहतर है, तो उसके साथ सीखिए; उसे पीछे छोड़ने की कोशिश करेंगे तो उसे सहकर्मी नहीं, प्रतियोगी की तरह देखने लगेंगे.
अगर समझ में नहीं आता, तो पूछ लीजिए. जो चीज़ आपने मेहनत से बनाई हो, उसके बारे में कोई पूछे तो कितना अच्छा लगता है.
पूछने पर आपको बुरा-भला कहने वाला कोई नहीं है.
ज़रूरी नहीं कि वह development से जुड़ा side project ही हो। किसी ऐसे क्षेत्र में पढ़ाई करना जिसमें आपकी रुचि हो, या ऐसा कोई शौक़ ढूँढना भी अच्छा हो सकता है जिसे आपने पहले कभी आज़माया न हो। जब आप ज़्यादा विविध लोगों से मिलते हैं, तो वहाँ से मिलने वाली खुशी और growth भी हो सकती है। मुझे लगता है कि developer के रूप में growth ही किसी व्यक्ति की पहचान या उसके विकास का पूरा प्रतिनिधित्व करे, ऐसा ज़रूरी नहीं है..
मैंने अभी डेवलपर के रूप में नौकरी शुरू किए ज़्यादा समय नहीं हुआ है, लेकिन जो आपने महसूस किया है उससे मैं अभी से ही सहमत हूँ।
कहा जाता है कि डेवलपर की करियर-लाइफ छोटी होती है, लेकिन इसकी विस्तार-क्षमता काफ़ी बड़ी लगती है।
डेवलपर बैकग्राउंड वाले लोगों के लिए OOO में भी कई आकर्षक क्षेत्र हैं, इसलिए मैंने मैनेजिंग की तरफ़ नज़र घुमाकर देखी है!
अगर आपको लगे कि डेवलपमेंट के तौर पर अब आगे बढ़ने की कोई गुंजाइश नहीं दिख रही, तो क्या दूसरे क्षेत्रों की तरफ़ भी नज़र डालना अच्छा नहीं होगा?
मुझे दो बातें याद आ रही हैं। मुझे लगता है कि आप इन्हें पहले से जानते होंगे।
दूसरों से तुलना करने के बजाय, कल के अपने आप से तुलना करें और थोड़ा-थोड़ा बेहतर बनने की कोशिश करें
खुद को ऐसे माहौल में डालें जहाँ नया ज्ञान हासिल किए बिना रहना संभव न हो। चरम स्थिति में, नौकरी बदलना
साइड प्रोजेक्ट या ब्लॉगिंग जैसी डेवलपमेंट के बाहर की गतिविधियाँ मददगार रहीं।
इनसे नई प्रेरणा मिल सकती थी, और जब कंपनी के काम से burnout आ गया था, तब ऐसी गतिविधियों ने मानसिक रूप से भी सहारा दिया।
सबसे पहले, अगर लगे कि आप बहुत मुश्किल से लगातार भागते आए हैं, तो थोड़ी देर के लिए सब कुछ छोड़कर आराम करना भी अच्छा है.
मेरे मामले में, ऐसे समय मैं आमतौर पर side project करने की सलाह देता हूँ.
अपनी रोज़मर्रा की ज़िंदगी में काम आने वाली किसी चीज़ या किसी दिलचस्प चीज़ को एक बार बनाकर देखना अच्छा रहता है.
जिस language और toolset को नया सीखना चाहते हैं, उसके साथ करना भी अच्छा है, और जिन चीज़ों में पहले से हाथ सेट है, उनसे कुछ अलग काम करके देखना भी अच्छा लगता है.
मैंने MP3 में album information tagging करने वाली utility, Google Sheets से bulk SMS भेजने वाला tool, और खरीदारी helper (One a Day/Coupang वगैरह को एक साथ देखने वाला) जैसी चीज़ें बनाई थीं, और बाद में ये काफ़ी मददगार साबित हुईं.
पता नहीं आप इस बात को कैसे लेंगे। मेरे अनुभव में, पीछे छूट जाने का विचार या उसी तरह की बाध्यता ही मुझे और ज़्यादा परेशान करती है। बेशक, एक डेवलपर के रूप में ज़्यादा जानने और बेहतर करने की इच्छा सबकी होती है, लेकिन अभी जो ज्ञान मेरे पास है, उसी से कंपनी में अच्छी तरह रोज़ी-रोटी कमा पाना भी अपने आप में एक तरह की तकनीकी क्षमता है। कुछ समय के लिए पीछे छूट जाने की सोच को छोड़ दीजिए, और जो चीज़ें आपको खुद पसंद हैं उन्हें खोजकर अपनी डेवलपमेंट क्षमता से बनाना भी मज़ेदार होता है। जैसे वह personal project, जिसकी बात हर कोई करता है।