โค้ดยิม/จาวาบล็อก/สุ่ม/ไม่จำเป็นต้องต่อสู้กับความชั่วร้ายในการพัฒนา แต่คุณก็ไม่ค...
John Squirrels
ระดับ
San Francisco

ไม่จำเป็นต้องต่อสู้กับความชั่วร้ายในการพัฒนา แต่คุณก็ไม่ควรแตะต้องมันเช่นกัน: เรื่องราวของ Irina the Programmer

เผยแพร่ในกลุ่ม
เรารู้ว่านักเรียน CodeGym อยากฟังเรื่องราวของคนที่ทำงานด้านไอทีอยู่แล้ว ดังนั้นเราจึงจัดการเรื่องต่างๆ ด้วยตนเองและเปิดตัวซีรีส์เกี่ยวกับนักพัฒนาจากประเทศและบริษัทต่างๆ ที่ได้รับการฝึกอบรม Java ของเราแล้ว เรื่องนี้เป็นเรื่องเกี่ยวกับอิริน่า ที่โรงเรียนและมหาวิทยาลัย เธอชอบวิชาวิทยาศาสตร์เทคนิค เธอรู้เพียงเล็กน้อยเกี่ยวกับการเขียนโปรแกรม แต่เลือกที่จะรับงานโฆษณาตามบริบท ถึงกระนั้น Irina ก็อยากลองใช้มือของเธอในการพัฒนา วันหนึ่ง เธอได้รับอีเมลแจ้งว่ามีการจ้างนักพัฒนาฝึกงานมาเพื่อบริการบางอย่าง และแม้ว่านางเอกของเราจะไม่ผ่านการสัมภาษณ์ แต่ประสบการณ์ดังกล่าวก็กระตุ้นให้เธอเริ่มเรียนภาษา Java"ไม่จำเป็นต้องต่อสู้กับความชั่วร้ายในการพัฒนา แต่คุณก็ไม่ควรแตะต้องมัน": เรื่องราวของ Irina the Programmer - 1

"ฉันอยากจะลองพัฒนาตัวเองอย่างแน่นอน"

หลังจากเกรด 9 เมื่อฉันต้องเลือกทิศทางสำหรับการศึกษาต่อ (เช่น สายเทคนิค มนุษยธรรม เศรษฐกิจ และการแพทย์) ฉันถูกเลือกระหว่างสายมนุษยธรรมและสายเทคนิค สำหรับฉัน มนุษยศาสตร์เป็นตัวแทนของอาชีพนักข่าว โดยประณามความชั่วร้ายและสนับสนุนกิจกรรมดีๆ ทั่วโลก ขณะที่ฉันพิจารณาเส้นทางทางเทคนิค ฉันคิดว่า ถ้าฉันไม่ต่อสู้กับปีศาจ อย่างน้อยฉันก็จะไม่แตะต้องมัน ฉันเดินตามเส้นทางที่มีการต่อต้านน้อยที่สุดและเลือกเส้นทางทางเทคนิค หลังเลิกเรียน ฉันเข้ามหาวิทยาลัย วิชาเอกวิทยาการคอมพิวเตอร์และวิศวกรรมคอมพิวเตอร์ อนิจจา มหาวิทยาลัยไม่ได้จัดเตรียมทักษะใดๆ ในภาษาใดโดยเฉพาะ ฉันได้เรียนรู้บางอย่างเกี่ยวกับเค้าโครง C++, C#, JavaScript และ UI ในรูปแบบที่ไม่ปะติดปะต่อกัน ในปีที่สามของฉัน ฉันสุ่มสนใจโฆษณาตามบริบทและเพิ่งได้งานในบริษัทที่มีชื่อเสียงพอสมควร เป็นผลให้ฉันยังคงอยู่โฆษณาเป็นเวลา 2 ปี ฉันสนุกกับความสำเร็จที่ดี แต่ฉันอยากจะลองพัฒนาตัวเองอย่างแน่นอน การกลับมาเขียนโปรแกรมของฉันก็ไม่มีการวางแผนที่ดีเช่นกัน ฉันได้รับอีเมลที่ทำงานเกี่ยวกับบริการใหม่ที่ต้องการจ้างนักพัฒนา Java ฝึกงาน ฉันตัดสินใจไปสัมภาษณ์ แน่นอนว่าในเวลานั้นความรู้พื้นฐานของฉันยังไม่เพียงพอที่จะรับข้อเสนอ แต่ตอนนี้ทำให้ฉันต้องค้นหาแหล่งข้อมูลเกี่ยวกับ Java ฉันบังเอิญเจอหลักสูตรนี้ทางอินเทอร์เน็ต ในตอนแรกพวกเขาไม่ได้ดึงดูดฉัน รูปภาพตลกๆ และเรื่องราวของหุ่นยนต์ทำให้ฉันดูไม่จริงจัง แต่ฉันชอบโอกาสที่จะฝึกฝนและตรวจสอบงานของฉันมาก ฉันลังเลอยู่และตัดสินใจลอง แล้วฉันก็ถูกดึงเข้าไป

"ฉันล้มเหลวในการสัมภาษณ์สองสามครั้งแรก"

ฉันเรียนโดยไม่มีตารางเรียนที่เข้มงวด เหมาะสมและเริ่มต้น: ระหว่างพักงาน บางครั้งตอนกลางคืน ประมาณชั้น 16-17 ฉันเริ่มพยายามหางานทำ ตอนนั้นฉันเรียนได้ประมาณสามเดือนและมีช่วงพักบ้าง หากคุณไม่มีประสบการณ์การทำงาน พวกเขาก็ชอบถามเกี่ยวกับอัลกอริธึม แต่ฉันก็แทบไม่รู้จักพวกเขาเลย ดังนั้นฉันจึงไม่ผ่านการสัมภาษณ์สองสามครั้งแรก ฉันต้องเตรียมตัวมากขึ้น มองหาคำถามที่พบบ่อย และจดจำคำตอบ ฉันเรียนรู้ SQL อย่างเร่งด่วน ศึกษาระบบการกำหนดเวอร์ชันโค้ด (IMO, CodeGym กล่าวถึง Git ในระดับขั้นสูงเกินสมควร จนถึงระดับ 30) และหลักการ SOLID และเรียนรู้อัลกอริธึมการเรียงลำดับ ในที่สุด ฉันก็ได้รับการว่าจ้างให้เป็นนักพัฒนารุ่นน้องในบริษัทเล็กๆ แห่งหนึ่ง งานแรกของฉันเป็นเรื่องเล็กน้อยมาก: การพัฒนาฟังก์ชันการทำงานของระบบใหม่ ขัดเกลาฟังก์ชันที่มีอยู่ แก้ไขข้อบกพร่อง เราใช้วิธีการแบบ Waterfall: นักธุรกิจส่งงาน นักวิเคราะห์อธิบายรายละเอียดเพิ่มเติมอีกเล็กน้อย นักพัฒนาใช้งาน นักวิเคราะห์ทดสอบงาน จากนั้นนักพัฒนาจึงรวมงานนั้นลงในผลิตภัณฑ์ เราไม่ได้ใช้เทคโนโลยีพิเศษใดๆ เราเขียนทุกอย่างด้วย Java ล้วนๆ — เป็นหินใหญ่ก้อนเดียวแทนที่จะเป็นไมโครเซอร์วิส ในการทำงานกับฐานข้อมูล เราใช้เฟรมเวิร์กโอเพนซอร์สที่เป็นกรรมสิทธิ์ของเราเอง ในช่วงเริ่มต้นมีความยากลำบากมากมาย ตั้งแต่การเรียนรู้วิธีอัปโหลดโปรเจ็กต์ไปยังพื้นที่เก็บข้อมูล ไปจนถึงวิธีเขียนคำขอไปยังฐานข้อมูลเพื่อไม่ให้หมดเวลา ฉันต้องใช้ Google มากมายเกี่ยวกับการทำงานกับ JSON, SOAP เกี่ยวกับว่า Maven คืออะไร และเกี่ยวกับวิธีการสร้างโปรเจ็กต์ Maven ฉันไม่ละทิ้งการเรียนรู้ ฉันพยายามอ่านหนังสืออย่างน้อยวันเว้นวัน แต่มีหลายครั้งที่ต้องพักการเรียนเป็นเวลาหนึ่งเดือน แต่เป้าหมายของฉันคือการผ่านด่าน 40 อันเป็นที่รักให้สำเร็จ ในขณะเดียวกัน ฉันได้เรียนหลักสูตรเกี่ยวกับ Spring Framework Spring ได้เปิดโอกาสใหม่ๆ มากมายสำหรับฉัน และข้อเสนอที่ฉันได้รับจากเรซูเม่ของฉันก็เพิ่มทวีคูณขึ้นหลายเท่า ในระหว่างการกักกัน ฉันเปลี่ยนงานและเปลี่ยนไปใช้โปรเจ็กต์ที่มีสถาปัตยกรรมไมโครเซอร์วิส เรากำลังสร้างบริการสำหรับการค้นหา ขาย ซื้อ และให้เช่าอสังหาริมทรัพย์ที่อยู่อาศัยและพาณิชยกรรม รวมถึงการยื่นขอและให้บริการจำนอง 80% ของบริการของเราเขียนด้วย Kotlin อีก 20% เขียนด้วยภาษา Java

แผนการของฉันในอนาคตอันใกล้นี้คือ:

  1. ดื่มด่ำไปกับสถาปัตยกรรมอย่างลึกซึ้งยิ่งขึ้น ฉันอยากจะเจาะลึกเกี่ยวกับการออกแบบสถาปัตยกรรมแบ็กเอนด์

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

  3. DevOps บริษัทบางแห่งถึงกับกำหนดให้ทักษะนี้เป็นข้อกำหนดบังคับสำหรับโปรแกรมเมอร์ และจะเป็นประโยชน์กับบริษัทอื่นอย่างแน่นอน

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

เคล็ดลับสำหรับนักพัฒนามือใหม่:

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

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

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

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