เราควรจะยืนยันกับพนักงานที่ยังคงเขียนรหัสไม่ดีหลังจากหลายปี? [ปิด]


13

ฉันวางคำถามนี้ให้โปรแกรมเมอร์ C ++ เพราะ: ก) โปรแกรมเมอร์ C ++ เท่านั้นที่สามารถตัดสินข้อดีทางเทคนิคของตัวอย่าง; b) มีเพียงโปรแกรมเมอร์เท่านั้นที่จะรู้สึกถึงอารมณ์ของโปรแกรมเมอร์คนอื่นที่เขียนโค้ดแบบนี้

ฝ่ายทรัพยากรบุคคลและกรรมการตระหนักว่ามีปัญหาเพียงเพราะพวกเขาเห็นหลักฐานในสนาม มันเป็นการโทรของฉันไม่ว่าเราจะให้โปรแกรมเมอร์มีเวลามากกว่านี้หรือไม่ ข้อผิดพลาดหลายอย่างอยู่ในระดับพื้นฐานมาก - คำถามของฉัน (สำหรับโปรแกรมเมอร์) คือว่าคนที่ยอมรับว่าเป็นนักพัฒนา C ++ อาวุโสควรได้รับประโยชน์จากข้อสงสัยจากตัวอย่างของรหัสปัจจุบันหรือไม่ ผู้ที่ไม่ใช่โปรแกรมเมอร์ - แม้แต่คนที่อยู่นอกการเขียนโปรแกรม C ++ - ไม่สามารถตัดสินใจเรื่องนี้ได้

สำหรับพื้นหลังฉันได้รับมอบหมายงานบริหารนักพัฒนาให้กับ บริษัท ที่มีชื่อเสียง พวกเขามีนักพัฒนาเดียวที่มีความเชี่ยวชาญในการเข้ารหัส C ++ ทั้งหมดของพวกเขา (ตั้งแต่ตลอดไป) แต่คุณภาพของงานเป็นสุดซึ้ง การตรวจสอบรหัสและการทดสอบพบว่ามีปัญหามากมายหนึ่งในปัญหาที่แย่ที่สุดคือความจำรั่ว นักพัฒนาซอฟต์แวร์ไม่เคยทดสอบโค้ดของเขาว่ามีรอยรั่วและฉันค้นพบว่าแอปพลิเคชันอาจรั่วไหลไปหลาย MB ด้วยการใช้งานเพียงไม่กี่นาที ผู้ใช้รายงานการชะลอตัวครั้งใหญ่และสิ่งที่เขาทำก็คือ "มันไม่เกี่ยวอะไรกับฉัน - ถ้าพวกเขาเลิกและเริ่มใหม่มันก็ดีอีกครั้ง"

ฉันได้ให้เครื่องมือแก่เขาในการตรวจจับและติดตามรอยรั่วและนั่งลงกับเขาเป็นเวลาหลายชั่วโมงเพื่อแสดงให้เห็นว่ามีการใช้เครื่องมืออย่างไรเมื่อเกิดปัญหาขึ้นและจะแก้ไขอย่างไร เราใช้เวลาประมาณ 6 เดือนในการติดตามและฉันมอบหมายให้เขาเขียนโมดูลใหม่ ฉันตรวจสอบก่อนที่จะถูกรวมเข้ากับฐานรหัสที่มีขนาดใหญ่ขึ้นของเราและผิดหวังที่ค้นพบการเข้ารหัสที่ไม่ดีเหมือนเดิม ส่วนที่ฉันเข้าใจยากคือการเข้ารหัสบางอย่างแย่กว่าความชำนาญ ตัวอย่างเช่นเขาต้องการคลาส (Foo) ที่สามารถเติมวัตถุของคลาสอื่น (บาร์) เขาตัดสินใจว่าฟูจะถือการอ้างอิงไปยังบาร์เช่น:

class Foo {
public:
    Foo(Bar& bar) : m_bar(bar) {}
private:
    Bar& m_bar;
};

แต่ (ด้วยเหตุผลอื่น ๆ ) เขาต้องการตัวสร้างปริยายสำหรับฟูและแทนที่จะถามคำถามการออกแบบเริ่มต้นของเขาเขาเขียนอัญมณีนี้:

Foo::Foo() : m_bar(*(new Bar)) {}

ดังนั้นทุกครั้งที่มีการเรียกใช้ตัวสร้างค่าเริ่มต้นแถบจะรั่วไหล เพื่อให้เรื่องแย่ลงฟูจัดสรรความทรงจำจากฮีปให้กับวัตถุอื่น 2 ตัว แต่เขาไม่ได้เขียนตัวทำลายหรือตัวสร้างสำเนา ดังนั้นการจัดสรร Foo ทุกครั้งจะรั่วไหลวัตถุ 3 ชนิดที่แตกต่างกันและคุณสามารถจินตนาการได้ว่าเกิดอะไรขึ้นเมื่อคัดลอก Foo และ - มันจะดีขึ้นเท่านั้น - เขาซ้ำแบบเดียวกันกับคลาสอื่นอีกสามคลาสดังนั้นมันจึงไม่ใช่สลิปครั้งเดียว แนวคิดทั้งหมดผิดในหลายระดับ

ฉันจะรู้สึกเข้าใจมากกว่านี้ถ้ามันมาจากสามเณร แต่ผู้ชายคนนี้ได้ทำสิ่งนี้มาหลายปีแล้วและได้รับการฝึกฝนและให้คำแนะนำในช่วงไม่กี่เดือนที่ผ่านมา ฉันรู้ว่าเขาได้ทำงานโดยไม่ต้องคอยให้คำปรึกษาหรือวิจารณ์เพื่อนร่วมงานส่วนใหญ่ แต่ฉันเริ่มรู้สึกว่าเขาไม่สามารถเปลี่ยนแปลงได้ ดังนั้นคำถามของฉันคือคุณจะยังคงอยู่กับคนที่เขียนโค้ดที่ไม่ดีอย่างเห็นได้ชัดหรือไม่?


15
หากคุณเห็นว่าเขาเขียนโค้ดไม่ดีทำไมคุณปล่อยให้เขาเขียนอึในช่วง 6 เดือนโดยไม่ดูแลเขา
Billy McNuggets

4
IMO เมื่อคุณเห็นคนที่ทำผลงานได้ดีชั่วขณะหนึ่งคุณไม่สามารถปล่อยให้เขาทำงานคนเดียวได้แม้ว่าจะเป็นการดีบั๊ก / ซ่อมแซมเท่านั้น หากคุณต้องการให้เขาอยู่ใน บริษัท ของคุณคุณต้องดูแลเขาและดูว่าคุณยังได้รับผลลัพธ์ที่ไม่ดีจากเขาหรือไม่ การปล่อยให้เขาทำงานคนเดียวในช่วง 6 เดือนโดยไม่ได้มองเขาก็เป็นการจัดการที่ไม่ดี
Billy McNuggets

3
@ user94986 ถ้าคุณใช้เวลาร่วมกับเขาอธิบายว่าที่อยู่อาศัยของเขาไม่ดีคุณควรจับตาดูเขาและหากไม่มีอะไรเปลี่ยนแปลงอย่ารอ 6 เดือนเพื่อคุยกับเขา
Billy McNuggets

4
หากเขาไม่คิดว่าการรั่วไหลของหน่วยความจำเป็นปัญหาก็ไม่มีเหตุผลที่จะสอนเขาถึงวิธีหลีกเลี่ยงและให้เครื่องมือช่วยเหลือในเรื่องนี้ ปัญหาหลักอาจเป็นไปได้ว่าเขาเข้าใจเป้าหมายและข้อกำหนดของผลิตภัณฑ์อย่างไม่ถูกต้อง
maxim1000

2
คำถามนี้ดูเหมือนจะไม่ได้อยู่ในหัวข้อเพราะเป็นเรื่องเกี่ยวกับคำแนะนำด้านกฎหมายทรัพยากรบุคคลอย่างมีประสิทธิภาพซึ่งเป็นปัญหาสำหรับเราที่จะให้บริการอย่างดีที่สุด
วิศวกรโลก

คำตอบ:


22

