คำถามติดแท็ก communication

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

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

17
ทักษะการสื่อสารของฉันจะสูญเปล่าในอาชีพวิศวกรรมซอฟต์แวร์หรือไม่? [ปิด]
ฉันอยู่ในแวดวงวิศวกรรมการเงิน (หลังจากปริญญาตรีคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์ BA) ประมาณ 5 ปี (การวิเคราะห์ / การเขียนโปรแกรม 20%, การสื่อสาร 80%) และภูมิใจในความสามารถของฉันในการสื่อสารกับผู้คนและหารือเกี่ยวกับปัญหาทางเทคนิค กับทีม) ฉันรักส่วนนี้ของงานของฉัน ไปที่กระดานไวท์บอร์ดเพื่อวาดแนวคิดที่เป็นนามธรรมและระดมสมอง อย่างไรก็ตามด้วยเหตุผลหลายประการฉันต้องการเปลี่ยนอาชีพของฉันเป็น บริษัท เทคโนโลยี (วิศวกรรมซอฟต์แวร์) แต่ฉันกลัวอย่างยิ่งว่าฉันจะตกอยู่ในงานเขียนโปรแกรมสำเร็จรูปซึ่งมีรหัสโปรแกรมเมอร์ที่มีหูฟังขนาดใหญ่เปิดอยู่ แน่นอนฉันรู้ว่านี่เป็นเพียงภาพตัวอย่าง แต่ฉันได้เห็นสภาพแวดล้อมที่คล้ายกันมาก่อน (ตอนที่เพิ่งเริ่มต้น) และมันทำให้ฉันกลัวที่จะคิดว่าฉันจะย้ายไปทำงานที่โดดเดี่ยว ฉันรักการเขียนโปรแกรมและคิดอัลกอริทึม แต่ฉันไม่ต้องการให้โต้ตอบกับผู้คน ฉันเข้าใจว่าการมีทักษะการสื่อสารนั้นเป็นเพียงการมองในแง่ดี แต่ฉันกำลังเตรียมความพร้อมสำหรับความล้มเหลวในอาชีพการงานโดยการเปลี่ยนไปใช้วิศวกรรมซอฟต์แวร์ ฉันชอบที่จะได้ยินคำอธิบายและ / หรือคำแนะนำใด ๆ

19
คุณพูดว่าอะไรในการตรวจสอบโค้ดเมื่อบุคคลอื่นสร้างโซลูชันที่ซับซ้อนเกินควร [ปิด]
เมื่อวันก่อนฉันตรวจสอบรหัสคนในทีมของฉันเขียน โซลูชันไม่ทำงานอย่างสมบูรณ์และการออกแบบซับซ้อนเกินความหมาย - หมายถึงข้อมูลที่ไม่จำเป็นที่เก็บไว้สร้างคุณลักษณะที่ไม่จำเป็นและโดยทั่วไปรหัสนั้นมีความซับซ้อนที่ไม่จำเป็นเช่นการชุบทองและพยายามแก้ปัญหาที่ไม่มีอยู่จริง ในสถานการณ์นี้ฉันถามว่า "ทำไมมันถึงทำแบบนี้?" คำตอบคือคนอื่นรู้สึกเหมือนทำอย่างนั้น จากนั้นฉันถามว่าคุณสมบัติเหล่านี้เป็นส่วนหนึ่งของข้อมูลจำเพาะของโครงการหรือไม่หรือมีการใช้งานกับผู้ใช้หรือไม่หรือมีข้อมูลเพิ่มเติมใด ๆ ที่จะนำเสนอให้กับผู้ใช้ปลายทาง คำตอบคือไม่ ดังนั้นฉันขอแนะนำให้เขาลบความซับซ้อนที่ไม่จำเป็นทั้งหมด คำตอบที่ฉันมักจะได้รับคือ "ทำได้ดีอยู่แล้ว" มุมมองของฉันคือว่ามันไม่ได้ทำมันเป็นรถไม่ได้ทำในสิ่งที่ผู้ใช้ต้องการและค่าบำรุงรักษาจะสูงกว่าถ้ามันทำในวิธีที่ง่ายกว่าที่ฉันแนะนำ สถานการณ์ที่เทียบเท่าคือ: เพื่อนร่วมงานใช้เวลาในการเปลี่ยนรหัส 8 ชั่วโมงด้วยมือซึ่งสามารถทำได้โดยอัตโนมัติใน Resharper ใน 10 วินาที โดยธรรมชาติแล้วฉันไม่เชื่อถือการปรับโครงสร้างด้วยมือเนื่องจากมีคุณภาพที่น่าสงสัยและไม่ผ่านการทดสอบอย่างสมบูรณ์ คำตอบที่ฉันได้รับอีกครั้งคือ "ก็เรียบร้อยแล้ว" การตอบสนองที่เหมาะสมกับทัศนคตินี้คืออะไร?

