ฉันไม่ได้เขียนโปรแกรมในเวลาว่าง นั่นทำให้ฉันเป็นนักพัฒนาที่ดีหรือไม่?


387

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

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

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

นี่หมายความว่าฉันไม่ใช่นักพัฒนาซอฟต์แวร์ "ที่แท้จริง" หรือ? เป็นไปได้ไหมที่จะเป็นนักพัฒนาซอฟต์แวร์ที่ดีโดยไม่ต้องทำงานนอกสถานที่ ฉันสนใจมากที่จะได้ยินสิ่งที่คุณคิด

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


133
ฉันคิดว่าแค่ทำให้คุณปกติมากขึ้นคุณอาจมีความสัมพันธ์กับสิ่งที่พวกเราเรียกว่า "ชีวิตจริง" คุณค่านั้น
Orbling

146
@Orbling นี่คือ "ชีวิตจริง" ที่คุณกำลังพูดถึงคืออะไร? มันคล้ายกับ WoW หรือไม่? มันทำงานบนระบบปฏิบัติการ 64 บิตหรือไม่?
biziclop

18
@biziclop - มันเหมือนกับ WOW ที่มีกราฟิกที่ดีขึ้นและการเล่นเกมที่น่าเบื่อมากขึ้น
ChaosPandion

39
@ChaosPandion: ภารกิจดูดใน r / l, ยาว, น่าเบื่อและยกเค้าไม่แน่นอนมหากาพย์
Orbling

4
เพื่อประสิทธิภาพเราขอแนะนำให้ทดลองกับสิ่งใหม่ ๆ และทำงานในโครงการส่วนบุคคลเมื่อคุณควรจะทำงาน ด้วยวิธีนี้คุณยังมีเวลาว่าง จำกัด :-)
Carson63000

คำตอบ:


446

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

นี่คือสิ่งที่ นักดนตรีคอนเสิร์ต (เชลโล / นักเปียโน / อะไรก็ตาม) จะฝึกซ้อมมากที่สุด 6 ชั่วโมงต่อวัน ส่วนใหญ่ฝึกเพียงไม่กี่ชั่วโมงต่อวัน ในระดับสูงสุด

ผู้คนพูดโปรแกรมมากขึ้นเพราะคุณเรียนรู้มากขึ้น แต่นั่นเป็น Smokescreen 8 ชั่วโมงต่อวันเป็นปริมาณมาก

ความคืบหน้าไม่ใช่เชิงเส้น มันเป็นลอการิทึม:

ป้อนคำอธิบายรูปภาพที่นี่

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

ฉันเคยทำงานใน บริษัท หม้อหุงความดันมาก่อนและเชื่อฉันว่าจำนวนงานจริงที่พวกเขาทำไม่ได้ดีไปกว่า บริษัท เช่น 37signals ที่วางข้อ จำกัด เกี่ยวกับปริมาณงาน: http://37signals.com / SVN / โพสต์ / 996 ทำไมฉันรักการทำงานกับครอบครัวคน

สิ่งที่เกิดขึ้นก็คือแน่ใจว่าคุณอาจอยู่หน้าคอมพิวเตอร์นาน 10-12 ชั่วโมงและที่สำนักงานอีก 2 ชั่วโมง แต่นั่นไม่รวมอาหารกลางวัน 90 นาทีที่คุณใช้เวลา 2 ชั่วโมงที่คุณใช้การสนทนาดู ฟอรัมและเวลาพักคุณต้องเล่นหนึ่งในหลาย ๆ เกมในออฟฟิศ (foosball, pool, yada ... )

มองย้อนกลับไปที่กราฟนั้น ตอนนี้กลับมาหาฉัน

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

ในลักษณะลอการิทึมของผลผลิต:

ในการศึกษาอันโด่งดังของนักไวโอลินรุ่นเยาว์ปี 1993 Anders Ericsson พบว่านักไวโอลินที่เก่งที่สุดทุกคนฝึกฝนวิธีเดียวกันในตอนเช้าโดยเพิ่มขึ้น 3 ครั้ง ๆ ละไม่เกิน 90 นาทีโดยแบ่งระหว่างกัน Ericcson พบรูปแบบเดียวกันในหมู่นักดนตรีนักกีฬาผู้เล่นหมากรุกและนักเขียนคนอื่น ๆ

