कैसे धोखेबाज़ डेवलपर्स को अपनी परियोजना में शामिल करें?


9

हम कुछ ऐसे कर्मचारियों को पढ़ाने पर विचार कर रहे हैं, जिनके पास काम का बोझ उठाने के लिए या तो शून्य या सामान्य हॉबी स्तर की प्रोग्रामिंग अनुभव है।

हम Python / Django का उपयोग करते हैं, जिसमें आसपास के कुछ शुरुआती दस्तावेज़ हैं और सीखने के लिए एक हवा है।

मैं वर्तमान में अपनी कंपनी के लिए एक आदमी आईटी विभाग हूं और मेरे पास कंपनी की जरूरत की हर चीज को विकसित करने के लिए पर्याप्त घंटे नहीं हैं। हम एक सॉफ्टवेयर कंपनी नहीं हैं, लेकिन यह कार्यों को स्वचालित करने, ग्राहक सेवा सुविधाओं को विकसित करने, डेटा का विश्लेषण करने, आदि के लिए घर में आईटी में मदद करता है।

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

मेरा विचार था कि बदमाशों ने केवल मौजूदा कोड को संशोधित किया है, कभी भी कोर सुविधाओं का निर्माण नहीं किया है। फीचर के निर्माण के बाद मैं उन्हें सरल कार्यों के साथ काम करना बंद कर सकता हूं।

हम चाहेंगे कि हमारे कर्मचारी कंपनी में मूल्य जानें / पाएं और हम आम तौर पर लोगों को 'रैंक ऊपर ले जाएँ'।

क्या सामान्य / हॉबी स्तर की प्रोग्रामिंग वाले लोगों को पढ़ाना मानक अभ्यास है? एक सॉफ्टवेयर कंपनी में "रैंक को ऊपर ले जाना" जूनियर स्तर के प्रोग्रामर के लिए कैसे काम करता है? वे कोर कोड पर कब काम करना शुरू करते हैं?

मैं यह तय करने की कोशिश कर रहा हूं कि क्या यह मदद से अधिक नुकसान का कारण बन सकता है, और यदि कोई तरीका है जिससे हम संभावित रूप से संभावित साइट कोड (पृथक वातावरण?) को जोखिम में डाले बिना उनकी मदद का उपयोग कर सकते हैं।


3
"सामान्य / हॉबीस्ट स्तरीय प्रोग्रामिंग" मेरे दिमाग में "जूनियर स्तर के प्रोग्रामर" से बहुत अलग है। पूर्व की तरह लगता है जो अपने सिस्टम को ट्विक करने के लिए सप्ताह पर शेल / बैच स्क्रिप्ट के साथ खेलता है। उत्तरार्द्ध किसी ऐसे व्यक्ति की तरह लगता है जिसने अभी सीएस की डिग्री पूरी की है। इन दो प्रकारों को संभालना बहुत अलग होगा। बस 'कह ...
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner धन्यवाद! मैं शब्दावली से परिचित नहीं हूं। हॉबीस्ट मुझे लगता है कि स्वयं ने कुछ प्रोग्रामिंग भाषाओं को पढ़ाया है, एक कार्यक्रम या दो, एक वेबसाइट का निर्माण किया है .. जूनियर स्तर पर मैंने सोचा कि कोई ऐसा व्यक्ति हो जिसे सॉफ्टवेयर कंपनी में काम करने के लिए पर्याप्त प्रोग्रामिंग ज्ञान हो, लेकिन यह अब मेरे साथ होता है ये दोनों काफी समान हो सकते हैं (मेरी परिभाषाओं में)?
युजी तोमिता

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

@ c69 धन्यवाद! मेरा सवाल यह है कि कैसे धोखेबाज़ को हमारे कोडबेस में आसानी से रखा जाए? लक्ष्य उन्हें कबूतर देना नहीं है और पूरी तरह से सांसारिक कार्य करना है। किसी को हमारे कोडबेस तक पहुंच देना सिर्फ खतरनाक है, और क्या उन्होंने हमारे सिस्टम के एक हिस्से के रूप में अपनी पहली डीजंगो / प्रोग्रामिंग परियोजना का निर्माण किया है (या यह आपका क्या मतलब है? चलो उन्हें कोशिश करें और देखें?)। पुनश्च: विधिवत हॉबी वेट्स के बारे में विख्यात है
युजी टमिता

