ฉันจะทำให้ความคืบหน้าของฉันได้รับการตรวจสอบในฐานะนักพัฒนาจูเนียร์เดี่ยวได้อย่างไร [ปิด]


38

ฉันกำลังทำงานให้กับ บริษัท 2 คนในฐานะผู้พัฒนาหลักเดี่ยว เจ้านายของฉันรับลูกค้าสร้างแม่แบบการออกแบบ png และมอบให้ฉัน

ระบบนี้ใช้งานได้ดีและฉันสนุกกับมันมาก

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

อีกครั้งระบบนี้ทำงานได้ดีและฉันสนุกกับมันจริงๆ

ปัญหาของฉันคือการพัฒนาตนเองในฐานะโปรแกรมเมอร์ ฉันใช้เวลาว่างอ่านบล็อกการเขียนโปรแกรมตรวจสอบผ่าน stackexchange อ่านหนังสือแนะนำการเขียนโปรแกรม (ปัจจุบันใน ' The Pragmatic Programmer ' ดีมากจนถึงตอนนี้) ฝึกสมอง ( lumosity.comและปัญหาคณิตศาสตร์khanacademy ) ทำสิ่งต่างๆมากมาย ของการออกกำลังกายและกิจกรรมประเภทการพัฒนาส่วนบุคคลอื่น ๆ

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

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

ดังนั้นสิ่งที่ฉันทำคือการพัฒนาแอพ 'การจัดทำงบประมาณครอบครัว' และพยายามทำมันให้สะอาดหมดจดและมีประสิทธิภาพอย่างที่ฉันรู้ในปัจจุบัน

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

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

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


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

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

2
@OliverHyde "ปัญหาคือฉันเรียนรู้ไปแล้วเรามีลูกค้าที่จะโปรด" นี่จะไม่แตกต่างจากที่อื่นเช่นกัน

คำตอบ:


21

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

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

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

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


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

มีส่วนร่วมอย่างแท้จริงกับคนจริง ๆ ที่ดูโค้ดของคุณ ไม่มีการแทนที่สำหรับสิ่งนั้น
jeffreypriebe

ใช่ฉันกำลังจัดเตรียมแอพ 'งบประมาณส่วนบุคคล' ของฉันและจะส่งมาเพื่อการประเมินอาจจะเป็น redit หรือในฟอรัมชุมชนอื่น ๆ
hoppipolla

9

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

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

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

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

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

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมแนวความคิดรูปแบบ ฯลฯ คุณสามารถโพสต์คำถามเหล่านั้นได้ที่นี่ใน PSE และสำหรับปัญหาการติดตั้งโค้ดใน SO


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

3

ฉันแบ่งปันความคิดเห็นของฉันคำพูดแห่งปัญญาและคำถามบางข้อเพื่อให้คุณไตร่ตรอง

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

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

ถ้าคุณทำตามข้างต้นคุณก็อยู่บนเส้นทางที่ดีอยู่แล้ว

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

  1. “ สำเร็จได้อย่างสมบูรณ์แบบไม่ใช่เมื่อไม่มีอะไรเหลือให้เพิ่ม แต่เมื่อไม่มีอะไรเหลือให้นำไปใช้” - Antoine de Saint-Exupery

และ

  1. "การดิ้นรนเพื่อความเป็นเลิศเป็นแรงจูงใจให้คุณการดิ้นรนเพื่อความสมบูรณ์แบบคือการทำให้เสื่อมเสีย" - Harriet Beryl Braiker

อย่างไรก็ตาม

  1. "หลายเหตุการณ์ประมาณ 80% ของผลกระทบมาจาก 20% ของสาเหตุ" - หลักการ Pareto

ด้วยสิ่งที่กล่าวมาข้างต้นฉันต้องการให้คุณเข้าใจว่ามีความสมดุลระหว่างความพยายามกับเอฟเฟกต์ราคาและคุณภาพ

และคำถามที่ต้องไตร่ตรอง

  1. ฉันจะทำอะไรในอีกห้าปีข้างหน้านับจากนี้?
  2. ความพยายามในการพัฒนาทักษะการเขียนโปรแกรมของฉันจะเป็นประโยชน์ต่ออาชีพการงานของฉันในระยะยาวหรือไม่?

1

คุณอาจต้องการตรวจสอบhttps://codereview.stackexchange.com/

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


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

1
ทั้งหมดในครั้งเดียวอาจมีมากสำหรับนักพัฒนาคนหนึ่งที่จะเคี้ยวออกที meta.codereview.stackexchange.com/questions/537/…พูดว่าลองครั้งละหนึ่งชิ้น มันจะไม่เหมาะสำหรับ codereview se แต่เอกสารการออกแบบระดับสูง o การเรียงลำดับบางอย่างอาจเป็นประโยชน์สำหรับผู้ตรวจสอบที่ดู codebase ของคุณสำหรับ ime ครั้งแรก
Jessica Brown

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

1

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

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


1
ใช่นั่นคือสิ่งที่ฉันได้เริ่มทำกับการเข้ารหัสของฉันตอนนี้ เจ้านายของฉันได้แนะนำเขาอาจจะมองไปที่การจ้างงานนักพัฒนาเพิ่มเติมในปีถัดไป .... เดิมพันรับที่ด้านบนของเอกสารของฉัน :)
hoppipolla

1

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

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

ไชโย!


ใช่ไชโย! ฉันทำงานที่นี่อีกสักครู่แล้วและพบว่าตัวเองใช้เว็บไซต์ทบทวนโค้ดออนไลน์และรีวิวตัวเองได้ดี
hoppipolla

-1

ออกจาก. หานายจ้างใหม่ที่คุณจะทำงานในทีมนักพัฒนาขนาดใหญ่รวมถึงคนสุดฮ็อตที่คุณสามารถเรียนรู้ได้

คุณมีแรงจูงใจที่ถูกต้องชัดเจนในการต้องการ


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