คำแนะนำของฉันคือการเผชิญหน้ากับเขาเกี่ยวกับตัวอย่างนี้และดูสิ่งที่เขาพูด หากเขาปฏิเสธว่ามีสิ่งใดที่ไม่ดีกับรหัสนั้นฉันเกรงว่าคุณจะทำได้เพียงเล็กน้อย หากเขายอมรับว่าเขาทำผิดพลาด (แม้ว่าเขาจะรับเรื่องนี้แล้ว) อย่างน้อยก็มีที่ว่างสำหรับการปรับปรุง หากคุณยอมรับเวลาและความพยายามในการพัฒนาเขาคุณหรือโปรแกรมเมอร์อาวุโสจะต้องนั่งลงและเขียนรหัสด้วยกันจนกว่าแนวโน้มทั้งหมดเหล่านี้จะแบนออก (เตรียมที่จะอุทิศบุคคลนี้เป็นเวลาอย่างน้อย 1 เดือน)

โปรแกรมเมอร์ที่ไม่ดีฉันมักจะสามารถทำงานได้ แต่โปรแกรมเมอร์ที่ไม่สามารถปรับปรุงได้ฉันไม่สามารถทำได้


12
+1 สำหรับ"โปรแกรมเมอร์ที่ไม่ดีฉันมักจะทำงานร่วมกับ แต่โปรแกรมเมอร์ที่ไม่สามารถปรับปรุงได้ฉันไม่สามารถทำได้"

ใช่ฉันจะบอกให้ผู้ชายรู้ว่ามันค่อนข้างจริงจัง ดูเหมือนเขาจะไม่ได้รับการบอกกล่าวหรือไม่ได้รับการยอมรับว่ามีปัญหามาหลายปี มาที่บทสนทนาพร้อมที่จะชี้ให้เห็นตัวอย่างของสิ่งที่เขาไม่ควรทำและมันส่งผลต่อคุณภาพของแอพอย่างไร หากเขายังไม่เต็มใจที่จะยอมรับปัญหาของรหัสฉันอาจปล่อยเขาไป และฉันอาจจะไม่ให้เวลาเขามาก ๆ ในการทำสิ่งต่าง ๆ ด้วยกันถ้าเขาทำ คุณต้องเน้นย้ำว่าอนาคตของเขาที่ บริษัท กำลังตกอยู่ในอันตรายและเขาขาดทักษะที่สำคัญมากสำหรับ C ++ dev
Erik Reppen

@ErikReppen ฉันเห็นด้วย แต่ฉันคิดว่าโปรแกรมเมอร์สามารถเป็นคนที่ดื้อรั้นที่สุดในโลก หากคุณกดหนักเกินไปเขาอาจปฏิเสธปัญหาใด ๆ กับรหัสของเขาเพียงเพราะการป้องกัน ฉันคิดว่ามันเป็นสิ่งสำคัญที่จะเน้นถึงแรงโน้มถ่วงของสถานการณ์ แต่ฉันก็ยังคงพยายามเห็นอกเห็นใจเขา"ฉันบังเอิญสังเกตเห็นความผิดพลาดเล็ก ๆ น้อย ๆ นี้คุณจับมันได้หรือไม่คุณคิดว่าคุณทำผิดแบบเดียวกันนี้ในด้านอื่น ๆ โปรแกรมของคุณ? "
Neil

@ Neil วิธีเดียวในการผ่านกำแพงปากแข็งคือการเตะในตูด และฉันพูดจากประสบการณ์เป็นด้านตูดปากแข็งของสมการนั้น ที่กล่าวว่าหากเป็นครั้งแรกที่เขาได้ยินว่ามีปัญหาเกี่ยวกับรหัสของเขาใช่ฉันจะอ่อนลงเล็กน้อย แต่ดูเหมือนว่าพวกเขาได้พยายามสื่อสารปัญหาอย่างน้อยหนึ่งครั้งก่อน
Erik Reppen

@ErikReppen บางที แต่คุณมีความเสี่ยงที่เขาจะสร้างรูปร่างขึ้นมาเพื่อนำคุณออกจากหางของเขา ในอัตรานี้คุณอาจพูดว่า "เพิ่มรูปร่างหรือถูกไล่ออก" อย่างน้อยวิธีการนี้จะค้นพบว่าเขารู้สึกผิดกับความผิดพลาดของเขาหรือไม่
Neil

18

ดังนั้นคำถามของฉันคือคุณจะยังคงอยู่กับคนที่เขียนโค้ดที่ไม่ดีอย่างเห็นได้ชัดหรือไม่?

