چگونه علم را برای IT ترک کنیم و آزمایشگر شویم: داستان یک حرفه

چگونه علم را برای IT ترک کنیم و آزمایشگر شویم: داستان یک حرفه

امروز ما این تعطیلات را به افرادی تبریک می گوییم که هر روز اطمینان حاصل می کنند که نظم بیشتری در جهان وجود دارد - آزمایش کنندگان. در این روز GeekUniversity از گروه Mail.ru دانشکده را باز می کند برای کسانی که می خواهند به صفوف مبارزان علیه آنتروپی کیهان بپیوندند. ساختار برنامه دوره به گونه ای است که می توان حرفه "تستر نرم افزار" را از ابتدا تسلط یافت، حتی اگر قبلاً در زمینه کاملاً متفاوتی کار کرده باشید.

ما همچنین داستان دانش آموز GeekBrains ماریا لوپاندینا را منتشر می کنیم (@mahatimas). ماریا کاندیدای علوم فنی، گرایش آکوستیک است. او در حال حاضر به عنوان تستر نرم افزار برای یک شرکت مهندسی بزرگ کار می کند که نرم افزاری را برای موسسات پزشکی توسعه می دهد.

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

چگونه همه چیز شروع شد: فناوری به علاوه علم

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

من می خواستم یک متخصص خوب شوم، بنابراین به تدریج خودم را در فناوری های تولید غرق کردم و به تخصص های مرتبط تسلط پیدا کردم. به عنوان مثال، هنگامی که نیاز به وجود آمد، من روش شناسی انجام آنالیزهای شیمیایی برای کنترل کیفیت آب را با استفاده از استانداردهای دولتی و مقررات صنعتی به عنوان منبع مطالعه کردم. بعداً این تکنیک را به سایر دستیاران آزمایشگاه آموزش دادم.

همزمان در حال تهیه پایان نامه دکتری خود بودم که با موفقیت از آن دفاع کردم. من که قبلاً کاندید بودم، موفق به دریافت کمک هزینه بزرگ از بنیاد تحقیقات پایه روسیه (RFBR) شدم. در همان زمان با حقوق 0,3 به عنوان معلم به دانشگاه دعوت شدم. من کار را تحت یک کمک هزینه انجام دادم، برنامه های درسی و مواد روش شناختی را در رشته های دانشگاه تهیه کردم، مقالات علمی منتشر کردم، سخنرانی کردم، تمرین ها را انجام دادم، آزمون ها و آزمون هایی را برای سیستم آموزش الکترونیکی تهیه کردم. من واقعاً از تدریس لذت بردم، اما متأسفانه قرارداد به پایان رسید و کار من به عنوان کارمند دانشگاه نیز به پایان رسید.

چرا؟ از یک طرف می خواستم راهم را به سمت علم ادامه دهم، مثلاً استادیار شوم. مشکل این است که قرارداد برای مدت معینی بود و نمی شد در دانشگاه جای پای خود را به دست آورد - متاسفانه قرارداد جدیدی به آنها پیشنهاد نشد.

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

بعد از اخراج به نان مجانی روی آوردم. بنابراین، من پروژه های سفارشی را در مهندسی رادیو، مهندسی برق و آکوستیک توسعه دادم. به طور خاص، او آنتن های مایکروویو سهموی را طراحی کرد و یک محفظه آکوستیک بی صدا را برای مطالعه پارامترهای میکروفون توسعه داد. سفارشات زیادی وجود داشت، اما با این حال من چیز متفاوتی می خواستم. زمانی می خواستم تلاشم را در برنامه نویسی امتحان کنم.

مطالعات جدید و مشاغل آزاد

به نوعی تبلیغ دوره های GeekBrains نظرم را جلب کرد و تصمیم گرفتم آن را امتحان کنم. ابتدا دوره "مبانی برنامه نویسی" را گذراندم. من بیشتر می‌خواستم، بنابراین دوره‌های «توسعه وب» را هم گذراندم، و این تازه شروع کار بود: به HTML/CSS، HTML5/CSS3، جاوا اسکریپت تسلط داشتم، پس از آن شروع به یادگیری جاوا در «برنامه نویس جاوا" درس خواندن چالش بزرگی برای نقاط قوت من بود - نه به این دلیل که خود درس دشوار بود، بلکه به این دلیل که اغلب مجبور بودم با یک کودک در آغوشم درس بخوانم.

چرا جاوا؟ من بارها خوانده ام و شنیده ام که این یک زبان جهانی است که می توان از آن برای مثال در توسعه وب استفاده کرد. به علاوه، من خواندم که با دانستن جاوا، در صورت نیاز می توانید به هر زبان دیگری تغییر دهید. این درست بود: من کد را در C++ نوشتم، و علیرغم این واقعیت که من خیلی عمیق در اصول نحو فرو نرفتم، کار کرد. همه چیز با پایتون درست شد، من یک تجزیه کننده کوچک صفحه وب در آن نوشتم.

چگونه علم را برای IT ترک کنیم و آزمایشگر شویم: داستان یک حرفه
گاهی اوقات مجبور بودم اینطور کار کنم - کودک را در یک کوله پشتی بگذارم، یک اسباب بازی به او بدهم و امیدوار باشم که این برای تکمیل سفارش بعدی کافی باشد.

به محض اینکه مقدار مشخصی دانش و تجربه برنامه نویسی داشتم، به عنوان یک فریلنسر شروع به انجام سفارشات کردم.بنابراین یک برنامه کاربردی برای حسابداری مالی شخصی نوشتم، یک ویرایشگر متن سفارشی. در مورد ویرایشگر، ساده است، چند عملکرد اساسی برای قالب بندی متن دارد، اما کار را انجام می دهد. علاوه بر این، من مشکلات پردازش متن را حل کردم، به علاوه در طراحی صفحه وب شرکت داشتم.

می خواهم توجه داشته باشم که مطالعه برنامه نویسی به طور کلی توانایی ها و افق های من را گسترش داده است: من نه تنها می توانم برنامه های سفارشی بنویسم، بلکه می توانم برای خودم پروژه نیز انجام دهم. به عنوان مثال، من یک برنامه کوچک اما مفید نوشتم که به شما امکان می دهد بفهمید آیا کسی مقاله های ویکی پدیا شما را خراب می کند یا خیر. برنامه صفحه مقاله را تجزیه می کند، آخرین تاریخ اصلاح را پیدا می کند و اگر تاریخ با آخرین ویرایش مقاله خود مطابقت نداشته باشد، یک اعلان دریافت می کنید. من همچنین برنامه ای نوشتم تا به طور خودکار هزینه یک محصول خاص مانند نیروی کار را محاسبه کند. رابط گرافیکی برنامه با استفاده از کتابخانه JavaFX نوشته شده است. البته از کتاب درسی استفاده کردم اما الگوریتم را خودم توسعه دادم و برای پیاده سازی از اصول OOP و الگوی طراحی mvc استفاده شد.

فریلنسینگ خوب است اما دفتر کار بهتر است

به طور کلی، من دوست داشتم یک فریلنسر باشم - زیرا می توانید بدون ترک خانه درآمد کسب کنید. اما مشکل اینجا تعداد سفارشات است. اگر تعداد زیادی از آنها وجود داشته باشد، همه چیز با پول خوب است، اما پروژه های فوری وجود دارد که مجبور بودید تا آخر شب در حالت اضطراری بنشینید. اگر مشتریان کمی وجود دارد، پس احساس می کنید به پول نیاز دارید. معایب اصلی فریلنسری برنامه های نامنظم و سطوح درآمد ناسازگار است. همه اینها البته بر کیفیت زندگی و وضعیت روانی کلی تأثیر گذاشت.

این درک به دست آمده است که استخدام رسمی چیزی است که به رهایی از این مشکلات کمک می کند. من شروع به جستجوی جای خالی در وب سایت های تخصصی کردم، رزومه خوبی تهیه کردم (که از معلمانم تشکر می کنم - اغلب با آنها در مورد آنچه که باید در رزومه گنجانده شود و آنچه بهتر است در ارتباط شخصی با یک کارفرمای بالقوه ذکر شود مشورت می کردم). در حین جستجو، کارهای آزمایشی را انجام دادم که برخی از آنها بسیار دشوار بودند. من نتایج را به کارنامه خود اضافه کردم که در نهایت بسیار حجیم شد.

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

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

پس از ایمن شدن کار، کار شروع می شود. برای حل مشکل، من به منشا خطا پی می برم (به هر حال، همیشه این احتمال وجود دارد که علت عامل انسانی باشد). با شفاف سازی تمام جزئیات با مشتری، مشخصات فنی را برای برنامه نویس تنظیم می کنم. پس از آماده شدن کامپوننت یا ماژول، آن را تست کرده و در سیستم مشتری پیاده سازی می کنم.

