โปรแกรมเมอร์ควรมีเสรีภาพเท่าไรในการเลือกภาษาและกรอบงาน?


67

ฉันเริ่มทำงานกับ บริษัท ที่เน้นภาษา C # เป็นหลัก เรามีบางคนที่ชอบ Java และ JRuby แต่โปรแกรมเมอร์ส่วนใหญ่ที่นี่เช่น C # ฉันถูกจ้างเพราะฉันมีประสบการณ์มากมายในการสร้างเว็บแอปพลิเคชันและเพราะฉันพึ่งพาเทคโนโลยีใหม่ ๆ เช่น JRuby บน Rails หรือ nodejs

ฉันเพิ่งเริ่มต้นในโครงการสร้างเว็บแอปพลิเคชันโดยมุ่งเน้นที่การทำสิ่งต่าง ๆ มากมายในระยะเวลาอันสั้น ซอฟต์แวร์ที่เป็นผู้นำได้บอกว่าฉันใช้ mvc4 แทนราง อาจเป็นสิ่งที่ดียกเว้นฉันไม่รู้ mvc4 ฉันไม่รู้ C # และฉันเป็นคนเดียวที่รับผิดชอบในการสร้างเว็บแอปพลิเคชันเซิร์ฟเวอร์และ UI ส่วนหน้า

มันจะไม่สมเหตุสมผลที่จะใช้เฟรมเวิร์กที่ฉันรู้จักดีมาก (Rails) แทนที่จะใช้ mvc4 หรือไม่? เหตุผลเบื้องหลังการตัดสินใจคือหัวหน้าฝ่ายเทคโนโลยีไม่ทราบว่า Jruby / ทางรถไฟและจะไม่มีทางนำรหัสนี้กลับมาใช้ใหม่ได้

อาร์กิวเมนต์ตัวนับ:

  • เขาจะไม่ให้รหัสและตรงไปตรงมาไม่จำเป็นใน
    โครงการนี้ ดังนั้นมันไม่สำคัญว่าเขาจะรู้จัก JRuby / รางหรือไม่

  • เราสามารถนำรหัสมาใช้ใหม่ได้จริงเนื่องจากเรามีแอพพลิเคชั่นจาวาจำนวนมากที่ JRuby สามารถดึงรหัสจากและในทางกลับกัน ในความเป็นจริงเขาได้ทุ่มเททรัพยากรบางอย่างเพื่อแปลงไลบรารี Java เป็น C # แทนที่จะเรียกใช้ไลบรารี Java บนแอป JRuby บน Rails ทั้งหมดเพราะเขาไม่ชอบ Java หรือ JRuby

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

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


45
"ท้าทายคำสั่ง" ในบางสิ่งเช่นนี้อาจเป็นการ จำกัด อาชีพ
Dan Pichelman


39
บริษัท ต้องการสร้างมาตรฐานให้กับเครื่องมือเพราะจะช่วยลดต้นทุนทั้งจากจุดยืนในการซื้อแอพ แต่ยังรวมถึงการจัดการทรัพยากรของ บริษัท การจัดการสิทธิ์ใช้งานจริงนั้นใช้เวลาค่อนข้างนาน นอกจากนี้หากทุกคนใช้ภาษา / เครื่องมือของตนเองในการเลือกการสับเปลี่ยนคนระหว่างงานกลายเป็นเรื่องยากมากขึ้น ในที่สุดข้อร้องเรียนของคุณเกี่ยวกับโอกาสในการขายของคุณนั้นเหมือนกับเหตุผลที่คุณต้องการใช้เครื่องมือที่คุณเลือก คุณไม่คุ้นเคยกับ mvc4 หรือไม่ชอบ การนำไปสู่ ​​sw คือตะกั่วดังนั้นจึงเป็นการเรียกร้องของพวกเขาเว้นแต่คุณจะสามารถแสดงข้อโต้แย้งที่สามารถเปลี่ยนใจได้
Dunk