ไม่ฉันจะยิงนักพัฒนา C ++ มืออาชีพที่ไม่มีความเข้าใจพื้นฐานของการจัดการหน่วยความจำ

หากเป็นคนที่มาจาก Java หรือ C # หรือบางสิ่งบางอย่างฉันจะให้ความเป็น lattitude แก่พวกเขา แต่นี่เป็นสิ่งที่ขาดความสามารถอย่างแท้จริง


9
ฉันไม่เข้าใจว่าคำตอบนี้จะถูกสนับสนุนได้อย่างไร การที่ใครบางคนยิงไม่ใช่เรื่องที่ควรทำอย่างเบา ๆ
Florian Margaine

3
@ FlorianMargaine - แน่นอน แต่ดูเหมือนเป็นกรณีที่ชัดเจน พนักงานนี้มีค่าใช้จ่ายในการขายที่สูญเสียไปเนื่องจากหน่วยความจำรั่วหรือช่องโหว่ด้านความปลอดภัย เสียเวลามากในการทดสอบ / แก้ไขอึนี้ เท่าไหร่ในการมี OP ดูแลพี่เลี้ยงพวกเขา? เท่าไหร่ในการมีโปรแกรมเมอร์คนอื่นประสบกับการปรากฏตัวของเขา? หากพนักงานไม่มีความรู้เกี่ยวกับโดเมน (หรือแบล็กเมล์) ที่ไร้สาระก็ไม่มีทางที่การแทนที่พวกเขานั้นจะมีราคาแพงกว่า
Telastyn

1
@ FlorianMargaine พนักงานประเภทนี้เป็นคนที่ไม่ถูกไล่ออกมากพอที่จะทำให้ บริษัท ตกอยู่ในการแก้ไขปัญหาทางเทคนิค มันพูดด้วยแสงสีแดงขนาดใหญ่ "พวกเขาไม่สนใจดังนั้นทำไมเราควร?" รู้ว่าพนักงานที่คุณต้องการจะพูดว่าอะไร? "... แต่ฉันแคร์ดังนั้นฉันต้องไปที่ที่ทำ" คนเลวไม่ได้สนใจดังนั้นพวกเขาจึงยังคงอยู่ที่สำนักงานของคุณ คุณต้องลบคนที่ทำร้ายประสิทธิภาพการทำงานมากกว่าที่พวกเขามีส่วนร่วม นี่ไม่ใช่ตัวเลือกที่ถ่ายเบา ๆ แต่จริงๆแล้วมันเป็นเส้นที่ชัดเจนความล้มเหลวในการกระทำคือการกระทำที่ชัดเจน
JM Becker

13

เราไม่สามารถตอบคำถามของคุณได้ในวงกว้าง กล่าวคือคุณควรเก็บหรือไล่ออกพนักงานคนนั้น การยิงพนักงานเป็นเรื่องยาก แต่นั่นเป็นการตัดสินใจนอกขอบเขตของชุมชนเช่นนี้

คุณอัปเดตคำถามเพื่อ จำกัด คำตอบสำหรับโปรแกรมเมอร์ C ++ สำหรับพื้นหลัง / คุณสมบัติของฉัน: ฉันตัดฟันใน C และฉันสามารถเขียนโค้ดใน C ++, C # และ Java และฉันชอบที่จะไล่ตามเงื่อนไขการแข่งขันระหว่างเธรดเพราะฉันคิดว่ามันสนุก ใช่ฉัน "รับ" นิด ๆ หน่อย ๆ twiddling

คำตอบและการตัดสินใจของคุณล้อมรอบสิ่งนี้: บุคคลนั้นสามารถเปลี่ยนแปลงได้หรือไม่นั้นขึ้นอยู่กับแต่ละบุคคลและหากพวกเขาต้องการเปลี่ยนแปลง

