ผู้จัดการเลือกภาษาการเขียนโปรแกรมอย่างไร


23

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

ในฐานะโปรแกรมเมอร์เองฉันไม่เคยเข้าใจสิ่งนี้เลย

แต่ตอนนี้ฉันคิดว่าฉันทำ: ฉันเพิ่งได้รับการเปิดเผยเมื่อ Joel Spolsky พูดในพอดคาสต์ว่าพวกเขาควรใช้ QuickBooks เพราะ "นักบัญชีทุกคนในโลกรู้" สิ่งนี้ทำให้ฉันรู้สึกคล้ายกับ "เลือก Java เพราะโปรแกรมเมอร์ทุกคนในโลกรู้"

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


โปรดจำไว้เสมอว่าผู้จัดการคือคนที่เชื่อว่าผู้หญิงเก้าคนสามารถคลอดทารกหนึ่งคนในหนึ่งเดือน!
ลบ 7

คำตอบ:


29

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

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

ผมขอยกตัวอย่าง: พีซี โจเอลโต้แย้ง (ถูกต้อง) ว่านักพัฒนาควรมีเครื่องบากด้านบนเพราะเวลานักพัฒนามีราคาแพง ในเรื่องนี้เขาพูดถูก แต่คุณจะโต้แย้งเรื่องนี้ได้อย่างไร ง่าย:

ตัวอย่าง: ฉันสร้างโค้ดประมาณ 20 ครั้งต่อวัน แต่ละครั้งใช้เวลา 3 นาที ถ้าฉันมีพีซีที่เร็วฉันสามารถสร้างมันได้ใน 1.5 นาที ดังนั้นสำหรับเงินเพิ่มพิเศษ $ 1,000 ทุก ๆ สองปีฉันจะได้รับครึ่งชั่วโมงต่อวันพิเศษซึ่งสำหรับโปรแกรมเมอร์ที่มีรายได้ $ 100k (โดยมีต้นทุนต่ออีก 50% เป็นอย่างน้อย) นั่นเท่ากับประมาณ $ 10,000 ต่อปี

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

แพลตฟอร์มเทคโนโลยีและภาษาจะมีปัจจัยมากมายในการตัดสินใจ:

  • ความสัมพันธ์เชิงกลยุทธ์กับผู้ขายเฉพาะ หาก บริษัท ของคุณเป็น Microsoft Gold Partner (หรือสิ่งที่เรียกว่าตอนนี้) ขอให้โชคดีในการใช้ Java หรือ Python
  • แผนก IT โต้เถียงการกำหนดค่าเฉพาะเนื่องจากเงินสำหรับพีซีมาจากงบประมาณของพวกเขา;
  • การตัดสินใจว่าทุกคนควรใช้ Windows 2000 เพราะไม่มีคนที่ใช้งาน Linux
  • ระบบอื่น ๆ ที่ บริษัท มีอยู่แล้ว (เช่นถ้าพวกเขาใช้ Java สำหรับทุกอย่างอื่นมันสมเหตุสมผลที่จะใช้มันแม้ว่าจะเป็นตัวของมันเองมันอาจจะไม่ใช่ตัวเลือกที่ดีที่สุด)
  • การหลีกเลี่ยงความเสี่ยงต่อแพลตฟอร์มหรือภาษาที่แตกต่างจากการขาดประสบการณ์
  • สนใจการโต้เถียงความเสี่ยงกับผู้บริหารระดับสูงมากกว่าทำให้นักพัฒนามีความสุข
  • ผู้จัดการบางคนตัดสินใจอย่างง่ายดายเพราะมือของพวกเขาถูกผูกไว้
  • เหตุผลด้านงบประมาณถึงแม้ว่าสิ่งนี้สามารถทำงานในความโปรดปรานของคุณได้เช่นกันเพราะมันทำให้ boondoggles ราคาแพงออกจากบ้านของคุณเช่น PVCS สิ่งที่ผลิตโดย Rational ฯลฯ
  • ฝ่ายกฎหมายไม่ชอบใบอนุญาตโอเพนซอร์ซ
  • ไม่เกี่ยวข้องกับเจ้าหน้าที่เทคนิคในการวางแผนและการประมาณโครงการ
  • ความคุ้นเคยในส่วนของผู้จัดการกับแพลตฟอร์มเฉพาะ (คนด้านเทคนิคก็มีความผิดเช่นกัน แต่ในทั้งสองกรณีนี้ไม่จำเป็นต้องเป็นเรื่องเลวร้าย - ด้วยเครื่องมือมากมายที่สามารถทำงานได้ดีกว่าปีศาจที่คุณรู้จัก)
  • ประสบการณ์ของเจ้าหน้าที่ด้านเทคนิค หากพวกเขาทั้งหมดมาจากพื้นหลัง C # ทำไมพวกเขาจะใช้ Java, Python หรือ Ruby?
  • อีกหลายเหตุผล

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


คำตอบที่ดีมากและมีรายละเอียด!

1
"boondoggles แพงออกจากบ้านของคุณเช่น PVCS อะไรที่ผลิตโดย Rational" ฮะ! ตลกเพราะมันเป็นความจริง;)
Rig

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

16

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

เป็นการดีที่จะพูดคุยถึงข้อดีข้อเสียระหว่างผู้จัดการและทีมพัฒนาและค้นหาวิธีแก้ไขปัญหาที่เหมาะสมที่สุด ซึ่งมักเกี่ยวข้องกับการพูดคุยและโน้มน้าวใจเป็นอย่างมาก :-)


ทำไมถึงลงคะแนน?

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

14

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

ผู้จัดการเลือกภาษาการเขียนโปรแกรมอย่างไร

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

  • ในทางการเมือง
    • "ไม่มีใครถูกไล่ออกจากการซื้อไอบีเอ็ม" - ทางเลือกที่ปลอดภัย
    • CEO ได้ยินว่า Java นั้นยอดเยี่ยม
    • หัวหน้าสถาปนิกชอบ. NET - โครงการสัตว์เลี้ยง
    • ภาษาถูกควบคุมโดยคู่แข่งที่เป็นมิตร - ทำไม Google ไม่พึ่ง C #
  • ประหยัด
    • ค่าลิขสิทธิ์
    • ค่าใช้จ่ายในการฝึกอบรมนักพัฒนา
    • ต้นทุนการโยกย้ายฐานรหัส
  • สังคม
    • บายอินจากทีม
    • ทักษะความพร้อมใช้งานในบ้าน
    • ทักษะความพร้อมใช้งานในตลาด
    • คุกคามสภาพที่เป็นอยู่เดิมภายในทีม dev
    • ความพร้อมของชุมชนขนาดใหญ่เพียงพอในการฝึกฝน
  • เทคโนโลยี
    • การปรับปรุงการผลิต
    • การปรับปรุงคุณภาพ.
    • ความสามารถในการทำงานร่วมกับฐานรหัสที่มีอยู่
    • ยึดมั่นในมาตรฐาน
    • วุฒิภาวะ
  • ถูกกฎหมาย
    • ข้อกำหนดสิทธิการใช้งาน
    • การควบคุมเทคโนโลยี (ใครเป็นเจ้าของและเป็นผู้ควบคุมเทคโนโลยีกลยุทธ์การออกใบอนุญาตในอนาคตมีแนวโน้มเป็นอย่างไร)
    • การปฏิบัติตามกฎหมายและข้อบังคับ
  • สิ่งแวดล้อม
    • โครงสร้างพื้นฐานที่มีอยู่ภายใน บริษัท
    • ทักษะที่มีอยู่ภายใน บริษัท
    • บูรณาการกับพันธมิตรภายนอก
    • ระดับการรองรับเทคโนโลยีตามสภาพแวดล้อมที่กว้างขึ้น

จากนั้นกลุ่มภาษาที่ตรงกับเกณฑ์อาจถูกประเมินเพิ่มเติมโดยใช้SWOT การวิเคราะห์ผลประโยชน์ต้นทุนหรือคล้ายกัน

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

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

ตามที่ได้รับหวังว่าการแสดงให้เห็นว่าโปรแกรมเมอร์โดยทั่วไปจะมีเพียง 1 ใน 6 ของข้อมูลทั้งหมดในกระบวนการตัดสินใจ และตามกฎแล้วเธอหรือเขาส่วนใหญ่จะสนใจในความสามารถทางภาษาเพียงอย่างเดียว!

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

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

  1. แพลตฟอร์มปัจจุบันไม่เพียงพออีกต่อไป
  2. แพลตฟอร์มใหม่สัญญาประโยชน์ที่ไกลเกินดุลความยุ่งยาก

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


5

ผู้จัดการ A ไปพักผ่อนช่วงฤดูร้อนที่ซึ่งเขาได้พบกับผู้จัดการ B

ตอบ: คุณใช้ภาษาอะไรใน บริษัท ของคุณ? B: โอ้เราใช้ CA Visual Objects มันทำให้โดรนมีประสิทธิผลมากกว่าภาษาโคบอล

และนี่คือวิธีการตัดสินใจ จบเรื่องจริง


บริษัท อะไร

3

ทุกแพลตฟอร์มมีด้านดีและไม่ดี .NET นั้นเจ๋งและมีประสิทธิภาพ แต่คุณติดอยู่กับเซิร์ฟเวอร์ Windows ทับทิมเย็น แต่ช้า มันจะเป็นการยากที่จะหานักพัฒนาสำหรับ Haskell

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


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

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

ไม่คุณจะไม่รู้จักนักพัฒนา Haskell มากกว่า 300 คนที่จะทำงานเดียวกันกับที่พวกเขาทำเพื่อจ่ายเงินน้อยกว่าที่พวกเขาได้รับตอนนี้เพียงแค่ทำงานใน Haskell
Rayne

2

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

"เราสามารถยอมรับความรับผิดชอบที่แตกต่างกันสองแบบที่นี่: ถ้าเราไปทางนี้เราสามารถส่งมอบสิ่งนี้ได้อย่างรวดเร็วและเราตอบสนองความต้องการทางธุรกิจเหล่านี้ได้ดีจริงๆและสิ่งเหล่านี้ยากขึ้นนิดหน่อย ทางเลือก A ต้องการทรัพยากรเหล่านี้และทางเลือก B หมายความว่าเราจำเป็นต้องทำเช่นนี้และสิ่งนี้ ... "

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


น่าสนใจมาก.

1

เป็นผู้จัดการ (ยิ้ม)

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


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

นั่นก็เช่นกัน

1

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


2
การเขียนโปรแกรมบ่อยกว่าไม่เป็นความสามารถหลักสำหรับผู้จัดการ

คงเป็นความสามารถหลักของธุรกิจหรือแผนกในลักษณะที่แตกต่างจากการอภิปรายของ Quickbooks อย่างมาก

ฉันไม่สามารถติดตามได้ คุณกำลังเปรียบเทียบแอปเปิ้ลกับส้มหรือไม่?

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

1

มันขึ้นอยู่กับบุคลิกของผู้จัดการเป็นอย่างมาก:

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

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

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

กล่าวอีกนัยหนึ่ง: ปฏิบัติต่อเขาเหมือนเป็นคนฉลาด (อาจเป็น)


1

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


จุดที่น่าสนใจ แต่ฉันรู้สึกว่าภาระในการพิสูจน์ควรอยู่ที่คนที่ใช้ภาษาไม่ใช่ในทางกลับกัน

ในโลกหางนางฟ้าอาจจะ
Rayne

1

การเลือกภาษาโปรแกรมมักเป็นการตัดสินใจทางธุรกิจ ลูกค้า / ผู้ใช้ไม่สนใจ นี่คือข้อความสั้น ๆ (จากhttp://www.ericsink.com/bos/Geeks_Rule.html ):

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


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

1

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

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

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


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

0

นี่คือแนวคิดที่แตกต่าง

เมื่อบัญชีคุณแบ่งปันผลลัพธ์ของคุณ: สำหรับภาษีกฎหมายนักลงทุน ฯลฯ พวกเขาต้องการเครื่องมือเพื่อดูผลลัพธ์ของการทำงานของคุณและเครื่องมือนี้จะต้องมีความรู้ดี

เมื่อการเขียนโปรแกรมคุณใช้เครื่องมือใด ๆ ที่คุณต้องการ - ตราบใดที่มันส่งออก.exeไฟล์ที่คุณสามารถเรียกใช้บน Windows นี่เป็นสิ่งเดียวกับเอกสาร Quick Books ที่สามารถอ่านได้ในกรณีของการบัญชี

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

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

สิ่งที่พวกเขาเลือกขึ้นอยู่กับเป้าหมายของพวกเขา: หากพวกเขาต้องการโปรแกรมเมอร์ที่เปลี่ยนได้ง่ายพวกเขาเลือก Java; หากพวกเขาส่งไปยังแผนกอื่นจะเป็นข้อกำหนดของแผนกนั้น ๆ


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

เผง หากผู้ประกอบเครื่องปิ้งขนมปังที่พูดภาษาสเปนมีความพร้อมมากขึ้นในตลาดแรงงานเอกสารของหลักสูตรควรเป็นภาษาสเปน

0

จากประสบการณ์ของฉันมันขึ้นอยู่กับ:

  1. เรามีทรัพยากรที่จะใช้ภาษาหรือไม่?
  2. เรามีทรัพยากรในการดูแลภาษาหรือไม่?
  3. หากเราไม่มีทรัพยากรที่จะใช้และบำรุงรักษาภาษาความยากลำบาก / ค่าใช้จ่ายในการรับทรัพยากรเหล่านั้นเป็นอย่างไร
  4. "อนาคต" ของภาษาคืออะไร (มันจะเป็นรอบและใช้งานในขณะที่?)

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

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

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