متأسفانه، اکثر آزمایشات باید به صورت دستی انجام شوند، زیرا پیاده سازی اتوماسیون یک فرآیند تجاری پیچیده است که نیاز به توجیه جدی و آماده سازی دقیق دارد. با این حال، من با برخی از ابزارهای اتوماسیون آشنا شدم. به عنوان مثال، کتابخانه Junit برای آزمایش یک بلوک با استفاده از API. همچنین چارچوب دوقلو از ebayopensource وجود دارد که به شما امکان می‌دهد اسکریپت‌هایی بنویسید که اقدامات کاربر را شبیه‌سازی می‌کنند، بسیار شبیه به Selenium که در وب استفاده می‌شود. به علاوه من بر فریمورک Cucumber تسلط داشتم.

درآمد من در شغل جدیدم در مقایسه با فریلنسینگ دو برابر شده است - البته تا حد زیادی به دلیل این واقعیت است که تمام وقت کار می کنم. به هر حال، طبق آمار hh.ru و سایر منابع، حقوق یک توسعه دهنده در تاگانروگ 40-70 هزار روبل است. به طور کلی، این داده ها درست هستند.

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

به طور جداگانه، مایلم اشاره کنم که دفتر این شرکت در تاگانروگ، که زادگاه من است، واقع شده است. تعداد کمی از شرکت های IT در اینجا وجود دارد، بنابراین جا برای گسترش وجود دارد. اگر بخواهید، می توانید به روستوف نقل مکان کنید - فرصت های بیشتری در آنجا وجود دارد، اما در حال حاضر قصد ندارم حرکت کنم.

گام بعدی چیست؟

تا اینجا چیزی که دارم را دوست دارم. اما من متوقف نمی شوم و به همین دلیل به مطالعه ادامه می دهم. در انبار - یک دوره آموزشی در جاوا اسکریپت. سطح 2» به محض اینکه وقت آزاد بیشتری داشته باشم، قطعاً شروع به تسلط بر آن خواهم کرد. من به طور منظم مطالبی را که قبلاً پوشش داده ام تکرار می کنم، به علاوه سخنرانی ها و وبینارها را تماشا می کنم. علاوه بر این، من در یک برنامه مربیگری در GeekBrains شرکت می کنم. بنابراین، برای دانش‌آموزانی که دوره‌ها را با موفقیت به پایان رسانده‌اند و تکالیف خود را به پایان رسانده‌اند، این فرصت وجود دارد که برای سایر دانش‌آموزان مربی باشند. مربی به سوالات پاسخ می دهد و در انجام تکالیف کمک می کند. برای من، این نیز تکرار و تثبیت مطالب پوشش داده شده است. در اوقات فراغت در صورت امکان مشکلات را از منابعی مانند hackerrank.com, codeabbey.com, sql-ex.ru.

من همچنین در حال گذراندن دوره ای در زمینه توسعه اندروید هستم که توسط معلمان ITMO تدریس می شود. این دوره ها رایگان هستند، اما در صورت تمایل می توانید در آزمون پولی شرکت کنید. لازم به ذکر است که تیم ITMO مسابقات قهرمانی جهان را در مسابقات برنامه نویسی برگزار می کند.

چند توصیه برای علاقه مندان به برنامه نویسی

با داشتن تجربه ای در زمینه توسعه، می خواهم به کسانی که قصد ورود به فناوری اطلاعات را دارند توصیه کنم که با عجله وارد استخر نشوند. برای تبدیل شدن به یک متخصص خوب، باید نسبت به کار خود اشتیاق داشته باشید. و برای این کار باید جهتی را که واقعا دوست دارید انتخاب کنید. خوشبختانه، هیچ چیز پیچیده ای در این مورد وجود ندارد - اکنون در اینترنت بررسی ها و توضیحات زیادی در مورد هر زمینه ای از توسعه، زبان یا چارچوب وجود دارد.

خوب، شما باید برای یک فرآیند یادگیری مداوم آماده باشید. یک برنامه نویس نمی تواند متوقف شود - مانند مرگ است، اگرچه در مورد ما فیزیکی نیست، بلکه حرفه ای است. اگر برای این آماده هستید، پس ادامه دهید، چرا که نه؟

منبع: www.habr.com

اضافه کردن نظر