แต่มาเริ่มกันด้วยคำถามของคุณ:

  1. คุณเคยถามเขาเกี่ยวกับรหัสและตัวอย่างที่คุณพูดถึง? สิ่งที่เขาประทับใจในการตรวจสอบคืออะไร?
  2. คุณให้ข้อมูลที่เฉพาะเจาะจงกับเขาในช่วง 6 เดือนที่ผ่านมาเกี่ยวกับการทำความเข้าใจเกี่ยวกับการจัดการหน่วยความจำและตรวจสอบให้แน่ใจว่ารหัสของเขาไม่มีการรั่วไหลของหน่วยความจำใช่หรือไม่
  3. คุณให้ข้อเสนอแนะบ่อยครั้งพอสมควรในช่วง 6 เดือนที่ผ่านมาเพื่อระบุว่าเขากำลังก้าวหน้าหรือไม่
  4. คุณเรียกอย่างชัดเจนหรือไม่ว่าวิธีการเข้ารหัสแบบเก่าของเขาไม่เป็นที่ยอมรับในรหัสใหม่อีกต่อไป?

คุณต้องแน่ใจว่าคุณสามารถตอบตกลงกับคำถามเหล่านั้นทั้งหมดได้ ถ้าไม่ยังคงมีภาระการพิสูจน์ในส่วนของคุณสำหรับการสื่อสารกับเขา

การตอบสนองของเขาต่อการตรวจสอบล่าสุดของคุณจะเป็นส่วนที่บอกได้มากที่สุด

ถ้าเขาพยายามแล้วและมีสัญญาณบ่งบอกถึงความคืบหน้าบางทีคุณอาจต้องทบทวนกระบวนการให้คำปรึกษาของคุณ หากมีสิ่งใดคุณอาจต้องพิจารณาจับคู่เขากับโปรแกรมเมอร์ที่มีประสบการณ์มากขึ้นเพื่อที่เขาจะได้รับผลตอบรับทันทีในขณะที่เขากำลังตัดสินใจออกแบบ ฉันไม่ได้เป็นแฟนของการเขียนโปรแกรมคู่ แต่มันมีประโยชน์มากในกรณีเช่นนี้ การส่งเขาออกไปอย่างต่อเนื่องเพื่อทำการแก้ไขโค้ดเก่า ๆ ให้มากขึ้นเรื่อย ๆ นั้นไม่ใช่เส้นทางการเรียนรู้ที่เป็นประโยชน์เสมอไป

หากเขาไม่ได้พยายามแล้วคุณต้องเข้าใจแรงจูงใจของเขาดีกว่า เขาไม่เข้าใจหรือไม่ว่าเขาต้องพยายามให้หนักขึ้น? เขาไม่สนใจเหรอ? มีพื้นที่อื่นในทีมที่ทักษะของเขาจะเหมาะสมกว่าและเขาสนใจมากกว่านั้น หากเขาไม่สนใจลองคุณก็ต้องเข้าใจว่าทำไม

จากตรงนั้นคุณจะรู้ว่าเขาต้องการเปลี่ยนแปลงหรือไม่และเขาสามารถเปลี่ยนแปลงได้หรือไม่ ความปรารถนาที่จะเปลี่ยนแปลงไม่เทียบเท่ากับที่ไม่สามารถเปลี่ยนแปลงได้ หากมีความปรารถนาและความก้าวหน้าในระดับหนึ่งขอให้พิจารณาการเปลี่ยนแปลงวิธีที่คุณพยายามฟื้นฟูเขา


1
+1 สำหรับ "ส่งเขาออกไปอย่างต่อเนื่องเพื่อทำการแก้ไขรหัสเก่า ๆ ให้มากขึ้นไม่ใช่เส้นทางการเรียนรู้ที่เป็นประโยชน์เสมอไป"
Bill

+1 สำหรับย่อหน้าสุดท้าย ความก้าวหน้าที่เกิดขึ้นโดยใครบางคนและความพยายามในการลงทุนเพื่อชี้นำว่าใครบางคนจำเป็นต้องคำนึงถึงการตัดสินใจใด ๆ
Marjan Venema

10

ฉันเกรงว่ารหัสที่ไม่ดีของเขาไม่ใช่ปัญหาเดียวในทีมของคุณ

  1. ใครรีวิวรหัสของเขา ทำไมเขาหลุดลอยไปโดยไม่มีการเตือนสำหรับการรับรหัสที่มีช่องโหว่รั่วไหลของหน่วยความจำ?
  2. ทำไมการทดสอบความเครียดไม่พบปัญหานี้ คุณใช้มันหรือเปล่า? ถ้าใช่แล้วทำไมพวกเขาถึงไม่ทำงาน
  3. เขาถูกทิ้งไว้โดยไม่มีใครดูแลเป็นเวลานาน ทำไม?
  4. เขาไม่ได้ใช้เครื่องมือที่คุณให้มา คุณกระตุ้นให้เขาเริ่มใช้เครื่องมือที่เหมาะสมได้อย่างไร

คุณบอกว่าเขาอยู่ใน บริษัท มาเป็นเวลานาน การยิงคนแบบนี้ไม่ค่อยจะเป็นความคิดที่ดี (เว้นแต่เขาจะเป็นพนักงานเก่ง ๆ ) ความรู้เกี่ยวกับความต้องการของลูกค้าผลิตภัณฑ์ที่คุณเป็นเจ้าของและอื่น ๆ มักจะมีค่ามากกว่าโค้ดที่เขียน

Solutions:

  • ย้ายเขาไปที่ QA เพื่อให้เขาเรียนรู้สิ่งที่ควรหลีกเลี่ยง
  • จับคู่การเขียนโปรแกรมกับคนที่สามารถชี้ให้เห็นข้อผิดพลาดของเขา
  • ขยายความพยายามควบคุมคุณภาพในรหัสของเขา
  • ทำให้เขาเขียนการทดสอบความเครียดถ้าเขาเห็นเครื่อง dev ของเขาชนหลังจากสร้างและทำลายวัตถุ 10k บางทีเขาอาจเรียนรู้
  • น้อย / ทั้งหมดข้างบน :)

3

การตัดสินใจที่จะยิงใครก็ตามเป็นการตัดสินใจที่ยากสำหรับทุกคนที่จะตัดสินใจ แม้ว่าสถานการณ์ของคุณจะประกอบไปด้วยปัจจัยหลายประการ:

  1. ดูเหมือนว่านักพัฒนานี้ได้รับใน บริษัท เป็นเวลาหลายปี
  2. ผู้พัฒนาเขียนรหัส บริษัท C ++ ทั้งหมด
  3. ดูเหมือนว่าก่อนที่คุณจะไม่มีใครพูดถึงระดับของรหัสที่ไม่ดีกับนักพัฒนา
  4. ในฐานะที่เป็นผู้จัดการคนใหม่คุณไม่มีความคิดว่าใคร / สิ่งที่นักพัฒนารู้ใน / เกี่ยวกับ บริษัท และสิ่งที่ความแตกต่างทางการเมืองของการยิงนักพัฒนาคืออะไร

ที่กล่าวว่าคุณใช้เวลา 6 เดือนที่ผ่านมาแสดงนักพัฒนาถึงข้อผิดพลาดของวิธีการของเขาและรหัสใหม่ของเขายังไม่ได้รับการปรับปรุง

ในขั้นตอนนี้คุณต้องเริ่มต้นการจัดการเชิงรุกเพื่อที่คุณจะได้ภายใน 3 เดือน

  • โปรแกรมเมอร์ C ++ ที่เหมาะสมที่รู้ว่าเขากำลังทำอะไรอยู่

หรือ

  • สิ้นสุดนักพัฒนา

ในการทำเช่นนี้แม้ว่าคุณจะต้องนั่งคุยกับผู้พัฒนาอธิบายสิ่งที่ผิดในการเขียน / อีเมลอธิบายว่านักพัฒนาสามารถปรับปรุงได้อย่างไรและชัดเจนมากว่าหากมีการปรับปรุงที่คาดว่าจะไม่เกิดขึ้นเขาจะถูกยกเลิกใน 3 เดือน

คุณต้องชัดเจนว่าการปรับปรุงนี้คาดว่าจะเกิดขึ้นในช่วงเวลาที่เหลือของการจ้างงานกับ บริษัท ไม่ใช่แค่ในช่วงเวลา 3 เดือน!

คุณควรแจ้งผู้จัดการของคุณและแผนกทรัพยากรบุคคล (ถ้ามี)

ในระหว่างกระบวนการนี้คุณจะต้องจัดการผู้พัฒนาและตรวจสอบงาน / รหัสทุก 1-2 วันและให้แน่ใจว่าพวกเขาถึงขีดข่วนรายละเอียดที่ไม่ได้และอธิบายสิ่งที่สามารถทำได้เพื่อปรับปรุงพวกเขา


1

ไม่ว่าคุณจะยังไม่ชัดเจนว่าคุณจริงจังกับฝีมือการทำงานที่แย่ของเขา (เช่นอาจเป็นไปได้ว่าเขาเห็นเวลาที่คุณใช้กับเขาเป็นตัวเลือกถ้าเขาต้องการที่จะพัฒนามากกว่าความจำเป็นจริง ๆ ) หรือเขามีความเลวอย่างไม่น่าเชื่อ ทัศนคติที่ไม่ยั่งยืน หากยังไม่ชัดเจนนักสำหรับนักพัฒนาซอฟต์แวร์รายนี้ที่คุณกำลังพิจารณาตำแหน่งของเขาในเรื่องนี้ก็ต้องทำการสะกดคำ (สมมติว่าคุณเป็นผู้นำมีอำนาจในการยกเลิก) ความหวังจะทำให้เกิดการเปลี่ยนแปลง

การตัดสินใจการจ้างงานมีความหมายที่กว้างกว่าผู้ชายคนนี้ แต่คุณต้องพิจารณาถึงผลกระทบต่อทีม หากทัศนคติของเขาได้รับอนุญาตให้เจริญขึ้นก็สามารถให้ความขุ่นเคืองจากผู้อื่นหรือให้ผู้อื่นรู้สึกว่าสิ่งนี้ก็โอเคเช่นกัน จากมุมมองของทีมมันจะต้องชัดเจนอย่างแน่นอนว่าถ้าเขาไปมันเป็นเหตุผลที่เหมาะสมและเขามีโอกาสเพียงพอที่จะปรับปรุง

อัญมณีชิ้นหนึ่งที่ฉันหยิบขึ้นมาเมื่อไม่กี่ปีที่ผ่านมาคือความจริงที่ว่าผู้ที่มีความรู้ด้านเทคนิคที่คนอื่นไม่สามารถนำไปสู่การจัดการเพื่อให้พวกเขาหย่อน มันไม่ดีสำหรับทีม คุณอาจกลัวว่าจะสูญเสียนักพัฒนา c ++ เพียงรายเดียว แต่สามารถเปลี่ยนได้ เห็นได้ชัดว่ามีความเสี่ยงโดยธรรมชาติถ้าเขารู้จักผลิตภัณฑ์ที่วางจำหน่ายได้ดี แต่บ่อยครั้งที่ฉันเคยเห็นคนที่มีความรู้ด้านเทคนิค / ผลิตภัณฑ์ที่ไม่สามารถถูกแทนที่ได้ง่ายกว่าที่คาดการณ์ไว้ ทีมงานและองค์กรต่างๆมักจะเติมเต็มช่องว่างที่เริ่มยากที่จะเติม แน่นอนว่าถ้าเขาไม่มีทักษะ c ++ หรือความรู้เฉพาะขององค์กรที่คุณคิดว่ายากที่จะแทนที่มันมีปัญหาน้อยกว่ามาก!


1
ฉันสงสัยว่าผู้ชายคนนี้จะงุนงงอย่างแน่นอนเมื่อพบว่าผู้จัดการของเขากำลังคิดจะยิงเขา บางคนที่คุณเพิ่งตีหัวด้วยไม้กระดานและแบนออกบอกพวกเขาว่าพวกเขาต้องปรับปรุงหรือพวกเขาจะถูกไล่ออก
HLGEM

0

แน่นอนคุณไม่ควร โปรดจำไว้ว่านี่ไม่ใช่การกุศลคุณกำลังแลกเปลี่ยนเงินเพื่อทำงาน หากเขาไม่ได้จัดการด้านข้างของข้อตกลงแล้วก็เหมือนกับธุรกรรมใด ๆ ที่ฉันหยุดจ่าย


-1

หากคุณต้องการให้โอกาสแก่เขาให้พัฒนาการทดสอบมาตรฐานที่รวบรวมการวัดการรั่วไหลของหน่วยความจำ ติดตามความคืบหน้าของเขาเป็นประจำทุกสัปดาห์โดยยืนยันที่จะเห็นรหัสที่เขาเปลี่ยนแปลงและมองหาการปรับปรุง หากเขาไม่สามารถจัดการในจุดนั้นกระสอบ invective ไร้ประโยชน์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.