मैं एक सॉफ्टवेयर डेवलपर से एक सॉफ्टवेयर मैनेजर या टीम लीडर तक कैसे प्रगति कर सकता हूं? [बन्द है]


42

मैं लगभग 3 वर्षों से एक सॉफ्टवेयर डेवलपर (चाहे अंशकालिक या पूर्णकालिक) हो। मैं हमेशा चीजों पर लीड लेने के लिए उस व्यक्ति का प्रकार रहा हूं, और चीजों को प्राप्त करने के लिए संगठन प्रदान करता हूं। जब से मैं कॉलेज में अपने सीनियर डिज़ाइन प्रोजेक्ट पर लीड कर रहा था, मुझे लगा कि यह मेरी सच्ची कॉलिंग है, न कि डेस्क कोडिंग के पीछे। अब, मुझे पता है कि मुझे यह समझने की आवश्यकता है कि अन्य डेवलपर्स के लिए मुझे वास्तव में सम्मान देने के लिए कैसे कोड किया जाए। इसके अलावा, मैं वास्तव में प्यार कोडिंग करते हैं। मैं काम के बाहर घर पर बहुत सारे साइड प्रोजेक्ट पर काम करता हूं, सबसे अच्छा कोडिंग प्रथाओं के साथ रहता हूं, और डोमेन के अपने ज्ञान को लगातार आगे बढ़ाने की कोशिश करता हूं।

मेरा मुख्य प्रश्न यह है कि मुझे किस प्रकार की चीजों या अवसरों की तलाश करनी चाहिए, इससे मुझे एक कोडिंग भूमिका के बजाय एक अधिक प्रबंधकीय भूमिका के लिए अपने करियर को आगे बढ़ाने में मदद मिलेगी। जैसा कि मैंने कहा, मुझे कोड से प्यार है, हालांकि मैं उच्च स्तर पर चीजों को डिजाइन करने में सक्षम होना चाहता हूं, और टीम को इस तरह से व्यवस्थित कर सकता हूं कि चीजों को प्राप्त किया जा सके, और तकनीकी प्रगति में मदद करते हुए उनकी प्रगति की निगरानी करें। यहाँ और वहाँ निर्णय। इस प्रकार की चीजें मुझे वास्तव में खुश करती हैं, जैसा कि दिन भर डेस्क कोडिंग के पीछे बैठने के विपरीत है।

जाहिर है कि मेरा एक मुख्य सपना अपने दम पर किसी तरह के सॉफ्टवेयर का निर्माण कर रहा है जो अंततः उड़ा देगा और इसे बड़ा बना देगा, और फिर एक टीम को किराए पर लेना शुरू कर देगा और यह सब खुद कर लेगा, लेकिन मुझे ऐसा लगता है कि ऐसा होने की संभावना कहीं अधिक खराब है। जहां मैं जाना चाहता हूं, वहां पाने के लिए अपने करियर के रास्ते को थोड़ा बदलकर। मुझे लगता है कि मैं उसी संतुष्टि को अपने लिए नहीं बल्कि किसी नियोक्ता के लिए कर सकता हूं। भले ही मुझे पहले ऐसा महसूस नहीं हुआ हो, लेकिन मुझे लगता है कि यह मुख्य रूप से रहा है क्योंकि मैं वह नहीं कर रहा हूं जैसा मैं कर रहा हूं।

किसी भी सुझाव, संकेत, या ध्यान में रखने वाली बातें? किसी ने भी जो यह किया है, और यदि हां, तो आपने यह कैसे किया?


आपके पास किस प्रकार की शिक्षा है? आप अपनी वर्तमान स्थिति में कितने समय से हैं?
थॉमस ओवेन्स

मेरे पास कंप्यूटर साइंस में बैचलर ऑफ साइंस है। मैं लगभग एक साल से अपने वर्तमान पद पर हूं।

1
@slandau मैं स्पष्ट रूप से कहूंगा कि आप पीएम की भूमिका में नहीं दिख रहे हैं। जबकि वह स्पष्ट दिशा के रूप में प्रकट हो सकता है; आपका वर्णन और पीएम की भूमिका से अलग है और मुझे विश्वास नहीं है कि एक पीएम की भूमिका वही होगी जो आप आखिरकार हैं।
एरॉन मैकिवर

