จะเกิดอะไรขึ้นหากคุณไม่สามารถแก้ปัญหาได้ [ปิด]


58

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

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

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


24
สิ่งนี้ใช้กับอาชีพใด ๆ - ล้มเหลวอย่างรวดเร็ว, ขอความช่วยเหลือ, หาวิธีแก้ปัญหาที่เป็นไปได้ก่อนที่จะยอมรับ
Steven A. Lowe

9
ไม่ต้องกังวล 80% ของงานมีการรักษากองขยะเก่า
งาน

ไม่สามารถแก้ปัญหาได้หรือ เป็นไปได้ไหม
WernerCD

3
ฉันไม่คิดว่านี่จะเป็นปัญหาจริงเว้นแต่ว่ามันจะเป็นปัญหาที่ Jon Skeet ไม่สามารถแก้ไขได้ในกรณีนี้เราทุกคนต้องถึงจุดโทษ!
Skizz

คำตอบ:


56

ก่อนอื่นความกลัวของคุณนั้นแข็งแรงมากและเป็นเรื่องปกติ นี่คือเพลงของฉันหลังจากผ่านไปประมาณ 15 ปีในอุตสาหกรรมซอฟต์แวร์
นี่คือคำถามที่ถามตัวเอง:

  1. คุณเข้าใจปัญหาหรือไม่
  2. คุณรู้หรือไม่ว่าปัญหานี้แก้ไขไม่ได้ (ภายในเวลา / งบประมาณที่ จำกัด )
  3. คุณไม่รู้วิธีแก้ปัญหาหรือไม่?
  4. ลูกค้า / เจ้านายของคุณถามหาสิ่งที่เป็นไปไม่ได้
  5. มันคุ้มหรือไม่ (ROI)
  6. มันเป็นปัญหาที่แท้จริงหรือไม่?

1) ก่อนอื่นให้แน่ใจว่าคุณเข้าใจปัญหา ไม่มีคำถามโง่ ๆ คุณเข้าใจหรือไม่ว่าลูกค้า / เจ้านายของคุณขออะไรจากคุณกับสิ่งที่พวกเขาต้องการ?

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

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

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

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

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

หวังว่าแนวทางเหล่านี้จะช่วยคุณได้


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

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

ฉันชอบ # 4 ไม่ใช่คำถาม
endolith

57

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

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

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


11
+1 สำหรับ "ขอความช่วยเหลือ" ดวงตาคู่อื่นที่มีปัญหาอาจมีประโยชน์อย่างยิ่ง
Michael K

5
+1 สำหรับจุดที่สองของคุณ ... ระวังวิธีแก้ปัญหา 95% นั่นคือทางออกที่ทำให้คุณได้รับ 95% ของวิธีการที่นั่นอย่างรวดเร็ว แต่แทบจะเป็นไปไม่ได้เลยที่จะทำงาน 100% ฉันพบว่ามันง่ายมากที่จะได้เวลามากขึ้นในการพยายามรับ 5% สุดท้ายเพราะคุณ "เกือบจะถึง"
Scott Whitlock

5
"นายคอร์เลโอเนเป็นคนที่ยืนยันในการได้ยินข่าวร้ายทันที"
JeffO

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

4
แม้แต่การอธิบายปัญหาให้คนอื่นอย่างง่าย ๆ ก็สามารถช่วยให้คุณหาทางแก้ไขได้
alexanderpas

26

ฉันไปที่StackOverflow ;)

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


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

10
ครั้งล่าสุดที่ฉันไม่สามารถเข้าใจปัญหาเกี่ยวกับซอฟต์แวร์บางอย่างการขอให้ฉันได้คำตอบที่ถูกต้องเกือบจะทันที
David Thornley

คำตอบที่ดี! +1 - ส่วนที่ดีที่สุดของการพัฒนาซอฟต์แวร์ - "อาชีพของคุณจะไม่เป็นที่รู้จัก"
Karthik Sreenivasan

10

ฉันจะต้องไปด้วยคำตอบง่ายๆ: ฉันขอความช่วยเหลือ เช่นเดียวกับคนอื่น ๆ บางครั้งฉันขอความช่วยเหลือเมื่อพวกเขากำลังพยายามหาทางแก้ไขบางอย่าง

แก้ไข: ฉันควรพูดถึงว่าฉันมักจะหาวิธีแก้ปัญหาเพียงอธิบายปัญหาให้เพื่อนร่วมงานหรือบางครั้งแม้เมื่อฉันเริ่มโพสต์คำถามบนไซต์เช่น StackOverflow


3
บางครั้งการพูดคุยกับเพื่อนร่วมงานที่เข้าใจงานสามารถช่วยได้แม้ว่าพวกเขาจะไม่ได้ให้คำแนะนำใด ๆ เพียงแค่พูดออกมาก็สามารถช่วยคุณเรียงลำดับในหัวของคุณเอง
funkymushroom

9

ดูจากมุมที่แตกต่าง

ฉันเคยเจอมาหลายครั้งแล้วมักจะเกิดอะไรขึ้น:

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

ในที่สุดคุณก็เลือกสิ่งที่คุณไม่ต้องการทำ ->

"การแฮ็คสกปรก"

มันใช้งานได้ แต่คุณรู้สึกสกปรก ...


3
+1 สำหรับแฮ็คที่สกปรกบางครั้งการแก้ปัญหาที่ไม่เหมาะสมดูเหมือนไม่มีวิธีแก้ปัญหาเลย ... แน่นอนว่าไม่มีใครชอบตัวแปรทั่วโลก แต่ถ้านี่เป็นวิธีเดียวที่จะได้รับข้อมูลจาก A ถึง B ... ดีกว่าไม่ส่งเลย
281377

+1 - คำอธิบายที่ชัดเจนเกี่ยวกับประสบการณ์ที่พบบ่อยที่สุดที่นักพัฒนาซอฟต์แวร์ต้องเผชิญ
Karthik Sreenivasan

5

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


4
ฉันอิจฉาคุณ --- คุณมีหัวหน้าที่เข้าใจในสิ่งที่คุณทำดีกว่าที่คุณทำ กตัญญู!
JasonFruit

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

เจ้านายของคุณควรรู้มากกว่าคุณในหลาย ๆ เรื่อง IMO
johnny

5

ขึ้นอยู่กับเหตุผลที่คุณไม่สามารถ ...

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

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

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

  • คุณไม่รู้วิธีการ: ถามเพื่อน ๆ ของคุณ, ถาม stackoverflow, ค้นหาทางอินเทอร์เน็ต ติดต่อฝ่ายสนับสนุนของเครื่องมือ / lib ที่คุณใช้ พูดคุยกับผู้จัดการโครงการ

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


4

ฉันคิดว่าคนอื่น ๆ ชี้ให้เห็นอย่างชัดเจนถึงวิธีจัดการกับมันในลักษณะมืออาชีพ ฉันต้องการจะบอกวิธีจัดการกับความรู้สึกส่วนตัวเช่นแห้วความกลัว

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

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

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

บางครั้งฉันคิดว่าความยุ่งยากความกลัวที่ไม่แก้ปัญหาคือชีวิตของฉันในฐานะนักพัฒนาโดยเฉลี่ย


2

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

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

ที่กล่าวว่าฉันมีสองสามครั้งที่ฉันวิ่งเข้าไปในสถานการณ์พิเศษบางอย่าง:

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

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


2

ดังที่คนอื่น ๆ พูดกันการสื่อสารเป็นสิ่งสำคัญ - ให้ผู้คนรับรู้ (ใครจะได้รับผลกระทบ) เมื่อคุณติดขัด: เจ้านายสมาชิกในทีมลูกค้า ฯลฯ

เพื่อนร่วมงานที่เฉียบแหลมเคยปลูกฝังให้ฉันว่าความสำเร็จมีรากฐานมาจากสองสิ่ง:

  1. สัมพันธ์
  2. ความคาดหวัง

ฉันคิดว่ามีความสัมพันธ์ที่ดีเป็นหน้าที่ของการสื่อสารที่ดีและตั้งความคาดหวังไว้ล่วงหน้า


2

ฉันติดตามเจ้า Polya:

"หากมีปัญหาที่คุณแก้ไขไม่ได้แสดงว่ามีปัญหาที่คุณไม่สามารถแก้ไขได้ง่ายกว่า: หาได้"

George Polya

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


1

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

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

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


1

การขอความช่วยเหลือเป็นคำตอบที่ดีที่สุด แต่นี่เป็นเพียงเล็กน้อยที่อาจเป็นประโยชน์

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

ใช่มันเกิดขึ้นกับฉันและไม่ฉันไม่เคยถูกตำหนิหรือถูกไล่ออกเพราะมัน ...

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

ผู้จัดการของคุณพูดว่าอะไรจริง ๆ "ฉันอยากให้คุณทำ X แล้วคุณคิดว่าจะทำยังไง?" และคุณสามารถให้คำตอบมากมาย คนดีรวมถึง:

  • ฉันทำอะไรที่คล้ายกันมากกับเรื่องนี้ดังนั้นฉันคิดว่ามันต้องใช้เวลาสามสัปดาห์และฮาร์ดแวร์การทดสอบมูลค่า $ 3,000
  • ฉันมีบางสิ่งที่คล้ายกันกับสิ่งนี้ ดังนั้นให้ฉันคิดเกี่ยวกับมันและกลับมาหาคุณบ่ายนี้
  • ฉันไม่เคยทำอะไรแบบนี้ ดังนั้นให้ฉันค้นคว้าและกลับมาหาคุณในวันพรุ่งนี้
  • ไม่มีใครบนโลกนี้เคยทำเช่นนี้มาก่อน หากคุณต้องการตรวจสอบมันจะใช้เวลาสองสัปดาห์กว่าฉันจะทำการทดลองเพียงพอที่จะทำการประเมิน

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

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


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