สำหรับผลผลิตที่แท้จริงลดน้อยลงอย่างแท้จริง

นี่เป็นหลักการที่รู้จักกันดีในโลกธุรกิจฉันแปลกใจที่โปรแกรมเมอร์ไม่เคยได้ยินมาก่อน

Update: ข้อมูลเพิ่มเติมเกี่ยวกับการศึกษาของ Ericsson

ความคิดทั้งหมดของการใช้เวลา 10,000 ชั่วโมง / 10 ปีในการเป็นผู้เชี่ยวชาญนั้นมาจากการศึกษาของ Ericsson ไม่ใช่จาก Malcom Gladwell

อย่างที่เราทุกคนรู้กันคุณสามารถมีประสบการณ์ 1 ปีซ้ำแล้วซ้ำอีก 10 ครั้ง ... เพียงแค่มีตูดของคุณนั่งเป็นเวลา 10 ปีก็ไม่มีคุณสมบัติ สิ่งที่ไม่มีคุณสมบัติคือสิ่งที่เรียก Ericsson ปฏิบัติโดยเจตนา

เขาพบหลักการนี้เพื่อยึดถือความจริงในด้านกรีฑาดนตรีการเขียนหมากรุกและคณิตศาสตร์ เขายังกำหนดปฏิบัติโดยเจตนาเป็นeffortful เพื่อที่แม้แต่ในระดับสูงสุดที่คุณสามารถนำออกมาประมาณ 4 ชั่วโมงต่อวัน มิฉะนั้นคุณจะต้องทนทุกข์ทรมานจาก overtraining หรือเหนื่อยหน่าย อีกครั้งเขาตระหนักดีว่ามีผลตอบแทนลดลงสำหรับการปฏิบัติโดยเจตนาสูงถึงประมาณ 4 ชั่วโมง

ในเรื่องของการไม่มีงานที่ดี / ท้าทาย:

hogwash รับงานที่ดีขึ้นหรือนี่คือแนวคิด: ทำให้งานปัจจุบันของคุณกลายเป็นสิ่งที่ไม่ใช่ตอนนี้อย่างน้อยที่สุด

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

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

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

ฉันไม่แน่ใจว่าเกิดอะไรขึ้นกับเขาหลังจากนั้น แต่เขาสอนบทเรียนสำคัญสองสามข้อให้แก่ฉัน:

  1. งานของคุณคือสิ่งที่คุณทำมันและมีปัญหาที่น่าสนใจที่จะแก้ไขได้ทุกที่ หากคุณเกลียดการเขียนหน้าจอ CRUD ให้แก้ปัญหาโดยสร้างมันขึ้นมาโดยอัตโนมัติ

  2. อย่านั่งรอโอกาสที่จะมาหาคุณ โอกาสที่พวกเขาจะไม่


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

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

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

2
@GabrielLlamas ทฤษฎีดนตรีเป็นสิ่งพื้นฐานเช่นพื้นฐานของอัลกอริทึมการคำนวณแบบกระจายและระบบปฏิบัติการที่เราเรียนรู้ในวิทยาลัย พื้นฐานเหล่านี้ไม่ได้เปลี่ยนแปลงการทำงานล่วงเวลามาก ย้อนกลับไปในประมาณ 20 ปีที่เรามีโมเดลของไคลเอ็นต์และเซิร์ฟเวอร์และตอนนี้เรายังมีโมเดลของไคลเอ็นต์และเซิร์ฟเวอร์ ดังนั้นพื้นฐานของไคลเอนต์และเซิร์ฟเวอร์ยังคงใช้มันเป็นเพียงสิ่งระดับสูงที่มีการเปลี่ยนแปลงอย่างรวดเร็ว คุณสามารถนึกถึงเครื่องมือต่าง ๆ เช่นเทคโนโลยีที่แตกต่างกันเช่น HTML, Javascript แต่ถ้าคุณสามารถนำปัจจัยพื้นฐานไปใช้สิ่งต่าง ๆ ก็จะคล้ายกัน
David Gao

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

150

มีการซ่อนเพิ่มเติมในข้อความนี้

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

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

ดังนั้นหากคุณไม่ได้ทำอะไรเพิ่มเติมคุณจะไม่พัฒนาศักยภาพของคุณ และนั่นคือปัญหา


2
ว้าวมันโล่งใจมากเพราะบางครั้งฉันรู้สึกว่าฉันสนใจที่จะเรียนรู้ด้านอื่น ๆ ของการเขียนโปรแกรม แต่งานนั้นทำให้ทุกอย่างรู้สึกเหมือนฝน
melaos

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

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

5
-1 ตามที่คนอื่น ๆ ได้กล่าวไว้ในคำตอบและความคิดเห็นอื่น ๆ นี่ก็หมายความว่าคุณไม่สามารถรับงานที่ดีสนุกและท้าทายได้ จากประสบการณ์ส่วนตัวของฉันสิ่งนี้ไม่เป็นความจริง ฉันได้เรียนรู้สิ่งใหม่มากมายในงานส่วนใหญ่ของฉันจนถึงตอนนี้ IMHO เป็นคำถามของทัศนคติส่วนบุคคลอย่างน้อยที่สุดเท่าที่วัฒนธรรมของ บริษัท
PéterTörök

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

70

มันไม่ได้ทำให้คุณเป็นนักพัฒนาที่ไม่ดี แต่น่าเสียดายที่คุณยังต้องแข่งขันกับคนที่ทำ

อ่านสิ่งนี้จากบล็อกของ Seth Godin :


ไม่มีเหตุผล

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

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

มันไม่มีเหตุผลสำหรับ บริษัท รถบรรทุกที่จะรับโทรศัพท์ในวงแหวนแรก

มันไม่มีเหตุผลที่จะเริ่มต้น บริษัท ใหม่โดยที่ไม่มีเงินลงทุนที่สามารถรับรองได้

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

มันไม่มีเหตุผลที่จะเดินออกไปจากกิ๊กที่ดีในเศรษฐกิจของวันนี้แม้ว่าคุณจะต้องการทำอะไรที่กล้าหาญและเป็นต้นฉบับ

ไม่มีเหตุผลสำหรับครูที่จะคาดหวังว่าเราจะสามารถทำให้เด็ก ๆ ผู้ด้อยโอกาสในเมืองสามารถทำได้ดีในโรงเรียนมัธยม

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

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

มันไม่มีเหตุผลที่จะอุทิศชีวิตของคุณในการสร้างผลิตภัณฑ์ที่คนส่วนใหญ่จะไม่เคยชื่นชม

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


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

37
คุณตั้งสมมติฐานว่านักพัฒนาไม่ได้ท้าทายในที่ทำงานและไม่สนุกกับการทำงานของพวกเขา มันไม่เป็นความจริง. คนที่เพียง แต่โปรแกรมในที่ทำงานไม่ได้ทำโปรแกรมที่บ้านเพราะพวกเขาพึงพอใจอย่างสมบูรณ์
ไม่มีใครใน

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

13
-1 มันไม่มีเหตุผลที่จะเรียกสิ่งที่สมเหตุสมผลมากมายไม่มีเหตุผล มันไม่ได้เพิ่มคำถามใด ๆ เลยและก็ฟังไม่เป็นไรส่วนใหญ่ก็เหมือนกับหลายสิ่งที่ Seth Godin เขียน
Vitor Py

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

57

หากต้องการตอบคำถามที่โพสต์: การไม่เขียนโปรแกรมในเวลาว่างไม่ได้ทำให้คุณเป็นนักพัฒนาที่ไม่ดีอย่างไรก็ตามการเขียนโปรแกรมในเวลาว่างสามารถทำให้คุณเป็นนักพัฒนาซอฟต์แวร์ที่ดีขึ้นได้

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


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

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

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

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

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

23

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

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

มีบางสิ่งที่คุณสามารถไตร่ตรองว่าเป็นเวลา (หรือเปิด) ที่อาจช่วยให้คุณทำงานได้ดีขึ้น:

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