जवाबों:


5

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

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

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

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

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

मुझे लगता है कि आप आश्चर्यचकित होंगे कि उनमें से कुछ कैसे सक्षम हो सकते हैं।


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

आपके इनपुट के लिए धन्यवाद - यह बहुत सराहनीय है। हमें कहीं से शुरू करना है क्योंकि हम लोगों पर विचार कर रहे हैं कि सचमुच कोई अनुभव नहीं है। अजगर 101, django ट्यूटोरियल, बैश स्क्रिप्ट, संस्करण नियंत्रण का उपयोग कैसे करें आदि का परिचय, मैं सूक्ष्म प्रबंधन नहीं करने के बारे में आपकी चेतावनी पर ध्यान दूंगा। और हाँ! मेरा मानना ​​है कि हमारे लोग काफी सक्षम हैं।
युजी तोमिता

5

मैं एक सॉफ्टवेयर शॉप पर काम करता था, जहाँ हम एक बड़े प्रोजेक्ट (महत्वपूर्ण रैंप-अप टाइम) को कोड कर रहे थे।

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

एक गलती जो मैंने दूसरी दुकान में देखी है: मान लें कि "कोर" कठिन है और "यूआई" आसान है। रूकीज़ के पास कोर में एक आसान समय था, और यूआई फ्रंट-एंड कोड को गड़बड़ कर दिया।

सौभाग्य!


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

1
@isgab - 30 साल के अनुभव के साथ एक प्रभावी यूजर इंटरफेस डिजाइन प्राप्त करना कठिन है। मेरा मतलब है कि माइक्रोसॉफ्ट और ऐप्पल को देखें, दोनों में अलग-अलग विचार हैं कि उपयोगकर्ता इंटरफ़ेस कैसे काम करना चाहिए।
रामहाउंड

मुझे पसंद है कि आप कोर बनाम उई के बारे में क्या कह रहे हैं। मुझे लगा कि दोनों के पक्ष और विपक्ष थे (बैकएंड पर धोखेबाज़, फ़्रंट पर बदमाश)। एक तरफ, HTML अक्सर अनुभव के बारे में है - यह जानना कि क्या काम नहीं करता है। यह उस परियोजनाओं में "सुरक्षित" है जो अलग-थलग है। बैकएंड ठीक उसी तरह काम करता है, जैसा कि होना चाहिए, लेकिन अब बनाए गए कोड को भविष्य में बनाए रखना होगा और उस पर काम करना होगा।
युजी तोमिता

2

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

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

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


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

अन्य विकल्प होंगे: उन्हें पहले से ही (अच्छी तरह से) लागू करने की सुविधा दें, ताकि वे आउटपुट की तुलना कर सकें
Etsitpab Nioliv

1

आपकी कंपनी अन्य कर्मचारियों से समय कैसे निकाल सकती है, लेकिन प्रोग्रामिंग अनुभव वाले किसी व्यक्ति को किराए पर नहीं ले सकती? आपके समय के प्रशिक्षण, परेशानी की शूटिंग और साथ में हाथ पकड़ना महंगा है।

इस क्षेत्र में मैंने जो भी काम किया है, केवल यही है कि लोगों को एक रिपोर्ट लेखक या एक्सेल के लिए कुछ VBA / मैक्रो कोड का उपयोग करना सिखाया जाए। मैं आमतौर पर पुन: उपयोग करने के लिए डेटा सेट देता हूं। उन्हें सीखना एसक्यूएल एक खिंचाव है, लेकिन मैंने इसे पूरा करने के लिए भुगतान किया है। ऑपरेशन में कुछ लोगों के साथ यह कोशिश करना एक लंबा-शॉट है।

सुनिश्चित करें कि आपको सही व्यक्ति मिले और वे वास्तव में कोड करना सीखना चाहते हैं। आपके पास उन्हें सब कुछ सिखाने का समय नहीं होगा। उन्हें अपने दम पर बहुत कुछ करना होगा।


मैंने उल्लेख किया कि हम शून्य पूर्व अनुभव वाले लोगों (या बहुत कम राशि) के बारे में बात कर रहे हैं, इसलिए हम एक पेशेवर प्रोग्रामर को नियुक्त करने के लिए आवश्यक वेतन ग्रेड के बारे में बात नहीं कर रहे हैं।
युजी तोमिता

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

0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.