1

มีปัญหาที่แตกต่างกันมากมายที่คุณจะนิ่งงันและหลายวิธีมีวิธีการจัดการที่แตกต่างกัน

ปัญหาประเภทหนึ่งคือการนำสิ่งที่คุณไม่เคยเห็นมาก่อนเช่น API เสียงแปลก ๆ หรือบางอย่างมาใช้ ในกรณีนี้ฉันถาม SO อย่างจริงจัง

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

ปัญหาที่น่ารำคาญอย่างหนึ่งคือคำขอที่ระบุไม่ดี พวกเขาแค่ต้องการสิ่งที่ทำ "x" และไม่บอกคุณว่าควรทำอย่างไร สำหรับวิธีการที่ดีคือต้นแบบอินเทอร์เฟซ (โดยทั่วไปคือ GUI) และให้ใครบางคนเล่นกับมัน

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

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

ทางออกที่ดีที่สุดของคุณคือการเขียนคำว่า "Don't Panic" ที่ด้านนอกของแล็ปท็อปของคุณ และอย่าลืมผ้าเช็ดตัวของคุณ


+1 สำหรับการอ้างอิง HHGTTG ​​และ "จากนั้นมีข้อ จำกัด ด้านเวลาที่ไม่สามารถทำได้" จริงเกินไป ในโลกธุรกิจที่นำโดยการตลาดที่ทันสมัยคุณอาจถูกขอให้สร้างสิ่งที่ในไม่ช้าถ้าไม่ได้ขาย แต่จะใช้ทีมเป็นสองเท่าของขนาดสามเท่าของเวลาที่กำหนด
Orbling

1

ลำดับการแก้ไขปัญหาของฉัน (ทุก spet ถัดไปจะดำเนินการเฉพาะเมื่อก่อนหน้านี้ไม่ทำงาน):

  1. ลอง google
  2. ถามใครสักคน
  3. ค้นหา SO โดยตรง (ผ่าน Google)
  4. คิด
  5. ควัน (== ล้างหัว)
  6. ถามคำถามเกี่ยวกับ SO
  7. รอจนถึงเช้า (== ล้างหัวให้มากขึ้น)
  8. ใช้แฮ็คที่สกปรกและรู้สึกแย่กับตัวเอง :(

แก้ไขปัญหาที่น่ารังเกียจในขั้นตอนที่ 5-6

โดยปกติแล้วปัญหาที่เลวร้ายจริงๆต้องใช้เวลาพอสมควร (ขั้นตอนที่ 7 คือวิธีแก้ปัญหา 'ดูเหมือนว่าฉันไม่สามารถทำอะไรได้เลย) และฉันหมายถึงมัน - สลับไปที่งานอื่นตลอดทั้งวันและพยายามแก้ไขปัญหาสิ่งแรกในตอนเช้า นั่นเป็นสิ่งมหัศจรรย์

และจากนั้นก็มาถึงขั้นตอนที่ 8


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

0

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


3
-1 เป็นไปได้แน่นอนที่จะได้รับปัญหาซึ่งเป็นไปไม่ได้ที่จะแก้ไข "ออกแบบตัวแก้รหัสผ่านกำลังดุร้ายซึ่งสามารถถอดรหัสรหัสผ่าน 30 ตัวอักษรในเวลาไม่ถึงนาทีซึ่งจำเป็นต้องใช้กับ Pentium 2 ที่มี RAM 256 เมกะไบต์"
AttackHobo

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

@AttackingHobo ... นั่นไม่ใช่ปัญหาจริง
Dacto

0

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


0

ขึ้นอยู่กับว่าปัญหาคืออะไร แต่การตอบสนองอาจเป็นหนึ่งใน:

  1. ค้นหาวิธีแก้ปัญหา / ทดแทน
  2. ซื้อโซลูชันเชิงพาณิชย์ที่ใกล้เคียงกับที่คุณต้องการ
  3. Dont give up และให้ทำงานที่มันตราบเท่าที่คุณจำเป็นต้องจนกว่าคุณประสบความสำเร็จ

หมายเลข 3 อาจต้องใช้เวลาในการหยุดปัญหาและกลับมาทบทวนอีกหลายสัปดาห์หรือหลายเดือนต่อมา ที่มักจะช่วย


0

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

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

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


0

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

ที่ช่วย:

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

0

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

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

บ่อยครั้งที่การอธิบายปัญหาของคุณจะเปิดเผยวิธีแก้ปัญหาและการอธิบายวิธีแก้ปัญหาของคุณอาจเปิดเผยข้อบกพร่องที่เท่าเทียมกัน


0

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

ปัญหาเป็นเพียงสิ่งที่คุณสังเกตไม่ใช่สิ่งที่คุณจินตนาการ

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

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

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