JavaRush /Java блог /Random UA /Мій шлях Java-дая
Рустем Сайфутдинов
22 рівень
Казань

Мій шлях Java-дая

Стаття з групи Random UA

Досьє

  • Хто: Рустем Сайфутдінов
  • Ким працював: -
  • Місце проживання: Казань, Росія
  • Вік на момент старту навчання Java: 25
  • Оригінал історії успіху
Мій шлях Java-дая - 1

Пролог

Все почалося 23 січня 2003 року . Я прийшов додому після школи та театрального гуртка та побачив на підлозі коробки. Це був мій перший комп'ютер: AMD Athlon XP 1800+, 256 Mb оперативної пам'яті, NVidia GeForce 2 64 МБ і HDD на 40 ГБ . З цього важливого дня розпочинається нова історія мого життя. Тоді я навчався у дев'ятому класі. Як думаєте, навіщо я спочатку використовував комп'ютер? Звичайно ж я почав грати! І року на 4 випав із реального життя. QUAKE, DOOM, Warcraft, Starcraft, Diablo, Command & Conquer: Generals, Civilization, Silent Hill, Deus Ex, Far Cry… Багато було конфліктів із мамою, яка не дозволяла мені довго грати і говорила робити уроки. Перейти на навчання в школі, а потім і в інституті було непросто. Адже я мав такий чудовий віртуальний світ, де для досягнення певних успіхів потрібно виконувати заздалегідь певні дії, завжди можна було запустити попереднє збереження і досягти бажаного. Чи то справа в реальному житті ... Словом, я витратив на ігри багато часу. Але від цього була і певна користь: часом гри не запускалися, гальмували, не встановлювалися. У ці моменти виникало величезне бажання дати раду проблемі. Тоді я встановлював, встановлював, налаштовував, і оптимізував усе, що міг. Починаючи з обробки розділів жорсткого диска, зміною файлової системи та переустановки «Вінди», закінчуючи тюнінгом реєстру та конфігураційних файлів іграх. Завдяки отриманим знанням я став славитися серед друзів як «програміст». Допомагав зі своїми комп'ютерами, переустановкою ОС, видаленням вірусів та інше. Одного літа, після насилу завершеного першого курсу технічного вишу, я вирішив почати продавати свої навички. Накидав у Word оголошення із заголовком « Швидка Комп'ютерна Допомога », розклеїв їх по селищу, в якому мешкаю. На « пиво та жуйки » вистачало. На п'ятому курсі, замість того, щоб старанно писати дипломну роботу, влаштувався по знайомству адмінити в невелику конторку, що загинається. Вперше дізнався про домен Windows , роботу в мережах, Kerio WinRoute Firewall .

Адмін

Після отримання диплому за спеціальністю « Обчислювальні машини, комплекси, системи та мережі » у 2010 році , я бачив для себе два шляхи — програмерський чи адмінський. Досвід у програмуванні був обмежений лабораторками, курсовими та дипломною роботою. Я вже тоді знав, що таке масиви, цикли, умовні оператори та класи. Були спроби вчитися кодити ще у школі. Але GTA успішно перебивала це бажання. Хоча, варто зазначити, що я кодив із чималим задоволенням. Допомагав із лабами одногрупникам. Але оскільки досвіду адмінських справ у мене було більше, я обрав саме цей шлях. На одній з наступних робіт я вирішив, що настав час взятися за Linux . Просиджував вечорами на роботі, експериментував. Результатом була настройка шлюзу в інет з фаєрволом, перенаправленням портів, підключенням в інет по Wi-Fi , підключенням до VPN . Не дуже круто, але спершу зійде.
Завдяки цим знанням, у 2011 році я влаштувався керівником відділу впровадження та супроводу. У мене було у підпорядкуванні 4 особи. Ми займалися впровадженням товстого клієнта на Java Swing у магазинах та складах однієї ювелірної компанії. Зараз я розумію, яку цікаву річ ми впроваджували! Але тоді мене мало цікавабо тонкощі реалізації цього програмного забезпечення.
Жив я в Казані, але давно хотів спробувати вести більш самостійний спосіб життя, і перебратися до « Негумової ». Наприкінці 2012 року це вдалося, причому навіть роботу не змінив. Там мені дуже сподобалося! Це метро! Ці гігантські вулиці зі швидким потоком дорогих автомобілів! Ці величезні потоки людей всюди! Я був гордий тим, що зміг досягти цього переїзду.
Після згортання проекту, в середині 2013 я вирішив, що настав час відходити від налаштування комп'ютерів, техпідтримки та адмінства. Вирішив іти або в аналітики, або в управління проектами. Знайшлася посада, на якій я міг розвиватися у цих напрямках. І там я зрозумів... Чим ніколи не хочу в житті займатися!
Був момент, коли я, перекладаючи сторінки у звіті щодо держконтракту у правильному порядку, раптом усвідомив те, що відбувається. О боже, мені вже чверть століття! Я колупаюсь у папірцях, попередньо інтелектуально скопіпастивши текст у них з таких же папірців за минулий звітний період! Адже до цього я мутив цікаві штуки з серверами, організовував робочі процеси, допомагав людям.
Це був переломний момент у моєму житті. Така собі «професійна криза». Мені набридло займатися обслуговуванням. Я хотів сам щось творити і створювати.

Java

Я згадав, що в інституті мені непогано виходило кодити. Згадав, що програмісти непогано заробляють. Згадав, що є прикольна мова Java , товстий клієнт на якому ми впроваджували, і програми якої можуть запускатися під будь-якими ОС. Пошуки матеріалів Java і привели мене на Java Rush . Це було приблизно у жовтні 2013 року . Спосіб подання інформації та безліч прикладів мене дуже залучали. Я йшов на роботу, сідав за комп'ютер, приходив з роботи і ввечері знову сідав за комп'ютер, щоб навчатися. Просиджував до глибокої ночі часом. Перші 10 рівнів пройшов дуже легко , т.к. багато понять мені було знайоме. Щоб залишалося більше часу на навчання, я перестав ходити до спортзали, роздобув гирі та займався з ними вдома. У грудні приблизно я планував, що не раніше кінця березня почну займатися пошуками роботи. А ось на роботу я почав підзабивати. Та я її просто ненавидів. Іноді нахабно робив завдання Java Rush прямо на робочому комп'ютері в робочий час. Результат не змусив себе довго чекати — на початку січня 2014 року мені повідомабо, що я працюю у них лише до кінця місяця. Це був шок, звісно. Усвідомлення того, що я залишусь без основного доходу за потреби оплачувати житло, дуже непокоїло. Я старанно взявся за статті з роду " 100 питань, які ставлять java-джуніорам на співбесіді ", продовжуючи займатися Java Rush .

Співбесіда та тестове завдання

Я дійшов десь до 17-го рівня , коли пішов на першу співбесіду. В одній із організацій мені дали написати тестове завдання — додаток, який визначить, чи можна викласти в одну лінію всі кісточки доміно. Якщо так, то вивести цей варіант рішення. Натхненно я сів за комп її писати і ... Був з жахом! У тепличних умовах Java Rush було дуже зручно сидіти і писати код. Але тут треба було все вигадати з нуля, з чистого аркуша, так би мовити! Ось тут і прийшли сумніви та хитання. А чи потрібно мені взагалі ставати програмістом? Дуже важко було мені писати код! Я нічого не знав про базові штуки Java, мої знання були дуже поверхові. Та й незрозуміло було, як вирішувати це завдання. Але я все ж таки зміг знайти в інеті алгоритм рішення з використанням графів - все зводилося до знаходження Ейлерова шляху ( це з теорії графів, прим. ред. ).
З Java мені весь час допомагав мій колега з попередньої роботи, який писав вищезгаданий товстий клієнт на Java. Саме він допоміг мені вирішити завдання ще й за допомогою рекурсивного методу. Я відправив завдання на перевірку… 2 довгі тижні очікування відповіді…

Перша робота

