एक जूनियर सॉफ्टवेयर इंजीनियर में आप कौन से कौशल की अपेक्षा और सराहना करेंगे? [बन्द है]


64

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

मैं जानना चाहता हूं कि सॉफ्ट और टेक्निकल दोनों में कौन सी स्किल्स और एबिलिटीज हैं, जिन्हें एक नए प्रोफेशनल (जूनियर डेवलपर) में सबसे ज्यादा सराहा जाएगा, जो आपकी टीम का हिस्सा हो सकते हैं और सॉफ्टवेयर के रूप में एक सफल करियर हासिल करने के लिए मुझे किन स्किल्स पर ध्यान देना चाहिए। इंजीनियर।


13
एक शानदार सवाल पूछा गया।
एडम क्रॉसलैंड

2
गेटवे ड्रग / गतिविधि का पता लगाएं, जब वास्तविक दुनिया में काम करने वाली चीजें काम नहीं करती हैं, जैसा कि आप कल्पना करते हैं, लेकिन यह सुनिश्चित करें कि इसका असर सुबह में न हो।
नौकरी

विस्तार पर ध्यान दें - कुछ भी अधिक महत्वपूर्ण नहीं है।
परिक्रमा

1
चूंकि आप एक जेएसडब्ल्यूई हैं। उन भाषाओं में सक्षम बनें, जिनके बारे में आपने कहा था कि आप में सक्षम हैं। कोई भी व्यक्ति किसी व्यक्ति को काम पर रखने के लिए अधिक उत्साहित नहीं है, जो कहता है कि वे एक भाषा जानते हैं, लेकिन केवल एक कक्षा में इसे सीखा है। उदाहरण: वे लोग जो अपने रिज्यूमे पर C / C ++ को सूचीबद्ध करते हैं, लेकिन एक या दूसरे का उपयोग नहीं कर सकते (भगवान न करे, या तो उपयोग नहीं कर सकते!)
aqua

वीडियो गेम बनाने के सपने का क्या हुआ? आप "जावा डेवलपर के रूप में [अपना] कैरियर विकसित करना चाहते हैं", गंभीरता से? बस मजाक कर रहे हैं, प्रत्येक अपने खुद के लिए :)
cambraca

जवाबों:


50

इनमें से बहुत कुछ सच है चाहे आप अपने करियर में कहीं भी हों, लेकिन किसी ऐसे व्यक्ति के लिए विशेष रूप से महत्वपूर्ण हो सकता है जो अभी शुरुआत कर रहा है।

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

3
+1 के लिए "ग्राहक शायद ही जानता है कि वह क्या चाहता है जब तक कि वह इसे नहीं देखता है ..."
FrustratedWithFormsDesigner

1
"लर्निंग रखें" के लिए +1। यह शायद सबसे महत्वपूर्ण बात है जो मैं एक जूनियर स्तर के प्रोग्रामर के लिए
राहेल

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

61

यहाँ मेरे सिर के ऊपर से एक त्वरित सूची है:

  • फॉलो-थ्रू (जो आप शुरू करते हैं उसे पूरा करें)
  • ईमानदारी (यदि आप फंस गए हैं तो मुझे बताएं)
  • जिज्ञासा (चीजों को करने के बेहतर तरीके जानें)
  • खुले विचारों की (आलोचना और उन विचारों के लिए जो आपकी नहीं हैं)
  • उदारता (जो आप सीखते हैं उसे साझा करें; अगली पीढ़ी को प्रशिक्षित करें)

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

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

14
+1 ईमानदारी: कहने के लिए सीखना, "मुझे यह समझ में नहीं आता है।" - पहले अपने आप को और फिर अपने सहयोगियों को - वास्तव में महत्वपूर्ण है। यह संचार और सीखने का द्वार खोलता है। मैंने बहुत से प्रोग्रामर देखे हैं, जिन्होंने अपने दिमाग का विस्तार करने के लिए अपने अहंकार को प्राप्त करने की अनुमति दी। मैं इस उद्योग में अधिकांश 4 दशकों से काम कर रहा हूं और मैं अभी भी हर एक दिन सामान में चलता हूं जो मुझे समझ में नहीं आता है। तो मैं Google, मैं पढ़ता हूं, मैं अभ्यास कोड लिखता हूं, और फिर मेरे पास एक और कौशल है जिसे मैं तालिका में ला सकता हूं।
पीटर रोवेल