1
@AaronMcIver यह इस बात पर निर्भर करता है कि आप कहां काम करते हैं। कुछ पीएम व्यवसायिक हैं, कुछ पीएम स्वभाव से अधिक तकनीकी हैं। कुछ स्थानों पर, "इंजीनियरिंग प्रबंधक" एक अधिक सामान्य शीर्षक हो सकता है, या दूसरों में, यह बस "सॉफ्टवेयर इंजीनियर" हो सकता है।
थॉमस ओवेन्स

2
ठीक है, सबसे पहले, अपनी आत्मा को
त्याग दें

जवाबों:


41

एक सॉफ्टवेयर डेवलपमेंट रोल से एक प्रबंधकीय या नेतृत्व की भूमिका में जाना कुछ ऐसा है जिसमें समय लगता है। मैंने सॉफ्टवेयर इंजीनियरिंग में महारत हासिल की, सॉफ्टवेयर इंजीनियरिंग प्रक्रिया पर जोर दिया, और व्यवसाय प्रबंधन और संचार में काम किया। यहां तक ​​कि सॉफ्टवेयर परियोजनाओं का प्रबंधन करने के तरीके, भर्ती करने और किराए पर लेने, टीमों का नेतृत्व करने के तरीके, और मौखिक रूप से और लिखित रूप से समूहों के साथ कैसे संवाद करना है, इस पर भी, मैंने पाया कि अधिकांश प्रबंधकीय और नेतृत्व की भूमिकाएं, विशेष रूप से उद्योग में जो मुझे चाहिए था में काम करने के लिए, सॉफ्टवेयर इंजीनियरिंग में 5+ वर्ष का अनुभव आवश्यक है (मेरे पास सह-ऑप्स और इंटर्नशिप सहित 2 थे)।

इस बीच, मैंने परियोजना प्रबंधन विषयों पर अपनी पढ़ाई जारी रखी।

पहली बात जो मैं सुझाऊंगा वह एक अच्छा संचारक और वार्ताकार बन रहा है। जानें कि बातचीत के मायने कैसे हैं। यहां तक ​​कि एक डेवलपर के रूप में, ऐसे निर्णय हैं जो सहकर्मियों, ग्राहकों और उपयोगकर्ताओं के साथ किए जाने हैं। कभी-कभी आपको कठिन वार्तालाप करना पड़ता है और सभी को लाभ पहुंचाने वाले समझौते पर पहुंचना पड़ता है। यह एक आसान लक्ष्य नहीं है, लेकिन पुस्तक डिफिकल्ट कन्वर्सेशन: हाउ टू डिस्कस मैटर्स मोस्ट एक यह है कि मैं इसे कवर करने की सलाह दूंगा। कुछ और भी हैं, जैसे गेटिंग नॉट और गेटिंग टू यस: नेगोशिएटिंग एग्रीमेंट विदाउट गिविंग इसमें भी मददगार होगा। ये इस बात से संबंधित हैं कि आप किस स्थिति में हैं।

अधिक तकनीकी पक्ष पर, सॉफ्टवेयर विकास जीवनचक्र की समझ अग्रणी और सॉफ्टवेयर टीमों के प्रबंधन के लिए महत्वपूर्ण है। लीडरशिप पोजीशन का मतलब है कि आप आवश्यकताओं इंजीनियरिंग, सॉफ्टवेयर सिस्टम आर्किटेक्चर, डिजाइन, कार्यान्वयन, परीक्षण और गुणवत्ता आश्वासन, और रखरखाव कार्यों के साथ शामिल हैं। यद्यपि आप इन सभी के विशेषज्ञ नहीं हो सकते हैं, एक प्रबंधक या नेता को कम से कम उन सभी को समझना होगा। एक डेवलपर के रूप में, आप शायद अपना अधिकांश काम डिज़ाइन, कार्यान्वयन और रखरखाव में करते हैं, साथ ही साथ कुछ परीक्षण भी करते हैं। मैं बहुत ज्यादा पुस्तकों की सलाह दूंगा जैसे कि सॉफ़्टवेयर आवश्यकताएँ (और यह साथी, सॉफ़्टवेयर आवश्यकताओं के बारे में अधिक ), सॉफ्टवेयर आर्किटेक्चर इन प्रैक्टिस (हालांकि मेरे विश्वविद्यालय में बदल गया है)सॉफ्टवेयर सिस्टम आर्किटेक्चर: आर्किटेक्चर कोर्स लेने के बाद व्यूप्वाइंट्स और पर्सपेक्टिव्स का उपयोग करने वाले स्टेकहोल्डर्स के साथ काम करना , और मुझे इसकी सलाह दी गई है), और सॉफ्टवेयर क्वालिटी इंजीनियरिंग में मेट्रिक्स एंड मॉडल्स

एक परियोजना प्रबंधन के दृष्टिकोण से, आप प्रक्रिया मॉडल और कार्यप्रणाली के बारे में जान सकते हैं। एग्रीम और एक्सट्रीम प्रोग्रामिंग और वॉटरफॉल और सर्पिल जैसे योजना-संचालित तरीके हैं। सीएमएमआई और पर्सनल सॉफ्टवेयर प्रोसेस / टीम सॉफ्टवेयर प्रोसेस जैसे मेथोडोलॉजी फ्रेमवर्क भी हैं। जो आपके लिए प्रासंगिक हैं, वे इस बात पर निर्भर करते हैं कि आप उद्योग और कंपनी के संदर्भ में कहां काम करते हैं। विभिन्न पद्धतियों और रूपरेखाओं पर कई किताबें हैं, लेकिन मैं बहुत तेजी से विकास की सिफारिश करूंगा : सामान्य सॉफ्टवेयर इंजीनियरिंग प्रबंधन और सॉफ्टवेयर इंजीनियरिंग प्रक्रिया के लिए टैमिंग वाइल्ड सॉफ्टवेयर शेड्यूल

यदि आप अपनी शिक्षा जारी रखना चाहते हैं, तो आप एक तकनीकी प्रबंधन ट्रैक बनाम व्यावसायिक प्रबंधन ट्रैक के अधिक देख सकते हैं। यदि आप एक तकनीकी प्रबंधन की स्थिति चाहते हैं, तो सॉफ्टवेयर इंजीनियरिंग, सॉफ्टवेयर इंजीनियरिंग प्रबंधन और इंजीनियरिंग प्रबंधन कार्यक्रमों को देखें। एक व्यवसाय प्रबंधन ट्रैक के अधिक के लिए, आप एमबीए प्रोग्राम, व्यवसाय प्रबंधन, या कुछ इंजीनियरिंग प्रबंधन कार्यक्रमों पर विचार कर सकते हैं जिनमें एक मजबूत अर्थशास्त्र या वित्तीय घटक है।


1
हाँ, लेकिन आप वास्तव में वरिष्ठ सॉफ्टवेयर इंजीनियर से प्रबंधक तक की चाल कैसे बनाते हैं? मेरा मतलब है, मुझे लगता है कि मुझे लगता है कि आप ऊपर सूचीबद्ध सभी सामानों को जानते हैं, अब मैं यह साबित करने के लिए क्या कर सकता हूं कि मैं यह विचार कर सकता हूं कि मेरे पास कोई आधिकारिक प्रबंधक भूमिका का अनुभव नहीं है और केवल यह महसूस कर रहा हूं कि मुझे वास्तव में यह सब पता है? कोई यह कदम कैसे उठाता है?
trusktr

19

ये अन्य उत्तर महान हैं लेकिन मैं अपने $ 0.02 में फेंक दूंगा। मैं अपने वर्तमान कंपनी में एक जूनियर डेवलपर से रैंक के माध्यम से वरिष्ठ डेवलपर और फिर टीम लीड और अब आर्किटेक्ट में स्थानांतरित हो गया हूं। इसमें कई साल लग गए। जब भी मुझे प्रमोशन दिया गया था, क्योंकि मैं पहले से ही नौकरी के पहलुओं पर काम कर रहा था , और मेरा प्रबंधन बस इसे पहचान रहा था और मुझे उपयुक्त शीर्षक दे रहा था। इसलिए मेरी सलाह यह है कि आपको यह बताने के लिए इंतजार न किया जाए कि आप एक तकनीकी लीड हैं या एक प्रबंधक हैं। बस उन जिम्मेदारियों को लेना शुरू करें जो उन भूमिकाओं में लोगों के पास हैं। कुछ महीनों या एक वर्ष के बाद आप पाएंगे कि आप मूल रूप से उस काम को कर रहे हैं जिसे आप लक्षित कर रहे हैं, और आप इसे अपने प्रबंधन को इंगित कर सकते हैं यदि उन्होंने इस पर ध्यान नहीं दिया है।


