मैंने software industry में 45 साल में क्या सीखा
(bti360.com)पंच कार्ड से cloud तक 45 साल काम करने वाले एक engineer ने सेवानिवृत्ति के समय ये सीखें साझा कीं
1. ज्ञान के अभिशाप से सावधान रहें
- जब आप किसी चीज़ को जान लेते हैं, तो यह कल्पना करना भी मुश्किल हो जाता है कि उसे न जानना कैसा होता है
- यही कई गलतफहमियों और inefficiency की वजह बनता है
- जटिल चीज़ों के आदी बुद्धिमान लोगों में यह प्रवृत्ति और ज़्यादा होती है
- अगर आप ज्ञान के अभिशाप से सावधान नहीं रहेंगे, तो code से लेकर communication तक सब कुछ समझना कठिन हो जाएगा
- अपने audience को समझने की कोशिश करें, और कल्पना करें कि जब आपने इसे पहली बार सीखा था तब कैसा लगा था
2. बुनियाद पर ध्यान दें
तकनीक लगातार बदलती रहती है, लेकिन software development की बुनियादी बातें इन trends से आगे टिकती हैं
लंबे समय तक उपयोगी रहने वाली छह बुनियादें
→ teamwork : शानदार teams ही बेहतरीन software बनाती हैं। teamwork को हल्के में न लें
→ trust : team, trust की गति से चलती है। ऐसे भरोसेमंद व्यक्ति बनें जिसके साथ लोग काम करना चाहें
→ communication : ईमानदारी और सक्रियता से communication करें। ज्ञान के अभिशाप से सावधान रहें
→ consensus की तलाश : पूरे team के साथ समय बिताएँ। चर्चा और असहमति के ज़रिए सबसे अच्छा solution खोजें
→ test automation : अच्छी तरह tested code team को आत्मविश्वास के साथ तेज़ी से आगे बढ़ने में मदद करता है
→ साफ़, समझने में आसान और navigate किया जा सकने वाला code और design : code को आगे संभालने वाले अगले engineer को अपना customer समझें। ऐसा code लिखें जिसे अगला व्यक्ति बिना दिक्कत पढ़ और maintain कर सके
3. सरलता
- complexity से लड़ाई कभी ख़त्म नहीं होती
- solution जितना संभव हो उतना सरल होना चाहिए
- मानकर चलिए कि आपके code को maintain करने वाला अगला व्यक्ति आप जितना smart नहीं होगा
- अगर कम technology से काम हो सकता है, तो वही करें
"एक designer के लिए पूर्णता का अर्थ यह नहीं कि जोड़ने के लिए कुछ बाकी न हो, बल्कि यह है कि हटाने के लिए कुछ भी न बचे।" - Saint-Exupéry
4. पहले समझें
- Stephen Covey की 7 Habits में से एक है "पहले समझो, फिर समझाए जाओ"
→ इस बात ने मुझे किसी भी दूसरी सलाह से ज़्यादा एक बेहतर listener और teammate बनने में मदद की - अगर आप दूसरों पर प्रभाव डालना और प्रभावी ढंग से collaborate करना चाहते हैं, तो पहले उन्हें समझना होगा
- अपने विचार बताने से पहले, उनकी भावनाओं, ideas और perspective को समझने के लिए सक्रिय रूप से सुनें
5. Lock-in से सावधान रहें
- software बनाने के तरीके में क्रांति लाने वाले अगली पीढ़ी के productivity tools हमेशा आते रहेंगे
→ CASE, COTS, ERP, Ruby आदि - वे दावा करते हैं कि उनकी पूरी development philosophy अपनाने पर लागत और समय बचाया जा सकता है, लेकिन शुरुआती लागत या उससे पैदा होने वाली पाबंदियाँ अक्सर स्पष्ट नहीं होतीं
- पहले lock-in ज़्यादातर software vendors के साथ होता था, लेकिन आजकल frameworks में भी होता है
- lock-in बदलाव की क़ीमत काफ़ी बढ़ा देता है
- समझदारी से चुनें। नया होना हमेशा बेहतर होने का मतलब नहीं है
6. ईमानदार रहें, और जब भूमिका आपके लिए सही न हो तो उसे स्वीकार करें
- career के किसी मोड़ पर आप ऐसी भूमिका में पहुँच सकते हैं जो आपके लिए उपयुक्त न हो
- गलत fit चरित्र की कमी नहीं है, लेकिन यह ऐसा मुद्दा है जिसे नज़रअंदाज़ नहीं करना चाहिए
- इस दुविधा का एक से अधिक समाधान हो सकते हैं
→ या तो आप evolve करें
→ या भूमिका evolve करे - अहम बात यह है कि आपके पास इस बारे में self-knowledge हो कि "क्या हो रहा है, और यहाँ से निकलने के लिए मुझे क्या करना होगा"
7 टिप्पणियां
अच्छी सलाहें अब तक बहुत आई हैं। अगर एक और जोड़ूँ, तो मैं इस लेख को इसके साथ जोड़ना चाहूँगा।
https://hi.news.hada.io/topic?id=2060
बेशक यह लेख भी बेहद अच्छा है। लेकिन ऊपर वाला लेख ज़्यादा व्यापक नज़रिए से (सिर्फ software तक सीमित नहीं) पीछे मुड़कर सोचने लायक बहुत-सी सलाह देता है। ऐसी चीज़ों को इकट्ठा करके रखना, ताकि ज़रूरत पड़ने पर बार-बार निकालकर देखा जा सके, सच में अच्छा रहेगा..
वाह~ तकनीक और लोगों के बारे में गहरी समझ से भरी बात है। शानदार~!
आखिरकार, मुझे एक वरिष्ठ की वह बात याद आ रही है कि काम कंप्यूटर नहीं, इंसान करते हैं।
अच्छा लेख साझा करने के लिए धन्यवाद
शुरुआती के तौर पर मैं इसे ध्यान से याद रखूंगा!
अच्छा लेख साझा करने के लिए धन्यवाद। इसमें कई बातें हैं जिन्हें धीरे-धीरे पढ़कर गहराई से सोचा जा सकता है।
वाह, सामग्री बहुत अच्छी है... धन्यवाद।
बहुत कीमती लेख है, धन्यवाद!!