खुलेपन पर - इसमें विशेष रूप से नियम-पुस्तक के अपवाद शामिल हैं। मैं इस बिंदु पर विफल रहा हूं। नियमों को तोड़ने के लिए अनुभव का हिस्सा सीख रहा है। कभी-कभी, अपने आदर्शों को फिट करने के लिए सब कुछ मजबूर करने से सब कुछ अधिक जटिल हो जाता है। OTOH, नियम-पुस्तिका को बिलकुल भी नहीं जानना ...
स्टीव ३४

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


4

जिज्ञासा, उत्साह, खुद के लिए एक उच्च मानक, सीखने की इच्छा, उन्हें स्वीकार करने के लिए तैयार, वे नहीं जानते कि व्यवसाय क्या करता है और यह आपके द्वारा उत्पादित कार्य को कैसे प्रभावित करता है। (सभी अच्छे गुण भले ही आपके 20 साल के अनुभव हों)

अच्छा तकनीकी ज्ञान बहुत अच्छा है लेकिन आपको यह दिखाना होगा कि आप इस ज्ञान को कैसे लागू करेंगे।

इन सबसे ऊपर, साक्षात्कारकर्ता को आपको वहाँ योगदान करते हुए और रहने के इच्छुक व्यक्ति को देखने में सक्षम होना चाहिए। यदि आप बहुत अच्छे हैं, तो कुछ लोगों को औसत से कम होने की तुलना में तेजी से दूर कर सकते हैं। ;)


4

प्रेरणा। क्या आप जानते हैं कि कैसे खुद को प्रेरित करें? क्या आप जानते हैं कि दूसरों की तुलना में क्या रणनीति बेहतर हो सकती है? यह आत्म-जागरूकता के बारे में है कि कुछ लोग आपसे उस शिक्षा के बारे में जानने की उम्मीद कर सकते हैं जो आपने इस तरफ पाया है।

बुनियादी परीक्षण और डिबगिंग कौशल। क्या आप जानते हैं कि इकाई परीक्षण क्या है? क्या आप किसी समस्या को डीबग करने के कुछ तरीके जानते हैं? यह विशेष रूप से यह जानने के बारे में नहीं है कि पर्यावरण में क्या करना है, बल्कि सामान्य विचार है कि सबसे बुनियादी परीक्षण क्या हो सकते हैं और किसी समस्या को देखने के लिए क्या रणनीति होनी चाहिए।

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

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


1
+1: मैं संचार कौशल अनुभाग में ईमानदारी जोड़ना चाहता हूं । यदि आप किसी चीज से पूरी तरह से अपरिचित हैं, या यदि आप किसी समस्या पर अड़े हुए हैं, तो किसी वरिष्ठ सहयोगी या टीम लीडर को जल्दी बताने से बाद में अधिक गंभीर समस्याओं से बचने में मदद मिल सकती है।
oosterwal

2
रुको ... "ऑफिस स्पेस" काल्पनिक है ???
पीएसयू

3

मेरे लिए, बिना किसी डिग्री के एक जूनियर डेवलपर के रूप में, मेरी कड़ी मेहनत और खुद को बेहतर बनाने की इच्छा ने मेरे करियर के साथ बहुत मदद की है। इसके अलावा, मैंने देखा कि कुछ आलोचनाओं (सकारात्मक या नहीं) के साथ सामना करने में सक्षम होने के नाते और मेरे वरिष्ठों द्वारा सराहना की गई थी।

एक नए परिवेश के लिए: मैं सलाह दूंगा कि आप पहले हफ्ते में प्रवाह के साथ जाएं। मैंने बहुत कठिन प्रयास करने की गलती की, वह सराहना नहीं थी ।


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

3

