CodeGym /وبلاگ جاوا /Random-FA /داستانی برای 30+ جمعیت
John Squirrels
مرحله
San Francisco

داستانی برای 30+ جمعیت

در گروه منتشر شد
خوب، وقت دستم را پیدا کردم تا داستان کوچکم را به اشتراک بگذارم.

پیش درآمد

بیایید با این واقعیت شروع کنیم که من 30 سال دارم، تحصیلات عالی در رشته شیمی دارم (به جزئیات نمی پردازم) و تقریباً 8 سال است که در یک کارخانه کار کرده ام. کار در واقع بسیار جالب بود، اما با نگاهی به همکارانم، متوجه شدم که نمی‌خواهم بیست سال تا زمان بازنشستگی اینجا کار کنم. این راهی نیست که من بخواهم زندگی ام را بگذرانم. من همچنین می خواهم اضافه کنم که من یک خانواده دارم، شامل دو فرزند (بزرگترین من 6 ساله، کوچکترین یک ساله) و به طور قابل پیش بینی، یک وام مسکن. در نهایت تصمیم گرفتم به جای دیگری نقل مکان کنم، به کارخانه دیگری با دستمزد بالاتر و رشد شغلی واقعی. من در کارخانه اول ریشه دوانده بودم، بنابراین ترک آن سخت بود، اما تصمیم خود را گرفته بودم. سفر من به سن پترزبورگ یک ماه طول کشید. من یک هفته به طور رسمی در آنجا مشغول به کار بودم که متوجه شدم وضعیت کارخانه ها در کشور ما (سویاتوسلاو اهل روسیه است - یادداشت سردبیر) در بیشتر موارد ناراحت کننده است. به زادگاهم برگشتم. من نمی خواستم به عقب برگردم، زیرا به نظرم رسید که این یک گام به عقب است. در این مرحله، تصمیم گرفتم که اگر زندگی ام را تغییر دهم - و آن را به طور اساسی تغییر دهم! حدود یک هفته به این فکر کردم که کدام زبان برنامه نویسی را انتخاب کنم و خب، انتخاب به جاوا افتاد. بعد از آن شروع به جستجوی دوره ها کردم. واقعیت این است که دوره های خوب زیادی وجود دارد، برخی از آنها حتی قیمت مناسبی دارند، اما من یک مشکل داشتم: من انگیزه فوق العاده ای داشتم و زمان زیادی برای مطالعه داشتم، اما بالشتک مالی من حداکثر 3-4 طول می کشید. ماه ها. تمام دوره هایی که من دوست داشتم برای نیم سال یا بیشتر با دو درس در هفته (اغلب) بود. اما یکی از دوستان پس از شنیدن اینکه این منبع بسیار خوبی است CodeGym را به من توصیه کرد. من دیدم که این دوره همه چیزهایی را که لازم داشتم دارد:
  • اشتراک با مواد آموزشی و وظایف؛
  • بدون محدودیت زمانی - می‌توانستم به اندازه برنامه‌ام (که کاملاً باز بود) و میلم (همانطور که در بالا گفتم، بسیار با انگیزه بودم) مطالعه کنم.

بخش اول: در جستجوی دانش

در 26 نوامبر 2019 ثبت نام کردم و تحصیلاتم را شروع کردم. فوراً می گویم که چند روزی بود که من 14 ساعت مستقیم می نشستم، مطالعه می کردم، همه لینک های مرتبط را می خواندم و سعی می کردم راه حل های زیباتری پیدا کنم (بدون نگاه کردن به Help). فقط وقتی فکر کردم که راه حل من بهترین است، به راهنما نگاه کردم. من اغلب از راه حل هایی که حتی زیباتر و مختصرتر بودند شگفت زده می شدم. در پایان ژانویه، پس از رسیدن به سطح 17، تصمیم گرفتم شروع به مصاحبه کنم، مهارت‌هایم را برجسته کنم و ببینم بازار حتی چه می‌خواهد. همانطور که اتفاق افتاد، هیچ کس واقعاً به من پاسخ نداد، اما یک دفتر وجود داشت که من را به عنوان یک کارآموز آزمایشی بدون حقوق دریافت کرد: ماه اول بدون حقوق بود، دوم و سوم شامل کمک هزینه اندکی بود. بعد، مصاحبه دیگری بر اساس عملکرد من بعد از سه ماه انجام می شود، و اگر کارآموزی موفقیت آمیز بود - پس استخدام.

بخش 2: عجله به نبرد

دوره کارآموزی من شامل نوشتن یک افزونه کروم با پشتیبان جاوا برای خودکارسازی وظایف معمول یکی از بخش‌های داخلی شرکت بود. من یک مربی فوق العاده با دانش زیادی داشتم که فکر می کنم این هم مهم است. اصولاً برای اینکه در میان علف های هرز گم نشوید، اکنون در مورد پشته فناوری که استفاده کردم به شما می گویم و سپس در پایان مقاله چندین لینک را ارائه می دهم که برای من بسیار مفید بود.

پشته فناوری:

جاوا 11 (پروژه به طور کامل از ابتدا نوشته شده است)، Spring (Boot، Security، OAuth2)؛ من از MongoDB برای پایگاه داده استفاده کردم. برای تست‌های خودکار، از AssertJ، Mockito و Spring-boot-Starter-test استفاده کردم. و من از جریان نسبتاً محبوب GitHub استفاده کردم (به این مقاله مراجعه کنید ). BTW، اگر با زبان انگلیسی مشکل دارید، اکنون زمان آن است که به شما توصیه کنیم آن را یاد بگیرید. سطح تسلط من A2 است، اما همیشه سعی می کنم مقالات را به زبان انگلیسی بخوانم (البته بدون استفاده از مترجم). این بزرگترین مشکل من بود که پروژه کارآموزی را شروع کردم، زیرا باید با یک CRM شخص ثالث کار می کردم و تمام اسناد آن به زبان انگلیسی بود. همچنین هنگام کار با Spring، بهتر است مستندات اصلی را مطالعه کنید. خیلی خوب و مفصل است. علاوه بر این، تقریباً تمام اسناد انگلیسی هستند (کمی از Captain Obvious). همچنین، مربی من به من گفت که تمام نظرات را در کد و مستندات API به زبان انگلیسی بنویسم، بنابراین یک بار دیگر تکرار می کنم: اگر زبان مادری نیستید، انگلیسی یاد بگیرید! حتی اگر قرار نیست با مشتریان خارجی کار کنید یا به خارج از کشور سفر کنید، این مهارت به سادگی مطالعه و پیشرفت شما را بسیار ساده می کند.

بخش 3: نتیجه

این قسمت خیلی کوتاهتر خواهد بود :) در پایان دوره کارآموزی مصاحبه ارزیابی عملکرد را با موفقیت پشت سر گذاشتم و مشغول به کار شدم و در آنجا به کار روی این پروژه ادامه دادم. مرحله اول قرار بود به عنوان بخشی از دوره کارآموزی من اجرا شود، اما در کل سه مرحله وجود داشت. با توجه به شروع همه‌گیری، بسیاری از پروژه‌های تجاری ناپدید شدند و من تمام مراحل و هر ایده/آرزوی دیگری را برای این پروژه اجرا کردم. کارهای دیگری هم وجود داشت، اما به قول خودشان این داستان دیگری است.

قسمت 4: پایان خوشی داشت، اگرچه همه چیز هنوز به پایان نرسیده است ;)

در اواسط تیرماه با من تماس گرفت و از من پرسیدند که آیا دنبال کار هستم یا خیر. من رزومه ام را ارسال کرده بودم، هرچند مدت زیادی بود که به روز نشده بود. تصمیم گرفتم خودم را امتحان کنم. من 3 مرحله را طی کردم: یک کار آزمایشی، یک مصاحبه فنی و یک مصاحبه با رئیس. به من پیشنهاد دادند و... این پیشنهادی بود که نمی توانستم رد کنم. البته می‌دانم که در دو شغل اولتان، سعی می‌کنید به هر کجا که شما را می‌برند وارد شوید، اما همچنان. اولین شغل من یک موقعیت شغلی بود، اما شغل فعلی من در صنایع غذایی است. آنها همچنین من را به عنوان یک توسعه دهنده جوان استخدام کردند، اما من اصلاً ناراحت نیستم، زیرا هم از نظر دانش و هم از نظر پول جا برای رشد وجود دارد.

پایان

پس دوستان خسته نباشید. نکته اصلی این است که تصمیم خود را بگیرید و از مسیر خود منحرف نشوید. در مورد من، مسئولیت بزرگی برای مراقبت از خانواده‌ام و تمایل به تغییر چیزی در زندگی‌ام، شروع به انجام کاری که واقعاً از آن لذت می‌برم، داشتم. توسعه نرم افزار بسیار عالی است، زیرا شما می توانید از نردبان شغلی بالا بروید، صرف نظر از اینکه آیا جای خالی بالاتری در شرکت شما وجود دارد یا خیر، صرف نظر از اینکه فردی پس از بیست سال کار بازنشسته شده است یا خیر، و صرف نظر از اینکه آیا شما ارتباطات شخصی برای رسیدن به این شرکت دارید یا خیر. شغل بالاتر در رشته ما همه چیز دست ماست!

در اینجا چند مقاله وجود دارد که می خواهم به اشتراک بگذارم:

  • درک معماری . من شخصاً این مقاله را 4 بار خواندم درست زمانی که در حال کار بر روی معماری یک برنامه آینده بودیم. من از کلمه "ما" استفاده می کنم، زیرا مربی من همه چیز را بررسی کرده و برای اصلاحات بازگردانده است (یعنی بازبینی کد انجام داده است). بار اول چیز زیادی نفهمیدم. سپس 3 ماه بعد آن را خواندم و متوجه شدم که دلیل آن را فهمیدم. بعداً 2 بار دیگر آن را خواندم تا همه اطلاعات را یکپارچه و کاملاً جذب کنم.
  • یادگیری Git تعاملی .
  • من توصیه می کنم که همه باید یاد بگیرند که چگونه با استریم ها کار کنند. آنها واقعاً باشکوه هستند: اغلب می توانید حجم عظیمی از کد را با یک جریان کوچک جایگزین کنید.
  • مستندات بهار
  • از آنجایی که من با یک پایگاه داده غیررابطه ای کار می کردم و اکثر شرکت ها (مخصوصاً شرکت های بزرگ) با SQL کار می کنند، در اوقات فراغت خود سعی کردم حداقل چند مشکل مربوط به ساخت پرس و جوهای SQL را حل کنم. وب سایت های مختلفی برای این کار وجود دارد.
  • من همچنین خواندن تست های رایتینگ (Assertj, Mockito) را توصیه می کنم، اما هیچ مقاله خوبی به خاطر ندارم، فقط مستندات.
  • و هنگامی که در حال توسعه یک برنامه هستید (اما اکنون ما فراتر از سطح مبتدی هستیم)، سعی کنید از الگوهای طراحی استفاده کنید . حداقل نگاهی گذرا به الگوهای شناخته شده بیندازید. با شروع کار مفید خواهد بود.
یک بار دیگر برای همه شما آرزوی موفقیت در پیگیری رویاهای خود دارم!
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION