ฉันเข้าใจว่าในการวัดโครงการหรือรหัสเราสามารถใช้The Joel Testได้ แต่มีแบบทดสอบมาตรฐานง่ายๆ (เช่น The Joel Test) ที่สามารถวัดและกรองโปรแกรมเมอร์ได้ดีแค่ไหน?
แผนของฉันคือให้ทดสอบนี้เป็นตัวกรองด่วนก่อนที่จะไปทดสอบรายละเอียดเพิ่มเติม
ฉันเข้าใจว่าในการวัดโครงการหรือรหัสเราสามารถใช้The Joel Testได้ แต่มีแบบทดสอบมาตรฐานง่ายๆ (เช่น The Joel Test) ที่สามารถวัดและกรองโปรแกรมเมอร์ได้ดีแค่ไหน?
แผนของฉันคือให้ทดสอบนี้เป็นตัวกรองด่วนก่อนที่จะไปทดสอบรายละเอียดเพิ่มเติม
คำตอบ:
มีเป็นเมทริกซ์โปรแกรมเมอร์สมรรถนะ
เช่นเดียวกับการทดสอบ Joel มันเป็นเพียงแนวทางที่คลุมเครือ วิธีเดียวที่จะประเมินโปรแกรมเมอร์อย่างถูกต้องคือถามโปรแกรมเมอร์ที่ดีที่ทำงานกับพวกเขา
ฉันจะทำการทดสอบ Joel รอบ ๆ :
พวกเขาใช้การควบคุมแหล่งที่มาหรือไม่?
พวกเขารู้วิธีสร้างขั้นตอนเดียวโดยอัตโนมัติหรือไม่?
...
สิ่งเดียวที่ดูเหมือนจะไม่สามารถใช้ได้โดยเฉพาะอย่างยิ่งคือคำถามที่มีผู้ทดสอบ คนอื่น ๆ ที่ดูเหมือนจะเป็นคนปิดนี่คือวิธีที่เราจัดการกับมันคุณจัดการกับมันอย่างไรในคำถามประเภทที่ผ่านมา (นี่คือวิธีที่เราจัดการกับการรักษาตารางเวลาของเราให้ทันสมัย .
แก้ไข:
โดยทั่วไปคุณจะไม่ได้ข้อมูลในการทดสอบ Joel ฟรีคุณต้องจ้างคนที่สามารถทำให้เกิดขึ้นได้ คุณต้องการสร้างความสามารถในการทำให้เกิดขึ้น
การทดสอบ Joel เป็นเพียงการตรวจสอบพื้นฐานอย่างไม่เป็นทางการเพื่อตัดสินว่าสถานที่นั้นมีสภาพการทำงานที่ดีสำหรับโปรแกรมเมอร์หรือไม่ แม้ว่ามันจะทำคะแนนได้อย่างสมบูรณ์แบบ 10 แต่มันก็ยังคงเป็นหลุมนรกที่กำลังจะล้มละลายในอีกหกเดือนข้างหน้า คะแนนต่ำคือสิ่งที่บ่งบอกถึงสิ่งที่ไม่ถูกต้องและทำให้คำถามสัมภาษณ์ที่ยอดเยี่ยม ("คุณไม่ได้ใช้การควบคุมแหล่งที่มาในขณะนี้มีแผนการที่จะทำเช่นนั้นในอนาคตหรือไม่") และคำตอบอาจเป็นเช่นนั้น คุณจะยอมรับงานได้แม้จะมีคะแนน Joel ต่ำ
การทดสอบ Joel ไม่ใช่การทดสอบแบบ 'มาตรฐาน' เช่นกัน มันเป็นเพียงรายการตรวจสอบ Joel Spolsky โพสต์ในบล็อกของเขา
เท่าที่ 'วัด' คุณภาพของโปรแกรมเมอร์ไป; น่าเสียดายที่ทักษะและคุณสมบัติที่สำคัญของโปรแกรมเมอร์ที่ดีนั้นยากหรือเป็นไปไม่ได้ที่จะหาปริมาณดังนั้นจึงไม่มีสิ่งใดมาทดแทนการประเมินโดยมนุษย์ คุณสามารถกำจัดผู้สมัครที่ไม่มีส่วนเกี่ยวข้องได้ง่ายๆโดยใช้งานการเขียนโปรแกรมง่ายๆ - โดยเฉพาะอย่างยิ่งสิ่งที่เกี่ยวข้องกับการเรียกซ้ำโครงสร้างของต้นไม้หรือพอยน์เตอร์ (โปรแกรมเมอร์ที่ไม่ 'รับ' สิ่งเหล่านี้ไม่น่าจะใช้งานได้มากนัก) สำหรับผู้ที่ผ่านการทดสอบนี้คุณจะต้องประเมินทักษะด้วยตนเอง: อ่านรหัสที่พวกเขาเขียนทดสอบแอปพลิเคชันไดรฟ์ที่พวกเขาเขียนให้พวกเขาเขียนโปรแกรมเพิ่มเติม (ทั้งการออกแบบและการนำไปใช้) ดูการทำงานพูดคุยกับพวกเขา สามารถจุดประกายการสนทนาอย่างมืออาชีพ หากคุณกำลังมองหาผู้เชี่ยวชาญ / กูรูด้านภาษา
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score.
คุณจะทำผิดพลาดในการรับงานโดยวิธีการ ในที่สุดนักพัฒนาทุกคนเรียนรู้ว่าPlans to do so in the future
เป็นเพียงสิ่งที่ผู้สัมภาษณ์บอกว่าจะหลอกลวงคุณ แต่พวกเขาไม่เคยทำเพราะการจัดการที่แย่มาก มีกี่ครั้งที่เราได้ยินบางสิ่งเกี่ยวกับผลกระทบของOh, we are moving towards Agile...
มันและกลายเป็นร้านค้าน้ำตกขนาดเล็กอีกแห่งหนึ่ง
ใช่:
คุณเขียนโปรแกรมในเวลาว่างหรือไม่?
จากประสบการณ์ทั้งหมดของฉันคำถามเดียวนี้บ่งบอกได้มากที่สุดว่าโปรแกรมเมอร์ดีแค่ไหน หากพวกเขาสนุกกับมัน หากพวกเขามีความปรารถนาที่จะทำงานนี้พวกเขาจะทำได้ดี
และตรงไปตรงมางานจำนวนมาก 9 ถึง 5 งานไม่ได้เกี่ยวข้องกับการเข้ารหัสมากนัก พวกเขาไม่ได้เกี่ยวข้องกับการวนซ้ำตลอดวงจรชีวิตของการออกแบบโปรแกรมใหม่และดูว่าการออกแบบนั้นทำงานหรือล้มเหลวอย่างไร หากไม่มีการวนซ้ำนั้นก็ไม่จำเป็นต้องมีการฝึกฝนสำหรับโปรแกรมเมอร์เพื่อให้ได้ทักษะการออกแบบโปรแกรมหลัก
และพวกเขาไม่ได้เกี่ยวข้องกับการเรียนรู้มากมาย โปรแกรมเมอร์ผู้ซึ่งแฮ็คสิ่งต่าง ๆ ที่บ้านก็กำลังจะค้นหาโซลูชั่นใหม่และน่าสนใจโดยไม่มีข้อ จำกัด ของธุรกิจขนาดใหญ่
มันไม่ได้มีรายละเอียดเหมือนกับการทดสอบของโจเอล แต่การขอให้พวกเขาเขียนโปรแกรมเสียงพึมพำฟองจะเป็นข้อบ่งชี้ที่ดีในการดูว่าพวกเขาสามารถเขียนโค้ดได้ทั้งหมดหรือไม่
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html และ http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers- ใคร grok เข้ารหัส /
นั่นจะไม่บอกคุณเกี่ยวกับวุฒิภาวะทางวิศวกรรมซอฟต์แวร์ของแต่ละบุคคล แต่มันจะกำจัดสิ่งที่เลวร้ายกว่าออกไป
ใช่ฉันมีความมั่นใจในการใช้ถ้อยคำในตอนเริ่มต้น ไม่ใช่ "คุณใช้ X" หรือ "คุณรู้เรื่อง Y" หรือไม่เป็นเรื่องของการใช้และการทำจริง ๆ โปรแกรมเมอร์ที่ไม่ได้สัมผัสหรือได้ยินรายการในการทดสอบ Joel จะถูกตัดการเชื่อมต่อและต้องได้รับเบาะแส แต่คุณถูกต้องร้านค้ารหัสล้มเหลวในการทดสอบ Joel เพราะคนในร้านค้าปล่อยให้มันล้มเหลว การป้องกันเพียงอย่างเดียวที่ฉันสามารถเห็นวิ่งไปตามแนวของ "ฉันพยายาม แต่ไม่มีสิทธิ์และตอนนี้ฉันสมัครที่นี่"
คุณใช้การควบคุมแหล่งที่มาหรือไม่?
ใช่ แต่
คุณสามารถสร้างบิลด์ในขั้นตอนเดียวได้หรือไม่?
คุณสร้างงานสร้างรายวันหรือไม่?
คุณมีฐานข้อมูลบั๊กหรือไม่
ใช่ แต่ฉันไม่ได้กำหนดค่าและไม่จัดการมันฉันใช้มัน
คุณแก้ไขข้อบกพร่องก่อนที่จะเขียนรหัสใหม่หรือไม่?
คุณมีตารางที่ทันสมัยหรือไม่?
ไม่นั่นไม่ใช่งานของฉัน
คุณมีสเป็คหรือไม่?
ฉันได้รับสเป็คแล้วก็วิเคราะห์และจัดทำเอกสารที่เกี่ยวข้อง
โปรแกรมเมอร์มีสภาพการทำงานที่เงียบหรือไม่?
คุณใช้เครื่องมือเงินที่ดีที่สุดที่สามารถซื้อได้หรือไม่?
คุณไม่รู้ว่าเครื่องมือที่ดีที่สุดคืออะไรและถ้าคุณคิดว่าคุณทำมันจะมีใครบางคนที่จะโต้แย้งประเด็นของคุณ
คุณมีผู้ทดสอบหรือไม่
ใช่. จริงๆแล้วใช่และพวกเขาไม่ดีมาก แต่นั่นไม่ได้อยู่ในคำถาม
ผู้สมัครใหม่เขียนรหัสในระหว่างการสัมภาษณ์หรือไม่?
ใช่และพวกเขาล้มเหลว ใช่และพวกเขาผ่าน สิ่งนี้บอกอะไรคุณ
คุณทำการทดสอบการใช้งานในห้องโถงหรือไม่?
ไม่ แต่ถ้าเราทำสิ่งที่ดีกว่า
สรุป:
นี่ไม่ใช่คำโม้ แต่ฉันก็สนใจที่จะได้ยินว่าคุณคิดว่าฉันเป็นนักพัฒนาแบบไหนโดยอิงจากคำตอบที่ฉันได้ให้ไว้ หวังว่านี่จะพิสูจน์ประเด็นของฉัน
How do you know whether I pull changes before pushing?
ฉันไม่ทราบว่าคุณใช้ตัวควบคุมแหล่งใด แต่อย่างน้อยใน SVN ถ้าคุณพยายามส่งไปยังโฟลเดอร์ที่มีการเปลี่ยนแปลงที่คุณยังไม่มีการกระทำจะล้มเหลวจนกว่าคุณจะเรียกใช้อัปเดต