JavaRush /จาวาบล็อก /Random-TH /เรื่องราวความสำเร็จของฉัน
Александр Колинченко
ระดับ
Москва

เรื่องราวความสำเร็จของฉัน

เผยแพร่ในกลุ่ม
  1. สวัสดีทุกคน ฉันกำลังเขียนจากที่ทำงานแรกของฉัน (อย่างแม่นยำมากขึ้น จากสถานที่ฝึกงานที่ได้รับค่าจ้างครั้งแรกในฐานะ Junior Java Developer) ก่อนเริ่มวันทำงาน
  2. เรื่องราวความสำเร็จของฉัน - 1
  3. ฉันอายุ 39 (!) ฉันเริ่มเขียนโปรแกรมเป็นงานอดิเรกในช่วงพักจากงาน หาเงิน ดูแลลูกที่เพิ่งเกิด ย้ายกลับไปอยู่กับครอบครัวที่มอสโกว และอีกสองสามอย่าง ก่อนหน้านั้น เขาทำงานเป็นนักการเงิน และมีส่วนร่วมอย่างมากในการใช้งานระบบบัญชีใน 1Сах ต่างๆ

  4. ตอนแรกฉันพยายามเริ่มเขียนโปรแกรมด้วยตัวเอง และเริ่มต้นด้วย Kotlin ด้วยซ้ำ (ฉันชอบทั้งภาษาและผู้พัฒนามันมาก - JetBrains) แต่อย่างรวดเร็วภายในหนึ่งสัปดาห์ฉันก็รู้ว่าหากไม่มี Java ก็ไม่มีอะไรให้ทำใน Kotlin และจำเป็นต้องมีบางอย่าง การขุดด้วยตัวเองไม่ได้ผลมากนัก ฉันพบว่าฉันจำไม่ได้ว่า JavaRush ฉันลงทะเบียนเมื่อวันที่ 30 มิถุนายน (ฉันดูทางไปรษณีย์แล้ว) ฉันซื้อการสมัครสมาชิกแล้วเมื่อวันที่ 5 กรกฎาคม (ในช่วง 5 วันนี้ฉันผ่าน 10 ด่านแรกสองด่านต่อวัน) ในความคิดของฉัน ฉันใช้เวลา 3 เดือน 25 เลเวลหรือมากกว่านั้นเล็กน้อย (โดยสมบูรณ์ เจาะลึกรายละเอียด ดาวน์โหลดส่วนเล็ก ๆ ของโซลูชัน แต่เข้าใจในรายละเอียดจริงๆ จริงๆ)

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


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

  6. ในช่วงกลางของการเห็นพ้องต้องกัน เห็นได้ชัดว่าการดำเนินการต่อให้เสร็จสิ้นแทบจะไม่มีประโยชน์เลย การวิเคราะห์ปัญหาในส่วนความช่วยเหลือเป็นเรื่องที่น่าสนใจมากขึ้น (ซึ่งเป็นประโยชน์สำหรับฉัน - ฉันเรียนรู้ที่จะวิเคราะห์โค้ดของผู้อื่นและจัดโครงสร้างความรู้ของฉัน) มากกว่าทำแบบฝึกหัด จากนั้นฉันก็ตั้งเป้าหมายในการสร้างโปรเจ็กต์เว็บโดยใช้ Spring + Hibernate + Mayesquel + เอ็นจิ้นเทมเพลตบางประเภท (ในที่สุดฉันก็ทำได้โดยใช้ Thymeleaf) ฉันเปิดระดับที่เหลือเพียงเพื่อค้นพบภารกิจที่อร่อยที่สุด

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


  7. เป็นผลให้ฉันใช้เวลาหนึ่งเดือนครึ่งในการแกะสิ่งเหล่านี้ทั้งหมด (บุคคลในตัวอย่างวิดีโอทำสิ่งเดียวกันในเวลาประมาณ 50 นาทีหากเป็นเช่นนั้น) ฉันได้ทำการทดสอบบริการเว็บทั้งหมดสองรายการ วิธีหนึ่งคือการทำซ้ำสิ่งที่อยู่ในวิดีโอ (รายชื่อหนังสือมาตรฐานจะคล้ายคลึงกับการทดสอบการมอบหมายงานสำหรับการฝึกงาน) อย่างที่สองนั้นคล้ายกับงานจริงไม่มากก็น้อยส่วนแบ็กเอนด์ของไซต์สำหรับคำนวณต้นทุนของเพดานแบบแขวนพร้อมตัวควบคุมส่วนที่เหลือ (ตามตัวอย่างความต้องการที่แท้จริงของเพื่อน) และบน Spring-boot ไม่ใช่บนสปริงเปล่า ประการที่สองเพื่อความสนุกสนาน ฉันใส่คลาสใน Kotlin ด้วย (โดยทั่วไปฉันขอแนะนำ Kotlin เป็นอย่างยิ่ง ฉันจะขุดเพิ่มเติมด้วยตัวเองอย่างแน่นอน)

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

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

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

  11. เป็นที่น่าสนใจที่ในการสัมภาษณ์ 3 ครั้ง (รวมถึงสถานที่ปัจจุบัน) ในทางปฏิบัติแล้วไม่มีการสัมภาษณ์ทางเทคนิค - พวกเขามองสิ่งที่ฉันเป็นอย่างมนุษย์ล้วนๆ แม้ว่าฉันจะเตรียมตัวมาอย่างดีก็ตาม ฉันจำบริษัทที่เชิญฉันเป็นพิเศษเพราะฉันอายุเกิน 35 ปีแล้ว พวกเขามีบรรยากาศที่เป็นเอกลักษณ์มาก เมื่อฉันถามผู้จัดการฝ่ายพัฒนาของพวกเขา (อายุมากกว่าฉันมาก เป็นโรงเรียนเก่าจริงๆ) ว่าพวกเขาใช้ IDE อะไร (Intellij หรือ Eclipse มีนโยบายบางอย่างในส่วนนี้) ในตอนแรกเขาไม่เข้าใจด้วยซ้ำ จากนั้นเขาก็ตอบว่า "โอ้ โปรแกรมแก้ไขข้อความ... ใช่ ฉันไม่ได้ใช้มัน นั่นคือวิธีการเขียนโค้ด แต่คุณสามารถใช้อะไรก็ได้ ไม่มีปัญหา” และเขาไม่ได้ล้อเล่นอย่างแน่นอน ฉันรู้สึกประหลาดใจที่พูดอย่างอ่อนโยน

  12. สองสามสัปดาห์ต่อมา ฉันได้รับโทรศัพท์จาก Sbertech (หลังจากการสัมภาษณ์ครั้งแรก พวกเขามีแผนกต่างๆ มากมายที่นั่น แต่ละคนรับสมัครงานเอง) พร้อมข้อเสนอให้ทำงานประมาณ 10,000 ชั่วโมง ในมือ 1.1 พันดอลลาร์ต่อเดือน โดยคำนึงถึงโบนัสประจำปี ฉันบอกว่าโอเค พวกเขาเริ่มดำเนินการตามข้อเสนอแล้ว กระบวนการนี้ใช้เวลาพอสมควร ฉันยังคงดูงานอื่นๆ อยู่ ในขณะนั้น ฉันเจอโฆษณาบน Javarash เกี่ยวกับการรับสมัครนักศึกษาฝึกงานให้กับกลุ่มบริษัท Smart ฉันเขียนว่าอยากคุย ไม่รู้สิ ไปสัมภาษณ์แทบจะทันที ในทางปฏิบัติแล้ว Tim Lead ไม่ได้ถามคำถามด้านเทคนิค (แม้ว่าตัวผมเองจะอธิบายระดับของตัวเองได้ค่อนข้างเพียงพอ โดยไม่มีเรื่องไร้สาระ) และบอกว่าเขาพร้อมที่จะลองฝึกงานแบบได้รับค่าจ้างแล้ว ฉันตกลงเพราะ Sbertech รบกวนฉันนิดหน่อย (เห็นได้ชัดว่าฉันจะไปที่นั่นหากไม่มีทางเลือกอื่น) แถมฉันชอบบรรยากาศและหัวหน้าทีม อีกทั้งสำนักงานของพวกเขาอยู่ห่างจากสถานที่ที่เราเช่าโดยใช้เวลาเดินเพียง 7 นาที อพาร์ทเมนต์ ฉันใช้เวลามากกว่าสองสามสัปดาห์ในการจัดการดูแลเด็ก และจริงๆ แล้วฉันก็ไปทำงานในวันที่ 28 กุมภาพันธ์

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

  14. เคล็ดลับสำหรับผู้เริ่มต้น:

    • ภาษาอังกฤษ. ฉันโชคดีที่ฉันพูดภาษาอังกฤษได้คล่องอยู่แล้ว (เช่น เราโชคดีที่ได้เป็นเจ้าภาพให้กับนักท่องเที่ยวที่เล่นโซฟาโซฟาบ่อยๆ ภาษาอังกฤษของฉันก็พัฒนาขึ้น - อวยพรคุณ) หากไม่มีภาษาอังกฤษในการเขียนโปรแกรมคุณแทบจะเป็นศูนย์ น่าเสียดายที่มันเป็นเช่นนั้น

    • สกรู ในระหว่างการฝึก ฉันมีกฎ - ไม่ใช่สักวันหนึ่งที่ไม่มีโค้ดสักบรรทัด และตามมาตรฐานแล้ว ฉันใช้เวลาหลายชั่วโมงต่อวันในการเขียนโปรแกรม น่าเสียดาย (หรืออาจจะไม่) ฉันไม่ได้อ่านหนังสือเลย แต่ฉันดูวิดีโอบทช่วยสอนและสุนทรพจน์มากมายจากการประชุม + อ่านคำตอบซ้ำมากมายใน stackoverflow

    • ยังคงคอลเลกชันก่อน เห็นพ้อง - ตามหลักการคงเหลือ แม้ว่าตอนนี้ฉันจะมีทักษะด้านมัลติเธรดที่แท้จริงแล้ว แต่การทำงานกับคอลเลกชันก็มีความสำคัญมากกว่า IMHO ในระหว่างการสัมภาษณ์ ครั้งเดียวที่พวกเขาถามคือ ฉันรู้ว่า mutex คืออะไร และนั่นคือทั้งหมดที่เกี่ยวกับการทำงานพร้อมกัน แต่เกี่ยวกับคอลเลกชันมันแตกต่างไปจากเดิมอย่างสิ้นเชิง

    • อย่าลืมทำแบบฝึกหัดสองสามโหลบน sqlex.ru (ซึ่งเป็นไปตาม esquel ตามลำดับ) มันง่ายมากหลังจากผ่านไปหลายสิบเลเวลใน JavaRush แต่ในขณะเดียวกันก็มีประโยชน์อย่างมากทั้งสำหรับการเขียนโปรแกรมแบ็กเอนด์และการสัมภาษณ์

    • อย่าลืมสร้างโปรเจ็กต์ง่ายๆ ของคุณโดยใช้เฟรมเวิร์ก เช่น spring-boot + hibernate + mayesquel + เอ็นจิ้นเทมเพลตบางประเภท (เช่น timeleaf หรือ mustash) หรือผมคิดว่าการฝึกงานก็จะคล้ายๆ กัน แต่ผมแนะนำอะไรที่นี่ไม่ได้ บุคคลที่มีทฤษฎีเปลือยเปล่าเกี่ยวกับฤดูใบไม้ผลิและโปรเจ็กต์การเขียนโปรแกรมที่เสร็จสมบูรณ์นั้นเป็นเพียงสวรรค์และโลก หลังจากโครงการนี้ แบบฝึกหัดโดยเฉลี่ยในหลักสูตรนี้กลายเป็นแบบฝึกหัดระดับอนุบาล ส่วนแบบฝึกหัดที่ซับซ้อนนั้นต่ำกว่าค่าเฉลี่ย เพียงแค่เพิ่มวุฒิภาวะของโปรแกรมเมอร์

    • จำเป็นต้องทำความเข้าใจและเพิ่มการประมวลผลธุรกรรมให้กับโปรเจ็กต์นี้ ไม่ใช่แค่ที่ระดับ “เพิ่มไปยังวิธีการในระดับ @Transactional service” หัวข้อการทำธุรกรรมมีการสัมภาษณ์อย่างต่อเนื่อง ฉันเสียใจที่ฉันไม่ได้ขุด sqlex.ru และธุรกรรม Spring และ Hibernate ก่อนที่จะหางาน บุคคลที่ทำธุรกรรมจะพูดคุยกับผู้ให้สัมภาษณ์เพื่อหาตำแหน่งแบ็กเอนด์ที่ดีกว่ามาก

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

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION