JavaRush /Java блог /Random UA /Як я пройшов шлях від продавця вуличної їжі до роботи у п...

Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1

Стаття з групи Random UA
Пропонуємо до вашої уваги переклад статті Альваро Бадела How I went from selling food in street to working for top firms in tech . Вона розповідає про спроби автора «Увійти до ІТ». Було це більше 10 років тому, а уругвайські реалії того часу нагадують такі в тій самій частині світу, де живе переважна кількість студентів JavaRush. Тож читайте статтю, і не забувайте вирішувати завдання. Думаємо, ви зауважите, наскільки легше стало самостійно вивчати програмування порівняно з 2006 роком!
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 1
У цій серії статей хочу поділитися з вами, як я потрапив у світ програмування. Я ніколи не вивчав інформаційні технології в університеті, знайшов інший спосіб. Наприкінці 2006 року я опинився у дуже непростій життєвій ситуації. Мої надії стати учителем лінгвістики середньої школи розтанули відразу. Суворі обставини склалися так, що продовження мого навчання виявилося неможливим. Я повернувся до свого рідного міста Дурасно в Уругваї. Моя дружина працювала багато годин за мізерну зарплату в 160 $ ​​на місяць. Так, це 1920 $ на рік. Ми жертвували часом, який могли б проводити разом, щоб я вивчився і отримав більш високооплачувану роботу. Звичайно, ми мріяли про найкраще життя. Але мрії так і лишалися мріями. Оскільки все пішло не за планом, мені довелося повернутися до рідного міста, щоби обміркувати свої наступні дії. Чи треба говорити, що я був у депресії та життєві обставини, в яких я опинився, ще більше за мене пригнічували. Я був радий знову бачити свою дружину, але хотілося б, щоб це сталося з іншого приводу.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 2
Крім усього іншого, жабо ми разом з тіткою моєї дружини, так що наш особистий простір обмежувався спальнею, і за її межами ми відчували себе як гості, що надовго затрималися. Щоб отримати хоч якийсь додатковий прибуток, ми продавали їжу на вулиці, приготовлену своїми руками. Мені доводилося ходити сусідами і збирати замовлення на вихідні. «Привіт, чи не хочете поїсти наші равіолі в неділю?» Так я питав щоразу. «Так, звісно, ​​вони ручної роботи. Зачекайте трохи, і ми їх вам доставимо». І, зібравши замовлення, на вихідних ми ліпабо кілька тисяч равіолей, щоб заробити 500 песо (це близько 20 $). І це не рахуючи витрат. Ситуація була жахлива. Ми відчували безвихідь. Моя дружина тяжко працювала весь тиждень, а на вихідних допомагала мені ліпити равіолі. Вона не мала навіть одного вихідного для себе. Вона благала мене припинити ліпити ці равіолі, навіть якщо це означало, що ми матимемо менше грошей для оплати рахунків. Зрештою, я погодився, але це означало, що мені треба знайти роботу, а це не так просто зробити в нашому невеликому містечку. Мене долали тривога та розпач.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 3
Якось я поговорив зі своїм другом, який вивчав комп'ютерну інженерію в університеті Монтевідео. Він розповів мені про можливості знайти роботу у столиці із зарплатами, які здавалися межею мрій для провінційного мешканця. «У Монтевідео є велика компанія – Live Interactive. Вони завжди у пошуку програмістів, платять чудово. Можливо, ти зможеш знайти роботу в них», - сказав мені друг. Зарплата, яку він згадав, утричі перевищувала наші доходи, і я весь час думав про те, що ми можемо собі дозволити з такою кількістю грошей. Нам більше не довелося б хвилюватися, що в нас сьогодні на обід. Ми змогли б оплатити інтернет, купити нормальний одяг і взуття і навіть дозволити собі пральну машину! До того ж, я вже мав досвід роботи з комп'ютерами. Мені завжди подобалося працювати з ними, в основному тому, що у мене виходило вирішувати проблеми з їхньою допомогою. Програмування нагадувало мені про необхідність зламати код або знайти рішення хитромудрої головоломки — це були складні завдання, і мені вони дуже подобалися. Більше того, я розумів, наскільки програмування може бути перспективним для моєї кар'єри. Але була одна невелика проблема: щоб працювати програмістом, треба розуміти, як програмувати. Я міг самостійно встановити Linux, але це була стеля моїх айтішних можливостей. треба розуміти як програмувати. Я міг самостійно встановити Linux, але це була стеля моїх айтішних можливостей. треба розуміти як програмувати. Я міг самостійно встановити Linux, але це була стеля моїх айтішних можливостей.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 4
Як можна влаштуватися на роботу програмістом без досвіду та без диплома про вищу освіту? Як вивчити програмування без інтернету вдома, без наставників та доступу до спеціалізованої літератури? Це була моя проблема у 2006, і ось як я її вирішив.

Перші спроби

Я виявляв інтерес до комп'ютерів з юності. Здебільшого — коли відвідував свого друга, який мав свій комп'ютер. В основному ми проводабо час за відеоіграми, проте я не можу сказати, що вони мене особливо позичали. Чому? Коли я вступив до школи, батько мого друга дозволив нам використовувати його ZX Spectrum. Він мав стопку касет з іграми для нього, і ми могли грати в будь-які з них, але одного разу він показав мені те, що мене по-справжньому здивувало — люди можуть самі створювати свої ігри, використовуючи програмування! Він показав мені деякі трюки у BASIC, наприклад, як можна генерувати випадкові числа, використовуючи функцію RAND. Це вразило мене. У той момент я зрозумів, що комп'ютер - це набагато більше, ніж уславлена ​​Nintendo з клавіатурою. Ви можете змусити його робити речі для вас – справді класні речі, наприклад, намалювати лінії за допомогою тригонометричних функцій, а потім розфарбувати їх за допомогою випадкових кольорів Ви навіть можете створювати музику, передаючи різні частоти в BEEP. Одного разу я приніс Spectrum додому і провів весь день, програваючи звуки на своєму телевізорі. Мама, як ви розумієте, була в захваті... Як можна влаштуватися на роботу програмістом, не маючи досвіду і не здобувши диплом про вищу освіту? Надалі, в юності, я, як і раніше, проводив час із друзями, у яких були персональні комп'ютери і, в основному, ми, звичайно, грали. Тим часом, мої більш технічно просунуті друзі навчабо мене деяким трюкам з операційною системою, в основному це був MS-DOS.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 5
Іноді ми намагалися програмувати на BASIC, копіювали символ за символом фрагменти коду, які бачабо у старих комп'ютерних журналах. Тоді вони здавалися нам магічними заклинаннями, точніше технічними заклинаннями. Особливо чудово було редагувати текст, що виринав у різних ситуаціях під час гри. Ми відчували себе крутими хакерами! На початку 2000-х мені вдалося переконати дідуся купити комп'ютер. Це був Pentium MMX з 32 оперативної пам'яті - крут неймовірна! Спочатку я встановив на нього Linux за допомогою SUSE CD, який йшов бонусом до аргентинського комп'ютерного журналу. Я провів чимало часу над експериментами з різними дистрибутивами Linux, знайомлячись із командним рядком тощо. Але ніколи не займався саме програмуванням. Коли я згадую ті часи, досі не можу зрозуміти, чому не вивчав тоді програмування на Cі, і взагалі не освоював жодної мови програмування. Друг навіть запропонував мені ту саму Біблію програмування, «Програмування на Cі» Кернігана та Рітчі, тому відсутність доступу до керівництва не виправдовує мене. Тоді я розібрав лише кілька прикладів, але особливого інтересу на той момент програмування у мене не викликало, оскільки я не розумів, як воно може стати в нагоді мені в житті. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. і взагалі не освоювала жодної мови програмування. Друг навіть запропонував мені ту саму Біблію програмування, «Програмування на Cі» Кернігана та Рітчі, тому відсутність доступу до керівництва не виправдовує мене. Тоді я розібрав лише кілька прикладів, але особливого інтересу на той момент програмування у мене не викликало, оскільки я не розумів, як воно може стати в нагоді мені в житті. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. і взагалі не освоювала жодної мови програмування. Друг навіть запропонував мені ту саму Біблію програмування, «Програмування на Cі» Кернігана та Рітчі, тому відсутність доступу до керівництва не виправдовує мене. Тоді я розібрав лише кілька прикладів, але особливого інтересу на той момент програмування у мене не викликало, оскільки я не розумів, як воно може стати в нагоді мені в житті. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. Друг навіть запропонував мені ту саму Біблію програмування, «Програмування на Cі» Кернігана та Рітчі, тому відсутність доступу до керівництва не виправдовує мене. Тоді я розібрав лише кілька прикладів, але особливого інтересу на той момент програмування у мене не викликало, оскільки я не розумів, як воно може стати в нагоді мені в житті. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. Друг навіть запропонував мені ту саму Біблію програмування, «Програмування на Cі» Кернігана та Рітчі, тому відсутність доступу до керівництва не виправдовує мене. Тоді я розібрав лише кілька прикладів, але особливого інтересу на той момент програмування у мене не викликало, оскільки я не розумів, як воно може стати в нагоді мені в житті. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. тому відсутність доступу до керівництва не виправдовує мене. Тоді я розібрав лише кілька прикладів, але особливого інтересу на той момент програмування у мене не викликало, оскільки я не розумів, як воно може стати в нагоді мені в житті. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. тому відсутність доступу до керівництва не виправдовує мене. Тоді я розібрав лише кілька прикладів, але особливого інтересу на той момент програмування у мене не викликало, оскільки я не розумів, як воно може стати в нагоді мені в житті. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом. У ті роки я просто грав із Linux, і нічого більше. Тоді я мав випадкові заробітки, я грав у рок-групі, намагався стати вчителем лінгвістики, одружився і колесив країною з дружиною. І ось, після вищезгаданої розмови з другом, у листопаді 2006 року, я спалахнув потрапити в ту саму компанію в Монтевідео. Але для цього мені потрібно було відповідати її вимогам, і я вирішив стати надійним програмістом.

