- สวัสดีทุกคน ฉันกำลังเขียนจากที่ทำงานแรกของฉัน (อย่างแม่นยำมากขึ้น จากสถานที่ฝึกงานที่ได้รับค่าจ้างครั้งแรกในฐานะ Junior Java Developer) ก่อนเริ่มวันทำงาน
- ฉันอายุ 39 (!) ฉันเริ่มเขียนโปรแกรมเป็นงานอดิเรกในช่วงพักจากงาน หาเงิน ดูแลลูกที่เพิ่งเกิด ย้ายกลับไปอยู่กับครอบครัวที่มอสโกว และอีกสองสามอย่าง ก่อนหน้านั้น เขาทำงานเป็นนักการเงิน และมีส่วนร่วมอย่างมากในการใช้งานระบบบัญชีใน 1Сах ต่างๆ
-
ตอนแรกฉันพยายามเริ่มเขียนโปรแกรมด้วยตัวเอง และเริ่มต้นด้วย Kotlin ด้วยซ้ำ (ฉันชอบทั้งภาษาและผู้พัฒนามันมาก - JetBrains) แต่อย่างรวดเร็วภายในหนึ่งสัปดาห์ฉันก็รู้ว่าหากไม่มี Java ก็ไม่มีอะไรให้ทำใน Kotlin และจำเป็นต้องมีบางอย่าง การขุดด้วยตัวเองไม่ได้ผลมากนัก ฉันพบว่าฉันจำไม่ได้ว่า JavaRush ฉันลงทะเบียนเมื่อวันที่ 30 มิถุนายน (ฉันดูทางไปรษณีย์แล้ว) ฉันซื้อการสมัครสมาชิกแล้วเมื่อวันที่ 5 กรกฎาคม (ในช่วง 5 วันนี้ฉันผ่าน 10 ด่านแรกสองด่านต่อวัน) ในความคิดของฉัน ฉันใช้เวลา 3 เดือน 25 เลเวลหรือมากกว่านั้นเล็กน้อย (โดยสมบูรณ์ เจาะลึกรายละเอียด ดาวน์โหลดส่วนเล็ก ๆ ของโซลูชัน แต่เข้าใจในรายละเอียดจริงๆ จริงๆ)
ฉันจำความตื่นเต้นอันยิ่งใหญ่ที่ฉันมีได้เมื่อในที่สุดฉันก็แยกวิเคราะห์นิพจน์ทางคณิตศาสตร์ได้ งานนี้ถือเป็นการก้าวกระโดดครั้งใหญ่ เป็นความก้าวหน้าในการทำความเข้าใจตัวเองในฐานะโปรแกรมเมอร์
- ฉันเลือกที่จะดูคอลเลกชันก่อน จากนั้นจึงเลือกดูส่วนที่เกิดขึ้นพร้อมกัน ฉันดูเนื้อหาแล้วตัดสินใจว่าการจัดการกับคอลเลกชันน่าสนใจและมีประโยชน์มากกว่า ในความคิดของฉัน ฉันใช้เวลาประมาณสองเดือนกว่าจะผ่านอีก 10 ด่าน (จนถึงระดับ 35 ที่ไหนสักแห่ง)
-
ในช่วงกลางของการเห็นพ้องต้องกัน เห็นได้ชัดว่าการดำเนินการต่อให้เสร็จสิ้นแทบจะไม่มีประโยชน์เลย การวิเคราะห์ปัญหาในส่วนความช่วยเหลือเป็นเรื่องที่น่าสนใจมากขึ้น (ซึ่งเป็นประโยชน์สำหรับฉัน - ฉันเรียนรู้ที่จะวิเคราะห์โค้ดของผู้อื่นและจัดโครงสร้างความรู้ของฉัน) มากกว่าทำแบบฝึกหัด จากนั้นฉันก็ตั้งเป้าหมายในการสร้างโปรเจ็กต์เว็บโดยใช้ Spring + Hibernate + Mayesquel + เอ็นจิ้นเทมเพลตบางประเภท (ในที่สุดฉันก็ทำได้โดยใช้ Thymeleaf) ฉันเปิดระดับที่เหลือเพียงเพื่อค้นพบภารกิจที่อร่อยที่สุด
หากมีการฝึกงานในขณะนั้นคงจะดีมาก แต่สำหรับเหตุการณ์ที่กำลังเกิดขึ้นในขณะนั้น มันก็สายเกินไปแล้ว และสำหรับครั้งต่อไปก็เร็วเกินไป
- เป็นผลให้ฉันใช้เวลาหนึ่งเดือนครึ่งในการแกะสิ่งเหล่านี้ทั้งหมด (บุคคลในตัวอย่างวิดีโอทำสิ่งเดียวกันในเวลาประมาณ 50 นาทีหากเป็นเช่นนั้น) ฉันได้ทำการทดสอบบริการเว็บทั้งหมดสองรายการ วิธีหนึ่งคือการทำซ้ำสิ่งที่อยู่ในวิดีโอ (รายชื่อหนังสือมาตรฐานจะคล้ายคลึงกับการทดสอบการมอบหมายงานสำหรับการฝึกงาน) อย่างที่สองนั้นคล้ายกับงานจริงไม่มากก็น้อยส่วนแบ็กเอนด์ของไซต์สำหรับคำนวณต้นทุนของเพดานแบบแขวนพร้อมตัวควบคุมส่วนที่เหลือ (ตามตัวอย่างความต้องการที่แท้จริงของเพื่อน) และบน Spring-boot ไม่ใช่บนสปริงเปล่า ประการที่สองเพื่อความสนุกสนาน ฉันใส่คลาสใน Kotlin ด้วย (โดยทั่วไปฉันขอแนะนำ Kotlin เป็นอย่างยิ่ง ฉันจะขุดเพิ่มเติมด้วยตัวเองอย่างแน่นอน)
- หลังจากที่ฉันสร้างบริการเว็บตั้งแต่เริ่มต้น (เราจะไม่พูดอะไรเกี่ยวกับข้อเท็จจริงที่ว่ามันไม่ได้รับอนุญาต ผู้จัดการธุรกรรม การทดสอบ Web Part ปกติ ฯลฯ) ก็ชัดเจนว่าจำเป็นต้อง กำหนดเรซูเม่และหางานเดือนมิถุนายน เมื่อมาถึงจุดนี้ ฉันเริ่มเข้าใจว่าฉันชอบการเขียนโปรแกรมมากและโปรแกรมเมอร์ก็มีความจำเป็นจริงๆ จากนั้น (ในช่วงกลางเดือนมกราคม หลังวันหยุด) ในที่สุดฉันก็เขียนเรซูเม่สั้น ๆ เป็นภาษาอังกฤษ โดยลบประสบการณ์เดิมของฉันออกไปโดยสิ้นเชิง (ฉันเหลือเพียงคำอธิบายสั้น ๆ ในย่อหน้าเดียว) และส่งไปที่ NN
- สิ่งที่เริ่มต้นเป็นเพียงย่อหน้า ฉันไม่มีเวลาส่งคำขอถึงใครเลย ฉันได้รับข้อเสนอสัมภาษณ์จากบริษัท 4 ฉบับและจดหมายอีกสองสามฉบับจากฝ่ายทรัพยากรบุคคลพร้อมข้อเสนอเพื่อพิจารณางานที่แตกต่างกัน (แต่จดหมายสองสามฉบับนี้ไม่อยู่ในระดับสำหรับ คนกลาง) ฉันไม่เข้าใจว่าทำไมสิ่งนี้จึงเกิดขึ้น ฉันคิดว่าในขณะนั้นคำสั่งซื้อจาก Sber เพิ่มขึ้นอย่างมาก (2 ในสี่ - Sber เองซึ่งโดยทั่วไปจะเชิญทุกคนที่โพสต์เรซูเม่และผู้รับเหมา) มาสัมภาษณ์ นอกจากนี้เรซูเม่ของฉันก็น่าจะดูดีด้วย
- การสัมภาษณ์ครั้งแรก (Sbertech) ยอดเยี่ยมมาก ฉันสอนเขาเป็นอย่างดีเกี่ยวกับแก่นแท้และพื้นฐาน ผู้สัมภาษณ์กล่าวว่าประกันสังคมเป็นเพียงระเบิด และฉันจะหางานทำอย่างแน่นอน แม้ว่าจะไม่ได้อยู่กับพวกเขาก็ตาม แต่อันที่สอง (ทางโทรศัพท์) เป็นเพียงความอัปยศ ฉันหลงทางไปหมดแล้ว และฉันก็รู้คำถามเกือบทั้งหมดหรือสามารถให้คำตอบที่สมเหตุสมผลได้ ดังที่ฉันจำได้ในภายหลัง ขณะนี้มีผู้สัมภาษณ์สองคนที่ Sbertech คนหนึ่งคิดว่าฉันไม่แย่ คนที่สองคิดว่าฉันเป็นคนงี่เง่าทางคลินิก ถือเป็นบทเรียนที่ดีในการสัมภาษณ์อย่างจริงจัง ไม่อย่างนั้นฉันก็รู้สึกภูมิใจเล็กน้อยหลังจากข้อเสนอและการสัมภาษณ์ครั้งแรก
- เป็นที่น่าสนใจที่ในการสัมภาษณ์ 3 ครั้ง (รวมถึงสถานที่ปัจจุบัน) ในทางปฏิบัติแล้วไม่มีการสัมภาษณ์ทางเทคนิค - พวกเขามองสิ่งที่ฉันเป็นอย่างมนุษย์ล้วนๆ แม้ว่าฉันจะเตรียมตัวมาอย่างดีก็ตาม ฉันจำบริษัทที่เชิญฉันเป็นพิเศษเพราะฉันอายุเกิน 35 ปีแล้ว พวกเขามีบรรยากาศที่เป็นเอกลักษณ์มาก เมื่อฉันถามผู้จัดการฝ่ายพัฒนาของพวกเขา (อายุมากกว่าฉันมาก เป็นโรงเรียนเก่าจริงๆ) ว่าพวกเขาใช้ IDE อะไร (Intellij หรือ Eclipse มีนโยบายบางอย่างในส่วนนี้) ในตอนแรกเขาไม่เข้าใจด้วยซ้ำ จากนั้นเขาก็ตอบว่า "โอ้ โปรแกรมแก้ไขข้อความ... ใช่ ฉันไม่ได้ใช้มัน นั่นคือวิธีการเขียนโค้ด แต่คุณสามารถใช้อะไรก็ได้ ไม่มีปัญหา” และเขาไม่ได้ล้อเล่นอย่างแน่นอน ฉันรู้สึกประหลาดใจที่พูดอย่างอ่อนโยน
- สองสามสัปดาห์ต่อมา ฉันได้รับโทรศัพท์จาก Sbertech (หลังจากการสัมภาษณ์ครั้งแรก พวกเขามีแผนกต่างๆ มากมายที่นั่น แต่ละคนรับสมัครงานเอง) พร้อมข้อเสนอให้ทำงานประมาณ 10,000 ชั่วโมง ในมือ 1.1 พันดอลลาร์ต่อเดือน โดยคำนึงถึงโบนัสประจำปี ฉันบอกว่าโอเค พวกเขาเริ่มดำเนินการตามข้อเสนอแล้ว กระบวนการนี้ใช้เวลาพอสมควร ฉันยังคงดูงานอื่นๆ อยู่ ในขณะนั้น ฉันเจอโฆษณาบน Javarash เกี่ยวกับการรับสมัครนักศึกษาฝึกงานให้กับกลุ่มบริษัท Smart ฉันเขียนว่าอยากคุย ไม่รู้สิ ไปสัมภาษณ์แทบจะทันที ในทางปฏิบัติแล้ว Tim Lead ไม่ได้ถามคำถามด้านเทคนิค (แม้ว่าตัวผมเองจะอธิบายระดับของตัวเองได้ค่อนข้างเพียงพอ โดยไม่มีเรื่องไร้สาระ) และบอกว่าเขาพร้อมที่จะลองฝึกงานแบบได้รับค่าจ้างแล้ว ฉันตกลงเพราะ Sbertech รบกวนฉันนิดหน่อย (เห็นได้ชัดว่าฉันจะไปที่นั่นหากไม่มีทางเลือกอื่น) แถมฉันชอบบรรยากาศและหัวหน้าทีม อีกทั้งสำนักงานของพวกเขาอยู่ห่างจากสถานที่ที่เราเช่าโดยใช้เวลาเดินเพียง 7 นาที อพาร์ทเมนต์ ฉันใช้เวลามากกว่าสองสามสัปดาห์ในการจัดการดูแลเด็ก และจริงๆ แล้วฉันก็ไปทำงานในวันที่ 28 กุมภาพันธ์
- ตอนนี้ฉัน (ควบคู่ไปกับผู้ฝึกงานอีกคน เขามาจากหลักสูตรอื่น) เข้าใจรหัสของโครงการหลักของบริษัท และในขณะเดียวกัน ฉันกำลังสร้างแอปพลิเคชันการฝึกอบรมภายใต้คำแนะนำของหัวหน้าทีม ในเวลาเดียวกัน คือการใช้เทคโนโลยีและเทคนิคพื้นฐานที่มีอยู่ในลักษณะต้นทางถึงปลายทางหลัก ตั้งแต่ฐานข้อมูลไปจนถึงโปรเจ็กต์เบราว์เซอร์ แต่ในขนาดเล็ก วันแรกก็ตื่นตระหนกนิดหน่อย แต่พอวันที่สองมาร่วมงานแล้ว ตอนนี้น่าสนใจมาก มาทำงานก่อนใคร ออกช้ากว่าใครเกือบทุกวัน รู้สึกว่าตัวเองเป็น' ฉันพัฒนาทักษะของฉัน ทิม ลีด บอกว่าถึงเวลาลุยงานจริงแล้ว (ผมได้งาน 28 ก.พ.)
-
เคล็ดลับสำหรับผู้เริ่มต้น:
- ภาษาอังกฤษ. ฉันโชคดีที่ฉันพูดภาษาอังกฤษได้คล่องอยู่แล้ว (เช่น เราโชคดีที่ได้เป็นเจ้าภาพให้กับนักท่องเที่ยวที่เล่นโซฟาโซฟาบ่อยๆ ภาษาอังกฤษของฉันก็พัฒนาขึ้น - อวยพรคุณ) หากไม่มีภาษาอังกฤษในการเขียนโปรแกรมคุณแทบจะเป็นศูนย์ น่าเสียดายที่มันเป็นเช่นนั้น
- สกรู ในระหว่างการฝึก ฉันมีกฎ - ไม่ใช่สักวันหนึ่งที่ไม่มีโค้ดสักบรรทัด และตามมาตรฐานแล้ว ฉันใช้เวลาหลายชั่วโมงต่อวันในการเขียนโปรแกรม น่าเสียดาย (หรืออาจจะไม่) ฉันไม่ได้อ่านหนังสือเลย แต่ฉันดูวิดีโอบทช่วยสอนและสุนทรพจน์มากมายจากการประชุม + อ่านคำตอบซ้ำมากมายใน stackoverflow
- ยังคงคอลเลกชันก่อน เห็นพ้อง - ตามหลักการคงเหลือ แม้ว่าตอนนี้ฉันจะมีทักษะด้านมัลติเธรดที่แท้จริงแล้ว แต่การทำงานกับคอลเลกชันก็มีความสำคัญมากกว่า IMHO ในระหว่างการสัมภาษณ์ ครั้งเดียวที่พวกเขาถามคือ ฉันรู้ว่า mutex คืออะไร และนั่นคือทั้งหมดที่เกี่ยวกับการทำงานพร้อมกัน แต่เกี่ยวกับคอลเลกชันมันแตกต่างไปจากเดิมอย่างสิ้นเชิง
- อย่าลืมทำแบบฝึกหัดสองสามโหลบน sqlex.ru (ซึ่งเป็นไปตาม esquel ตามลำดับ) มันง่ายมากหลังจากผ่านไปหลายสิบเลเวลใน JavaRush แต่ในขณะเดียวกันก็มีประโยชน์อย่างมากทั้งสำหรับการเขียนโปรแกรมแบ็กเอนด์และการสัมภาษณ์
- อย่าลืมสร้างโปรเจ็กต์ง่ายๆ ของคุณโดยใช้เฟรมเวิร์ก เช่น spring-boot + hibernate + mayesquel + เอ็นจิ้นเทมเพลตบางประเภท (เช่น timeleaf หรือ mustash) หรือผมคิดว่าการฝึกงานก็จะคล้ายๆ กัน แต่ผมแนะนำอะไรที่นี่ไม่ได้ บุคคลที่มีทฤษฎีเปลือยเปล่าเกี่ยวกับฤดูใบไม้ผลิและโปรเจ็กต์การเขียนโปรแกรมที่เสร็จสมบูรณ์นั้นเป็นเพียงสวรรค์และโลก หลังจากโครงการนี้ แบบฝึกหัดโดยเฉลี่ยในหลักสูตรนี้กลายเป็นแบบฝึกหัดระดับอนุบาล ส่วนแบบฝึกหัดที่ซับซ้อนนั้นต่ำกว่าค่าเฉลี่ย เพียงแค่เพิ่มวุฒิภาวะของโปรแกรมเมอร์
- จำเป็นต้องทำความเข้าใจและเพิ่มการประมวลผลธุรกรรมให้กับโปรเจ็กต์นี้ ไม่ใช่แค่ที่ระดับ “เพิ่มไปยังวิธีการในระดับ @Transactional service” หัวข้อการทำธุรกรรมมีการสัมภาษณ์อย่างต่อเนื่อง ฉันเสียใจที่ฉันไม่ได้ขุด sqlex.ru และธุรกรรม Spring และ Hibernate ก่อนที่จะหางาน บุคคลที่ทำธุรกรรมจะพูดคุยกับผู้ให้สัมภาษณ์เพื่อหาตำแหน่งแบ็กเอนด์ที่ดีกว่ามาก
- หากใครมีคำถามหรือปัญหาใดๆ โปรดเขียนมา ฉันจะพยายามช่วยเหลืออย่างเต็มที่เท่าที่จะทำได้ โดยเฉพาะผู้ที่กำลังทำโปรเจ็กต์แรกในฤดูใบไม้ผลิ ฉันยินดีที่จะพบใครก็ตามในมอสโกว
GO TO FULL VERSION