Таких не беруть у програмісти: «реверс-інжиніринг» особистості

Напевно, читачам доводилося зустрічати незліченну безліч постів-лайфхаків, статей і навіть книг про те, як потрапити на позицію розробника програмного забезпечення, що потрібно зробити, щоб стати хорошим розробником, як проходити співбесіди на цю позицію і так далі. Більше того, зустрічаються висловлювання за типом «який тестувальник не хотів би стати розробником», «тестувальник - це невдалий розробник», «якщо не вмієш програмувати - йди в проект-менеджери» і так далі.


На цю тему багато міркують, дають рецепти. Через велику кількість таких діалогів серед початківців, або навіть досвідчених фахівців, склалися стереотипи про «обраність» розробників, а в деяких колах сформувався цілий культ. Зрозуміло, що розробникам вигідно підтримувати таке ставлення до себе: не всякий кодер долетить до середини глибокого дебагу. Розвиваючи теорію обраності, деякі розробники навіть дійшли висновку, що «кодери» не гідні носити горде звання розробника, поставивши їх мало не в один ряд з операторами ЕВМ.

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

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

Кожному - за здібностями

Перш ніж спалювати всі мости, можна все-таки дати останній шанс і поспівчувати ІТ-індустрії, яка потребує кадрів. Особливо гостро їй не вистачає кваліфікованих фахівців. Їх вона навіть готова сама скормити, виплекати в колисці і навчити всім премудростям.

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

«Ламати не будувати», - скажуть розробники. Так от і ні до чого тоді такій людині в розробку йти. Так само, як і гуру програмування, який насолоджується своєю могутністю, втілюючи в життя задумані ідеї, не варто йти в тестувальники.

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

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

Емуляція в режимі 5/2

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

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

Поступово ситуація виливається в психологічну проблему, не кажучи про професійну. Але в разі професійних складнощів все не так однозначно, так як тут працює бомба уповільненої дії: у джуніора повинні бути проблеми, адже важко в навчанні - легко в бою. А після закінчення випробувального терміну джуніор виявляється «біля розбитого корита», нічому толком не навчившись. Тоді можна, звичайно, втішатися думками про те, що програмуванню потрібно вчитися не 5, а 10 років.

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

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

Щоб це зрозуміти потрібно хоч раз побачити в дії власні «нативні процедури», звернутися до «ядра» своєї особистості. Але як це зробити, якщо ми народжуємося без необхідних мануалів або хоч якогось readMe?

Загальний рецепт - потрібно провести «реверс-інжиніринг» своєї особистості. Потрібно дослідити недокументовані можливості свого «ядра».

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

Ми вирішили не відкладати це в довгий ящик і поставили кілька запитань фахівцям, які пройшли етап професійного становлення.

Михайло, Системний адміністратор ОТП (тих підтримка)

Ви починали кар'єру як розробник? (так/ні)

Ні. Ось якось зацікавився ще зі школи комп'ютерами: всякі установки ОС, програм, чому ігри не пашуть... налаштування мережі. Так і пішло - виїзний енікейник, сидячий енікейник, зараз начебто вже не зовсім енікейник, навіть посада називається - системний адміністратор.

Чому перейшли/обрали вашу поточну посаду?

Цікаві локальні мережі, робота з доменною мережею. Ну і по залізках теж - пам'ятаю жорсткий диск перший раз міняв... Поки диска не було, вантажився з дискети, запускав іграшку з іншої дискети, писав у редакторі F4 листи, а сестра потім на роботі відправляла їх.

Що особисто вам подобається в роботі на поточній позиції?

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

Дмитро, Керівник проектів

Ви починали кар'єру як розробник? (так/ні)

Так.

Чому перейшли/обрали вашу поточну посаду?

Для розвитку, більшої самостійності.

Що особисто вам подобається в роботі на поточній позиції?

Гнучкий графік, здільна оплата.

Тестувальник ПЗ з перспективою в QA, який побажав залишитися невідомим

Ви починали кар'єру як розробник? (так/ні)

Ні.

Чому перейшли/обрали вашу поточну посаду?