2
एक कंपनी में आपने जो कहा, उसे करने के लिए मुझे निकाल दिया गया (और उस प्रबंधक ने जिसने मुझे निकाल दिया और बाद में कंपनी को छोड़ दिया)। यह एक अच्छा फिट नहीं था। यह महसूस किया कि यह हमेशा कंपनी के शीर्ष पदों पर पहुंचने के लिए एक लड़ाई थी, बहुत प्रतिस्पर्धात्मक और अहंकारी। यह उस कंपनी में बहुत बेहतर है जहां लोग पहले से ही उच्च स्तर के लोगों को समर्थन, प्रोत्साहन, और दिशा प्राप्त करने से पहले किए गए कामों को पूरा करने की कोशिश करते हैं।
trusktr

9

मैं एक पूर्ण उत्तर देने का प्रयास नहीं करूँगा क्योंकि थॉमस ओवेन्स ने पहले से ही कुछ अच्छी सलाह (+1 से) सूचीबद्ध की थी।

बस कुछ सुझाव / सुझाव जोड़ना चाहते थे:

  1. किसी के लिए नेतृत्व करने के लिए इंतजार मत करो; बस करना शुरू करो। मेरा मतलब यह नहीं है कि आप अपने वर्तमान बॉस के खिलाफ जाते हैं, बल्कि उसकी मदद करने के लिए पहल करते हैं। यदि आपका बॉस मेरी तरह कुछ भी है, तो वह आमतौर पर अपनी प्लेट पर बहुत सारे कार्यों / बैठकों के साथ ओवरलोडेड होता है। यदि वह देखता है कि आप दिशा प्रदान कर रहे हैं, जहां उसके पास रखने के लिए पर्याप्त समय नहीं हो सकता है, तो वह आपके लिए कुछ प्रबंधन जिम्मेदारी सौंपने की सबसे अधिक संभावना होगी। समय के साथ, यदि आप यह अधिकार करते हैं, तो आपका बॉस आपके लिए अधिक से अधिक प्रतिनिधि देगा (उसके बारे में चिंता करने के लिए कम) और वह अधिक संभावना आपको एक बिंदु पर अधिक जिम्मेदारी लेने में समर्थन देगा जहां आप आधिकारिक लीड हैं।
  2. ध्यान रखें कि टीम निर्माण और नेतृत्व प्रौद्योगिकी की तुलना में समाजशास्त्र के बारे में अधिक है (लोकप्रिय सॉफ्टवेयर पद्धति पुस्तकों में से एक, शायद ब्रूक्स से)। एक लीड के रूप में, आप का लक्ष्य लोगों को समझना है और वे कैसे व्यवहार करते हैं, जो यह समझने से अलग है कि कंप्यूटर कैसे काम करते हैं। इस अहसास के बिना, अच्छे इंजीनियर कुछ सबसे खराब टीम लीड बनाते हैं क्योंकि वे इस मानसिक स्विच को नहीं बनाते हैं और महसूस करते हैं कि आप लोगों को उसी तरह से नियंत्रित नहीं कर सकते जैसे आप मशीनों को नियंत्रित करते हैं। वास्तव में, काम करने का एकमात्र तरीका लोगों को नियंत्रित करना नहीं है, बल्कि उन्हें दिशा देना है। नेतृत्व पर किताबें / लेख / ब्लॉग पढ़ें, पढ़ें और रखें। एक किताब जिसकी मैं सिफारिश कर सकता था वह है प्रबंधन 3.0

... और अब मैं थॉमस द्वारा पोस्ट किए गए लिंक की समीक्षा करने के लिए तैयार हूं



यह बुरी सलाह है, यह सुझाव देते हुए कि कोई ऐसा काम करता है जो उनके बॉस ने उन्हें करने के लिए नहीं कहा है, ज्यादातर मालिक उन लोगों पर ध्यान केंद्रित करते हैं जो उन चीजों को करते हैं जो उन्हें करने के लिए नहीं कहा गया है।
प्रोग्रामिंग

मैंने 5 साल पहले इस सवाल का जवाब दिया था, जब मैं एक डेवलपर था। अब इसमें वापस आते हुए, मैं इसे प्रबंधक के दृष्टिकोण से पढ़ता हूं। @ बोनर - आप सही कह रहे हैं। वहाँ बाहर विभिन्न शैलियों के साथ विभिन्न प्रबंधक हैं। यदि आप कुछ ऐसा करने के लिए नहीं कहे जाते हैं, तो आप पर कुछ लोग फिदा हो जाएंगे। उस स्थिति में, मेरी सलाह आपको उस प्रबंधक से दूर भागने की है। चूंकि मैं एक लीड बन गया, मैंने जो कुछ भी किया है वह मेरे दोस्तों को स्वतंत्र रूप से सोचने और मुझे बदली बनाने के लिए सिखा रहा है। मैं प्रत्येक को अपने स्वयं के कार्य के संकीर्ण फोकस के बीच संतुलन बनाने के लिए कहता हूं, लेकिन अपने लिए आगे भी देखता हूं और व्यापक चित्र देखता हूं।
DXM

5

मुझे व्यक्तिगत रूप से इस समय अपनी वर्तमान स्थिति को छोड़ने की कोई इच्छा नहीं है, लेकिन जहां हम रिलीज चक्र में हैं, वहां मैं कोडिंग के अलावा अन्य कार्यों पर 10% से लेकर लगभग 100% तक खर्च करता हूं। यदि आप धीरज और चौकस हैं, तो बहुत सारे अवसर हैं जो आप अपनी वर्तमान स्थिति में "सिर्फ कोडिंग" के अलावा कुछ कर सकते हैं। उदाहरण के लिए:

  • एक नई टीम के सदस्य के लिए स्वयंसेवक।
  • नए उपकरणों, प्रक्रियाओं या प्रौद्योगिकियों पर विशेषज्ञ बनें जिन्हें कंपनी अपनाने पर विचार कर रही है।
  • क्रॉस-फ़ंक्शनल समितियों के लिए स्वयंसेवक।
  • आपके पास मौजूद विचारों के बारे में बात करें।
  • आगामी सुविधाओं के लिए बैठकें डिजाइन करने के लिए खुद को आमंत्रित करें।

अपने प्रबंधक को बताएं कि आप इस प्रकार के अवसरों में रुचि रखते हैं, और यह मानते हुए कि आप अपनी वर्तमान जिम्मेदारियों के साथ अच्छा कर रहे हैं, वह आपके ऊपर आने पर अवसरों को कम करेगा। पहल बहुत मायने रखती है। अधिकांश प्रबंधक कम से कम आपको निरीक्षण करने देंगे भले ही उन्हें नहीं लगता कि आप इस समय योग्य हैं।


4

यदि आप एक परियोजना प्रबंधन की भूमिका में जाना चाहते हैं, तो रात की कक्षाएं लेने और अपने एमबीए की ओर काम करने के लिए बिल्कुल चोट नहीं है।

एक अन्य विकल्प PMBOK प्रोजेक्ट मैनेजमेंट बॉडी ऑफ नॉलेज सर्टिफिकेशन पर गौर करना होगा । जब तक आपके पास वास्तविक नेतृत्व अनुभव या ऊपर सूचीबद्ध दो वस्तुओं में से एक है, तब तक कई स्थान आपको विचार नहीं करेंगे।

PMBOK एक अत्यंत कठिन परीक्षा है और इसे पास करने के लिए बहुत सारे अध्ययन की आवश्यकता होती है। मुझे यह भी लगता है कि परीक्षण लेने के लिए पात्र होने के लिए वास्तविक परियोजना प्रबंधन और नेतृत्व अनुभव पर उनकी आवश्यकताएं हैं।


3
शायद यह सिर्फ मेरे लिए है, लेकिन मैं एक सॉफ्टवेयर इंजीनियरिंग प्रबंधन की डिग्री या इंजीनियरिंग प्रबंधन की डिग्री की ओर जाऊंगा, खासकर यदि आप तकनीकी प्रबंधन या नेतृत्व में जाना चाहते थे। मैंने देखा है कि इंजीनियर एक एमबीए प्राप्त करते हैं और एक सॉफ्टवेयर प्रोग्राम के व्यापार पक्ष में भाग लेते हैं, वास्तव में इंजीनियरों का प्रबंधन या नेतृत्व नहीं करते हैं।
थॉमस ओवेन्स

@ThomasOwens, यह एक अच्छा नोट है। मैं हमेशा एमबीए करने में हिचकिचाता था क्योंकि मुझे यकीन नहीं था कि सबसे तकनीकी जगहों पर अनुवाद होगा या नहीं।
slandau

PMP परीक्षा वह सब कठिन नहीं है।
मोरों

@Morons मैं जा रहा हूं कि कुछ पीएम ने मुझे अपने अनुभव के बारे में क्या बताया, मैंने खुद इसे कभी नहीं लिया। लेकिन फिर अब मुझे लगता है कि इसके बारे में ये दो लोग नहीं थे।
maple_shaft

2

मुझे लगता है कि आप परियोजना प्रबंधन की दिशा में काम करना चाहते हैं। सॉफ्टवेयर विकास के भीतर बड़ी संख्या में पीएम पदों के लिए कोडिंग के अनुभव की भी आवश्यकता होती है।

मैं उन पदों की तलाश करूंगा जहां आप जिम्मेदारियों में बढ़ सकते हैं जो आपको आपकी इच्छा के अनुसार प्रबंधन / नेता जहाज प्राप्त करेंगे। सीढ़ी को ऊपर ले जाना, इस बात पर आधारित अलग-अलग दिख सकता है कि आप कहाँ काम कर रहे हैं। लेकिन कोडिंग अनुभव की छोटी मात्रा के साथ भी, यदि आपके पास कोई नेतृत्व, प्रबंधन का अनुभव है, तो पीएम पद उपलब्ध हैं।


यह मूल प्रश्न में कहा गया था: "... मुझे किस प्रकार की चीजों या अवसरों की तलाश करनी चाहिए, जो मुझे एक कोडिंग भूमिका के बजाय एक अधिक प्रबंधकीय भूमिका के लिए मेरे करियर को आगे बढ़ाने में मदद करेंगे ..."। @slandau यह कैसे करना है पर सलाह के लिए देख रहा है।
थॉमस ओवेन्स

1
हाँ मैं सहमत हूँ। क्या आपके पास कोई सुझाव है कि मैं इसके लिए कैसे काम करना शुरू करूंगा?
slandau

इससे पहले कि मैं करने के लिए हाँ मैं गलती से पोस्ट बटन मारा।
D ..

@ डी .., मुझे कुछ नेतृत्व का अनुभव है, लेकिन यह सभी परियोजनाओं और परियोजनाओं पर रहा है जो मैंने कॉलेज में वापस किया था ... निश्चित नहीं कि अगर यह पर्याप्त है। क्या यह?
slandau

सबसे अधिक संभावना नहीं है, आप किसी भी पेशेवर कार्य अनुभव की ओर कोण करना चाहते हैं जो आपको देता है। आपको कुछ स्थानों पर वरिष्ठ डेवलपर भूमिका निभाने में आसानी हो सकती है। मैं खुली स्थितियों के लिए एक नज़र रखता हूँ कि आप क्या चाहते हैं, आवश्यकताओं को देखें और सबसे आम पाने के लिए कोई भी अवसर लें। जिन स्थानों पर मैंने काम किया है उनमें से अधिकांश छोटे रहे हैं, और मुझे बहुत प्रयास के बिना अगले स्तर तक बड़े करीने से कदम रखने की अनुमति दी। अपनी वर्तमान नौकरी को देखें ... क्या आप वहां बढ़ सकते हैं? हो सकता है कि आपके पास एक परिभाषित रास्ता हो, जहाँ से आप अभी हैं कि आप इसका लाभ उठा सकें।
डी ..
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.