การดิ้นรนเป็นโปรแกรมเมอร์ ต้องการคำแนะนำ [ปิด]


20

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

แต่มีความแตกต่างระหว่าง "การทำงานให้เสร็จ" และ "การทำงานอย่างถูกต้อง" ลองใช้ตัวอย่าง

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

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

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

ฉันไม่ทำงานให้ บริษัท ฉันทำทุกอย่างคนเดียว ดังนั้นฉันคิดว่าถ้าฉันทำงานเป็นนักพัฒนา PHP สำหรับ บริษัท จะมีทีมแยกต่างหากที่จัดการ SQL

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

ฉันวางแผนที่จะรับงานหลังจากปีใหม่ ฉันต้องการงานรักษาความปลอดภัย นี่คือเหตุผลที่ฉันถามคำถามนี้

คุณสามารถให้คำแนะนำอะไรบ้างในแง่ของการพัฒนาตนเองและการพัฒนาตนเอง? ฉันควรกังวลน้อยลงหรือไม่ หรืออาจมองหางานในฐานะนักพัฒนา PHP เมื่อฉันจะไม่จัดการกับคำสั่ง SQL โดยตรง?


54
หากคุณไม่ต้องการที่จะเรียนรู้อย่างต่อเนื่องคุณอยู่ในเขตข้อมูลที่ไม่ถูกต้อง

6
@JamesGuvnaJeffery: หากพวกเขาไม่อนุญาตให้มีเวลา (เลย) สำหรับการเรียนรู้ในระหว่างโครงการฉันไม่ต้องการทำงานที่นั่นเพราะในฐานะนักพัฒนาฉันจะหยุดพัฒนาตัวเอง
Marjan Venema

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

5
รหัสเก่าควรจะดูด อย่าฆ่าตัวตายเอง เพียงพยายามปรับปรุงเมื่อเวลาผ่านไป การเขียนโครงการทำงานใหม่แทบจะไม่สมเหตุสมผลเลย ลูกค้าจะไม่จ่ายเงินเพิ่มสำหรับมัน codinghorror.com/blog/2006/10/…
งาน

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

คำตอบ:


33

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


21

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


10

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

และนี่คือปัญหา เมื่อใดก็ตามที่ฉันทำงานอย่างถูกต้องฉันอยู่ในวงล้อการเรียนรู้คงที่ และหัวข้อต่าง ๆ เช่นการรวม MySQL ขั้นสูงต้องใช้เวลาในการเรียนรู้และจากนั้นใช้เวลา ...

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

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


ขอบคุณ @gnat ฉันซาบซึ้งกับคำตอบที่ดีเหล่านี้ ฉันสามารถเห็นด้วยกับคุณในสิ่งที่คุณพูด
James Guvna Jeffery

9

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

การสร้างซอฟต์แวร์ต้องใช้ความถ่อมใจ หากคุณเป็นคนที่ถูกต้องและต้องพิสูจน์ว่าพวกเขารู้ทุกอย่างแล้วนี่อาจไม่ใช่สนามของคุณ

ฉันไม่สามารถเข้าใจอะไรได้ทุกวัน ฉันไม่คิดว่าฉันต้องการงานนั้น


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

นั่นคือสิ่งที่ผิดธรรมดาใช่ไหม? Hubris เป็นหนึ่งในสามคุณธรรมของโปรแกรมเมอร์ แต่จากประสบการณ์ของฉันการเป็น“ แรงผลักดันอย่างแรงกล้าที่จะพิสูจน์ว่าฉันฉลาดโดยแสดงให้เห็นว่าฉันรู้ทุกอย่างก่อนที่จะเรียนรู้มัน” เป็นแนวโน้มที่นักพัฒนาหน้าใหม่ไม่อาจละทิ้งหรือไม่นานในสาขานี้
Dan Ray

บางทีเค้นกลับแทนที่จะปล่อยไป? ฉันนานมาแล้วโชคดีออกจากนิสัยของการประกาศว่าฉันรู้ว่าสิ่งที่ฉันไม่ได้ อย่างไรก็ตามฉันยังคงเกลียดชังที่ไม่ยอมรับสิ่งต่าง ๆ ความต้องการที่จะปิดช่องว่างระหว่างสิ่งที่ฉันรู้และสิ่งที่ฉันต้องการที่จะบอกว่าฉันรู้ว่าเป็นไดรเวอร์สำหรับฉัน ไม่จำเป็นสำหรับทุกคน!
Tom Anderson

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

6

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

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

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

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


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

3

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

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

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

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


2

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

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

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

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

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

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

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

คุณฟังเหมือนคนฉลาดฉันไม่คิดว่าคุณควรจะหนักกับตัวเอง


1

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

โปรแกรมเมอร์ที่ไม่มีประสบการณ์มักจะถูกดักเข้าไปในกับดักการพัฒนาขื้นใหม่:

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

มีหลายสิ่งที่ผิดกับตรรกะนี้

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

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

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

วิธีการนี้จะช่วยให้คุณเรียนรู้ก่อนเวลา

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


1

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

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


0

แต่มีความแตกต่างระหว่าง "การทำงานให้เสร็จ" และ "การทำงานอย่างถูกต้อง"

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

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

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

ตอนนี้ไปเตะบ้าง * * *


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

ขอบคุณ @grandmasterB TehShrike และอ้างอิงถึงหนังสือเหล่านี้เหรอ?
James Guvna Jeffery

3
" ไม่มีสองจะเห็นด้วย 100% ในทุกหัวข้อการเขียนโปรแกรม " - อาจ แต่อย่างน้อย 80% จะเห็นด้วยอย่างน้อย 80% ของหัวข้อการเขียนโปรแกรม นั่นคือฉันทามติระดับมืออาชีพ ไม่มี 'สิทธิ' เด็ดขาด แต่มีแนวปฏิบัติที่ดีและคุ้มค่าที่จะรู้
Kirk Broadhurst

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

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