5
คุณปลดอาวุธโคบาลคาวบอยได้อย่างไร [ปิด]
ฉันพบคำถาม (รหัสโคบาลของทีม) แต่มันเกี่ยวข้องกับ "Ninja Coder" มากกว่าปัญหาที่ฉันมี ฉันมีสมาชิกในทีมที่เป็นตัวอย่างชีวิตที่บริสุทธิ์ของ " คาวบอยโคเดอร์ " ฉันเข้าใจว่าไม่มีใครเปลี่ยนคนได้ แต่เป็นวิธีที่ทำให้เขาหยุดทำตัวเหมือน "โคบาลโคด" หรือไม่? เขาปฏิเสธที่จะฟังทีมและเมื่อเร็ว ๆ นี้เขาได้หยุดการตรวจสอบโค้ดการทดสอบหน่วยการแบ่งปันรายละเอียดการใช้งาน ฯลฯ ใช่เขา "รหัส" เร็ว แต่รหัสของเขาเป็นเพียงตัวสร้างบั๊ก สมาชิกในทีมคนอื่น ๆ และฉันอยู่ใน "ขั้นตอนการแก้ไขข้อบกพร่อง" และ 80% ของข้อบกพร่องมาจากรหัสของเขา ฉันไม่ต้องการแก้ไขข้อบกพร่องของเขา และผู้บริหารก็ตาบอดหรือไม่ต้องการเห็นสิ่งนี้หรือบางทีพวกเขาอาจชอบความเร็วของเขา มีวิธีใดบ้างที่ฉัน (ในฐานะเพื่อนร่วมงานอายุน้อยกว่าไม่ใช่เจ้านายของเขา) สามารถทำอะไรกับมันได้บ้าง? ฉันจะปลดอาวุธโคบาลโคบาลนี้ได้อย่างไร ฉันรู้สึกเหมือนฉันเป็นคนสุดท้ายที่ใส่ใจโครงการอย่างแท้จริง