Час ставити цілі

Оскільки я хотів, щоб мене взяли на роботу, перше, що я мав зробити, — оцінити рівень своїх програмістських навичок. Причому чесно оцінити, щоб розуміти, на чому фокусуватися. У той час я знав трохи про ActionSpirit для Flash MX і початків PHP. Раніше того ж року вивчення цих речей стало моїм хобі. Проект з вивчення програмування став моїм дітищем, сподіваючись, що це зможе надалі стати моїм альтернативним джерелом доходу.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 6
У мене з'явилася ідея створення цифрової карти мого міста, де користувач міг би відзначати розташування підприємств, магазинів та інших цікавих для нього місць. Я б міг стягувати плату з компаній в обмін на їхню появу в моїй карті, моєму онлайн додатку. Я знаю, про що ви думаєте. "Це ж просто Google Maps" - скажете ви. Так і є, але все, що Google знав про моє рідне місто в 2006 році, — те, що його перетинає велика траса. Тому моя карта здавалася дуже непоганою ідеєю на той момент. До того ж я подумав, що цей проект стане непоганим способом продемонструвати мої навички потенційному роботодавцю. Я мав чітке розуміння, що я хочу зробити, мені просто треба було зібратися і докласти зусиль. Наприкінці 2006 року я встановив сам собі дедлайн: до лютого 2007 у мене мала бути працюючий концепт програми. Він повинен був включати фронтенд, написаний на Flash, бекенд на PHP із підключенням MySQL для обслуговування даних. Я вирішив все чітко спланувати, відокремити важливі проблеми від другорядних, адже час невблаганно цокав: щодня моя дружина працювала за ненормованим графіком, щоб заробити нам на їжу.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 7
До того ж мені було потрібно, щоб потенційні роботодавці зрозуміли, що я добре володію цими технологіями, інакше я не зміг би отримати роботу. Звичайно, мені не було чого написати в резюме, тому довелося створювати свою базу знань з нуля, і моя програма послужила б демонстрацією моїх навичок програмування. Моєю головною метою стало пройти співбесіду в компанії, про яку говорив мій друг, і завдяки моїм навичкам та додатку зрештою отримати роботу.
Вже тоді я розумів важливість постановки чітких завдань для себе, щоб досягти бажаного результату.

Навчальний проект: картографічний додаток

Додаток, який я створив, називався Aleph Maps- Посилання на розповідь Хорхе Луїса Борхеса "Алеф", який оповідає про місце на планеті, де сходяться минуле, сьогодення і майбутнє. Не дуже однозначно, так? Але щоб втілити цю ідею в життя, мені потрібно було навчитися програмувати веб-програми. Відсутність інтернету вдома – це серйозне випробування для розробника. Коли я починав, широкосмугового доступу ADSL ще практично не було, він був доступний лише підприємствам і, можливо, багатим сім'ям. Для середньостатистичних сімей підключення до інтернету означало модемне з'єднання з повільною швидкістю за великі гроші. Я не міг собі цього дозволити, і мені доводилося турбувати друзів щоразу, коли мені потрібно було почитати онлайн-посібник з програмування на PHP. Тобто, незважаючи на наявність комп'ютера та бажання вчитися, я не мав вільного доступу до інформації.
Моєю метою було знайти роботу, тому ці труднощі не втримали мене від вивчення PHP. Коли ви не можете дозволити собі гаяти час, у вас немає права впадати у відчай, все, що вам треба зробити - це шукати рішення.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 8
Оскільки в місті нормального інтернету катастрофічно не вистачало, у нас почали повсюдно з'являтися інтернет-кафе. Вони брали за свої послуги по 50 центів на годину. Це здалося мені кращим варіантом, ніж сидіти на голові у товаришів. Але в той же час це означало, що треба знайти вільних півдолара та пару дискет, щоб попрацювати годинку в інтернет-кафе, встигнути знайти потрібну мені інформацію, скопіювати її та продовжити навчання вдома вже за своїм комп'ютером. Можливо, це читають ті, хто пам'ятають дискети, ці дуже ненадійні носії інформації: ти приходиш додому, намагаєшся забрати з них інформацію, але вони вже пошкоджені… Уявіть, як я сердився: витратив час і втратив 50 центів ні на що. Півдолара! Тоді за долар можна було купити бургер чи пляшку пива. Для моєї родини це була значна сума: ми могли б купити молоко чи хліб за ці гроші. У той час моя щоденна робота полягала в спробі зрушити з точки А і дістатися точки Б. Деякі завдання були не такими вже й складними, і мені здавалося, що я роблю успіхи. А часом мені здавалося, що все це дорога в нікуди. Ось, наприклад, мені треба реалізувати функцію «ввести нову інформацію до бази даних». Якщо завдання звучить так, це означає, що мені потрібно описати все, що я повинен зробити, щоб досягти цього - від написання інструкції SQL INSERT до її виконання з використанням PHP, а потім інтегрувати все це в мою програму. наприклад, мені треба реалізувати функцію "ввести нову інформацію в базу даних". Якщо завдання звучить так, це означає, що мені потрібно описати все, що я повинен зробити, щоб досягти цього - від написання інструкції SQL INSERT до її виконання з використанням PHP, а потім інтегрувати все це в мою програму. наприклад, мені треба реалізувати функцію "ввести нову інформацію в базу даних". Якщо завдання звучить так, це означає, що мені потрібно описати все, що я повинен зробити, щоб досягти цього - від написання інструкції SQL INSERT до її виконання з використанням PHP, а потім інтегрувати все це в мою програму.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 9
Щодня, йдучи в інтернет-кафе, я ставив собі певне завдання. Я брав із собою дискети і шукав у Google корисні блоги, статті, навчальні посібники — все те, що допомогло мені знайти потрібні рішення. Як тільки я знаходив все необхідне, то зберігав це на дискети і відправлявся додому в надії, що дисковод мого комп'ютера зволить вважати збережені дані. Занепокоєння з'їдало мене щоразу, коли я добирався додому на велосипеді. "А що якщо там взагалі немає даних?" - думав я. «А що, якщо велосипед сильно трясе, і зараз я приїду додому з порожніми дискетами? Адже в мене дійсно немає зайвого долара, щоб повернутися в кафе сьогодні, тож краще б удома все опинилося в безпеці». Треба сказати, що це було зовсім недоцільно. Я повертався додому і виконував одне завдання завдяки інформації, яку привозив із собою, але мені не вистачало знань для наступного кроку. Я просто чекав нового дня, коли знову зможу взяти із сімейного бюджету 50 центів та вирушити до кафе. І хоча тоді мені здавалося це єдиним варіантом, але я розумів, що треба змінювати стратегію. Мені потрібно було щось, де було б більше інформації про те, як створювати веб-додаток з PHP і Flash MX, з посібниками, які пояснюють як виконати найпростіші завдання, все в одному місці. Чи не інтернет, а книги! Це здається очевидним, але насправді тут все не так безперешкодно. Проблема в тому, що коли ви є маргінальною частиною суспільства, доступ до книг також обмежений. Найближче до програмування, що ви можете знайти в бібліотеці — це посібник «Як полагодити комп'ютер», керівництво MS-DOS або, можливо, старовинний фоліант по BASIC або Delphi, якщо вам дуже пощастить. Але не більше. Але ж можна купити книги, правда? Не зовсім. У книгарнях більшості провінційних містечок Уругваю технічна література просто не продається. І моє місто було не винятком. До того ж більшість технічних книг, особливо тих, що присвячені передовим технологіям, написані англійською. Їх марно шукати в невеликих книгарнях. І в мене залишався лише один варіант — Amazon.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 10
Але й тут виникли складнощі. Щоб купити книгу на Amazon, вам потрібен невеликий шматок пластику, що називається кредитною карткою. А щоб її отримати, на той час була потрібна позитивна кредитна історія. Для більшості людей це не проблема, але в моєму випадку все було зовсім не так: все, що ми купували, оплачувалося готівкою. Ми не мали ні грошей, ні економічної стабільності, щоб брати участь у будь-яких кредитних історіях. Ми не брали кредити. Якщо ми хотіли купити щось, що перевищує наш щомісячний дохід, ми або заощаджували місяць за місяцем, поки не зберемо потрібну суму, або позичали у родичів. До того ж, навіть якби ми змогли купити книгу на Amazon, то доставка в Уругвай коштувала б стільки ж, скільки сама книга займала близько місяця.
Як я пройшов шлях від продавця вуличної їжі до роботи у провідних компаніях у галузі технологій, ч.1 - 11
Іноді вирішення проблем є ближчими, ніж ми думаємо. У результаті ми вирішабо звернутися по допомогу до сім'ї. Моя дружина має тітку, яка деякий час прожила в Америці, і ми вирішабо попросити її допомоги в придбанні кількох книг для мене. Якось я набрався хоробрості і написав їй листа, пояснивши мою ситуацію, натиснув «Відправити» і, схрестивши пальці, молився всім богам, сподіваючись, що вона нам допоможе. Через кілька днів у моїй скриньці був новий лист. Це була її відповідь, суворо по суті: "Скажи, які книги тобі потрібні, і я замовлю їх на Amazon". Я вирішив попросити «Flash MX Біблія користувача» та «PHP 5» та «MySQL Біблія користувача». Ці книги виявабося неймовірно корисними та необхідними у наступні тижні. Тепер я міг знаходити рішення поточних завдань, не відвідуючи інтернет-кафе в пошуках інформації, що бракує. Я нарешті міг зрозуміти, що саме мені потрібно знати для створення моєї картографічної програми. І, зрештою, коли в мене під рукою є вся необхідна інформація, час сісти за комп'ютер і розпочати роботу. Я сподіваюся, що вам сподобалася перша частина. УНаступний розділ я розповім вам про те, як готувався отримати роботу, і як пройшла співбесіда. Примітка: головна ілюстрація, яку ви бачите вище, була створена моїм другом Себастіаном Навасом (Sebastian Navas). Якщо ви хочете побачити більше його робіт, то заходьте сюди або зв'яжіться з ним у Facebook
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