Перезавантаження: як гуманітарію стати інженером

Перезавантаження: як гуманітарію стати інженером

Деякі вважають, що мода на програмування зайшла занадто далеко. У колишнього соціолога, а нині розробника софтвера Кайла Уорнека — зовсім інша думка.

Підривати основи — це в Кремнієвій долині люблять. Це стосується і кар'єри. Я засвоїв цей урок в 2013 році. Залишався місяць до мого тридцятиріччя, півтора місяці до мого весілля. Я працював в прекрасній продуктовій команді в просунутій софтверній компанії. Переді мною стояли цікаві проблеми, у мене були розумні і приємні колеги, а також маса безкоштовної їжі. Кремнієва долина в кращому виді.


Я п'ять років намагався добитися успіху в Долині, і ця робота здавалася моїм великим проривом. Але не пройшло і роки після мого пристрою туди, як компанія закрила проект, продала активи, що відносяться до нього, і звільнила мене.

Спочатку мене не хвилював пошук роботи. У мене було хороше резюме, співбесіди завжди проходили вдало. Я вирішив, що легко знайду роботу по управлінню продуктом в іншій компанії. Але йшли місяці, і мій оптимізм почав в'янути. До осені я подав резюме на 104 вакансії і не отримав жодної пропозиції.

Після таких вражаючих результатів я став переглядати доступні мені варіанти. Було ясно, що я не відповідаю ринку. Якби я умів програмувати. Тоді б життя було простіше. І я вирішив взятися за це.

Я і програмування

У Кремнієвій долині уміти програмувати — означає мати вплив. На кожну позицію по управлінню продуктом доводиться приблизно шість позицій розробників. Компанії часто скаржаться на нестачу інженерних кадрів і готові таким людям добре платити.

Є і інші плюси. Я, гуманітарій, помітив, що інженери відразу отримують певну повагу(абсолютно незаслужено). Незнайомі люди за визначенням вважають, що програмісти — розумні люди. Менеджери і колеги виходять з того, що час програмістів цінніший. На нарадах думки розробників мають більшу вагу. Їм сходять з рук негідні жарти, запізнення на роботу, відсутність дрес-коду і взаємодії з іншими людськими істотами.

Але незважаючи на усі принади такого відношення, я ніколи не бачив себе програмістом. І мені здавалося, що в місті розробників, готових їсти аби що і запускати мільярдні стартапи, я недоречний. У мене був диплом соціолога, я не брав жодного курсу по комп'ютерних науках. Я не дивився фантастичні фільми, не сміявся над гиковскими жартами. Ця культура цінує людей, які повернені на чомусь, а мені просто подобалося дивитися на птахів, читати книги, займатися спортом. Я працював в продажах і в політиці і вважав своєю найсильнішою стороною навички комунікації.

Але тиск ринку змушував мене переглянути свою ідентичність. Схоже, що у відсутність змін мої можливості були обмежені.

У якомусь сенсі це був відповідний час. Окрім високого попиту на програмістів, з'явилася маса ресурсів, що допомагають людям опанувати відповідні навички і отримати роботу в Долині, — онлайн-курси(від Udacity до Coursera і Codecademy),  безкоштовне керівництво і підручники. І все більше програм, що називають себе учбовими таборами(boot camp) по програмуванню. Ці програми брали по $15 — 20 тисяч з людини і обіцяли, що їх випускники за три місяці отримають затребувані на ринку навички розробки. У них була вражаюча статистика: більше 90% отримували роботу, причому з високою зарплатою, а іншим обіцяли повернути гроші. Я якось працював з випускниками однієї з цих програм.


І все-таки мене це страховище. Схоже було, що повністю зануритися в атмосферу учбового табору — це мій кращий шанс навчитися програмувати, але я боявся, що витрачу масу грошей, часу і енергії, але ніяк не просунуся. Проте, інших варіантів не було, так що я записався в Hack Reactor — учбову програму в Сан-Франциско.

Змиритися з помилками

Перше, що я зрозумів: вчитися програмуванню складно. Це віднімає сотні годинників. Велику частину цього часу ви проводите, роздивляючись повідомлення про помилки. Програма практично ніколи не працює правильно вперше. Здавалося б, людині, яка отримала 104 відмови підряд, варто було звикнути до поразок, але я нервував — особливо коли я був абсолютно не упевнений, що зможу позбавитися від цього повідомлення про помилку.

Мені допомогло спілкування з іншими учасниками програми, які теж нервували. У моїй групі було тридцять чоловік, у тому числі юрист, нейробіолог, вертолітний механік і професійний гравець у відеоігри, вік учасників розходився від двадцяти з невеликим до сорока з гаком. У деяких вже була освіта в інженерній або схожій області, але вони хотіли освіжити свої навички. Інші взагалі не вчилися в університеті. Загальним для нас було одне: ми хотіли допомогти один одному вижити.

Ми збиралися по шість днів в тиждень впродовж трьох місяців. Офіційно учбовий день тривав з 9 ранку до 8 вечора, але усі сиділи над завданнями до пізньої ночі. І ця практика принесла результат: до кінця програми ми усі розробили повноцінні веб-застосування.

Головний урок Hack Reactor — примиритися з повідомленнями про помилки. Нас увесь час примушували працювати над проблемами, які ми не знали, як вирішити. Нас навчили основам комп'ютерної науки, але основний акцент був на терпінні, скромності і завзятості. Недолік традиційної освіти компенсувався наполегливістю.

Але дедалі більше нового переді мною відкривалося: запаморочлива кількість мов програмування, бібліотек і інструментів. До кінця програми я замислювався: скільки ж мені ще треба дізнатися, перш ніж я можу назвати себе розробником?

Перезавантаження кар'єри

На це питання є абсолютно практична відповідь: ви стали розробником, коли ви можете пройти співбесіду для розробників. А це четирех-шестичасовая сесія, де кандидатів просять написати код для вирішення самих різних задачок. Частенько це потрібно робити, стоячи у дошки: ви пишете рішення, а інтерв'юери його оцінюють. У цього процесу маса варіацій, але основа приблизно така.

У цього методу є маса проблем. Він не показує, як інженер працює в команді, як він працює над складним і великим проектом. Цей метод надає надто багато значення упевненості до себе і примушує робити серйозні висновки про кандидата на основі маленького шматочка коду. Навіть у відмінного розробника бувають погані дні.


Але цей метод співбесід тісно пов'язаний з демократичним міфом Кремнієвої долини. Це ідея меритократии. Компанії можуть ігнорувати формальні досягнення, минулий досвід, одяг кандидата, форматування резюме і усе інше. Багато компаній як і раніше відбирають кандидатів по наявності диплому в комп'ютерних науках, по їх онлайн-портфоліо і попередньому досвіду, але все частіше вони пробують і "нетрадиційних" інженерів. Все, що треба — пройти тест.

Після шести місяців підготовки і трьох місяців учбового табору я був готовий спробувати. Почалося все невдало. На першу співбесіду я прийшов у величезну, відому компанію — і все провалив. Друге було не сильно краще. Але на мій подив, далі справи пішли на лад. Я заспокоївся і звик відповідати на питання в умовах серйозного тиску.

Вже через декілька тижнів я отримав хороші пропозиції від декількох компаній. Я, звичайно, ще не почував себе справжнім розробником, але той факт, що мені були готові платити за написання коду, підказував, що план спрацював. І моє сприйняття себе стало співпадати з реальністю тільки через декілька місяців.

Дорогу гуманітаріям

Тепер я знаю, що значного числа розробників софтвера не мають відповідного диплому. За одним опитуванням, їх навіть більше 50%. Скільки б таких людей не було, серед них мій минулий начальник і багато відмінних інженерів, з якими я працював.

Учбові табори — тема спірна, але навчитися програмуванню самостійно цілком реально. Багато стартапи з Долини вважають, що якщо ви навчилися програмувати без навчання в університеті, це показує, що ви людина мотивована, стійка, цікава і винахідлива. Саме такі навички і потрібні працедавцям.

Крім того, від інженерів все частіше чекають досвіду в дизайні, розуміння бізнесу і управління проектами. Це мають бути люди зацікавлені і здатні співпрацювати з працівниками з інших областей. По моєму досвіду, компанії тепер цінують ці навички не менше, ніж традиційне навчання в області комп'ютерних наук. І той факт, що інженери на зразок мене мають досвід в якійсь іншій області, тепер все частіше розглядається як перевагу.

Пройшли більше двох років відколи я став розробником. Мені все ще іноді здається, що я надів якесь маскування. Але я вже отримав декілька просувань по службі, мій рівень відповідальності виріс, а потім я перейшов працювати в іншу компанію.


Я рідко розповідаю про свій учбовий табір колегам, побоюючись, що вони почнуть оцінювати мене з висоти своїх університетських дипломів. Але коли я все-таки згадую Hack Reactor, мені приємно бачити здивування на лицях колег: здивування, що я все-таки іноді розумію, що роблю. "Так, — думаю я. — Я теж здивований".

Думаючи про час, який я витратив на підготовку до цієї роботи, я вражаюся, як мені повезло, коли я зробив цей крок. У мене не було дітей, практично не було боргів, мене підтримувала дружина, і неподалік знаходилися найбільші технологічні компанії світу. І не дивлячись на все це, я коливався.

Головне, що я зрозумів: Кремнієва долина постійно міняється, зі мною або без мене. Я міг триматися за те, що умів, і відстати, або спробувати щось інше. Кінець кінцем я дійшов висновку, що бути розробником — це раніше усього практика. Для мене головним викликом було дати самому собі дозвіл на цю роботу.


Надрукувати