तकनीकी उद्योग में परंपरागत रूप से डेवलपर्स को उनके योग्यता स्तरों के आधार पर चार श्रेणियों में विभाजित किया जाता है: जूनियर, मध्य, वरिष्ठ और टीम लीड। या पाँच, यदि आप सॉफ्टवेयर विकास उद्योग के सबसे कम रैंक वाले "सैनिकों" के रूप में कोडिंग इंटर्न शामिल करते हैं। पिछले लेख में , हमने पहले ही कवर कर लिया था कि एक जूनियर डेवलपर बनना क्या होता है। तो चलिए वहीं से शुरू करते हैं जहां हमने पिछली बार छोड़ा था और प्रोग्रामर के करियर ग्रेडेशन में अगले चरण से गुजरते हैं, जो कि मिड-लेवल डेवलपर है।
मिड-लेवल डेवलपर कौन है?
मिड-लेवल डेवलपर एक अपेक्षाकृत अनुभवी प्रोग्रामर है जो इस पेशे में कम से कम 2-4 साल पहले ही बिता चुका है। इन वर्षों में एक अनुभवहीन और अनिश्चित ताजा कोडर को एक मजबूत पूर्ण-कार्यात्मक प्रोग्रामर में बदल देना चाहिए था जो अपना कोड लिखने में सक्षम था और टीम के वरिष्ठ सदस्यों से मदद मांगने की आवश्यकता के बिना समाधान के साथ आया था। मिड-लेवल देव आमतौर पर किसी भी सॉफ्टवेयर डेवलपमेंट "आर्मी" में एक केंद्रीय इकाई है, क्योंकि मिड-लेवल कोडर्स वे होते हैं जो किसी भी प्रोजेक्ट पर प्रोग्रामिंग का मुख्य हिस्सा करते हैं। कम अनुभवी जूनियर डेवलपर्स के विपरीत, मध्य स्तर के कोडर्स को ज्यादा मदद या पर्यवेक्षण की आवश्यकता नहीं होती है, वे सब कुछ स्वायत्त रूप से करने में सक्षम होते हैं, और परियोजना में उपयोग किए जाने वाले कोड और तकनीकों की स्पष्ट समझ होने के कारण अधिक जिम्मेदारियां होती हैं। उदाहरण के लिए, यदि जूनियर का मुख्य ध्यान कोड लिखने पर है जो काम करेगा, सादा और सरल, मिड-लेवल कोडर को यह सुनिश्चित करने जैसी चीजों के बारे में भी सोचने की जरूरत है कि कोड स्पष्ट रूप से समझा जा सकता है और गुणवत्ता मानकों और परियोजना आवश्यकताओं के अनुरूप लिखा गया है। आमतौर पर, किसी भी सॉफ्टवेयर के अधिकांश कोड बेस मिड-लेवल प्रोग्रामर द्वारा लिखे जाते हैं। बेशक, हमेशा की तरह जब टेक उद्योग में व्यवसायों और विशेषज्ञताओं के बारे में बात की जाती है, तो यह ध्यान देने योग्य है कि मिड-लेवल कोडर्स (जूनियर या सीनियर देवों की तरह) के पास जिस कंपनी में वे काम कर रहे हैं, उसके आधार पर काफी अलग अनुभव और जिम्मेदारी हो सकती है। "बाहरी दृष्टिकोण से, 3-5 साल का अनुभव आपको मध्य-स्तर बनाता है। एक संगठन के भीतर से, आप कोडिंग के साथ भरोसेमंद होने के बिंदु पर हैं लेकिन छोटे से मध्यम आकार की परियोजनाओं के लिए क्लाइंट इंटरैक्शन और स्वामित्व के लिए बहुत कम या कोई नहीं है। मैंने ऐसे मामले देखे हैं जहां वरिष्ठ स्तर के डेवलपर्स मध्य स्तर पर रहना पसंद करेंगे क्योंकि आप मूल रूप से परियोजना प्रबंधकों और ग्राहकों से निपटने की आवश्यकता के बिना कोडिंग कर रहे हैं।"लुईस नाकाओ कहते हैं , एक अनुभवी सॉफ्टवेयर डेवलपर और कोडिंग करियर सलाहकार।मध्य स्तर के डेवलपर की क्या जिम्मेदारियां हैं?
आइए अब मिड-लेवल डेवलपर की कुछ सबसे विशिष्ट और सामान्य जिम्मेदारियों के बारे में अधिक विस्तार से बात करते हैं।- कोड लिखना और बनाए रखना।
- प्रोजेक्ट कोड में सर्वोत्तम कोडिंग प्रथाओं का विश्लेषण और कार्यान्वयन।
- परियोजना की तकनीकी आवश्यकताओं का विश्लेषण करना और उनके अनुरूप कोड को अपनाना।
- वर्तमान परियोजनाओं में संशोधन के लिए क्षेत्रों की पहचान करना और उनका विकास करना।
- सॉफ्टवेयर परीक्षणों का निष्पादन और कार्यान्वयन।
- सॉफ्टवेयर परियोजनाओं के लिए गुणवत्ता आश्वासन प्रक्रियाओं का विकास करना।
- उपयोगकर्ताओं की जरूरतों के साथ-साथ डिजाइनरों, क्यूए परीक्षकों और अन्य सॉफ्टवेयर डेवलपमेंट टीम के सदस्यों की जरूरतों का विश्लेषण करना।
- गुणवत्ता आश्वासन प्रक्रियाओं का विकास करना।
- प्रयासों का समन्वय करना और अन्य डेवलपर्स, डिजाइनरों, सिस्टम और व्यापार विश्लेषकों आदि के साथ सहयोग करना।
- आगे के काम और रखरखाव के लिए विकास प्रक्रिया के हर हिस्से का दस्तावेजीकरण।
मध्य स्तर के डेवलपर के लिए आवश्यकताएँ
यहां मध्य-स्तर के डेवलपर के लिए सबसे सामान्य और विशिष्ट आवश्यकताओं की सूची दी गई है, जिन्हें आपको यह नौकरी पाने के लिए पूरा करना चाहिए। बेशक, कंपनी की भर्ती नीतियों, परियोजना पर उपयोग की जाने वाली तकनीकों और डेवलपर की प्रोग्रामिंग भाषा के आधार पर आवश्यकताएं अलग-अलग होंगी। जाहिर है, हम मध्यम स्तर के जावा डेवलपर्स के लिए विशिष्ट आवश्यकताओं पर ध्यान केंद्रित करेंगे।- जावा डेवलपर के रूप में कम से कम दो-तीन साल और कम से कम कई अलग-अलग सॉफ्टवेयर प्रोजेक्ट पर काम करने का अनुभव।
- जावा अनुप्रयोगों को कैसे डिजाइन, प्रोग्राम, कार्यान्वित और बनाए रखने का पूरा ज्ञान।
- बड़े स्केलिंग के लिए उच्च-मात्रा और कम-विलंबता प्रणालियों को कैसे प्रोग्राम करना है, यह जानना।
- वेब प्रोजेक्ट्स (मावेन, ग्रैडल) के निर्माण के लिए फ्रेमवर्क का ठोस ज्ञान, एंटरप्राइज प्रोजेक्ट्स के लिए फ्रेमवर्क (स्प्रिंग, हाइबरनेट, स्प्रिंग बूट), यूनिट टेस्टिंग के लिए टूल्स (JUnit, Mockito), आदि।
- विकास जीवनचक्र के सभी चरणों में योगदान करने की क्षमता।
- उच्च-गुणवत्ता, कुशल और आसानी से परीक्षण योग्य कोड लिखने की क्षमता।
- सॉफ्टवेयर विश्लेषण, परीक्षण और जावा कोड डीबग करने से अच्छी तरह परिचित होना।
- जावा और जावा ईई अनुप्रयोग विकास के प्रबंधन में अनुभवी।
- वैकल्पिक तरीकों के साथ आने और नई तकनीकों को लागू करने में सक्षम।
- तकनीकी और गैर-तकनीकी दोनों ग्राहकों के साथ स्पष्ट और संक्षिप्त रूप से संवाद करने की क्षमता।
GO TO FULL VERSION