तकनीकी उद्योग में परंपरागत रूप से डेवलपर्स को उनके योग्यता स्तरों के आधार पर चार ग्रेडेशन में विभाजित किया जाता है: जूनियर, मिडिल, सीनियर और टीम लीड। पिछले दो लेखों में हमने एक जूनियर और मिड-लेवल डेवलपर बनने के बारे में सभी मूल बातों को पहले ही कवर कर लिया है । अब यह अगले ग्रेडेशन पर जाने का समय है। सीनियर डेवलपर, एक होना कैसा लगता है और मिड-लेवल कोडर से सीनियर कैसे अलग है? चलो पता करते हैं।

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