मैं पहले से बताई गई हर बात से सहमत हूं, लेकिन मैं इस बात पर जोर देना चाहता हूं कि तकनीकी विशेषज्ञ होने के एवज में आपको इन सामान्य (और नरम) कौशल को कभी नहीं भूलना चाहिए। आपको दोनों पर काम करना चाहिए, लेकिन मेरे पास एक मध्यवर्ती है जो संवाद कर सकता है कि वे क्या जानते हैं, फिर एक मास्टर होता है जो अकेले काम करता है।

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


++ अच्छा बिंदु, वेस, हालांकि मुझे आश्चर्य करना होगा। अगर मैं इन दिनों लोगों से पूछता हूं कि क्या उन्होंने ऐसा पढ़ा है, तो इसका जवाब आमतौर पर है - पढ़ें
माइक डनलवे

2

महान सभी का जवाब। मैं केवल अपने सीमित उड़ान अनुभव से जोड़ूंगा - आप जानते हैं कि वे पायलट का लाइसेंस क्या कहते हैं?

सीखने का लाइसेंस।


2

बहुत बढ़िया जवाब।

यहां तक ​​कि अगर मैं 'बड़े लोगों' के लिए काम नहीं करता हूं और मैं गुरु नहीं हूं, तो मैं अपने 2 सेंट जोड़ूंगा।

लोगों के साथ अच्छा व्यवहार करें

अपने सहयोगियों के साथ सामूहीकरण करने की कोशिश करें, यदि संभव हो तो उनमें से कुछ के साथ अपना कुछ समय बिताएं। हर एक समय में उनके साथ डिनर पर जाएं, उनके साथ एक अच्छी हंसी करें।

दूसरे शब्दों में, "समुदाय" का निर्माण करने का प्रयास करें यदि कोई मौजूद नहीं है, या यदि वह मौजूद है तो इसका हिस्सा बन सकता है।

अपने सहकर्मियों को जानने से आपको उनके साथ और आसानी से जुड़ने में मदद मिलेगी। इसके अलावा, ऑड्स अच्छे हैं आप इसे करने में मज़ा करेंगे।


2

समुदाय (ऊपर) द्वारा प्रस्तुत सभी अच्छे सामानों के साथ-साथ, मुझे कुछ कठिन कौशल के प्रमाण भी देखने की उम्मीद है। पूर्णता या -ber-geek शक्तियां नहीं, लेकिन मूल बातें और बुनियादी अवधारणाओं का एक अच्छा काम ज्ञान। आपको पहले ही काम मिल गया ( वैसे बधाई !) तो आप बहुत सुंदर हैं।

लेकिन अपने ज्ञान को ताज़ा करने और / या आपकी कंपनी द्वारा उपयोग किए जाने वाले टूल, भाषाओं और तकनीकों के साथ गति करने के लिए इसका मतलब यह होगा कि आप दौड़ने वाले मैदान से टकराएंगे और एक अच्छा पहला प्रभाव बनाएंगे।

एक काल्पनिक परिपूर्ण जूनियर डेवलपर को इस तरह की चीजों की बुनियादी बातों का पता चल जाएगा

  • भाषा।
  • आई / ओ
  • विरासत की तरह OO अवधारणाओं
  • वस्तु इंटरफेस
  • डेटाबेस एक्सेस (esp। इस संबंध में कि वे आपके नए कोड की दुकान पर कैसे करते हैं)
  • HTTP मॉडल
  • सीएसएस
  • जावास्क्रिप्ट / JQuery
  • डेटाबेस डिजाइन
  • SQL और संग्रहीत कार्यविधियाँ
  • आप जिस आईडीई का उपयोग करने जा रहे हैं
  • प्रासंगिक रूपरेखा (आप वसंत का उल्लेख करते हैं)

और इसी तरह। वह मूल कौशल को रोकने और सीखने के बिना नए कौशल चुनने पर ध्यान केंद्रित करने में सक्षम होगा। वह पर निरंतर परिश्रम कर सकेंगे (के रूप में कई पूछ समझदार - प्रश्नों के रूप में वह पसंद करती है सबसे वरिष्ठ devs प्यार कहा जा रहा है समझदार ऑनलाइन रूपों, व्यवस्थापक पृष्ठों है कि कई जूनियर पहले कुछ महीनों के लिए का सामना की दिनचर्या किराया के साथ तकनीकी प्रश्न)। एक विश्वसनीय, कनिष्ठ देव आपकी पहली टीम दीक्षा परीक्षा हो सकती है ;-)

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

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

और यह कहते हुए कि ऊपर कई लोगों ने कहा, कंप्यूटर और कोड की दुनिया लगातार विकसित हो रही है। आपको हर दूसरे दिन नया सामान सीखना होगा। अपने दिमाग को खुला रखें और कोशिश करें और इस बात का ध्यान रखें कि आपने इसे पहली जगह पर क्यों ग्रहण किया है - क्योंकि आपने इसे <3। आने वाले वर्षों में ऐसा समय हो सकता है जब यह आपके दिमाग में सबसे आगे नहीं होगा। उत्साह आपको अधिकांश धक्कों और बाधाओं से मिलेगा।

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

आपके करियर के लिए शुभकामनाएँ।


1
+1 ऐसा उत्तर देने के लिए जो प्रोग्रामिंग के लिए कुछ विशिष्ट का उल्लेख करता है, और इसलिए इसे बॉयस्काउट मैनुअल में अनएडिटेड नहीं किया जा सकता है।
पीएसआर

जबरदस्त हंसी। हाँ, इस प्रश्न के भीतर बहुत सारे
पठार हैं

1

(१) एक खुला दिमाग। आप किसी ऐसे व्यक्ति को नहीं चाहते जो हर परियोजना के लिए भाषा X और पर्यावरण Y का उपयोग करने में संस्थागत हो। आप किसी ऐसे व्यक्ति को चाहते हैं जो एक विशेष टेक्नोलोजी को स्पष्ट रूप से हल नहीं करेगा और अच्छे विकल्पों की पेशकश करेगा। इसके शीर्ष पर, आप किसी ऐसे व्यक्ति को चाहते हैं जो पारंपरिक सोच को चुनौती दे सके और ऐसे समाधानों के साथ आ सके जो व्यवसाय को प्रेरित करते हैं। आप इसे स्वयं अनुभव कर सकते हैं, लेकिन मैंने पाया है कि लोगों को एक प्रक्रिया के लिए इतनी आदत है कि वे इसे नहीं बदलते हैं, लेकिन वे अभी भी दर्द की मात्रा के बारे में शिकायत करते हैं जो उन्हें इसका कारण बनता है। आमतौर पर जब मैं आता हूं, तो मैं यह देखता हूं कि कैसे सुधार किया जाए और अपने प्रबंधक को समाधान प्रदान किया जाए। अब, मैं यह भी कहूंगा कि व्यक्तिगत को अपने सुझावों के बारे में "कूटनीतिक" होना चाहिए :)

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

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


पुस्तक की सिफारिशों के लिए +1; OTOH डोमेन मॉडलिंग कौशल को परिपक्व होने में समय लगता है, इसलिए मुझे जूनियर से ये उम्मीद नहीं होगी। लेकिन व्यापार के दृष्टिकोण को समझने और उपयोगकर्ताओं की वास्तविक समस्याओं को हल करने का प्रयास वास्तव में किसी भी स्तर पर महत्वपूर्ण है।
Péter Török

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

1

पहल करना। मेरे पास कई लोग हैं जो ऐसा बिल्कुल नहीं करते हैं और हमेशा इंतजार करते हैं कि वास्तव में क्या किया जाए। यदि आप कुछ ऐसा देखते हैं जिसे सुधारना चाहिए, तो करें। आपको कुछ सुधारने का विचार है? आगे लाओ। किसी चीज़ में सुधार करने के लिए दूसरे कौशल की आवश्यकता है? यह जानें।

दिखाता है कि आप इस बात की परवाह करते हैं कि आप क्या कर रहे हैं और सुधार करना चाहते हैं।


1

आपको बिल्कुल भी डराने के लिए नहीं, लेकिन एक बात जो मैं आपको बताने जा रहा हूं कि मैंने जिस भी एक कंपनी में काम किया है, वह बड़ी गंदे विशाल स्क्रॉलिंग विधियां हैं, और बुरी तरह से नामित वस्तुएं हैं जो आपको सरासर फाइलों को खोलने से डरती हैं। झटका और इस तरह की गंदगी का आतंक। जिन स्थानों पर आप आमतौर पर मिलेंगे, वे डायलॉग्स पर "ओके" बटन, या वेब-पेजों पर "सबमिट" बटन के लिए इवेंट हैंडलर में हैं।

मैं तुम्हें अपने दिल के नीचे से भीख माँग रहा हूँ। कृपया एक मानसिक खतरे की घंटी बजाएं, कि जब कोई विधि बड़ी लगने लगे, और बड़ी हो जाए, तो मेरा मतलब है १० से अधिक लाइनें या तो, एक और विधि बनाने के बारे में सोचें ... इतने सारे तरीकों के बाद, आप समझ जाएंगे कि कितनी जिम्मेदारी है आप जिस वस्तु में विकास कर रहे हैं।

अगली अलार्म घंटी मैं सुझाऊंगा, एक विधि में अधिकतम 2-3 पैरामीटर हैं। यदि आप लगभग 10 इनपुट मापदंडों के साथ तरीके देखते हैं, तो एक ओओ भाषा में कार्यात्मक प्रोग्रामिंग के लिए नमस्ते कहें ...

इस प्रतिक्रिया में व्यक्त की गई थोड़ी हताशा के लिए क्षमा करें, मैं अभी इसे पर्याप्त नहीं चिल्ला सकता कि यह सीखने के लिए कितना फायदेमंद है कि स्वच्छ कोड कैसे लिखा जाए।

कृपया अपने आप को रॉबर्ट की एक प्रति पकड़ो C मार्टिंस क्लीन कोड । इसे साप्ताहिक पढ़ें, रात के खाने के लिए बाहर ले जाएं, इसे अपने तकिए के नीचे रखकर सोएं, इसकी एक प्रति शौचालय में है, और कुछ पृष्ठ छपवाकर छत पर चिपका दें, ताकि जब आप सोने जाएं, तो आप उन्हें पहले पढ़ सकें आप सिर हिला देते हैं;)।

मैं आपके करियर की शुभकामनाएं देता हूं। इस बिंदु पर आपका जुनून पहले से ही दिखाता है कि आप बहुत अच्छा करेंगे।


1

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


1

Google का उपयोग करने की क्षमता। वास्तव में।

ऐसा नहीं है कि मैं कभी किसी की मदद नहीं करूंगा, विशेष रूप से एक जूनियर सहयोगी। लेकिन इससे ज्यादा निराशा की कोई बात नहीं है कि समस्याओं को हल करने में किसी ने भी मेहनत नहीं की है, लगातार।

जूनियर सॉफ्ट को मेरी सलाह। इंजीनियरों को समस्याओं को हल करने में अपने उचित परिश्रम करना है। Google, विकिपीडिया या स्टैकओवरफ़्लो का उपयोग परिश्रमपूर्वक और व्यवस्थित रूप से करें जब आपको कुछ पता न हो।

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

अन्य संगठनों में जहां लोग हमेशा एक-दूसरे के लिए मायने रखते हैं, आपको मदद मांगने से पहले कुछ दिन अपने आप पर (आपके द्वारा किए गए हर काम और हर जगह आपने शोध किए हैं) का दस्तावेजीकरण करना पड़ सकता है। इस तरह की कंपनियों में, आपने जो किया उसकी मदद करना ताकि आप उन्हें दिखा सकें कि "आपने इसे Google किया है" क्योंकि वह पहला रिट्रीट होगा जो वे आपको फेंक देंगे।

लेकिन इस बात की परवाह किए बिना कि एक जूनियर इंजीनियर में मैं जो देखूंगा उसका सार यह है कि वह हर समय जवाब देने की अपेक्षा करने के बजाय किसी समस्या को हल करने की कोशिश में अपना यथोचित परिश्रम करे। संक्षेप में, मुझे दिखाओ कि आप Google का उपयोग कर सकते हैं।


1
  • काम को लेकर जुनून

  • अधिक से अधिक और अधिक जानने के लिए तैयार है ..

  • ईमानदारी

  • संगति


1

महान जवाब वहाँ, अगर आप सभी का अनुसरण करते हैं कि लोग यहां क्या कहते हैं, मुझे यकीन है कि कोई भी वह / वह क्या कर रहा है पर अच्छा होगा,

बस कुछ बिंदुओं पर जोर देना चाहते हैं।

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

आपके काम में सभी बेहतरीन हैं


1

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

लेकिन चीजों को स्वचालित करने के लिए सीखना आपके जीवन को आसान बना देगा। (और अपने सहकर्मियों को प्रभावित करें जब आप अच्छी तरह से काम कर सकते हैं)


-3
  • जावा और C ++ का एक मजबूत नापसंद।
  • ऑपरेटिंग सिस्टम इंटर्नल, एल्गोरिदम और डेटा संरचनाओं की एक बुनियादी समझ।
  • सी में उत्कृष्ट प्रवीणता, और कम से कम एक स्क्रिप्टिंग भाषा।
  • एक मुख्यधारा वीसीएस (मर्क्यूरियल, तोड़फोड़ या गिट) का कार्यसाधक ज्ञान।
  • कमांड लाइन पर दक्षता से काम करने की क्षमता।
  • विंडोज का अनुवाद, और यूनिक्स-व्युत्पन्न ओएस जैसे लिनक्स, बीएसडी, या सोलारिस का कभी-कभार घर का उपयोग विकास या सामान्य उपयोग के लिए।

मुझे नहीं लगता कि जावा / सी # / सी ++ का एक मजबूत नापसंद उतना ही महत्वपूर्ण है जितना कि यह समझना कि दुनिया उनके साथ शुरू और समाप्त नहीं होती है। जावा के इसके उपयोग हैं, लेकिन रूबी, पीएचपी, एरलैंग, लिस्प आदि
Zachary K

मुख्यधारा के वीसीएस के कामकाजी ज्ञान को विकसित करने में कितना समय लगता है?
एंड्रयू एम

@Andrew M: एक वीसीएस के आसपास के उपकरणों की अधिकता के साथ कुशल बनने में कई सप्ताह लग सकते हैं। मुश्किल, शाखाएं, पैचिंग, विलय। फिर प्रत्येक वीसीएस की सीमाओं या अत्यधिक जटिलताओं के आसपास काम कर रहा है।
मैट जॉइनर

@ मैट: मैं देख रहा हूँ, धन्यवाद। तो अपने दम पर ऐसा करने का सबसे अच्छा तरीका क्या है? सिर्फ अपने पालतू परियोजनाओं के लिए इसका इस्तेमाल करना काफी अच्छा अभ्यास होगा?
एंड्रयू एम

2
आपके पहले और आखिरी बुलेट पॉइंट का विकास या सीखने में अच्छा होने के साथ बहुत कम है (नए डेवलपर्स से आपको जो प्राथमिक चीजें चाहिए।) "एक्सवाईजेड का एक मजबूत नापसंद" होना केवल उपयोगी है अगर टीम पर हर कोई नापसंद करता है। यदि हर कोई नहीं करता है, तो यह केवल दरारें पैदा करने वाला है। Windows-hater और Linux-hater में कोई अंतर नहीं है सिवाय इसके कि वे दोनों नफरत करने वाले हैं। दूसरी ओर, किसी को व्यक्तिगत अनुभव के आधार पर कुछ नापसंद करने के कारणों से मतलब है कि उनके पास मेज पर लाने के लिए कुछ है - यह होने लायक है ... लेकिन घर पर सुज़ का उपयोग करना आपको अधिक चालाक नहीं बना देगा।
corsiKa
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.