Намагався влаштуватися кудись в IT. Коли натрапив на вакансію тестування, то спробував туди. З першого разу не взяли, але ідея мені сподобалася, тому продовжив підготовку з тестування і влаштувався-таки.

Що особисто вам подобається в роботі на поточній позиції?

Широкі можливості в розвитку (немає суворих обмежень на застосовувані методи, є можливість аргументовано впливати на процеси), близькі до інтересів проекти, кваліфікований і адекватний колектив, сама ідея поліпшення якості продукту та/або процесів розробки.

Тоня, Проект-менеджер

Ви починали кар'єру як розробник? (так/ні)

Ні, як тестувальник

Чому перейшли/обрали вашу поточну посаду?

На момент переходу на цю посаду просто хотілося спробувати себе в чомусь новому, раз запропонували (до цього була тестувальником). На той момент не було хорошого розуміння обов'язків.

Що особисто вам подобається в роботі на поточній позиції?

Спілкування з клієнтами, з'ясування їхніх потреб і бажань. Можливість впливати на розвиток продукту компанії. Керування процесом розробки. Хоча я сама не займаюся розробкою, але за рахунок спілкування з командою і вирішення поточних питань, відчуваю, що не випадаю з області)

Сергій, Product manager - Team lead

Ви починали кар'єру як розробник? (так/ні)

Так.

Чому перейшли/обрали вашу поточну посаду?

Було бажання, і керівництво надало таку можливість.

Що особисто вам подобається в роботі на поточній позиції?

Велика роль у житті продукту (багато що продумую, вирішую, координую, в курсі всього). Правда, трохи сумую за програмуванням, але не особливо.

Чому взагалі вибрав посаду в галузі розробки ПЗ, то тут просто - «що вмію і що подобається - тим і займаюся».

Максим, розробник ПЗ

Ви починали кар'єру як розробник? (так/ні)

Так.

Чому перейшли/обрали вашу поточну посаду?

Інтерес до програмування, складних завдань і кайф від їх вирішення.

Що особисто вам подобається в роботі на поточній позиції?

Цікаві завдання, цікава зарплата.

Данило, розробник ПЗ

Ви починали кар'єру як розробник? (так/ні)

Так.

Чому перейшли/обрали вашу поточну посаду?

Та як би за фахом і подобається взагалі:)

Що особисто вам подобається в роботі на поточній позиції?

Подобається розробляти продукти різними мовами програмування і використовуючи сучасні інструменти

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

Реверс-інжиніринг особистості

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

На додаток до питань може бути задана ситуація: якби вам дали $1 мегаліард інвестицій, дали хорошого гендиректора і доручили придумати стартап і працювати в нім. В якій сфері міг би працювати цей стартап? А головне - які завдання як ІТ-спеціаліст хотіли б вирішувати там ви? Як би ви оцінили свої перспективи в якості співробітника цієї компанії? Куди б хотіли розвиватися?

Питань і ситуацій може бути багато. Важливо зруйнувати спотворене сприйняття реальності і звільнити самого себе від обумовленості цією спотвореною реальністю.

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

Найімовірніше, шукати варто в старших класах школи і у ВНЗ. Це робиться для того, щоб зрозуміти, як послідовність неоптимальних рішень збила вас з професійних орієнтирів, не надавши можливості проявитися вашим по-справжньому сильним сторонам.

Потім ви знову повертаєтеся в майбутнє, відповідаєте на питання або моделюєте ситуації заново. Потім - знову в минуле і так далі.

Така ітераційна схема поступово приведе вас до ядра своєї особистості. Після цього залишиться тільки запустити команду Build: перекомпілювати сприйняття сьогодення, пересібрати особу, прописавши нові шляхи, залежності, зв'язки і перерозподілити ресурси.

P.S. Якими б не були стереотипи і думки «авторитетів», завтра все може змінитися. Але якщо людині цікава ІТ-індустрія, вона буде шукати собі місце в ній. Ніхто не застрахований від помилок, але зробити собі «щеплення» від максималізму, ідолопоклонства, верхоглядства і сліпого слідування чужій думці цілком реально.