คุณจะตัดสินใจได้อย่างไรว่าคุณควรทำโครงการหรือไม่?


11

ฉันเป็นผู้พัฒนาที่ค่อนข้างใหม่ อย่างมืออาชีพฉันได้เขียนโปรแกรมใน C # เป็นเวลาสองปีในฐานะฝึกงานและ 6 เดือนในฐานะนักพัฒนารุ่นน้อง เพื่อนในครอบครัวของฉันต้องการความช่วยเหลือในโครงการที่เขียนใน VB.net ฉันไม่เคยใช้ VB.net ดังนั้นฉันจึงกังวลเล็กน้อยอยู่ที่นั่น

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

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

แก้ไข

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


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

2
นี่คือตัวอย่างจริงที่ฉันมีอยู่ในตอนนี้ แต่ฉันรู้สึกว่ามันจะเป็นประโยชน์โดยทั่วไปในการเปิดการอภิปรายเกี่ยวกับวิธีที่คุณเลือกโครงการเพราะไม่มีคำถามที่คล้ายกัน
J Lundberg

@J Lundberg: ฉันได้อัปเดตคำตอบของฉันในการตอบสนองต่อการอัปเดตของคุณ
FrustratedWithFormsDesigner

3
หากเขาไม่รู้จักการเขียนโปรแกรมใด ๆ แล้วทำไมเขาถึงยืนยันกับ VB.NET? เห็นได้ชัดว่าเขาจะไม่ทำงานในโครงการกับคุณ ไม่มีเหตุผลที่จะใช้งานผ่าน C # ใน. NET คุณสามารถรวบรวม VB.NET ที่มีอยู่และใช้เป็นห้องสมุดในรหัส C # ของคุณหรือในทางกลับกัน
Jonathan Henson

"ต้องการความช่วยเหลือ" - สิ่งนี้จ่ายหรือยังไม่ได้ชำระหรือไม่?

คำตอบ:


11

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

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

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

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

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

นี่เป็นโครงการที่ฉันจะสนุกกับการทำงานหรือไม่? ทีมเป็นทีมที่ฉันจะสนุกกับการทำงานด้วยหรือไม่

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

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

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

ป.ล. ฉันหวังว่าฉันจะได้อ่านบทความนี้ก่อนหน้านี้ในอาชีพของฉัน มันใช้กับย่อหน้าสุดท้ายของฉัน http://www.joelonsoftware.com/articles/fog0000000356.html


5
+1 สำหรับ "ไม่ทำงานเพื่อครอบครัว" ไม่เว้นแต่ฝ่ายใดฝ่ายหนึ่งจะลงทุนมากเกินไปและมองว่ามันเป็นความสนุกที่บริสุทธิ์และถึงอย่างนั้นก็ควรระมัดระวัง
Ethel Evans

11

นักพัฒนาที่มีประสบการณ์จะตัดสินใจได้อย่างไรว่าจะทำโครงการนี้หรือแค่ปล่อยมันไป?

ฉันต้องการงานหรือไม่ ถ้าเป็นเช่นนั้นฉัน "รับ" โครงการ

มีตัวชี้วัดที่ดีอะไรบ้างที่จะทำให้การตัดสินใจง่ายขึ้น

ฉันมีทางเลือกมากมาย มากกว่า 1? ฉันสามารถเลือกระหว่างทางเลือก

เพียง 1 ดี. แค่นั้นแหละ

คำถาม "ความเครียดในชีวิตของฉัน" เป็นสิ่งที่สงสัย; ความล้มเหลวในการดำเนินโครงการหมายถึงความล้มเหลวในการรักษาการจ้างงาน ซึ่งมีผลร้าย

หากคุณมีอิสระทางการเงินแบบที่ "ความเครียด" เป็นปัจจัยในการตัดสินใจมันยอดเยี่ยมมาก


3
+1: คุณคิดว่ามันจะมีอะไรมากกว่านั้น แต่นั่นก็เป็นสิ่งที่มันทำให้ทุกครั้ง
Ryan Hayes

@ S.Lott- ฉันแน่ใจว่าคุณมักจะมีโอกาสได้ทำงานในหลายโครงการ ดูเหมือนไม่น่าเป็นไปได้ว่าคุณอยู่ในสถานการณ์ประเภท "ทำหรือตาย" บ่อยครั้งมาก ฉันอาจจะคิดมากเกินไป แต่ดูเหมือนว่าจะเป็นคนฟางเพราะคนที่มีประสบการณ์ของคุณได้เลือกที่จะปิดโครงการที่นี่และที่นั่นและมีโครงการที่อาจยอมรับก่อนหน้านี้เมื่อคุณไม่จำเป็นต้องอยู่ใน "รัดสำหรับเงินสด" ความรู้สึก
Morgan Herlocker