การเขียนโปรแกรมเป็นงานอดิเรกไม่ได้หมายถึงการทำงานนอกเวลาทำงานของ biz - แน่นอนไม่ได้ขยายขนาด แต่การเขียนโปรแกรมเกมบน iPhone ใน ObjC เป็นงานอดิเรกสามารถพัฒนาทักษะและความสามารถในการผลิตโดยรวมของคุณได้
Heiko Rupp

@Heiko True แต่มีทักษะอื่น ๆ อีกมากมายนอกเหนือจากการเขียนโปรแกรมที่สามารถทำให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้น นักพัฒนาที่ดีมีทักษะมากมายนอกเหนือจากการเขียนโปรแกรม
BillThor

แน่นอน :) ฉันหมายถึง "ประสิทธิภาพสูงสุดที่ 40h" โดยเฉพาะซึ่งฟังดูเหมือนว่าถ้าคุณเขียนโปรแกรมอดิเรก 5h คุณสามารถทำได้เพียง 35 ชั่วโมงในที่ทำงาน ซึ่งฉันไม่คิดว่าถูกต้อง
Heiko Rupp

1
@Heiko มันทำงานแตกต่างกันพอสมควรแล้วคุณอาจจะทำทั้งสองอย่าง สองสามปีแรกของฉันหลังจากสำเร็จการศึกษาฉันได้เกิน 40 ชั่วโมงต่อสัปดาห์เป็นประจำ แต่ใช้ทักษะที่หลากหลาย เรียนรู้มากมายและไม่ปรากฏว่ากระทบกับกำแพง โชคดีที่ฉันมีเพื่อนที่จะลากฉันออกจากออฟฟิศในช่วงเย็น ในโครงการอื่นฉันกลับบ้านเวลา 14.00 น. เมื่อฉันรู้ว่าฉันไม่ได้ทำอะไรเลยตั้งแต่ 10 โมงเช้า ยังคงเรียกเก็บเงิน 4 ชั่วโมง
BillThor

15

เป็นไปได้ไหมที่จะเป็นนักพัฒนาซอฟต์แวร์ที่ดีโดยไม่ต้องทำงานนอกสถานที่

อย่างแน่นอน.

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

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

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


13

ในโครงการใหญ่ของทุกสิ่งมันคือทั้งหมดที่เกี่ยวกับการหาสมดุลที่เหมาะสมในชีวิต

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

เพื่อให้มุมมองส่วนบุคคลฉันได้เขียนโปรแกรมประมาณ 25 ปี (ครั้งแรกเป็นเด็กแล้วอาชีพ) ฉันรักมันอย่างแน่นอน

อย่างไรก็ตามฉันแทบจะไม่เคยโปรแกรมนอกงานเลย สิ่งนี้เกี่ยวข้องกับหลายสิ่ง:

  • ฉันโชคดีมากในที่ทำงานฉันได้ทำสิ่งที่ฉันรักทุกวันตลอดทั้งวัน
  • ค่อนข้างง่ายมีสิ่งอื่น ๆ ในชีวิตและมีเพียงไม่กี่ชั่วโมงต่อวัน

-1: ใช่มีสิ่งอื่น ๆ ในชีวิต แต่นั่นไม่ได้ตอบคำถาม; คุณเพียงแค่พยายามโน้มน้าวใจตัวเองว่าคุณกำลังเลือกเส้นทางที่ดีที่สุด
Jim G.

9

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

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


"อย่างไรก็ตามรหัสโปรแกรมเมอร์ที่ยิ่งใหญ่ที่สุดในช่วงนอกเวลางานเช่นกัน" คุณไม่มีหลักฐานสำหรับสิ่งนี้
djechlin

7

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

ในทางทฤษฎีสามารถทำได้ในที่ทำงานหรือตามเวลาของคุณหรือทั้งสองอย่าง การฝึกฝนจะต้องมีการกำกับตนเองค่อนข้างมากดังนั้นคุณสามารถเรียนรู้สิ่งที่คุณต้องเรียนรู้ นั่นหมายถึงงานที่มีความยืดหยุ่นเล็กน้อย

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

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

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

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

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


5

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

ผลกระทบนี้จะสะสมเนื่องจากความรู้นอกเวลาก่อนหน้านี้จะป้อนเข้าสู่งานใหม่และความรู้นอกเวลาใหม่

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


5

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

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

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

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


5

ต้องใช้ความพยายาม 10,000 ชั่วโมงในการเป็นผู้เชี่ยวชาญในทุกสิ่ง [Michael Gladwell "Outliers"]

ดังนั้นการทำงานพิเศษก่อนที่คุณจะถึงระดับนั้นจะเพิ่มความเร็วให้คุณตามเส้นทางสู่สถานะผู้เชี่ยวชาญจริง

เมื่อคุณผ่านระดับนั้นการใช้เวลามากขึ้นจะได้รับผลตอบแทนเล็กน้อย / ลดน้อยลง


3
แต่อะไรคือ "สิ่ง" ในอะไร? "การเขียนโปรแกรม" เป็น "สิ่งเดียว" หรือเป็น "Haskell", "lisp", "java", "python" ฯลฯ หรือไม่? หรือ "ฟังก์ชั่นการเขียนโปรแกรม", "การเขียนโปรแกรม GUI", "การเขียนโปรแกรมระดับต่ำ" ฯลฯ ? โดยตัวของมันเองเราไม่ได้บอกอะไรเลย
AndréParamés

4

คุณไม่ควรมองมันเป็น "มันทำให้ฉันเป็นโปรแกรมเมอร์ที่ไม่ดี" เพราะทุก ๆ ทักษะการฝึกฝนมากขึ้นทำให้ดีขึ้นเท่านั้น

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

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


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

+1 - มันไม่ได้ดีเท่าไหร่ถ้าคุณทำในสิ่งที่คุณทำอยู่แล้วในที่ทำงาน
Dunk

การฝึกฝนเพียงอย่างเดียวไม่ได้ทำให้คุณดีขึ้นคุณต้องทำสิ่งที่ถูกต้องที่คุณสามารถรับนิสัยที่ไม่ดีได้
HLGEM

4

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

ในเวลากลางคืนคุณกำลังทำงานกับการเดิมพันนาน - ความคิดที่บ้าที่ส่วนใหญ่จะไม่ทำงานเลย เหล่านี้เป็นโครงการที่จะยิงคุณออกจากอันดับและไฟล์ นี่คือวิธีที่คุณจะเป็นนักประดิษฐ์ของ PHP แทนที่จะใช้โค้ดลิง

ฉันสัมภาษณ์โปรแกรมเมอร์จำนวนมากและไม่ว่าพวกเขาจะทำสิ่งแปลกประหลาดที่น่าสนใจนอกเวลาทำงานหรือไม่นั้นเป็นไฟเขียวทันที มันหายากอย่างน่าประหลาดใจ

แม้ว่าฉันจะพูดแบบนี้: มีอยู่ครั้งหนึ่งที่คนที่ทำสิ่งดีๆมากมายนอกเวลาทำงานกลับกลายเป็นว่าเป็นคนโง่ทั้งหมดของการจ้าง ฉันยังคงนิ่งงันโดยผู้ชายคนนั้น


3

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


3

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

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

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

การเคลื่อนไหวการเข้ารหัสกะตะเป็นตัวอย่างของการฝึกฝน


3

หากต้องการตอบคำถามของคุณ: ไม่ไม่ได้ทำให้คุณเป็นนักพัฒนาซอฟต์แวร์ที่ไม่ดี

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

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

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


1

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

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


1

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


1

นี่คือโพสต์ที่ยอดเยี่ยม

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

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


1

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


1

มันไม่ได้ทำให้คุณเป็นนักพัฒนาที่ไม่ดีมันอาจไม่ได้ทำให้คุณเป็นนักพัฒนาที่ "ตกลง" มันแค่ทำให้คุณเป็นอย่างที่คุณเป็น ฉันคิดว่าคุณจะพบว่าคนส่วนใหญ่ที่เป็นแฮ็กเกอร์ที่ยอดเยี่ยมมักจะชอบลองทำสิ่งใหม่ ๆ ในเวลาใดก็ตามฉันจะตรวจสอบภาษาฐานข้อมูลเว็บเฟรมเวิร์กและอื่น ๆ อีกมากมายฉันมีลูกเล็ก ๆ สองคนและภรรยาจำนองสิ่งเหล่านั้นทั้งหมด - แต่ฉันหวังว่าจะได้ 2 หรือ 3 ครั้ง ชั่วโมงในการแฮกกับสิ่งต่าง ๆ แน่นอนว่า C # และ. NET นั้นดีและดีสำหรับการรับเงินเดือนและฉันชอบงานของฉันจริง ๆ แต่การไปยุ่งกับ Scala และ Lift นั้นเป็นการระเบิดที่แท้จริงสำหรับฉันเมื่อไม่กี่เดือนที่ผ่านมา มีผู้พัฒนาที่จะจัดว่าตัวเองเป็น "หลงใหล" และผู้ที่เพียงแค่ "รับโดย"


1

นี่หมายความว่าฉันไม่ใช่นักพัฒนาซอฟต์แวร์ "ที่แท้จริง" หรือ?

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

เป็นไปได้ไหมที่จะเป็นนักพัฒนาซอฟต์แวร์ที่ดีโดยไม่ต้องทำงานนอกสถานที่

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

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


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

1

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


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

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

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

1

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

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

ความจริงก็คือฉันไม่คิดว่าจะมีใครมีเวลาในการเข้ารหัสคุณภาพสูงเกินกว่า 8 ชั่วโมงต่อวัน coders จำนวนมากมีเพียง 2-3 ตัว แต่อาจเป็นคนที่มีประสิทธิภาพมากที่สุด มันเป็นเพียงวิธีที่คุณใช้มันอย่างไรคุณกระจายมันออกไป


1
คุณไม่เคยอยู่กับนักพัฒนา OSS มามากใช่ไหม? เมื่อการเข้ารหัสกลายเป็นความหลงใหลในบางครั้งคุณต้องการที่จะอยู่กับมันนาน 24 ชั่วโมง
Martijn Pieters

1

เป็นไปได้ไหมที่จะเป็นนักพัฒนาซอฟต์แวร์ที่ดีโดยไม่ต้องทำงานนอกสถานที่

มันขึ้นอยู่กับอุตสาหกรรมที่คุณทำงานบางคนมีความสามารถในการแข่งขันมากกว่าคนอื่น

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

มันไม่เกี่ยวกับเวลาที่ทุ่มเท แต่เป็นเรื่องอยากรู้อยากเห็นและความกระหายความรู้และความเชี่ยวชาญ เห็นได้ชัดว่ามันไม่มีอะไรต้องทำเกี่ยวกับการอยู่ได้ถึงวันที่มันเป็นเรื่องเกี่ยวกับพื้นฐาน - ยาก - สิ่ง: compilers, monads สถาปัตยกรรมหน่วยความจำ ฯลฯ สิ่งที่ยืดและขยายสมองของคุณ

ต้องการรหัสที่บ้านเป็นเพียงผลข้างเคียงที่สำคัญ แต่อย่าประมาทมันการเรียนรู้มักจะตื้นเขิน

อุปกรณ์ที่ดีที่สุดทั้งหมดที่ฉันรู้มีคุณสมบัติเหล่านี้


1

ไม่มันไม่ได้ทำให้คุณเป็นโปรแกรมเมอร์น้อยไปกว่าใคร คุณเป็นสังคมมากขึ้น ฉันอิจฉาที่จะซื่อสัตย์

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


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

0

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

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

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


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

0

เป็นไปได้ไหมที่จะเป็นนักพัฒนาซอฟต์แวร์ที่ดีโดยไม่ต้องทำงานนอกสถานที่

สำหรับฉันมันคือทั้งหมดที่เกี่ยวกับความสมดุล

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

PS ฉันยอมรับว่าฉันไม่ได้อ่านโพสต์ก่อนหน้าทั้งหมดในหน้านี้


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