วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

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

9
โปรแกรมเมอร์เป็นผู้ทดสอบที่ไม่ดีหรือไม่?
ฉันรู้ว่ามันฟังดูเหมือนคำถามอื่น ๆ ที่ถูกถามไปแล้ว แต่จริงๆแล้วมันแตกต่างออกไปเล็กน้อย ดูเหมือนว่าโดยทั่วไปแล้วผู้เขียนโปรแกรมจะไม่เก่งในการทดสอบบทบาทของแอปพลิเคชัน ตัวอย่างเช่น: โจเอลซอฟแวร์ - Top Five (ผิด) เหตุผลที่คุณไม่ได้มีการทดสอบ (เหมืองเน้น) อย่าคิดแม้แต่จะพยายามบอกผู้สำเร็จการศึกษาจากวิทยาลัย CS ว่าพวกเขาสามารถมาทำงานให้คุณได้ แต่ "ทุกคนจะต้องควบคุมคุณภาพในช่วงเวลาหนึ่งก่อนที่จะเปลี่ยนเป็นรหัส" ฉันเห็นสิ่งนี้มากมาย โปรแกรมเมอร์ไม่ทำการทดสอบที่ดีและคุณจะสูญเสียโปรแกรมเมอร์ที่ดีซึ่งยากที่จะแทนที่ และในคำถามนี้หนึ่งในคำตอบที่ได้รับความนิยมมากที่สุดบอกว่า (อีกครั้งฉันขอเน้น): นักพัฒนาสามารถเป็นผู้ทดสอบได้ แต่พวกเขาไม่ควรเป็นผู้ทดสอบ นักพัฒนามีแนวโน้มที่จะหลีกเลี่ยงการใช้แอปพลิเคชั่นโดยไม่ตั้งใจ / ไม่ตั้งใจ นั่นเป็นเพราะพวกเขาเขียนและทดสอบเป็นส่วนใหญ่ในแบบที่ควรจะใช้ ดังนั้นคำถามคือโปรแกรมเมอร์ไม่ดีในการทดสอบหรือไม่ มีหลักฐานหรือข้อโต้แย้งอะไรบ้างที่สนับสนุนข้อสรุปนี้? โปรแกรมเมอร์ไม่ดีเพียงทดสอบรหัสของตนเองหรือไม่ มีหลักฐานที่แสดงว่าโปรแกรมเมอร์ดีจริง ๆที่ทดสอบหรือไม่ ฉันหมายถึงอะไรโดย "การทดสอบ" ฉันไม่ได้หมายถึงการทดสอบหน่วยหรือสิ่งใดก็ตามที่ถือว่าเป็นส่วนหนึ่งของวิธีการที่ทีมซอฟต์แวร์ใช้เพื่อเขียนซอฟต์แวร์ ฉันหมายถึงวิธีการประกันคุณภาพบางอย่างที่ใช้หลังจากสร้างรหัสและปรับใช้กับสิ่งที่ทีมซอฟต์แวร์จะเรียกว่า "สภาพแวดล้อมการทดสอบ"
36 testing  qa 

8
OOP ง่ายขึ้นหรือยากขึ้นหรือไม่ [ปิด]
เมื่อแนวคิดของการเขียนโปรแกรมเชิงวัตถุได้รับการแนะนำให้รู้จักกับโปรแกรมเมอร์เมื่อหลายปีก่อนมันดูน่าสนใจและการเขียนโปรแกรมก็สะอาดขึ้น OOP เป็นเช่นนี้ Stock stock = new Stock(); stock.addItem(item); stock.removeItem(item); นั่นง่ายกว่าที่จะเข้าใจด้วยชื่อที่อธิบายตนเอง แต่ตอนนี้ OOP ที่มีรูปแบบเช่น Data Transfer Objects, Value Objects, Repository, Dependency Injection เป็นต้นนั้นมีความซับซ้อนมากขึ้น เพื่อให้บรรลุถึงข้างต้นคุณอาจต้องสร้างหลายคลาส (เช่น abstract, factory, DAO เป็นต้น) และใช้อินเทอร์เฟซหลายตัว หมายเหตุ: ฉันไม่ขัดกับแนวปฏิบัติที่ดีที่สุดที่ทำให้การทำงานร่วมกันการทดสอบและการรวมระบบง่ายขึ้น

3
ฉันเปิดตัวผลิตภัณฑ์ซอฟต์แวร์ - ฉันจะเพิ่มการแสดงผลให้มากที่สุดโดยไม่ต้องใช้งบประมาณและ จำกัด เวลาได้อย่างไร
ฉันต้องการเข้าถึงชุมชนในชุมชนนี้ ในฐานะนักพัฒนาซอฟต์แวร์ฉันไม่ใช่ผู้เชี่ยวชาญด้านการขายหรือผู้เชี่ยวชาญด้านการตลาด - ฉันคิดในเรื่องของรหัสและไม่มีอะไรมาก นักพัฒนาส่วนใหญ่ที่ฉันเจอเป็นเช่นนี้และยังมีแนวโน้มที่จะเป็นนักฉกเงินอย่างร้ายแรง สมมติว่าในฐานะนักพัฒนาฉันเพิ่งเปิดตัวผลิตภัณฑ์ซอฟต์แวร์ใหม่ซึ่งฉันค่อนข้างมั่นใจว่าจะได้รับความนิยมถ้ามีคนรู้เพียงแค่เรื่องนี้ ใช้งบประมาณ $ 0.00 และ จำกัด เวลาในแต่ละวัน (เช่น 30 ถึง 60 นาที) ฉันสามารถทำอะไรได้บ้างเพื่อให้ได้รับแสงมากที่สุด หากเป็นไปได้โปรดสำรองคำตอบของคุณด้วยตัวอย่างการทำงานอย่างน้อยสองตัวอย่าง
36 marketing 

15
ฉันควรจะฝึกการเขียนโปรแกรมด้วยตนเองหรือเรียนรู้วิธีการเข้ารหัสอย่างมืออาชีพ [ปิด]
เมื่อไม่นานมานี้ฉันได้ทำงานอย่างมืออาชีพออกไปเที่ยวกับโปรแกรมเมอร์คนอื่น ๆ และหาเพื่อนในอุตสาหกรรมนี้ สิ่งเดียวคือฉันเรียนรู้ด้วยตนเอง 100% มันทำให้สไตล์ของฉันเบี่ยงเบนไปจากสไตล์ของผู้ที่ได้รับการฝึกฝนอย่างเหมาะสม มันเป็นเทคนิคและการจัดระเบียบของรหัสของฉันที่แตกต่างกัน มันเป็นส่วนผสมของหลายสิ่งที่ฉันทำ ฉันมักจะผสมผสานกระบวนทัศน์การเขียนโปรแกรมหลายอย่างเข้าด้วยกัน ชอบฟังก์ชั่นและ OO ฉันเอนตัวไปยังส่วน Functional มากกว่า OO แต่ฉันเห็นการใช้ OO เมื่อมีบางสิ่งที่สมเหตุสมผลสำหรับนามธรรม เหมือนเกมวัตถุ ต่อไปฉันก็ไปเส้นทางที่เรียบง่ายเมื่อทำอะไรบางอย่าง ในทางกลับกันดูเหมือนว่าบางครั้งรหัสที่ฉันเห็นจากโปรแกรมเมอร์มืออาชีพนั้นซับซ้อนเพื่อประโยชน์ของมัน! ฉันใช้การปิดเยอะ และท้ายที่สุดฉันไม่ใช่คนวิจารณ์ที่ดีที่สุด ฉันพบว่าการอ่านรหัสของฉันง่ายกว่าการอ่านความคิดเห็น และกรณีส่วนใหญ่ฉันเพิ่งอ่านรหัสแม้ว่าจะมีความคิดเห็น นอกจากนี้ฉันยังได้รับการบอกว่าเพราะฉันเขียนรหัสของฉันได้ง่ายเพียงแค่อ่าน ฉันได้ยินว่าโปรแกรมเมอร์ที่ผ่านการฝึกอบรมอย่างมืออาชีพยังคงดำเนินต่อไปเกี่ยวกับเรื่องต่าง ๆ เช่นการทดสอบหน่วย บางสิ่งที่ฉันไม่เคยใช้มาก่อนดังนั้นฉันจึงไม่มีแม้แต่ความคิดที่ลึกซึ้งที่สุดว่าพวกเขาคืออะไรหรือทำงานอย่างไร ขีดเส้นใต้จำนวนมาก "_" ซึ่งไม่ใช่รสนิยมของฉัน เทคนิคส่วนใหญ่ที่ฉันใช้ตรงจากฉันหรือหนังสือสองสามเล่มที่ฉันอ่าน ไม่ทราบอะไรเกี่ยวกับ MVC ฉันเคยได้ยินมามากมายเกี่ยวกับเรื่องนี้ด้วยสิ่งต่าง ๆ เช่น backbone.js ฉันคิดว่ามันเป็นวิธีการจัดระเบียบแอปพลิเคชัน มันทำให้ฉันสับสนเพราะตอนนี้ฉันสร้างโครงสร้างองค์กรของตัวเองแล้ว มันช่างเจ็บปวดเหลือเกิน ฉันไม่สามารถใช้แอปพลิเคชันเทมเพลตได้เลยเมื่อเรียนรู้สิ่งใหม่ ๆ อย่าง Ubuntu อย่างรวดเร็ว ฉันมีปัญหาในการทำความเข้าใจรหัสที่ฉันสามารถบอกได้ว่ามาจากผู้ที่ได้รับการฝึกฝน การเขียนโปรแกรม …

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

2
เหตุใดคณะกรรมการ Haskell จึงเลือกพระเพื่อเป็นตัวแทน I / O
สะอาดภาษาใช้ประเภทเอกลักษณ์ในการจัดการ I / O ในการตั้งค่าการทำงานได้อย่างหมดจด ไม่คณะกรรมการ Haskell ไปกับทำไมmonadsแทน? มีข้อเสนออื่น ๆ สำหรับการจัดการสถานะที่คณะกรรมการตรวจสอบ แต่ตัดสินใจกับ? หมายเหตุ : ฉันไม่ได้มองหาสงครามศักดิ์สิทธิ์ระหว่างพระและคอมพิวเตอร์ในรูปแบบอื่น ๆ มาติดตามเรื่องการเลือกของคณะกรรมการเกี่ยวกับ I / O

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

10
การควบคุมเวอร์ชันที่ดีที่สุดสำหรับนักพัฒนาเดี่ยว?
ฉันเป็นนักพัฒนาเพียงคนเดียวในที่ทำงานของฉันและในขณะที่ฉันเข้าใจถึงประโยชน์ของ VCS; ฉันพบว่ามันยากที่จะยึดมั่นในแนวปฏิบัติที่ดี ตอนนี้ฉันใช้ git เพื่อพัฒนาเว็บแอปเป็นส่วนใหญ่ (ซึ่งจะไม่เปิดแหล่งที่มาเนื่องจากการทำงานของฉัน) เวิร์กโฟลว์ปัจจุบันของฉันทำการเปลี่ยนแปลงมากมายในไซต์การพัฒนาทดสอบแก้ไขทดสอบมีความสุขและยอมรับการเปลี่ยนแปลงจากนั้นจึงส่งคอมมิตไปยังไซต์สด (ดังนั้นหากฉันกำลังเปลี่ยนแปลงสิ่งใหม่ กระทำสัปดาห์ละครั้ง แต่ IDE ของฉันมีประวัติการเลิกทำที่ดีสำหรับสิ่งที่ไม่มีข้อผูกมัด) โดยทั่วไปฉันใช้ git เฉพาะเมื่อสลับระหว่างเครื่อง (เช่นทำงาน dev คอมพิวเตอร์กับคอมพิวเตอร์ dev ที่บ้านหรือเป็นเครื่องถ่ายทอดสด) แต่ในระหว่างวันฉันไม่เห็นประโยชน์จริงๆ สิ่งนี้ทำให้ฉันมีรายการการเปลี่ยนแปลงที่ยาวมาก (และฉันมีปัญหาในการค้นหาข่าวสารที่ดีสำหรับการกระทำแต่ละครั้งและเมื่อใดก็ตามที่ฉันรีบเร่ง - ฉันมักจะฝากข้อความที่เส็งเคร็งเช่น ฉันควรจะทำบ่อยแค่ไหน? การเปลี่ยนแปลงในแต่ละบรรทัดควรมีความมุ่งมั่นไหม? ฉันควรจะยืนยันก่อนการทดสอบใด ๆ (เช่นอย่างน้อยสำหรับข้อผิดพลาดทางไวยากรณ์ / การคอมไพล์และจากนั้นต้องยกเลิกทั้งหมดโดยสิ้นเชิงเนื่องจากความคิดไม่ทำงานหรือข้อความเป็นเรื่องโกหก)? ฉันควรตรวจสอบให้แน่ใจว่าฉันส่งทุกเช้า / บ่ายก่อนที่ฉันจะหยุดทำงานเพื่อทานอาหารเย็นในขณะที่ยังสดอยู่ สิ่งที่ฉันขาดหายไปจากการมีนิสัย VCS ที่ไม่ดี?

12
การทดสอบขับเคลื่อนการพัฒนา (TDD) มีประโยชน์ต่อโครงการโลกแห่งความเป็นจริงหรือไม่?
ฉันไม่ได้ใหม่ในการเขียนโปรแกรม ฉันได้รับการเข้ารหัส (อย่างจริงจัง) มานานกว่า 15 ปีแล้ว ฉันมักจะมีการทดสอบรหัสของฉัน อย่างไรก็ตามในช่วงไม่กี่เดือนที่ผ่านมาผมได้รับการเรียนรู้การออกแบบการทดสอบขับเคลื่อนการพัฒนา / (TDD) โดยใช้Ruby on Rails จนถึงตอนนี้ฉันไม่เห็นประโยชน์ ฉันเห็นประโยชน์บางอย่างในการเขียนข้อสอบสำหรับบางสิ่ง แต่มีน้อยมาก และในขณะที่ฉันชอบความคิดในการเขียนการทดสอบครั้งแรกฉันพบว่าฉันใช้เวลามากขึ้นในการพยายามดีบั๊กการทดสอบเพื่อให้พวกเขาพูดในสิ่งที่ฉันหมายถึงจริงๆมากกว่าการดีบักรหัสจริง อาจเป็นเพราะรหัสทดสอบมักจะซับซ้อนกว่ารหัสที่ใช้ทดสอบ ฉันหวังว่านี่เป็นเพียงประสบการณ์ที่ไม่มีเครื่องมือที่มีอยู่ ( RSpecในกรณีนี้) ฉันต้องบอกว่า ณ จุดนี้ระดับของความคับข้องใจกับการขาดประสิทธิภาพที่น่าผิดหวังนั้นเกินกว่าจะยอมรับไม่ได้ จนถึงตอนนี้สิ่งเดียวที่ฉันเห็นจาก TDD คือไลบรารีที่กำลังเติบโตของไฟล์ RSpec ที่ทำหน้าที่เป็นแม่แบบสำหรับโครงการ / ไฟล์อื่น ๆ ซึ่งไม่มีประโยชน์มากขึ้นอาจมีประโยชน์น้อยกว่าไฟล์รหัสโครงการจริง ในการอ่านวรรณกรรมที่มีอยู่ฉันสังเกตเห็นว่า TDD ดูเหมือนจะเป็นช่วงเวลาที่ยิ่งใหญ่ แต่ก็สิ้นผลไปในที่สุด ฉันแค่สงสัยว่ามีตัวอย่างของโลกแห่งความจริงหรือไม่? ความคับข้องใจครั้งใหญ่ครั้งนี้เกิดขึ้นในโลกแห่งความเป็นจริงหรือไม่? ฉันหวังว่าฉันจะไม่พลาดคำถามนี้ในที่อื่น ฉันค้นหา แต่คำถาม / คำตอบทั้งหมดมีอายุหลายปี ณ จุดนี้ มันเป็นโอกาสที่หายากเมื่อฉันพบนักพัฒนาที่จะพูดอะไรที่ไม่ดีเกี่ยวกับ TDD ซึ่งเป็นสาเหตุที่ฉันใช้เวลากับสิ่งนี้มากเท่าที่ฉันมี อย่างไรก็ตามฉันสังเกตเห็นว่าไม่มีใครที่ดูเหมือนจะชี้เฉพาะตัวอย่างในโลกแห่งความเป็นจริง …

10
สัญญาณเหล่านี้ของผู้พัฒนาที่ไม่ดีหรือไม่? [ปิด]
ฉันเคยตำหนิการเปลี่ยนแปลงข้อกำหนดจากลูกค้าสำหรับรหัสเน่าโดยไม่ทราบว่ารูปแบบธุรกิจเปลี่ยนแปลงและเป็นหน้าที่ของฉันที่จะต้องพัฒนาในลักษณะที่ปรับได้ ตอนนี้ฉันเห็นว่าเป็นสัญญาณของนักพัฒนาที่ไม่ดี (ฉันเปลี่ยนไป!) แต่ตอนนี้ฉันเห็น 'whinges' อื่น ๆ ในตัวฉัน ไม่กี่ครั้งเมื่อเร็ว ๆ นี้ฉันพบว่าตัวเองกำลังพูดว่า 'มันเหมือนกับพยายามที่จะใส่หมุดสี่เหลี่ยมในรูกลม' และฉันก็พบว่าตัวเองกำลังตำหนิลูกค้าที่ไม่แน่ใจในโครงการที่ไม่คืบหน้า มีสัญญาณใดบ้างที่ฉันควรระวังในการเปลี่ยนทัศนคติของฉัน ไคลเอนต์ถูกต้องเสมอหรือบางครั้งฉันเป็นธรรมในการผิดหวัง?

13
“ สลับสวิตช์” ในสภาพแวดล้อมที่โฮสต์ของลูกค้าเพื่อป้องกันการชำระเงินหรือไม่
ฉันมีลูกค้าที่ยากลำบาก การเรียกเก็บเงินทุกครั้งจะถูกถกเถียงและถกเถียงกันและอีเมลแต่ละฉบับจะถูกแยกวิเคราะห์ด้วยตาทนายความ (เพราะเขาเป็นทนายความ) มองหาวิธีที่จะหลีกเลี่ยงการจ่ายเงินสำหรับบางสิ่ง ไม่มีความเอื้ออาทรในส่วนของฉันจะได้รับการตอบแทน ขณะนี้ลูกค้ามีค่าใช้จ่าย 60% ของเขาที่ยังไม่ได้ชำระ (เป็นใบแจ้งหนี้ที่เขาได้ลงชื่อออก) และเป็นเงินจำนวนมาก ขั้นมาถึงขั้นนี้อย่างไรเป็นที่ยอมรับว่าเป็นผลิตภัณฑ์ของnaïvetéของฉันเอง เนื่องจากลูกค้าโฮสต์รหัสของตัวเองฉันจึงไม่สามารถปิดการโฮสต์และเรียกร้องการชำระเงินได้ การติดตั้ง "สวิตช์ฆ่า" ระยะไกลเพื่อปิดรหัสลูกค้าเว้นแต่จะชำระค่าใช้จ่ายหรือไม่

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

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

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

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