CodeGym /จาวาบล็อก /สุ่ม /เรื่องราวสำหรับคนวัย 30+
John Squirrels
ระดับ
San Francisco

เรื่องราวสำหรับคนวัย 30+

เผยแพร่ในกลุ่ม
ฉันหาเวลามาแบ่งปันเรื่องราวเล็กๆ น้อยๆ ของฉันได้

อารัมภบท

เริ่มจากที่ฉันอายุ 30 ฉันมีการศึกษาระดับสูงในสาขาเคมี (ฉันจะไม่ลงรายละเอียด) และทำงานที่โรงงานมาเกือบ 8 ปีแล้ว งานนี้ค่อนข้างน่าสนใจจริงๆ แต่เมื่อดูเพื่อนร่วมงานแล้ว ฉันพบว่าฉันไม่อยากทำงานที่นี่เป็นเวลา 20 ปีจนกว่าจะเกษียณ นี่ไม่ใช่วิธีที่ฉันต้องการใช้ชีวิตของฉัน ฉันอยากจะเสริมด้วยว่าฉันมีครอบครัวหนึ่งคน รวมทั้งลูกสองคน (คนโตของฉันคือ 6 ขวบ คนเล็กสุดคือ 1 ขวบ) และคาดเดาได้ว่าเป็นจำนอง ในที่สุด ฉันตัดสินใจลองย้ายไปที่อื่น ไปยังโรงงานอื่นที่เงินเดือนสูงกว่าและมีการเติบโตทางอาชีพที่แท้จริง ฉันหยั่งรากที่โรงงานแห่งแรก ดังนั้นจึงเป็นเรื่องยากที่จะออกไป แต่ฉันตัดสินใจแล้ว การเดินทางไปเซนต์ปีเตอร์สเบิร์กของฉันกินเวลาหนึ่งเดือน ฉันทำงานที่นั่นอย่างเป็นทางการเป็นเวลาหนึ่งสัปดาห์เมื่อฉันรู้ว่าสถานการณ์ของโรงงานในประเทศของเรา(Sviatoslav มาจากรัสเซีย - หมายเหตุของบรรณาธิการ)ส่วนใหญ่น่าหดหู่ใจ ฉันกลับมายังบ้านเกิดของฉัน ฉันไม่อยากกลับไปเพราะสำหรับฉันแล้วดูเหมือนว่านี่เป็นการถอยหลังหนึ่งก้าว เมื่อมาถึงจุดนี้ ฉันตัดสินใจว่าหากฉันเปลี่ยนชีวิต — และเปลี่ยนมันอย่างสิ้นเชิง! เป็นเวลาประมาณหนึ่งสัปดาห์ที่ฉันไตร่ตรองว่าจะเลือกภาษาการเขียนโปรแกรมใด และตัวเลือกก็ตกอยู่ที่ Java หลังจากนั้นฉันก็เริ่มมองหาหลักสูตร ความจริงก็คือมีหลักสูตรดีๆ มากมาย บางหลักสูตรมีราคาสมเหตุสมผลด้วยซ้ำ แต่ฉันมีปัญหา: ฉันมีแรงบันดาลใจมากและมีเวลาเรียนมาก แต่เบาะทางการเงินของฉันจะอยู่ได้ไม่เกิน 3-4 เดือน หลักสูตรทั้งหมดที่ฉันชอบคือหลักสูตรครึ่งปีขึ้นไปโดยมีสองบทเรียนต่อสัปดาห์ (บ่อยที่สุด) แต่แล้วเพื่อนก็แนะนำ CodeGym ให้ฉันหลังจากที่เธอได้ยินว่านี่เป็นแหล่งข้อมูลที่ดีมาก ฉันเห็นว่าหลักสูตรนี้มีทุกสิ่งที่ฉันต้องการ:
  • การสมัครสมาชิกพร้อมสื่อการเรียนรู้และงานต่างๆ
  • ไม่มีการจำกัดเวลา — ฉันสามารถเรียนได้มากเท่าที่ตารางเรียนของฉัน (ซึ่งเปิดกว้าง) และความปรารถนาของฉัน (ดังที่กล่าวไว้ข้างต้น ฉันมีแรงบันดาลใจอย่างยิ่ง)

ตอนที่ 1: การแสวงหาความรู้

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

ตอนที่ 2: พุ่งเข้าสู่การต่อสู้

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

กองเทคโนโลยี:

Java 11 (โปรเจ็กต์เขียนตั้งแต่เริ่มต้น), Spring (Boot, Security, OAuth2); ฉันใช้ MongoDB เป็นฐานข้อมูล สำหรับการทดสอบอัตโนมัติ ฉันใช้ AssertJ, Mockito และ Spring-boot-starter-test และฉันใช้โฟลว์ GitHub ที่ได้รับความนิยมพอสมควร (ดูบทความนี้ ) อย่างไรก็ตาม หากคุณประสบปัญหากับภาษาอังกฤษ นี่คือเวลาที่แนะนำให้คุณเรียนรู้ ระดับความคล่องของฉันคือ A2 แต่ฉันพยายามอ่านบทความที่เป็นภาษาอังกฤษอยู่เสมอ (แน่นอนว่าโดยไม่ต้องใช้ล่าม) นี่เป็นปัญหาใหญ่ที่สุดของฉันเมื่อฉันเริ่มโครงการฝึกงาน เนื่องจากฉันต้องทำงานกับ CRM บุคคลที่สาม และเอกสารทั้งหมดเป็นภาษาอังกฤษ นอกจากนี้ เมื่อทำงานกับ Spring วิธีที่ดีที่สุดคืออ่านเอกสารต้นฉบับ มันดีและละเอียดมาก ยิ่งไปกว่านั้น เอกสารเกือบทั้งหมดเป็นภาษาอังกฤษ (บางส่วนจาก Captain Obvious) นอกจากนี้ พี่เลี้ยงของฉันยังบอกให้ฉันเขียนความคิดเห็นทั้งหมดในโค้ดและเอกสารประกอบ API เป็นภาษาอังกฤษ ดังนั้นฉันขอย้ำอีกครั้ง: เรียนภาษาอังกฤษ หากคุณไม่ใช่เจ้าของภาษา! แม้ว่าคุณจะไม่ได้ไปทำงานกับลูกค้าชาวต่างชาติหรือเดินทางไปต่างประเทศ ทักษะนี้จะช่วยให้การศึกษาและพัฒนาของคุณง่ายขึ้นอย่างมาก

ส่วนที่ 3: ผลลัพธ์

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

ตอนที่ 4: มีตอนจบที่มีความสุข แม้ว่าเรื่องจะยังอีกยาวไกล ;)

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

บทส่งท้าย

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

นี่คือบทความบางส่วนที่ฉันอยากจะแบ่งปัน:

  • ทำความเข้าใจ กับสถาปัตยกรรม ฉันอ่านบทความนี้เป็นการส่วนตัว 4 ครั้งในขณะที่เรากำลังพัฒนาสถาปัตยกรรมของแอปพลิเคชันในอนาคต ฉันใช้คำว่า "เรา" เพราะที่ปรึกษาของฉันตรวจสอบทุกอย่างแล้วส่งกลับไปแก้ไข (เช่น เขาตรวจสอบโค้ด) ครั้งแรกฉันไม่ค่อยเข้าใจมากนัก จากนั้นฉันก็อ่านมันอีก 3 เดือนต่อมาก็พบว่าฉันเข้าใจแล้วว่าทำไม ต่อมาผมอ่านอีก 2 รอบเพื่อกระชับและซึมซับข้อมูลทั้งหมดได้อย่างเต็มที่
  • การเรียนรู้ Git แบบ โต้ตอบ
  • ฉันขอแนะนำให้ทุกคนควรเรียนรู้วิธีทำงานกับสตรีม พวกมันยอดเยี่ยมมาก: คุณสามารถแทนที่โค้ดจำนวนมากด้วยสตรีมขนาดเล็กได้
  • เอกสารเกี่ยวกับฤดูใบไม้ผลิ
  • เนื่องจากฉันทำงานกับฐานข้อมูลที่ไม่เกี่ยวข้อง และบริษัทส่วนใหญ่ (โดยเฉพาะขนาดใหญ่) ทำงานกับ SQL ในเวลาว่าง ฉันจึงพยายามแก้ไขปัญหาอย่างน้อยสองสามข้อที่เกี่ยวข้องกับการสร้างคำสั่ง SQL มีเว็บไซต์ที่แตกต่างกันมากมายสำหรับเรื่องนี้
  • ฉันขอแนะนำให้อ่านเกี่ยวกับการทดสอบการเขียน (Assertj, Mockito) แต่ฉันจำบทความดีๆ ไม่ได้เลย มีเพียงเอกสารประกอบเท่านั้น
  • และเมื่อคุณกำลังพัฒนาแอปพลิเคชัน (แต่ตอนนี้เราอยู่เกิน ระดับเริ่มต้นแล้ว) ให้ลองใช้รูปแบบการออกแบบ อย่างน้อยลองดูรูปแบบที่รู้จักกันดี นั่นจะเป็นประโยชน์เมื่อคุณเริ่มต้น
ฉันขอให้คุณทุกคนโชคดีในการไล่ตามความฝันของคุณอีกครั้ง!
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION