JavaRush /Java блог /Random UA /Механіка деформованого твердого тіла та програмування
Сергей Алещенко
33 рівень
Тбилиси

Механіка деформованого твердого тіла та програмування

Стаття з групи Random UA
Аккаунт на info: info.javarush.ru Посилання на соцмережі: Instagram Досьє:
  • Хто: Сергій Алещенко
  • Ким працював: аспірант
  • Місце проживання: Тбілісі, Грузія
  • Вік на момент старту навчання Java: 25
  • Перша робота програмістом: рік після старту навчання
  • Оригінал історії успіху
Механіка деформованого твердого тіла та програмування - 1
Навряд чи моя історія схожа на решту, скрізь є свої нюанси. Пишу свою розповідь, бо чудово пам'ятаю, як сильно мене мотивували історії працевлаштування інших людей. Сподіваюся і тобі, мій любий читачу, допоможе. Насправді в цій історії не буде жодного слова про механіку деформованого твердого тіла. Окрім, хіба що, згадки про той факт, що так звучить спеціальність автора цієї історії успіху — Сергія Алещенка. В даний час цей житель Санкт-Петербурга змінив (зазначимо успішно змінив!) два місця роботи і зупинився на третьому. Читайте, і ви дізнаєтеся, як йому це вдалося (а ще ви дізнаєтеся, кого Сергій вважає «ледачими дупами»). Навчання
  • В освіті я просунувся досить далеко. Закінчив найбільший університет Санкт-Петербурга. Щоправда, зовсім за іншою спеціальністю: механіка твердого тіла, що деформується. На момент початку проходження Java Rush навчався на третьому курсі аспірантури РАН (спеціальність – чисельна механіка).

  • Не пригадаю, чому я вирішив почати займатися саме Java Rush . Я давно хотів серйозно зайнятися розробкою, але читання «талмудів» мовами тільки відбивало полювання. Треба було знайти принципово інший підхід, і я випробував перші десять рівнів курсу. Мабуть, завдяки їм я і наважився на негайне придбання безлімітної підписки за участю у реальному проекті.

  • Навчання йшло досить повільно, але я безперестанку рухався вперед. Пройшов 31 рівень із відсотком вирішених завдань близьким до 100 . На це у мене пішов рівно один рік.

  • Настав час стажування. Тестове завдання я з тріском провалив. Потрібно було написати невеликий веб-додаток, але зробити цього я не встиг, оскільки на той момент навіть не знав слів типу Spring , Hibernate , Tomcat і т.п. Чекати наступного набору на стажування мені не хотілося, і я самостійно написав 5-6 веб-застосунків аналогічних тестовому завданню. Їх досить багато в мережі, є навіть покрокові відеомануали.
  • Пошук
  • Окремо я хотів би виділити розсилку резюме та проходження співбесід. Це дуже важливо! Хочу сказати, що якщо ти, дорогий читачу, розсилаєш менше 10-15 резюме на день , то ти - лінива дупа! Із цим розібралися.

  • Також треба бути готовим до того, що вам доведеться щоразу нагадувати про себе телефонним дзвінком до тієї фірми, куди ви надіслали резюме. Що стосується співбесід - то з ймовірністю, близькою до 100 відсотків , ви отримаєте який-небудь хардкорний тест, аналогічний тим, якими рясніє Quizful та інші ресурси. Я категорично рекомендую потренуватись на таких тестах.

  • На пошук роботи у мене пішло 3 тижні . За цей час я пройшов чотири очні співбесіди і дві по Skype . Відмов були десятки. На останній заочній співбесіді мене й взяли на роботу.
  • Трохи про роботу
  • Я потрапив у досить велику фірму ( порядку 100-120 розробників ) з дуже широким спектром завдань та різноманітних проектів (залежно від замовника), починаючи від frontend'а і закінчуючи суворим і нещадним backend'ом та datamining'ом .

  • Мене відразу ж задіяли у ETL-проектах . Я зайнявся завантаженням та обробкою масивів даних для цілого ряду зарубіжних замовників. Платформа та всі інструменти, які я використовую, є opensource'ними. Майже всі з них написані на Java і Groovy ( якщо хтось не знайомий з Groovy , - чудова штука, рекомендую ).

  • Звичайно, періодично доводиться копатися у вихідниках, бо вся ця справа дуже важка, і її потрібно регулярно допилювати, оптимізувати та виправляти. Працюю близько місяця. За цей час мені так інтенсивно «їздабо по мізках», що я проковтнув обсяг інформації, на самостійне засвоєння якої я пішов би року 2-3 щонайменше.
  • Поради Цей пункт заощадить вам багато часу, коли ви будете готуватися. За час навчання я купив кілька книг: « Філософія Java » Брюса Еккеля, « Алгоритми: побудова та аналіз » ( Кормен, Лейзерсон, Рівест, Штайн ) та ще кілька за базами даних та архітектурою комп'ютера.
    Знаєте що? Забийте. Я серйозно, забіть. Я не дочитав жодної книги до кінця. Читання книг – дуже корисне заняття, але не в цьому випадку.
    Я постараюся пояснити свою думку: зараз ваша мета — влаштуватися працювати програмістом. Для цього не потрібні глибокі знання у програмуванні, на розвиток яких і націлено прочитання книг. В даний момент вам потрібен певний набір практичних навичок і умінь. Виколупувати їх із книжок — заняття вкрай невдячне та втомливе. Набагато найкращими помічниками в цій справі будуть Java Rush або, якщо є можливість, участь у якомусь opensource-проекті. Щось корисне вам навряд чи вдасться зробити, але хоч би послухаєте розумні розмови колег щодо проекту — і так чогось нахопитеся. Хоча участь у проектах зовсім не є обов'язковою. Якщо потрібні глибокі знання в чомусь, то ви спокійно знайдете їх у книзі і відразу ж використовуєте для своїх завдань. При цьому немає потреби ковтати всю книгу цілком. Думаю, настав час закруглюватися. Усі, хто дочитав до кінця – молодці. Бажаю всім зберігати позитивний настрій та впевнено рухатися до намічених цілей. Випробувальний період успішно пройдено за два місяці ( передбачалося, що триватиме три ). За цей час я був задіяний у двох проектах: ETL ( пиляю платформу transmart для Johnson & Johnson ), та машинне навчання ( пишу додаток розпізнавання об'єктів на зображеннях та на відео ). Через 9 місяців Минуло дев'ять місяців з того часу, як завдяки курсу Java Rush мені вдалося стати розробником. А зараз, мій любий читачу, поспішаю поділитися хорошими новинами і розповім, чим я був зайнятий у цей короткий проміжок часу. На першому місці роботи ( назву фірми наводити не буду, скажу тільки, що це була outsource-компанія ) мені досить швидко набридло. Все було там добре, але тільки серйозних Java-проектів не було, набагато більше було C#/.net-проектів . До того ж за півроку я втомився копатися в Opensource-коді, це задоволення явно нижче середнього. Бібліотеки та інструменти, з якими я встиг познайомитися, найстандартніші: Java , Groovy , Tomcat , Hibernate , трохи Spring , багато Linux , дуже багато СУБД Oracle і postgreSQL . Одного спекотного літнього ранку мені зателефонували з компанії, яка робить клієнт-серверний додаток для дуже великої букмекерської контори, і запропонували роботу. Грошей було більше, а завдання цікавіше. Звичайно, я одразу погодився. Найсмішніше, що за пів ода до цього я проходив у них співбесіду ( коли шукав роботу вперше)) і вони мені відмовабо. Але тепер я був трохи досвідченішим і трохи нахабнішим. Тому кілька місяців я пропрацював там. Однак я швидко зрозумів, у чому полягає відмінність між клієнт-серверними програмами та веб-додатками. Я хотів займатись саме останніми. Тут ми не дуже плавно переходимо до наступної частини розповіді. Інструменти, з якими я встиг попрацювати у цій фірмі: java , SWT .
    Я знову почав ходити співбесідами. Тепер це було набагато цікавіше, і навіть приємне заняття. Насправді не так вже й складно підготуватися, адже у більшості компаній на співбесідах запитують плюс-мінус одне й те саме.
    У деяких випадках питання можна навіть передбачити і відразу підібрати найкращу відповідь для конкретного співбесідуючого. Коротше, я побував на десятці співбесід, було три пропозиції щодо роботи. Перші два від якихось дрібних outsource-компаній штатом у 100-150 осіб. Я скористався третім, яке надійшло від Ощадбанку ( Сбертех ). Докладно про свою роботу в цій фірмі я розповім пізніше, зараз поки рано, адже я тут лише місяць. Скажу лише, що умови роботи більш ніж гідні, колектив більш ніж доброзичливий, завдання дуже серйозні та цікаві. Впевнений, тобі, любий читачу, сподобалася друга частина моєї історії. Я вже чую, як ти мчить з усіх ніг вирішувати чергове завдання, що прилетіло з Java Rush . Можу побажати тобі терпіння та впевненості у собі. UPDATE (17 листопада 2018) Щодо читання книг я дещо змінив свою думку. Щоправда, не на протилежне, а на трохи інше. Суть така: на етапі підготовки до першого місця роботи зариватися до книг категорично не потрібно. Однак через деякий час, вже після того, як я попрацював якийсь час, книги стали хорошими помічниками. І я природно поступово проковтнув майже всі книги, які купив, і навіть пару зверху. Це вийшло само собою. До того ж це не зажадало таких великих зусиль, оскільки досвіду роботи побільшало, і матеріал книг уже не здався таким складним (в основному). На даний момент список такий: 1) Брюс Еккель "Філософія Java" 2) Джошуа Блох "Effective Java" 3) Кормен, Т., Лейзерсон, Ч., Рівест, Р., Штайн, К. "Алгоритми: побудова та аналіз" 4) Е. Таненбаум, Т. Остін, " Архітектура комп'ютера " 5) Хренова хмара найрізноманітніших статей, більшість - зарубіжних авторів. Та й взагалі, візьміть за звичку щодня читати хоча б 2-3 статті перед сном. Пригодиться будь-яка IT-тематика, навіть не дуже пов'язана з розробкою. Не будьте круглим конем у вакуумі, розширюйте кругозір. 6) Ну і звичайно купу будь-якої документації, переважно тієї, яка потрібна для роботи. UPDATE (1 серпня 2019) Цікаво, хто ще сюди заглядає? Або всі зайняті розв'язанням задач?)) Ну вирішуйте, вирішуйте, корисне заняття =) За останні 2.5 року сталося багато чого цікавого. Спершу були адміністративні зміни: рік тому мене перевели зі Сбертеху до ПАТ «Сбербанк». Крім того, я змінив команду: у першій займався движком відкриття рахунків (фізики, юрики). У поточній (до якої перевівся зовсім недавно) займатимуся оцінкою кредитних ризиків (модуль, що займається збором інформації про клієнта і рішенням, давати людині кредит, чи ні). Модуль збирає інфу про людину з різних джерел (оператори зв'язку, держоргани тощо). Якщо раптом хтось не знав, майже всі кредити (крім іпотечних або якщо у людини складна кредитна історія) в Ощадбанку видає машина. Люди підключаються лише у складних чи спірних ситуаціях. Що стосується самого процесу роботи в банку, то все просто: було мільйон дефектів (великих і маленьких), купа доробок серверної частини (java), купа роботи з даними (gridgain, oracle), був навіть фронтенд (писав на react, redux і іншим javascript). Паралельно з усім цим неподобством був devOps, просто з усіх щілин. Я писав мільйон скриптів на yaml, shell, groovy. Робив купу джоб (jenkins, nexus) для continuous integration, pipeline і ось це все. Покопався з ansible, docker, wildfly і т.д. Адміністрування linux-стендів, зрозуміло. При цьому не можу сказати, що я видаю по 2кг класного коду на день, швидше за 500г, але все одно грошима ніхто не ображає ;) Навіть не знаю, що сказати наостанок. Швидше за все на співбесідах більше не дають тестів, сьогодні в тренді завдання з комп'ютерної науки, алгоритмів і структур даних, дискретної математики, теорвера і матстатистики. Так що повторюйте всю справу періодично, корисно для здоров'я. Я, наприклад, зараз проходжу курс Роберта Седжевіка та Кевіна Вейна за алгоритмами (можна знайти на coursera). З ностальгією згадую, як починав 3.5 роки тому свій шлях на java rush, бородатою щокою тече скупа чоловіча сльоза. UPDATE (9 березня 2023) Через війну залишив країну. Будь проклятий Путін та його спільники. Ощадбанк дозволив попрацювати кілька місяців віддалено з-за кордону, але в середині грудня 2022 року таки звільнабо. Довелося "вся дупа в милі" шукати роботу в закордонних компаніях. Це звичайно був стрес, але не довгий, я даремно переживав. Продався вже на третій співбесіді в арабсько-еміратську компанію за 4500 $ на місяць. Зарплата не велика за європейськими мірками, але в Грузії не дуже дорого жити, тож вистачає. Компанія працює з дистриб'юторами сім-карт по цілій низці регіонів: Африка, середній та ближній Схід, Азія. Ми пишемо клієнта для ведення бази даних зареєстрованих фізичних та юридичних користувачів сім-карток. Всього співробітників близько 250. Після 6 років роботи у величезному та неповороткому Сбері, робота в маленькій компанії – це як ковток свіжого повітря. Та й народ цікавіший, купа іноземців із кількох десятків країн та з тих самих регіонів: Азія, Схід, Європа та інші. Багато працюють віддалено, в цьому є багато плюсів. Та й у Грузії досить низькі податки, 20% для фізичних осіб та лише 1% для юридичних. Здебільшого віддальники, які живуть у Грузії, оформляють ІП, переводять його в малий бізнес, відкривають юридичний рахунок під нього та отримують зарплату із цього приводу. Платиш податок 1% та все. Сподіваюся не закручуватимуть гайки, а то доведеться знову переїжджати. Не знаю, що сказати. З Росією я розпрощався, більше не повернуся туди ніколи. Навички java розробника і справді досить легко експортується, так що дякую JavaRush за те, що дозволив отримати дуже затребувану професію. До речі, за останні кілька років я переконав купити premium-підписку на JavaRush двох людей. Сподіваюся, ваша справа житиме довго. Бережіть себе. Слава Украине! Героям слава!
    Коментарі
    ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
    ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