22
ทั้งหมดนี้ควรได้รับการแก้ไขในระหว่างการสัมภาษณ์งานของคุณ
user16764

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

คำตอบ:


98

ฉันว่าคุณต้องพูดคุยกับหัวหน้าทีมและพูดว่า:

ฉันรู้ว่าพวกคุณเป็นร้าน NET. แต่จริง ๆ แล้ว ฉันได้รับการว่าจ้างสำหรับทักษะ Java / JRubyRails ของฉัน ฉันสามารถสร้างแอปพลิเคชั่นใหม่ในเวลาXโดยใช้เครื่องมือเหล่านั้นที่ฉันรู้อยู่แล้ว ฉันสามารถเรียนรู้ C # / mvc4 อย่างที่คุณต้องการ แต่มันจะใช้เวลา>>จำนวนX คุณต้องการอะไร?

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

ตามคำถามของคุณในตอนท้าย:

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

มันมักจะขึ้นอยู่กับ บริษัท หาก บริษัท ซื้อเครื่องมือ MS และสร้างมาตรฐานทุกอย่างบนแพลตฟอร์ม VisualStudio และ. NET Framework มันอาจจะดูงุ่มง่ามมากหากผู้พัฒนารายหนึ่งยืนยันการใช้ Linux และ C นั่นเป็นเรื่องปกติ อาจมีข้อยกเว้นที่ บริษัท มีความยุ่งเกี่ยวกับตัวแก้ไขน้อยกว่าเช่นให้นักพัฒนาเลือก Vi กับ Emacs ตราบใดที่ผลลัพธ์ยังเหมือนเดิม ฉันรู้ว่าบาง บริษัท ให้ผู้พัฒนาเลือก Windows กับ Linux แต่ภาษาที่พวกเขาทำงานนั้นมีการสนับสนุนและ runtimes ที่ดีสำหรับทั้งสองระบบปฏิบัติการ

ทำไม บริษัท ถึงทำเช่นนี้? ความมั่นคงเป็นเหตุผลหนึ่งที่ มันอาจเป็นเรื่องยากมากที่จะทำการดีบั๊กเมื่อแอพพลิเคชั่นเป็นไบนารีที่สร้างขึ้นในภาษา / เฟรมเวิร์กที่ชื่นชอบของนักพัฒนาต่างๆสร้างขึ้นด้วยเครื่องมือต่าง ๆ และทดสอบกับระบบที่แตกต่างกันมาก หากนักพัฒนาทั้งหมดทำงานในการตั้งค่าที่คล้ายกันส่วนใหญ่ปัญหาเหล่านั้นจะได้รับการแก้ไข

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


31
"ฉันสามารถสร้างแอปพลิเคชั่นใหม่นี้ในระยะเวลา X โดยใช้เครื่องมือเหล่านั้นที่ฉันรู้อยู่แล้วฉันสามารถเรียนรู้ C # / mvc4 เหมือนที่คุณต้องการ แต่จะใช้เวลานาน >> X คุณต้องการอะไร?" - คำตอบที่ดี วางกรอบในรูปแบบของการแลกเปลี่ยนต้นทุน
Christian Ternus

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

6
+1 วิธีเดียวที่คำตอบนี้ไม่ตอบสนองฉันก็คือมันเน้นในด้านการเรียนรู้เล็กน้อย นักพัฒนาที่จะกระตือรือร้นที่จะเรียนรู้เป็นสินทรัพย์ที่มีค่ายิ่งกว่าผู้ที่รู้ทุกอย่างเกี่ยวกับสิ่งหนึ่งและจะไม่เปลี่ยนแปลง
คอเรย์

7
+1 ฉันก็จะเน้นจุด (โดยนัย) ว่าถ้าผู้นำเลือกที่จะไปกับ MVC ต่อไป OP มีหน้าที่ผูกมัดลงและทำโครงการใน MVC
Dan Lyons

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

140