1
@ รหัส: "ฉันอาจจะสมมติมากเกินไป" จริง ฉันไม่เคยมีโอกาสปิดโครงการเนื่องจากความเครียด
S.Lott

@ S.Lott ฉันหมายถึงความเครียดในแง่ที่ว่าฉันมีงานแล้วและทำอะไรแบบนี้ก็อาจทำให้ฉันมีเวลาเป็นศูนย์สำหรับครอบครัวของฉัน
J Lundberg

@J Lundberg: โปรดอัปเดตคำถามของคุณเพื่อรวมข้อเท็จจริงทั้งหมด
S.Lott

5

คุณจะได้อะไรจากโครงการนี้ เงินได้หรือไม่ ประสบการณ์? อื่น ๆ อีก?

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

  • ประสบการณ์: คุณจะได้เรียนรู้ภาษาใหม่! นั่นอาจมีค่าในอนาคตอาจทำให้คุณมีความได้เปรียบเหนือผู้พัฒนา. NET ที่รู้จัก C # เพียงเล็กน้อยเท่านั้น

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

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


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


3
A friend of my family

ส่วนตัวถ้าวลีนี้เกี่ยวข้องฉันไม่ได้ทำโครงการ


2

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

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

ในกรณีของคุณคุณสามารถและควรปฏิเสธโครงการ - คุณไม่มีประสบการณ์เพียงพอคุณไม่รู้ภาษามันใหญ่เกินไปสำหรับคุณ


1

ฉันทำโปรแกรมอิสระมานานกว่ายี่สิบปีแล้ว เพื่อให้โครงการประสบความสำเร็จอย่างแท้จริงจะต้องมีอย่างน้อยดังต่อไปนี้:

  1. ใครบางคนที่รู้เทคโนโลยีการเขียนโปรแกรมซอฟต์แวร์และฮาร์ดแวร์ที่ใช้สำหรับการปรับใช้ - หรือเทคโนโลยีที่คล้ายกันมากพอที่จะเรียนรู้เทคโนโลยีการปรับใช้อย่างรวดเร็ว
  2. ใครบางคนที่รู้โดเมนปัญหาและสามารถและเต็มใจที่จะแปลสิ่งนั้นให้เป็นข้อกำหนดที่โปรแกรมเมอร์สามารถใช้ได้ (หากโปรแกรมเมอร์เป็นผู้เชี่ยวชาญด้านโดเมนและโครงการนั้นง่ายพอรายละเอียดสามารถอยู่ในหัวหรือบันทึกย่อของพวกเขา)
  3. คนที่มีความสามารถมีความเต็มใจและมีประสบการณ์ในการจัดการงานโครงการไทม์ไลน์ ฯลฯ เป็นอย่างดีและรู้ถึงชนิดของข้อผิดพลาดที่คุณจะได้รับจากสิ่งต่าง ๆ เช่นการประเมินและวิธีหลีกเลี่ยง
  4. ใครบางคนในการจัดการการสื่อสารและความสัมพันธ์ระหว่างผู้มีส่วนได้ส่วนเสียของโครงการทั้งหมดรวมถึงโปรแกรมเมอร์และลูกค้า
  5. ผู้คนทั้งสองด้านที่ปรึกษาและลูกค้าที่มีประสบการณ์ในการทำให้ธุรกิจดำเนินต่อไปอย่างมั่นคงรวมถึงสัญญาและเงิน หากคุณไม่มีประสบการณ์นี้ด้วยตัวคุณเองคุณสามารถขอคำแนะนำจากที่ปรึกษาที่มีประสบการณ์จนกว่าคุณจะ
  6. ความสัมพันธ์ทางธุรกิจที่มีความยาวถ้าหากคุณต้องตัดสินใจทางธุรกิจที่ยากลำบากคุณจะไม่มีปัญหานอกการทำงาน
  7. ทีมที่มีขนาดใหญ่พอที่ผสมผสานความเชี่ยวชาญเครื่องมือและทรัพยากรเข้าด้วยกันเพื่อส่งมอบผลิตภัณฑ์ที่มีคุณภาพภายในระยะเวลาที่กำหนด

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

ฟังดูเหมือนว่าสถานการณ์นี้จะพลาดไปแน่นอนใน # 1, # 3, # 6 และ # 7 และอาจจะทั้งหมด อย่างที่อดัมพูดกับ Mythbusters "นี่เป็นสูตรสำหรับภัยพิบัติ"

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

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

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


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


0

คุณต้องการทำงานกับคนอื่น ๆ ที่เกี่ยวข้องหรือไม่

โครงการเป็นเพียงข้อแก้ตัวในการพบปะและเชื่อมโยงกับผู้คน


ฉันชอบมุมมองนั้น เราควรทำงานในโครงการด้วยกัน
Jonathan Henson

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

0

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

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

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