…Але все пройшло успішно! Мене взяли, я зміг! П'ятого березня 2014 року я вийшов на роботу на посаді розробника Java . Щастя не було меж, багато в чому ще й тому, що я опинився в компанії, яка займається електронними платежами. А в ній дуже добре ставляться до персоналу. Чого тільки вартий їхній шикарний офіс і халявна кава та чай — тоді ще це для мене було напрочуд.
Сів я розгрібати проект… І усвідомив, що не розумію нічого! Сервлети, фільтри, XML-парсери, SQL-запити, комміти в репозиторії, HTTP get і post, юніт-тести… Все це було в новинку. Та я тільки недавно дізнався, як користуватись інтерфейсами!
Бували моменти, що дивлюся я на код, лізу по ланцюжках викликів методів, заглиблююсь все далі, і розумію, що забув із чого починав! Періодично були думки просто встати і втекти! А тут ще алергія весняна накотила разом із проблемами в особистому житті. Мозок просто відмовлявся сприймати будь-що. Коротше, я не пройшов випробувальний термін. Це був пекельний стрес. Я не впорався з тим, що так мріяв. Самооцінку було сильно підірвано. Навіть сиве волосся з'явилося.

Поневіряння та поневіряння

Проте я вирішив продовжувати те, що почав. У липні 2014 року мене взяли на роботу в рідній Казані, до міжнародної організації. Там я писав Frontend на Swing . Програма виконувала переведення даних з однієї СУБД в іншу . Ох, і помучив ж я тоді тимліда та сеніорів своїми поганими знаннями в написанні Java-коду ! Тим не менш, ця робота мені дозволила набити руку, вивчити базові прийоми та отримати знання. Я зі свого боку також зробив кілька серйозних нововведень. У цей період мене дико долали сумніви. Мені все також важко давалася робота, не вистачало посидючості та концентрації уваги. Але випробувальний термін я пройшов, хоч і зі скрипом. Але, у лютому 2015 року , у саму кризову пору, пройшла хвиля скорочень. Скоротабо мене, як найдосвідченішого і найкосячішого, і колегу, як найстаршого і вже захитаного. Плюс плюс до лічильника стресів. Я знав, що ще зовсім зелений у програмуванні, і в кризу мало кому потрібні нові люди в штат. У моїй скарбничці і було всього 10 місяців досвіду . Ще й не дуже вдалого. У березні, коли я був у пошуках, сталася дуже цікава подія. У соцмережі мені написали в личку і запитали, чи не хочу я піти викладати Java . Мене це дуже здивувало. Пізніше з'ясувалося, що HR-менеджер зовсім випадково тицьнув у мене буквально пальцем у небо. Адже навіть слів Java чи програмування не було вказано у мене у профілі. Тим не менш, оскільки я люблю всілякі авантюри, то погодився приїхати на співбесіду, де мені запропонували написати в блокноті невелику програмку. Я впорався, але про себе наголосив на необ'єктивності такого способу перевірки знань. Мені запропонували провести пробний урок. Я підготувався, накатал презентацію та успішно провів урок. Після закінчення мені сказали, що все добре, але треба переробити уроки для школярів 12-18 років . Я це зробив, але в результаті вони обрали досвідченішого викладача, але зв'яжуться зі мною в новому навчальному році, восени. Я особливо не засмутився. У квітні я влаштувався в найвідомішу і найбільшу в Казані багатопрофільну айтішну контору, де працював над різними проектами. Також, в серпні підхопив ініціативу колеги почати готуватися до здачі OCA . У цей момент я зрозумів, що абсолютно не знаю базові штуки в Java ! Всі ці проблеми з ініціалізацією конструкторів при успадкування, просто безбашенний свіч, компайл тайм і рантайм. Виходить, що все це я почав вивчати трохи більше року, як почав працювати програмістом! Восени 2015зі мною зв'язалися організатори курсів і повідомабо, що зараз готується до запуску курс для дорослих. Виявилося, що я маю сам сформувати весь навчальний матеріал — теорію, практичні завдання на уроках, домашню роботу. Ця обставина дуже зменшила ентузіазму. Адже я очікував, що просто пропускатиму через себе матеріал з методички, а потім його видавати в деякому вигляді на уроках. Проте я бачив кілька плюсів у цій діяльності. По-перше, поліпшення та закріплення власних знань. Адже не дарма кажуть – хочеш щось вивчити чи зрозуміти – поясни іншому! По-друге, привід подолати страх публічних виступів. По-третє, гарна нагода натренувати пам'ять. По-четверте, це виправить моє матеріальне становище, т.к. джуніорам платять небагато, а машинку вже давно змінити хотілося, бо моя «нексюша» вже наскрізь прогнила. Ну і по-п'яте — самолюбство тішиться, коли розумієш, що твої знання та досвід комусь можуть знадобитися.
З листопада почалися курси, і це було пекельне пекло! Робота у двох місцях. Потрібно було знаходити та готувати матеріал, продумувати теми уроків, домашні завдання. На це витрачався абсолютно весь вільний час. До речі, я активно пропагував JavaRush. Як будинок я давав пройти певні рівні на цьому чудовому сайті. До 10го безкоштовного рівня, звичайно.
Але й надалі рекомендував придбати передплату. Тому що вважаю, що Java Rush чудово підходить для набивання руки на прикладах. Але теорію потрібно опрацьовувати додатково. Цей перший чотиримісячний курс пройшов у постійній напрузі. Але! Я значно покращив свої знання в Java . Змінив автомобіль. Перестав боятися незнайомої публіки: як і писали у книгах з риторики, я став кайфувати під час уроку, чого не скажеш про процес підготовки до нього. Так, це був дуже непростий період, коли я не встигав спілкуватися із друзями. Ну а про відсутність особистого життя, гадаю, і згадувати не варто. У згаданій вище казанській компанії я пропрацював рік і місяць. Там було все добре з погляду професійного зростання до того моменту, як пішов тимлід. Він спрямовував, давав мені різні цікаві завдання, незважаючи на мої часті косяки. З його відходом було втрачено зв'язуючу ланку між керівництвом, розробниками та аналітиками. Повний розгардіяш розпочався в проекті, коротше. До речі, лише до кінця роботи у цій організації мене перестали відвідувати думки про правильність мого вибору шляху розробника. До цього вони мене завжди супроводжували. При усвідомленні кожної проблеми, затримці розв'язання завдання, базі в моєму фіксі іншого бага. Це дуже давило.
Але я пам'ятаю, твердо вирішив ще на початку шляху, що приймати рішення про продовження або завершення шляху розробника буду лише через 5 років. Якось уже важко у мене все йшло. Я відчував постійно, що навколо мене люди набагато розумніші за мене, що я не можу так само швидко схоплювати як вони. Що й не варто, мабуть, це все думати.

Теперішній час

У червні цього року я влаштувався працювати туди, де працюю і досі. Ми працюємо над дуже цікавим сервісом резервування хмарних даних із сервісів на кшталт Google Disc, Dropbox, Office365 на сервери Amazon . Хочу зазначити, що, якби не уважне опрацювання теми багатопоточності для проведення уроків, я не зміг би пройти співбесіду до цієї організації, т.к. були дані завдання саме з цієї частини. Я вирішив знову повернутися до підготовки до OCA . Ще наприкінці зими знайшов чудові матеріали для цього, але не знаходив часу на підготовку. І ось, між 2 та 3 потоком учнів, у мене був вільний місяць для підготовки. До початку курсу я, звісно, ​​не встиг. Але все ж таки досяг свого — пройшов екзаменацію Oracle 1z0-808 з 81% правильними відповідями при 65% прохідних. Хотів, звичайно, 85% . Але літр з лишком випитої води попередньо, щоб «мозок краще розумів», змусабо закінчити на півгодини раніше без можливості перевіряти ще раз все. Тим не менш, я все пишаюся цією успішною сертифікацією. Наприкінці січня 2017 року планую йти здаватися на OCP . Толку від сертифікації не так багато, якщо подумати. Особисто для мене це можливість добре закріпити найази. Т.к. мені необхідно відповідати на каверзні питання учнів. PS Я розробник вже майже 2.5 роки, але як таким програмістом себе не відчуваю. Знаю, який величезний обсяг інформації мені потрібно через себе пропустити (алгоритми, СУБД , структури даних, веб-технології, патерни, фронтенд, фреймворки і т.д.). Та й на Java Rush хочу продовжити займатися для загального розвитку, благо, передплата безлімітна. Роботи непочатий край! І головне – мені це подобається. Хочу знати більше, писати код — швидше та краще. Мрію з часом перерости в тимліда чи архітектора. Але раніше стільки всього! Залишається тільки правильно розподіляти час і менше прокрастинувати.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