นักพัฒนาควรได้รับอนุญาตให้เลือกเครื่องมือของเขาที่จุดใด

เมื่อพวกเขาไม่ส่งผลกระทบต่อทีมของคุณ

ฉันกำลังดูวิธีนี้ผิดหรือเปล่า?

อย่างแน่นอน

ใช่คุณมีกำหนดเวลาสั้น ๆ ใช่คุณสามารถทำให้เสร็จเร็วขึ้นใน Rails แต่ บริษัท โดยรวมจำเป็นต้องปรับใช้และบำรุงรักษาแอปพลิเคชัน หาก บริษัท มีนักพัฒนา C # ที่ดีก็จะมีราคาถูกลง (และให้คุณภาพที่ดีกว่า) เพื่อให้แอป C # รักษาไว้

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

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


19
คำตอบที่ดี 'ที่ดีที่สุดในกรณีนี้ไม่อาจหมายถึงการเพิ่มประสิทธิภาพสำหรับที่เร็วที่สุดสำหรับการเริ่มต้นโดยเฉพาะสำหรับโปรแกรมเมอร์เริ่มต้น จากมุมมองทางธุรกิจแอพจะใช้เวลามากขึ้นในโหมดการบำรุงรักษาและสนับสนุนโดยทีมงานทั้งหมดดังนั้นสิ่งที่ควรผลักดันการตัดสินใจกรอบงาน
Eric King

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

2
ความน่าจะเป็นที่คุณไม่ได้รับการว่าจ้างสำหรับทักษะ JRuby / Rails ของคุณ แต่คุณได้รับการว่าจ้างจากประสบการณ์ในการสร้าง Web Apps และสิ่งที่พวกเขากำลังมองหาคือการใช้ประโยชน์จากบริบทของ MVC4 และ C #
Jay Stevens

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

@ s73v3r - ฉันหวังว่า OP จะรู้ว่าเขากำลังทำอะไร จริงๆแล้วถ้าคุณมี boatload ของ C # devs (และ codebase) ดังนั้นมันควรจะปรากฏให้เห็นใน Rails Guy ในระหว่างการสัมภาษณ์ ถ้าเขารับงานแล้วก็หยุดชะงักที่จริงทำในสิ่งที่เขาได้รับการว่าจ้าง ...
Telastyn

41
  1. เห็นได้ชัดว่าคุณได้รับการว่าจ้างเนื่องจากความสามารถในการปรับตัวเข้ากับเทคโนโลยี "ใหม่" C # ไม่แตกต่างกันในเรื่องนั้น คุณแน่ใจหรือไม่ว่าไม่ต้องการใช้โอกาสเรียนรู้สิ่งใหม่

  2. ASP.NET MVC นั้นคล้ายกับ Ruby on Rails ในหลาย ๆ ทาง

  3. คุณจะไม่ได้อยู่ในจังหวะของหอยทากตลอดไป หากคุณรู้จัก ROR แล้ว ASP.NET MVC จะเป็นสิ่งที่คุณต้องการ เคล็ดลับคือการเรียนรู้ C #


18
+1 โดยผูกตัวเองกับภาษา / กรอบงานเดียวนั้นไร้สาระ ใช้โอกาสที่จะได้รับเงินสำหรับการเรียนรู้สิ่งใหม่ และ. NET มีการพัฒนาที่กระตือรือร้นและน่าสนใจเกิดขึ้นมากมาย
jozefg

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

รายการ # 1 ไม่ชัดเจน - OP บอกว่าพวกเขาถูกจ้างเพราะประสบการณ์ Java / JRuyb / Rails / nodejs ของพวกเขา: ฉันถูกจ้างเพราะฉันมีประสบการณ์มากมายในการสร้างเว็บแอปพลิเคชันและเพราะฉันพึ่งพาเทคโนโลยีใหม่เช่น JRuby on Rails หรือ nodejs OP ไม่ได้พูดถึงการปรับตัวของพวกเขาหรือการปรับตัวของพวกเขาเป็นเหตุผลที่พวกเขาได้รับการว่าจ้าง
FrustratedWithFormsDesigner

2
+1 เห็นด้วยฉันไม่เคยเข้าใจข้อโต้แย้งของประเภท "ฉันรู้ดีว่าจะทำ A ในภาษา L1 ได้ดี แต่ฉันไม่สามารถทำได้ในภาษา L2 โดยสมบูรณ์"
Shivan Dragon

2
@Spencer: เมื่อคุณขอคำแนะนำจากเราและทุกคนให้คำแนะนำเดียวกันกับคุณคุณควรยอมรับคำแนะนำ ไม่มีประเด็นโต้แย้งคำตอบเมื่อคุณยอมรับ แต่ถามคำถามว่าคุณไม่รู้ว่าคำตอบที่ถูกต้องคืออะไร
Andrew Coonce

21

อาร์กิวเมนต์สำหรับการเข้าพักกับ Java / JRuby

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

  1. สร้างผลลัพธ์ในอัตราที่ช้าลง
  2. สร้างรหัสคุณภาพต่ำ

แม้แต่โปรแกรมเมอร์ที่ดีที่สุดก็ต้องใช้เวลาอุ่นเครื่องกับภาษา / กรอบงานใหม่

ข้อโต้แย้งสำหรับการเรียนรู้ MVC4 และ C #

การเรียนรู้ภาษาใหม่เป็นสิ่งที่ดี การลงทุนในทักษะของคุณในฐานะโปรแกรมเมอร์นั้นมีความเสี่ยงหากภาษา / แพลตฟอร์มที่คุณกำลังเรียนรู้กำลังจะหายไปในอนาคตอันใกล้และด้วยการที่ไมโครซอฟต์กำลังสับเปลี่ยนไปด้วยฉันไม่คิดว่านั่นเป็นปัญหา ทั้ง C # และ MVC มีอัปเดตล่าสุดปรับปรุงทั้งคู่พร้อมอัปเดตเพิ่มเติมในไปป์ไลน์

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

บรรทัดล่าง

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


11
+1 "หมายความว่าคุณได้รับเงินเพื่อทำให้ตัวเองคุ้มค่ามากขึ้น" bingo!
GrandmasterB

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

@brichins: ฉันคิดว่าหนึ่งในปัญหาใหญ่กับคำตอบนี้คือจริง ๆ แล้วมันไม่ได้ชี้ให้เห็นสิ่งที่คุณพูดมัน!
ruakh

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

18

นักพัฒนาควรได้รับอนุญาตให้เลือกเครื่องมือของเขาที่จุดใด

เมื่อนักพัฒนาซอฟต์แวร์กล่าวว่าเป็นผู้นำ

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

BTW วลี

โดยมุ่งเน้นที่การทำสิ่งต่าง ๆ มากมายในเวลาอันสั้น

รับผิดชอบต่อการอิจฉาริษยาและการทำร้ายร่างกายในอุตสาหกรรมซอฟต์แวร์มากกว่าสิ่งอื่นใด


2
+1 "เมื่อนักพัฒนาซอฟต์แวร์บอกว่าเป็นผู้นำ เผง บางครั้งเมื่อคุณโต้แย้งประเด็นและผู้นำของคุณไม่เห็นด้วยกับคุณก็เป็นเพราะหัวหน้าของคุณมีภาพรวมที่ดีกว่า นี่คือหนึ่งในสถานการณ์เหล่านั้น
Andrew Coonce

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

ฉันหัวเราะอย่างจริงจังกับคำตอบของคุณที่ว่า "รับผิดชอบต่อการอิจฉาริษยาและการทำร้ายร่างกายในอุตสาหกรรมซอฟต์แวร์มากกว่าเรื่องอื่น" ... ขอบคุณ! คงไม่สามารถใช้ถ้อยคำที่ดีกว่านี้ได้!
Alexus

