ฉันจะกลายเป็นโปรแกรมเมอร์ที่เป็นอิสระและพึ่งพาตนเองได้มากขึ้นได้อย่างไร [ปิด]


13

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


1
บางทีนี่อาจเป็นเพียงวัฒนธรรม / ภาษา ... แต่อะไรที่ทำให้คุณคิดว่าคุณจะเป็นนักพัฒนาตัวเอก อะไรที่ทำให้คุณดีขึ้นกว่า 99% ของผู้พัฒนารายใหม่ ๆ
สตีเฟ่นซี

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

คำตอบ:


24

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

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

"Misapplication of standard tools...is the new standard."

มีเวลาไม่เพียงพอในโลกที่จะเรียนรู้เครื่องมือ dev ทั้งหมด

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

ใช่นั่นเป็นเรื่องปกติ ฉันยังคงประหลาดใจกับบางสิ่งที่ได้รับในทางของฉัน

สิ่งที่สามารถทำได้?

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

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

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

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

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


2
+1 ทำงานจนกว่าจะเลิกทำ บางครั้งฉันใช้เวลา2-3 วันในการแก้ปัญหาเดียว สำหรับการทำลาย: ลอง TDD หรืออย่างน้อยการทดสอบหน่วย
ashes999

12

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

อาจเป็นกลยุทธ์ที่ดีที่สุด:

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

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

3
ฉันเข้าใจอย่างถ่องแท้ ฉันอยู่ในสถานการณ์เดียวกันเป็นเวลาสามปี สัญลักษณ์หัวข้อ # 2 คือคำตอบ: เรียนรู้การดีบัก ผู้คนจำรายละเอียดไม่ได้บ่อยครั้ง การแก้จุดบกพร่องเป็นกุญแจสำคัญ
ashes999

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

5

อย่ากลัวที่จะถามคำถาม "ภาพรวม"

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

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

ให้เวลาตัวเองรอ

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

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

ทิ้งร่างจดหมาย

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

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


1

การพึ่งตนเองจะมาพร้อมกับ

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

การถามคำถามบ่อยครั้งอาจทำให้คุณขาดทั้งสองอย่าง

หากคุณเปลี่ยนโดเมนเทคโนโลยีแพลตฟอร์มภาษาที่คุณใช้กลับเป็นสี่เหลี่ยมจัตุรัส

ไม่ถามคำถามเมื่อจำเป็นจริง ๆ จะเสียเวลามากในการผลิตที่มีค่า

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

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

  1. มันเป็นสิ่งที่คุณสามารถคิดได้ด้วย google / ฟอรัมหรือทำงานเป็นเวลานานขึ้น
  2. มันเป็นสิ่งที่คุณสามารถหลีกหนีหรือแก้ไขได้โดยไม่ต้องเสียค่าใช้จ่ายมากหากคุณทำผิดพลาด?

0

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

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

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

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

เมื่อคุณมีความรู้ด้านเทคนิคที่เหลือก็คือภูมิปัญญาและความมั่นใจและผู้ที่มาพร้อมกับประสบการณ์


0

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

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

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