ปริญญาคณิตศาสตร์ให้ความได้เปรียบเมื่อเรียนรู้การเขียนโปรแกรมหรือไม่? ทุกอย่างขึ้นอยู่กับความพยายามของคุณในวิชาที่เกี่ยวข้อง

นี่คือเรื่องราวของโรมันที่มาจากยูเครน ปัจจุบันเขาเป็นนักพัฒนาจาวาอาวุโส เมื่อกลางปี ​​2558 เขาเป็นนักศึกษาปริญญาโทด้านคณิตศาสตร์ประยุกต์ เรื่องเดิมอยู่ที่นี่ ด้านล่างนี้คุณจะพบส่วนที่สำคัญที่สุด

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

และแล้วเขาก็พบหลักสูตร Java ของเรา คือช่วงปลายเดือนสิงหาคม/ต้นเดือนกันยายน 2558

แผนการศึกษา Java

ขณะที่เขาเตรียมแผนการเรียนรู้ โรมันเริ่มต้นจากข้อเท็จจริงที่ว่าเขาไม่มีเวลาทำเรื่องไร้สาระ

เขาตั้งเป้าหมาย:รับความรู้อย่างรวดเร็วเพื่อรักษาความสนใจในการเรียนรู้ แต่ไม่เร็วจนเกินกำลังสมองของเขา

ดังนั้น นี่คือสิ่งที่เขาตัดสินใจ:

  1. เรียนห้าวันต่อสัปดาห์ (ตั้งแต่วันจันทร์ถึงวันศุกร์)
  2. วันหยุดสุดสัปดาห์ ทำอะไรก็ได้นอกจากเรียน
  3. จัดสรรเวลา 4 ชั่วโมงสำหรับการเรียนแต่ละครั้ง - หลังจากจบแต่ละชั่วโมง ให้พัก 15 นาทีเพื่อเดินเล่น พักผ่อน และชงชา

รวมเป็น 20 ชั่วโมงต่อสัปดาห์ ไม่เลวใช่มั้ย นอกจากนี้ โรมันยังต้องไปมหาวิทยาลัยในบางครั้ง เพราะเขายังเรียนอยู่ระดับบัณฑิตศึกษา

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

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

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

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

  1. อ่านหนังสือ. ในกรณีของโรมัน "Head First Java" ซึ่งแนะนำสำหรับผู้เริ่มต้นสีเขียวนั้นมีประโยชน์มาก มันช่วยให้เขาเข้าใจความแตกต่างบางอย่างได้ดีขึ้น
  2. ระบบเครือข่าย คุณควรไปที่แฮงเอาท์โปรแกรมเมอร์ที่เกี่ยวข้องทั้งหมดในเมืองของคุณ (และที่อื่น ๆ ) แม้ว่าจะมีหลายอย่างที่ไม่ชัดเจน แต่นี่คือวิธีที่คุณดื่มด่ำกับสิ่งแวดล้อม
  3. เว็บไซต์ไอที. สื่อสำหรับโปรแกรมเมอร์, หลักสูตรวิดีโอบน YouTube, ฟอรัม - คุณต้องเจาะลึกทั้งหมดนี้ และอ่านบทความที่มีประโยชน์เพื่อสร้างภาพรวมของความหมายของการพัฒนา Java Developer
    โดยส่วนตัวแล้ว เราขอแนะนำให้เริ่มต้นด้วยส่วนบทความ ฟอรัม และแชทบน CodeGym :)
  4. เทคโนโลยีที่เกี่ยวข้องระดับปรมาจารย์: MySQL, HTML และ CSS และอีกมากมาย
  5. สร้างโปรไฟล์ LinkedIn ที่ยอดเยี่ยมสำหรับตัวคุณเอง แสดงรายการทักษะทั้งหมดของคุณ และขยายวงคนรู้จักของคุณอย่างแข็งขัน
    Roman แบ่งปันประสบการณ์ของเขา: "ตอนนี้ฉันมีเพื่อนมากกว่า 10,000 คนบน LinkedIn สิ่งนี้จำเป็นต้องเริ่มต้น และมันช่วย [เมื่อ] ทีมฟรีแลนซ์ Android ที่ต้องการเพิ่มเพื่อนใหม่และพวกเขาติดต่อฉัน"

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

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

Roman ได้งานแรกจาก LinkedIn ซึ่งเขาได้รับเชิญให้เข้าร่วมในโครงการพัฒนา Android แน่นอนว่างานจริงนั้นยากกว่างานใน CodeGym และมีอะไรให้เรียนรู้มากมายระหว่างทาง ทีมค่อยๆ แตกสลาย ดังนั้นพวกเขาจึงไม่สามารถยกระดับโครงการนำร่องไปสู่ระดับใหม่ได้ และเขาต้องหางานใหม่

หางานใหม่

ว่าจะไปที่ไหน? Roman ค้นหาโปรแกรมเมอร์จากสื่อออนไลน์ ซึ่งเขาพบข้อมูลติดต่อบริษัทที่เหมาะสมในเมืองของเขา เขาเริ่มแคมเปญส่งจดหมายขนาดใหญ่

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

การสัมภาษณ์เป็นเรื่องยาก น่าอาย และอึดอัด แต่ Roman ก็ผ่านมันไปได้ บางคนก็แค่อยากจะคุย ในที่อื่น ๆ จำเป็นต้องทำงานการเข้ารหัสสองอย่าง

ข้อเสนอแรก

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

ไม่กี่ปีผ่านไป Roman เป็นนักพัฒนา Java อาวุโส เขามีส่วนร่วมในโครงการโอเพ่นซอร์สในเวลาว่าง (นี่คือโปรไฟล์ GitHub ของเขา ) และมักจะแบ่งปันประสบการณ์ที่เป็นประโยชน์กับนักเรียนในหัวข้อ " บทความ " บน CodeGym