11

ฉันทราบว่าคุณไม่ได้พูดว่าคุณได้รับการว่าจ้างเป็นโปรแกรมเมอร์ JRuby หรือ Java

นี่คือเหตุผลที่คุณบอกว่าคุณได้รับการว่าจ้าง: "[B] เพราะฉันมีประสบการณ์มากมายในการสร้างเว็บแอปพลิเคชันและเพราะฉันพึ่งพาเทคโนโลยีใหม่เช่น JRuby บน Rails หรือ nodejs"

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

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

ดังนั้นคำถามคือคุณจะทำอย่างนั้นหรือไม่?


9

ค่าใช้จ่ายที่ใหญ่ที่สุดในซอฟต์แวร์อยู่ในการบำรุงรักษา

ฉันอ่านว่าค่าใช้จ่ายที่ใหญ่ที่สุด (80%) คือการบำรุงรักษาซอฟต์แวร์ การพัฒนาเบื้องต้นมีเพียง 20% ของต้นทุนการพัฒนาทั้งหมด

ฉันอ่านกรณีเกี่ยวกับนักพัฒนาที่พัฒนารหัสและความคิดเห็นเป็นภาษาแม่ของเขา (ไม่ใช่ภาษาอังกฤษ) และเมื่อสมาชิกในทีมคนอื่น ๆ ไปปรับปรุงและบำรุงรักษารหัสมันเป็นไปไม่ได้เพราะภาษา (ไม่ใช่ภาษาโปรแกรม) เป็นภาษาต่างประเทศ ถึงพวกเขา.

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

การแก้ไข: การเขียนโปรแกรมคู่

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

บทความ Wikipedia เกี่ยวกับ "Pair Programming": http://en.wikipedia.org/wiki/Pair_programming


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

6

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

ลองคิดดูสิ: รหัสจะอยู่ได้นานกว่าคุณ มีโอกาสที่ดีที่คนอื่นจะรักษารหัสของคุณและ C # เป็นการเดิมพันที่ปลอดภัยกว่า Node.js และ Rails มันจะไม่แปลกใจเลยถ้าใน 5 หรือ 6 ปีที่จำนวนโปรแกรมเมอร์ Ruby ลดลงครึ่งหนึ่งหลังจากนั้นทั้งหมดก็เกิดขึ้นกับ Perl และภาษาอื่น ๆ ที่ได้รับการพิจารณาในบางจุดว่า "มัน" ภาษาเว็บ Javascript ไม่น่าจะหายไป แต่เราเริ่มเห็นแล้วว่ามันถูกใช้เป็น ASM (หรือแม้แต่ C) ของเว็บ - ภาษากลางอื่น ๆ ที่สามารถรวบรวมได้เพื่อให้สามารถเขียนโค้ดฝั่งเซิร์ฟเวอร์ได้ ล้าสมัยไปมาก


4
ในขณะที่สิ่งนี้เป็นเรื่องจริงมันเป็นวิธีการสรรหาบุคลากรที่น่าสงสารสำหรับร้านค้า C # เพื่อจ้างนักพัฒนาทับทิมที่ไม่รู้จัก C # โดยไม่ทำให้ชัดเจนว่างานที่เขาได้รับการว่าจ้างสำหรับการพัฒนา C # เป็นหลัก
Carson63000

5

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


3

กรุณาหมุนไปรอบ ๆ ได้โปรด ลองนึกภาพคุณเป็นคนที่จ้างนักพัฒนา Ruby และพวกเขายืนยันที่จะใช้งานของพวกเขาใน Asp.net/MVC

คุณจะพูดอะไรกับพวกเขา นี่คือสแต็คของเราคน เรียนรู้ที่จะอยู่กับมัน

กฎทองคำนี่คือเธอที่มีทองคำสร้างกฎ


1
แต่ทำไมคุณถึงต้องจ้างคนที่ยืนยันการใช้. NET เพื่อรับบทบาท Ruby
Bobson

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

2
@Bobson: ดังนั้นตอนนี้คุณกำลังโต้เถียงว่า บริษัท ไม่ควรจ้างนักพัฒนาที่ไม่มีประสบการณ์ในการเลือกภาษาของ บริษัท ทุกคนดูเหมือนจะเถียงกันในทิศทางอื่นซึ่งพวกเขาอ้างว่าพวกเขาสามารถเรียนรู้ภาษาใหม่ได้อย่างรวดเร็วดังนั้น บริษัท จึงไม่ควรส่งต่อนักพัฒนาที่ดีเพียงเพราะพวกเขายังไม่เชี่ยวชาญในภาษาใดภาษาหนึ่ง ....
Dunk

2
" ฉันถูกจ้างเพราะฉันมีประสบการณ์มากมายในการสร้างเว็บแอปพลิเคชันและเพราะฉันพึ่งพาเทคโนโลยีใหม่ ๆ เช่น JRuby บน Rails หรือ nodejs" - สิ่งนี้ไม่ได้รับการว่าจ้างในฐานะนักพัฒนา XYZ นี่คือ "การจ้างงานในฐานะนักพัฒนาเว็บที่มีประสบการณ์ด้านเทคโนโลยีที่ใหม่กว่า" (ซึ่ง บริษัท อาจสนใจที่จะอัปเดตสิ่งต่าง ๆ ในอนาคต)

3
@Bobson: เมื่อฉันได้รับการว่าจ้างให้เป็น บริษัท ใหม่ฉันไม่เพียง แต่รู้ว่าฉันกำลังนำอะไรมาที่โต๊ะ แต่ฉันก็รู้ว่าฉันจะทำงานโครงการอะไรและพวกเขาคาดหวังให้ฉันทำโครงการนั้น หาก OP ไม่สามารถรบกวนการค้นหาข้อมูลนี้ได้ก็ให้เขาขายหน้า จากที่กล่าวมาฉันคิดว่านี่เป็นกรณีของ บริษัท ที่จ้างคนที่พวกเขาเชื่อว่าเป็นนักพัฒนาที่ดีที่มีความรู้ด้านโดเมนที่เกี่ยวข้องเข้ามาและช่วยทีมด้วยความคาดหวังว่าการหยิบ mVC4 มาเป็นอุปสรรคเล็ก ๆ น้อย ๆ บริษัท อาจจะอธิบายไม่ดี แต่ OP ไม่ได้ทำหน้าที่ของเขาเช่นกัน
Dunk

2

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

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

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

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


2

Bah ทุกคนผิด

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

และตอนนี้สำหรับคำแนะนำที่สำคัญ หากคุณยังคงฝึกฝนความเชี่ยวชาญของคุณในขณะที่ยังเพิ่มความเชี่ยวชาญของคุณในด้านอื่น ๆ ในที่สุดคุณก็จะอยู่ในที่ที่คุณสามารถหางานใหม่ได้ตลอดเวลาในเวลาไม่ถึงสองสัปดาห์ในเมืองใหญ่ ๆ ที่น่าสนใจส่วนใหญ่อย่างน้อยครึ่งเวลา เมื่อคุณพบว่าตัวเองอยู่ในสถานที่นี้อย่าทนกับงานเหล่านี้ที่พวกเขาบอกว่าพวกเขาต้องการสิ่งนี้และในวันที่สองพวกเขาให้คุณทำอย่างนั้นโดยไม่หวังว่าจะบรรเทาโทษในอนาคตอันใกล้ เพียงแค่อธิบายอย่างสุภาพและขอโทษ แต่ก็ไม่มีคุณไม่อยากทำอย่างนั้นและพูดให้มากที่สุดในการสัมภาษณ์แล้ว! @ # $ ออกจากและย้ายไปเมื่อสองสามสัปดาห์ที่ผ่านมาและพวกเขาไม่ได้ทำอะไรเลยเพื่อรองรับ ความจริงที่ว่าพวกเขาบิดเบือนตำแหน่งให้คุณและปฏิเสธที่จะรับทราบว่า

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

แน่นอนสิ่งที่ไม่สมเหตุสมผลคือเหตุผลว่าทำไมพวกเขาถึงเปลี่ยนไปใช้ Rails / JS / UI dev และให้เขาทำแอป MVC เท่านั้น แต่สำหรับตอนนี้. คุณอาจต้องหยิบมันขึ้นมาและชำระค่าธรรมเนียม และอย่างที่ฉันพูดไว้ในคอมเม้นต์ MVC ว่ามันไม่เลวจริงๆ ตัวเลือกที่ไม่ดีจริง ๆ ให้ตัวเลือกทั้งหมด แต่ไม่แน่นอนที่เลวร้ายที่สุด มันค่อนข้างตรงไปตรงมาอย่าโยนสิ่งที่เป็นนามธรรมถึง 10,000 ชั้นเหนือสิ่งอื่นใดที่เกิดขึ้นจริงและไม่ได้บิดตัวเองกับลูกค้าที่คุณจะสาปแช่งชื่อของวิศวกร MS ที่รับผิดชอบหากใครก็ตามอาจถูกรบกวน เพื่อเรียนรู้พวกเขา

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


1

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

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


1

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

ฉันเคยเห็น บริษัท ที่จ้างงานนอกขอบเขตเทคโนโลยีและพวกเขาทำด้วยเหตุผลเดียวกัน พวกเขาต้องการรับนักพัฒนาที่ยอดเยี่ยมแม้ว่านั่นหมายถึงการรอให้พวกเขาปรับตัวเข้ากับเทคโนโลยีใหม่

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

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


1

ฉันจะสมมติว่าคุณซื่อสัตย์ในระหว่างการสัมภาษณ์ของคุณเกี่ยวกับการขาดความรู้ C # เพราะถ้าคุณไม่ได้คุณอาจอยู่ในสถานะล่อแหลมมากจากมุมมองทางกฎหมาย

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

โดยธรรมชาติแล้วจะมีช่วงการเรียนรู้ หากนายจ้างว่าจ้างคุณก็จะต้องมั่นใจในความสามารถของคุณในการติดตามโค้งในระยะเวลาที่เหมาะสม (อีกครั้งสมมติว่าคุณซื่อสัตย์ตรงไปตรงมาไม่ทราบว่า C #) ภาษา C # ยืมมาอย่างหนักจาก Java และโดยทั่วไปภาษาการเขียนโปรแกรมในชั้นเรียนส่วนใหญ่มีความคล้ายคลึงกันค่อนข้างมาก (คุณพูดถึง node.js ซึ่งสร้างขึ้นจากส่วนบนของ ECMAScript ซึ่งเป็นภาษาที่ใช้ต้นแบบดังนั้นคุณจึงเห็นได้ชัด สะดวกสบายกับกระบวนทัศน์การเขียนโปรแกรมอื่น ๆ

โปรแกรมเมอร์ที่ดีควรมีความยืดหยุ่นพร้อมที่จะเรียนรู้สิ่งใหม่ ๆ ในการพัฒนาซอฟต์แวร์คุณมักจะเรียนรู้หรือไม่เกี่ยวข้อง

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

คุณจะต้องเตรียมพร้อมที่จะยอมรับไม่ช้าก็เร็วว่าคุณกำลังทำงานในร้านค้า C # และดังนั้นคุณจะต้องมี C # ภายใต้เข็มขัดของคุณ


0

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

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

หวังว่าวิธีการใช้ MVC4 ของคุณ (สมมติว่าคนอื่นไม่ได้ทำในสิ่งที่ถูกต้อง) ใน Ruby-Style มากกว่านี้จะจับและทำลายทุกคนให้ห่างจากความคิดของ Webforms

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