4
มารยาทเมื่อถามคำถามในช่อง IRC [ปิด]
โครงการ OSS ขนาดใหญ่จำนวนมากจะรักษาช่องสัญญาณ IRC เพื่อหารือเกี่ยวกับการใช้งานหรือการพัฒนา เมื่อฉันติดขัดกับการใช้งานโปรเจคต์การพยายามและล้มเหลวในการค้นหาข้อมูลบนเว็บซึ่งเป็นหนึ่งในวิธีที่ฉันพยายามจะคิดออกว่าจะทำอย่างไรเพื่อไปที่ช่อง IRC และถาม แต่คำถามของฉันถูกเพิกเฉยอย่างสมบูรณ์โดยผู้คนในช่อง หากมีความเงียบเมื่อฉันเข้าจะยังคงมีความเงียบ หากมีการสนทนาอย่างต่อเนื่อง ฉันเปิดช่องทิ้งไว้สองสามชั่วโมงโดยหวังว่าในที่สุดบางคนอาจจะชวนฉัน แต่ก็ไม่มีอะไรเกิดขึ้น ดังนั้นฉันกังวลว่าฉันเป็นคนหยาบคายในทางที่ฉันไม่เข้าใจหรือทำผิดกฎที่ไม่ได้พูดและไม่สนใจมัน ฉันพยายามที่จะทำให้คำถามของฉันสุภาพตรงประเด็นและไวยากรณ์และพยายามระบุว่าฉันได้ลองวิธีแก้ปัญหาที่ชัดเจนและทำไมพวกเขาถึงไม่ทำงาน ฉันเข้าใจว่าเห็นได้ชัดว่าฉันเป็นคนแปลกหน้าคนหนึ่งในช่องทางที่สมบูรณ์ แต่ฉันไม่แน่ใจว่าจะแก้ไขได้อย่างไร ฉันควรแฝงตัวในช่องโดยไม่พูดอะไรเลยเป็นเวลาหนึ่งสัปดาห์? นั่นดูไร้สาระเหมือนกัน ข้อความทั่วไปที่ฉันส่งอาจเป็น "สวัสดีทุกคน - ฉันพยายามทำให้ Foo ทำงาน แต่ฉันยังได้รับ BarException ต่อไปฉันลองรีเซ็ต Quux แต่ดูเหมือนจะไม่ทำอะไรเลย ข้อเสนอแนะเกี่ยวกับสิ่งที่ฉันจะลอง?

12
จะอธิบาย 5 ปีที่ถูกไฟไหม้ให้กับนายจ้างใหม่ได้อย่างไร? [ปิด]
ห้าปีที่แล้วฉันสูญเสียความสามารถในการตั้งสมาธิในระยะยาวดังนั้นความสามารถในการเขียนโค้ดอย่างมีประสิทธิภาพระดับมืออาชีพ ฉันรู้ว่าทำไมมันเกิดขึ้นฉันเข้าใจว่ามันเกิดขึ้นได้อย่างไรและบนความสามารถในการสร้างความสงบใหม่และการมุ่งเน้นที่ผ่อนคลายฉันได้เอาชนะเหตุผลดั้งเดิม (หยั่งรากในวัยเด็ก) เหตุผลที่ใจของฉันเอียงต่อสถานการณ์โดยรวมแล้ว ความเข้าใจของฉันไม่ได้ถูกหยั่งรากในคำที่นักจิตวิทยาบอกฉันฉันจริง ๆ แล้วพวกเขาจับมือพวกเขาโดยตรง ฉันค่อนข้างมั่นใจว่าจะสามารถลดกำลังการผลิตอาจเป็นไปได้มากกว่าการเหนื่อยหน่าย ฉันไม่เคยหมดความสนใจในโค้ดและไม่หลงทางจากการพยายามดึงความสามารถกลับคืนมา ฉันเก็บความรู้ของฉันอยู่เสมอ (ฉันสามารถเรียนรู้สิ่งต่าง ๆ ที่เกี่ยวข้องกับการเข้ารหัสได้อย่างไม่ลำบากเพียงแค่ใช้ไม่ได้) และสามารถพูดได้ว่าฉันเป็นนักพัฒนาที่ดีกว่า แต่ก่อนแม้ว่าค่าเฉลี่ย LOC ของฉันในช่วงหลายปีนั้น ต่ำ. ในอีกทางหนึ่งตอนนี้ฉันมีชีวประวัติที่รวมเวลาบนโดลมากกว่างาน อะไรคือสิ่งที่จะโน้มน้าวให้คุณในฐานะนายจ้างเพื่อเปิดโอกาสให้ใบสมัครของฉัน ฉันไม่เชื่อว่าฉันควรป้องกันไม่ให้หัวข้อทั้งหมดหายไป แก้ไข:ฉันคิดว่าฉันควรเพิ่มที่ฉันไม่ได้เริ่มค้นหาวัยเด็กของฉันสำหรับสาเหตุมันเป็นวิธีการแก้ปัญหาที่ชี้ให้ฉันไปที่สาเหตุ อนิจจาไม่ได้ทำให้ดีที่สุดเพื่อแก้ไข บริษัท (ซึ่งพังทลายในขณะที่ฉันจากไปและยุบวงไปอย่างสิ้นเชิงในอีกหนึ่งปีต่อมา) หยั่งรากลึกในความจริงที่ว่าในวัยเด็กของฉันฉันถึงจุดหนึ่งในการแก้ไขความสัมพันธ์ของพ่อแม่ มันเป็นความล้มเหลวของฉันที่เห็นอกเห็นใจแทนที่จะเป็นกรณีที่สิ้นหวังอย่างที่สุดและฉันก็ไม่เห็นวิธีที่จะอธิบายสิ่งนั้นได้โดยไม่ต้องพูดถึงวัยเด็ก แต่ฉันก็สามารถพูดได้อย่างสมบูรณ์แบบโดยไม่ต้องร้องไห้ออกมา ที่กล่าวว่าใช่ฉันรู้ว่าฉันเขียนถึงพวกคุณในฐานะเพื่อนไม่ใช่นายจ้างในตอนนี้นั่นคือเหตุผลที่ฉันแสดงความไม่ไว้วางใจในตัวคุณโดยใช้บัญชีขาจร. oO (... ) ใช่ฉันวางแผนที่จะเผยแพร่รหัส OSS บางอย่างก่อนที่ฉันจะใช้ทุกที่ แก้ไข 2:ฉันเป็นคนเยอรมันและจะสมัครที่ บริษัท เยอรมันดังนั้น "ความจริงเชิงสร้างสรรค์" จึงไม่ใช่ทางเลือก สำหรับคำตอบที่เลือก:ฉันเลือก Renesis มากกว่า Pierre เพราะในขณะที่หลังทำผลงานได้อย่างยอดเยี่ยมโดยที่ฉันไม่ควรยอมแพ้และให้คะแนนกับฉันในการเสริมทักษะทางสังคมด้วย Renesis ตอบคำถามของฉันอย่างแท้จริง โดยการสรุปปัจจัยสำคัญที่เกี่ยวข้อง

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

5
วิธีที่มีประสิทธิภาพในการบันทึกเหตุผลหลังการตัดสินใจออกแบบผลิตภัณฑ์คืออะไร
ที่ บริษัท ของเราเราจะไม่ใช้เอกสารการออกแบบผลิตภัณฑ์ใด ๆ เรามีพนักงานทั้งหมดสามคนดังนั้นการอภิปรายการออกแบบผลิตภัณฑ์ทั้งหมดจึงเกิดขึ้นด้วยตนเองหรือบน Slack (เราอยู่ในแพ็คเกจ Slack พื้นฐานที่อนุญาตให้ดูข้อความล่าสุดเท่านั้น) ผลิตภัณฑ์ของเรายังอยู่ในช่วงเริ่มต้นและเรามักจะทบทวนองค์ประกอบการออกแบบที่ตัดสินใจเมื่อหลายเดือนก่อน ปัญหาที่เราเผชิญอยู่บ่อยครั้งคือการลืมสาเหตุที่ทำให้การตัดสินใจออกแบบผลิตภัณฑ์เกิดขึ้น ซึ่งส่งผลให้หลายชั่วโมงสูญเสียการหล่อเลี้ยงพื้นดินเดียวกัน เราจะบันทึกเหตุผลอย่างมีประสิทธิภาพหลังการตัดสินใจออกแบบได้อย่างไร ขั้นตอนการทำงานของเราขึ้นอยู่กับ Pivotal Tracker ทางออกหนึ่งที่เกิดขึ้นกับฉันคือการบันทึกเหตุผลในการตัดสินใจการออกแบบที่เกี่ยวข้องทั้งหมดเป็นความคิดเห็นเกี่ยวกับเรื่องราวของผู้ใช้ แต่สิ่งนี้ดูเหมือนไม่น่าเชื่อถือ เพื่อความชัดเจน 100%: ฉันไม่ได้พูดถึงการออกแบบรหัส ฉันกำลังพูดถึงการออกแบบผลิตภัณฑ์ที่รับรู้โดยรหัส กล่าวอีกนัยหนึ่งฉันไม่ได้พูดถึงการตัดสินใจเช่น "เราควรจัดโครงสร้างคลาสนี้โดยใช้การแต่งเพลงมากกว่าการรับมรดกหลายอันหรือไม่"; ฉันกำลังพูดถึงการตัดสินใจเช่น "เราควรกำหนดให้ผู้ใช้ยืนยันที่อยู่อีเมลก่อนที่จะสามารถเข้าสู่ระบบได้หรือไม่" จุดประสงค์ของเอกสารนี้คือเพื่อให้ธุรกิจสามารถดูบันทึกว่าทำไมจึงทำการตัดสินใจเพื่อช่วยในการตัดสินใจเพิ่มเติมเกี่ยวกับหัวข้อเดียวกัน

7
ฉันจะเปลี่ยนวัฒนธรรม บริษัท ที่เลอะเทอะได้อย่างไร [ปิด]
บางครั้งเมื่อฉันมีปัญหาที่ต้องแก้ไขฉันพบว่าวิธีที่ง่ายที่สุดในการแก้ปัญหาคือการเขียนโปรแกรมเล็ก ๆ เป็นเครื่องมือส่วนตัว ฉันไม่ได้ทำให้มันใช้งานได้ดีหรือแข็งแกร่งมากเท่าที่ฉันเป็นคนเดียวที่จะใช้มันและฉันไม่มีเวลาที่จะปรับแต่งและทดสอบอย่างละเอียด จากนั้นเพื่อนร่วมงานจะเห็นโปรแกรมและถามหาเพราะเขาพบปัญหาเดียวกันและเครื่องมือสามารถช่วยได้ ฉันบอกเขาว่า "มันไม่สวย แต่มันจะทำให้งานสำเร็จ" ข้อจำกัดความรับผิดชอบและปล่อยให้เขาได้รับมัน สิ่งต่อไปที่ฉันรู้ผู้บังคับบัญชาของฉันโทรหาฉันบอกฉันว่าเขากำลังพยายามทำให้ซอฟต์แวร์ทำงานบนคอมพิวเตอร์ของลูกค้า แต่มันแสดงข้อความข้อผิดพลาด X วะ ?? ซอฟต์แวร์ดังกล่าวยังไม่พร้อมสำหรับการเปิดตัวและฉันไม่ได้บอกว่ามันต้องพร้อมสำหรับการเปิดตัว แต่ด้วยเหตุผลบางอย่างหัวหน้าของฉันคิดว่ามันดีพอและเปิดตัวโดยไม่บอกนักพัฒนาดั้งเดิม MessageBox.Show("DO NOT GIVE TO CLIENTS!");ตอนนี้ปัญหานี้โดยเฉพาะอย่างยิ่งเป็นเรื่องง่ายที่จะแก้ไขด้วย อย่างไรก็ตามปัญหาดังกล่าวบ่งบอกถึงปัญหาที่ลึกซึ้งยิ่งขึ้น: วัฒนธรรม บริษัท ของเราไม่ราบรื่น ซอฟต์แวร์เลอะเทอะตกลงและกระบวนการเลอะเทอะตกลง ไม่ต้องกังวลเกี่ยวกับอนาคตลองใช้ความพยายามอย่างเต็มที่เพื่อให้มันทำงานได้ไม่เต็มที่วางไบนารีในไฟล์. zip แล้วส่งไป ดีพอสำหรับงานราชการ นี่เป็น บริษัท เล็ก ๆ ที่มีพนักงานเต็มเวลา 10 คนกำลังเติบโตและได้อยู่พักหนึ่ง อย่าเข้าใจฉันผิด ฉันรักการทำงานที่นี่และฉันรัก บริษัท อย่าบอกให้ฉันวิ่ง ฉันต้องการเป็นส่วนหนึ่งในการทำให้ บริษัท ดีขึ้น คุณจะเริ่มนำการเปลี่ยนแปลงที่ดีมาสู่วัฒนธรรมประเภทนี้ได้อย่างไร?

9
วิธีจัดการกับความเข้าใจผิดเกี่ยวกับ“ การปรับให้เหมาะสมก่อนกำหนดเป็นรากของความชั่วทั้งหมด”?
ฉันได้พบกับคนมากมายที่ดื้อรั้นต่อสิ่งใดก็ตามซึ่งถือได้ว่าเป็น "การเพิ่มประสิทธิภาพ" ในความหมายทั่วไปของคำภาษาอังกฤษและพวกเขามักจะพูดคำต่อคำที่อ้างถึง (บางส่วน) "การเพิ่มประสิทธิภาพก่อนกำหนดเป็นรากฐานของความชั่วร้ายทั้งหมด" เป็นข้ออ้างสำหรับท่าทางของพวกเขาหมายความว่าพวกเขาตีความสิ่งที่ฉันกำลังพูดถึงจะเป็น "การเพิ่มประสิทธิภาพก่อนวัยอันควร" อย่างไรก็ตามมุมมองเหล่านี้บางครั้งก็ยึดมั่นอย่างน่าขันที่พวกเขาไม่สนใจความแตกต่างของอัลกอริทึมหรือโครงสร้างข้อมูลใด ๆ จากการดำเนินการ "ไร้เดียงสา" ที่บริสุทธิ์ที่สุด ... หรืออย่างน้อยเบี่ยงเบนจากวิธีที่พวกเขาทำสิ่งต่าง ๆ มาก่อนคนเราจะเข้าหากันเช่นนี้ได้อย่างไรเพื่อทำให้พวกเขา "เปิดหู" อีกครั้งหลังจากพวกเขาปิดตัวลงจากการได้ยินเกี่ยวกับ "ประสิทธิภาพ" หรือ "การเพิ่มประสิทธิภาพ" ฉันจะหารือเกี่ยวกับหัวข้อการออกแบบ / การนำไปใช้งานซึ่งมีผลกระทบต่อประสิทธิภาพโดยไม่ต้องให้ผู้คนคิดในทันทีว่า: "ผู้ชายคนนี้ต้องการใช้เวลาสองสัปดาห์ในรหัสสิบบรรทัด?" ตอนนี้ท่าทางว่า "การเพิ่มประสิทธิภาพทั้งหมดจะคลอดก่อนกำหนดและดังนั้นความชั่วร้าย" หรือไม่ได้รับแล้วครอบคลุมที่นี่เช่นเดียวกับในมุมอื่น ๆ ของเว็บและจะได้รับการกล่าวถึงวิธีการรับรู้เมื่อการเพิ่มประสิทธิภาพการคลอดก่อนกำหนดและดังนั้นจึงชั่วร้ายแต่ โชคไม่ดีที่มีคนในโลกแห่งความเป็นจริงที่ยังไม่เปิดกว้างต่อความท้าทายต่อความเชื่อมั่นในการต่อต้านการเพิ่มประสิทธิภาพ ความพยายามครั้งก่อน สองสามครั้งฉันได้ลองเสนอราคาที่สมบูรณ์จาก Donald Knuthเพื่ออธิบายว่า "การปรับให้เหมาะสมก่อนกำหนดไม่ดี" ↛ "การเพิ่มประสิทธิภาพทั้งหมดไม่ดี": เราควรลืมเกี่ยวกับประสิทธิภาพเล็กน้อยพูดถึง 97% ของเวลา: การเพิ่มประสิทธิภาพก่อนวัยอันควรเป็นรากฐานของความชั่วร้ายทั้งหมด แต่เราไม่ควรพลาดโอกาสที่สำคัญ 3% อย่างไรก็ตามเมื่อมีการเสนอราคาทั้งหมดบางครั้งคนเหล่านี้จะมีความมั่นใจมากขึ้นว่าสิ่งที่ฉันทำคือการเพิ่มประสิทธิภาพก่อนวัยอันควรและขุดและปฏิเสธที่จะฟัง เกือบจะเหมือนกับว่าคำว่า "การปรับให้เหมาะสม" ทำให้พวกเขากลัว: ในสองสามครั้งที่ฉันสามารถเสนอการเปลี่ยนแปลงที่เกิดขึ้นจริงในการปรับปรุงโค้ดโดยที่พวกเขาถูกคัดค้านโดยเพียงแค่หลีกเลี่ยงการใช้คำว่า "optimiz …

5
จะอธิบายได้อย่างไรว่าทำไมตัวเลือกการออกแบบถึงดี? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว เมื่อฉันเป็นนักพัฒนาที่ดีขึ้นฉันพบว่าทักษะการออกแบบส่วนใหญ่มาจากสัญชาตญาณมากกว่าการวิเคราะห์เชิงกล มันเยี่ยมมาก มันช่วยให้ฉันอ่านโค้ดและรู้สึกถึงมันเร็วขึ้น มันช่วยให้ฉันแปลการออกแบบระหว่างภาษาและ abstractions ง่ายขึ้นมาก และมันทำให้ฉันทำสิ่งต่าง ๆ ได้เร็วขึ้น ข้อเสียคือฉันพบว่ามันยากที่จะอธิบายให้เพื่อนร่วมทีม (และที่แย่กว่านั้นคือการจัดการ) ทำไมการออกแบบโดยเฉพาะนั้นมีประโยชน์ โดยเฉพาะอย่างยิ่งเพื่อนร่วมทีมที่ล้าหลังในการปฏิบัติที่ดีที่สุด "การออกแบบนี้สามารถทดสอบได้มากขึ้น!" หรือ "คุณควรสนับสนุนการแต่งเพลงมากกว่ามรดก" ไปที่หัวของพวกเขาและนำไปสู่หลุมกระต่ายของฉันพยายามที่จะเบาะแสทุกคนในทศวรรษที่ผ่านมาของความก้าวหน้าด้านวิศวกรรมซอฟต์แวร์ ฉันจะดีขึ้นด้วยการฝึกฝนแน่นอน แต่ในเวลานั้นมันเกี่ยวข้องกับเวลาที่สูญเปล่าและ / หรือการออกแบบที่ไม่ดี (ซึ่งจะนำไปสู่การเสียเวลาแก้ไขในภายหลัง) ฉันจะอธิบายได้อย่างไรว่าเหตุใดการออกแบบบางอย่างจึงเหนือกว่าเมื่อผู้ชมไม่เห็นประโยชน์อย่างชัดเจน

4
ทำอย่างไรให้ลูกค้าที่เพิ่งเรียนรู้เทคโนโลยีและต้องการใช้งานได้ทุกที่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการ4 ปีที่แล้ว เมื่อเร็ว ๆ นี้ลูกค้าของฉันค้นพบว่าการเขียน URL ใหม่คืออะไรโดยไม่เข้าใจว่ามันคืออะไรมันทำงานอย่างไรและข้อดีข้อเสียของมัน ตอนนี้เขาขอการเปลี่ยนแปลงแปลก ๆ มากมายในความต้องการที่แท้จริงของโครงการปัจจุบันและการเปลี่ยนแปลงในโครงการเก่าเพื่อที่จะใช้สิ่งที่เขาเชื่อว่าเป็นการเขียน URL ใหม่ ในอีกด้านหนึ่งฉันรำคาญที่ถูกขอให้ทำสิ่งที่ไม่สมเหตุสมผลแทนที่จะทำจริง ในทางกลับกันฉันไม่สามารถบอกลูกค้าได้ว่าเขาไม่เข้าใจอะไรเลยในเรื่องนี้แม้เขาจะสนใจก็ตาม ฉันคิดว่าหลายคนมีสถานการณ์เมื่อผู้จัดการหรือลูกค้าของพวกเขาเพิ่งเรียนรู้คำศัพท์ใหม่หรือเทคโนโลยีใหม่และเขารักมันมากเกินกว่าที่เขาต้องการใช้ในทุกโครงการทุกที่เขียนใหม่ทั้งหมด codebase เพียงแค่ใช้ใหม่นี้ สิ่งของ ฯลฯ นอกจากนี้เมื่อเร็ว ๆ นี้ฉันได้อ่านบางสิ่งที่เกี่ยวข้องกับโปรแกรมเมอร์ซึ่งผู้คนเล่าประสบการณ์ของพวกเขาเมื่อมีข่าวลือเกี่ยวกับ XML และผู้จัดการบางคนจะขอแนะนำ XML ในทุกโครงการเพื่อแสดงให้ทุกคนเห็นว่าพวกเขาใช้มัน ดังนั้นผู้ที่อยู่ในสถานการณ์ที่คล้ายคลึงกันคุณมีวิธีจัดการอย่างไร

4
การสื่อสารที่เข้ารหัสด้วย XOR ง่าย ๆ นี้ปลอดภัยหรือไม่?
สมมติว่า Alice และ Peter มีหน่วยความจำแฟลช USB 4GB พวกเขาพบและบันทึกไฟล์ทั้งสองไฟล์สองไฟล์ชื่อว่าalice_to_peter.key(2GB) และpeter_to_alice.key(2GB) ซึ่งมีบิตที่สร้างแบบสุ่ม พวกเขาไม่เคยพบกันอีก แต่สื่อสารด้วยระบบอิเล็กทรอนิกส์ อลิซยังคงรักษาตัวแปรที่เรียกว่าalice_pointerและปีเตอร์รักษาตัวแปรที่เรียกว่าpeter_pointerซึ่งทั้งสองจะถูกตั้งค่าเริ่มต้นเป็นศูนย์ เมื่ออลิซต้องการส่งข้อความถึงปีเตอร์เธอก็ทำ (อยู่ที่nข้อความที่ nthth): encrypted_message_to_peter[n] = message_to_peter[n] XOR alice_to_peter.key[alice_pointer + n] encrypted_payload_to_peter = alice_pointer + encrypted_message_to_peter alice_pointer += length(encrypted_message_to_peter) (และเพื่อความปลอดภัยสูงสุดสามารถลบส่วนที่ใช้แล้วของคีย์ได้) ปีเตอร์ได้รับencrypted_payload_to_peterอ่านที่alice_pointerเก็บไว้ที่จุดเริ่มต้นของข้อความและทำ: message_to_peter[n] = encrypted_message_to_peter[n] XOR alice_to_peter.key[alice_pointer + n] และเพื่อความปลอดภัยสูงสุดหลังจากอ่านข้อความจะลบส่วนที่ใช้ไปของคีย์ด้วย - แก้ไข: อันที่จริงขั้นตอนนี้ด้วยอัลกอริทึมแบบง่าย ๆ (ไม่มีการตรวจสอบความสมบูรณ์และการรับรองความถูกต้อง) ช่วยลดความปลอดภัยให้ดูที่Paŭlo Ebermann โพสต์ด้านล่าง เมื่อปีเตอร์ต้องการที่จะส่งข้อความไปยังอลิซที่พวกเขาทำกลับครั้งนี้ด้วยและpeter_to_alice.keypeter_pointer …

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

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

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