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

ในการเริ่มต้นฉันจะบอกคุณเล็กน้อยเกี่ยวกับตัวเอง

ฉันอายุ 27 ปี ก่อนที่ฉันจะเริ่มเรียน Java ฉันเรียนคณิตศาสตร์ประยุกต์ในแผนกคณิตศาสตร์ ดูเหมือนว่าฉันควรจะเก่งในการเขียนโปรแกรมถ้าไม่เก่ง แต่นี่ไม่ใช่กรณีของฉัน เพราะฉันก่อวินาศกรรมหลักสูตรทั้งหมดของฉันที่เขียนโปรแกรมขึ้นมา แม้ว่าฉันจะโชคช่วยก็ตาม — ฉันไม่ได้เขียนโค้ดของตัวเองเลย ปรากฎว่าฉันยังห่างไกลจากการเขียนโปรแกรม เห็นได้ชัดว่าในประเทศของเรา คุณจะสร้างรายได้ไม่มากจากการศึกษาคณิตศาสตร์ ยกเว้นในฐานะโปรแกรมเมอร์ ( Roman มาจากยูเครน — หมายเหตุบรรณาธิการ). และนั่นคือเหตุผลที่ฉันตัดสินใจไล่ตามนั้น และมันก็เกิดขึ้น ฉันตัดสินใจเรียนภาษาจาวา นี่ไม่ใช่ผลลัพธ์ของการวิเคราะห์ตลาดหรือการค้นหาจำนวนตำแหน่งงานที่เปิดรับสมัคร หรือความต้องการในตลาดแรงงาน มันเกิดขึ้นอย่างนั้น และเมื่อฉันตัดสินใจที่จะเรียนรู้วิธีการเรียนรู้ Java ฉันได้พบกับหลักสูตรนี้ ฉันไม่ต้องการเรียนรู้จากหนังสือเท่านั้น แต่ฉันก็ไม่ค่อยตื่นเต้นนักกับหลักสูตรเต็มเวลา เนื่องจากมีค่าใช้จ่ายสูง แต่ประโยชน์ที่แท้จริงนั้นน้อยมาก การเรียนออนไลน์จึงเป็นทางออกที่ดีที่สุดสำหรับฉัน หลังจากจบ 3 ระดับแรก ฉันรู้ว่าฉันชอบหลักสูตรนี้และสามารถสมัครสมาชิกได้ นอกจากนี้ ฉันได้รับข้อเสนอส่งเสริมการขายและซื้อของฉันในราคาครึ่งราคา คือช่วงปลายเดือนสิงหาคม/ต้นเดือนกันยายน 2558

แผนการศึกษาของฉัน

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

ก้าวไปสู่ระดับใหม่

สามเดือนที่ฉันเริ่มเรียน ฉันคุยกับเพื่อนเกี่ยวกับสิ่งที่ฉันจำเป็นต้องรู้เพิ่มเติมเพื่อที่จะได้งานทำ คำพูดที่ไม่คุ้นเคยที่เขาพูด เช่น "ฐานข้อมูล" (สยอง!) และอื่นๆ อีกมากมาย ทำให้ฉันรู้ว่าฉันต้องเร่งความเร็วและทำมากกว่านั้น เห็นได้ชัดว่าการรู้ไวยากรณ์ Java ไม่เพียงพอสำหรับฉันที่จะหางานทำ ฉันเริ่มเร่งความเร็วไปในทิศทางต่างๆ:
  • ฉันซื้อหนังสือ "Head First Java" ให้ตัวเอง ขอแนะนำในระดับ 4 ของหลักสูตร แต่อย่างใดฉันไม่ได้อ่านอย่างระมัดระวังและพลาดสิ่งนี้ มันสอนสิ่งเดียวกันแต่จากมุมที่แตกต่างกัน ซึ่งช่วยให้คุณเข้าใจได้ดีขึ้นและในระดับที่ลึกขึ้น ฉันแนะนำที่นี่
  • ฉันเริ่มมองหาและไปที่งานกิจกรรมท้องถิ่นที่เกี่ยวข้องทั้งหมดในเมืองของฉัน แม้ว่าฉันจะไม่เข้าใจอะไรมากนัก แต่ในที่สุดฉันก็รู้ว่าการทำเช่นนี้ไม่ได้ไร้ประโยชน์ พวกเขาช่วยฉันได้มาก
  • ฉันรวมการศึกษาของฉันเข้ากับการอ่านสื่อการเขียนโปรแกรมเพื่อติดตามเงินเดือนของ IT เหตุการณ์ที่เป็นประโยชน์ และอ่านบทความเกี่ยวกับอาชีพของนักพัฒนา ฯลฯ
  • ฉันพบวิดีโอสอนสั้น ๆ และให้ข้อมูลเกี่ยวกับ MySQL บน YouTube ฉันแนะนำพวกเขา
  • คุณต้องเข้าใจด้วยว่า HTML และ CSS คืออะไร ไม่มีทางหลีกเลี่ยงพวกเขา
  • ฉันลงทะเบียนใน LinkedIn ที่ซึ่งฉันเริ่มส่งเสริมทักษะของฉันและระบุว่าฉันกำลังมองหางาน (ฉันอาจโชคดีและมีคนพบฉัน) ฉันเพิ่มทุกคนเป็นเพื่อนโดยไม่เลือกหน้า ขยายขอบเขตการติดต่อของฉัน เพื่อให้คุณรู้ว่าตอนนี้ฉันมีเพื่อนมากกว่า 10,000 คนบน LinkedIn แล้ว นี่เป็นสิ่งจำเป็นในการเริ่มต้น และมันก็ช่วยได้ ทีมฟรีแลนซ์ Android ต้องการเพิ่มสมาชิกใหม่และติดต่อฉัน ฉันรู้ว่าเหตุการณ์นี้ไม่ธรรมดา แต่มันก็เกิดขึ้น

ความล้มเหลวครั้งแรก

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

งานแรก

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

หางานใหม่

ไม่รู้จะหางานยังไง ฉันตัดสินใจว่าจะส่งเรซูเม่ไปให้ทุกบริษัทในเมืองของฉัน เพื่อให้แน่ใจว่าทุกอย่างดูดี ฉันเขียนเรซูเม่เป็นภาษาอังกฤษ ซึ่งเป็นวิธีเดียวที่จะไป แน่นอนว่ามีขนปุยมากมาย เพราะฉันไม่มีอะไรจะเขียน ฉันจึงเขียนมากมาย สำหรับอีเมลแต่ละฉบับ ฉันยังเขียนจดหมายปะหน้า (ผู้สรรหาชอบสิ่งนี้) ซึ่งฉันระบุตำแหน่งที่ฉันต้องการอย่างชัดเจน ปรากฎว่าผู้คนมักส่งเรซูเม่โดยไม่ได้ระบุตำแหน่งที่สมัครอย่างชัดเจน จดหมายปะหน้าของฉันเป็นภาษาอังกฤษด้วย ฉันลืมโดยสิ้นเชิง: คุณต้องมีทักษะภาษาอังกฤษที่แข็งแกร่งมาก อันที่จริง หากคุณไม่สามารถอ่านคำตอบใน Stack Overflow ได้ คุณก็จะไม่มีวันทำสำเร็จ ไม่มีอะไรให้คุณทำในการเขียนโปรแกรม ฉันเตรียมคำตอบเป็นภาษาอังกฤษสำหรับคำถามสัมภาษณ์ที่ชื่นชอบ: "บอกฉันเกี่ยวกับตัวคุณ" ให้ฉันบอกว่านั่นเป็นสิ่งที่มีประโยชน์มากที่จะทำ หลังจากนั้นไม่นาน ฉันได้รับคำเชิญให้ไปสัมภาษณ์ 4 ครั้ง จดหมายจำนวนมากของฉันไปยังทุกบริษัทนั้นถูกต้อง บริษัทที่ไม่มีตำแหน่งที่เกี่ยวข้องมักจะไม่ตอบสนองเลย การสัมภาษณ์เป็นไปอย่างยากลำบาก ฉันอายและไม่สบายใจ แต่ฉันก็ผ่านมันไปได้ สำหรับบางคน เราเพิ่งคุยกัน สำหรับคนอื่นๆ ฉันต้องทำงานสองสามอย่าง ตัวอย่างเช่น ฉันต้องเขียนล่าม Java สำหรับภาษา BrainFuck งานนี้กลายเป็นเรื่องที่น่าสนใจ และฉันก็ดีใจที่ทำสำเร็จ แม้ว่าฉันจะไม่ได้จ้างจากบริษัทนั้นก็ตาม ฉันกำลังมองหางานใน Java หรือ Android ที่กล่าวว่าฉันชอบ Java มากกว่า การพัฒนามือถือไม่น่าสนใจเป็นพิเศษสำหรับฉัน ความคาดหวังด้านเงินเดือนของฉันน้อยมาก ฉันต้องหางานทำ อย่างอื่นไม่สำคัญอีกต่อไป ฉันถูกถามเกี่ยวกับความเข้าใจในฐานข้อมูล วิธีสร้างตารางสำหรับบางสถานการณ์ ฉันกำลังพูดถึงฐานข้อมูล SQL ที่นี่ ไม่มีใครถามเกี่ยวกับ NoSQL

ข้อเสนอแรก

บริษัทหนึ่งเขียนจดหมายถึงฉันด้วยการปฏิเสธ จากนั้นอีก เหลืออีกสองบริษัท: บริษัทหนึ่งเปิดสำหรับนักพัฒนา Android และอีกบริษัทสำหรับ Java บริษัท Android โทรมาบอกว่าฉันเหมาะสมและยื่นข้อเสนอให้ฉัน ชัยชนะ! ฉันมีความสุขมาก แต่ฉันยังไม่ได้รับการติดต่อเกี่ยวกับตำแหน่ง Java ฉันวิ่งไปมาโดยไม่รู้ว่าต้องทำอย่างไร ดังนั้นฉันจึงขอให้รอหนึ่งวันเพื่อให้คำตอบ เพื่อที่ฉันจะได้โทรไปสอบถามตำแหน่ง Java Developer ฉันโทรไปที่บริษัท Java และบอกว่า "ฉันได้รับข้อเสนอ แต่ฉันอยากทราบว่าคุณมีการตัดสินใจหรือไม่" ฉันได้รับเชิญไปที่สำนักงานเพื่อพูดคุยและพวกเขาบอกฉันว่าฉันต้องการผลลัพธ์ของการสนทนา พวกเขาพูดถูก หลังจากการสนทนาของเรา บริษัทที่สองนี้ได้ยื่นข้อเสนอซึ่งฉันก็ยอมรับ ป.ล. คุณต้องมุ่งมั่น มุ่งมั่น มุ่งมั่น และไม่ยอมแพ้! PSS เรียนไม่จบค่ะ ฉันหยุดอยู่ที่ระดับ 30 และฉันก็อยู่ที่ระดับ 27 เมื่อได้งาน จริงๆ แล้วฉันจะบอกว่าตั้งแต่เลเวล 20 ขึ้นไป คุณต้องหางานทำและเติบโตไปไกลกว่า Java รับทักษะพื้นฐานอย่างน้อยโดยใช้เครื่องมืออัตโนมัติสำหรับโครงการ (Ant, Maven, Gradle) ไม่ใช่เรื่องยาก แต่จำเป็นมาก ทุกคนที่ชอบบทความนี้และเห็นว่ามีประโยชน์ โปรดให้คะแนนและแสดงความคิดเห็น ติดตามฉันบน GitHub: romankh3