Прочитавши безліч постів про нинішнє «вигорання» програмістів, я почав думати, як же я зумів зберегти інтерес до цієї професії навіть після такої довгої кар'єри - з 1981 року (!). Чому інтерес до коду у мене ще не згас?
Звичайно, я частково пояснив це в моєму пості «Так, я в мої 56 все ще хочу робити це», що здобув популярність майже три роки тому. Але той пост був про бік життя професійного програміста, пов'язаного з самим процесом програмування; тут же мова піде не про саме написання коду, а про те, як я все ще витримую «програмістське буття». Що ж це за робота, яка захоплює так, що вранці чекаєш не дочекаєшся відкрити текстовий редактор або IDE або ж відчуваєш благоговійний жах від думки відправити свій зад в офіс?
Озираючись назад на мої місця роботи - ті, які мені подобалися, ті, які я ненавидів, і ті, з якими просто було можна жити, - я думаю, в чому ж відмінність між ними? Що я робив такого, що дозволило мені так довго йти цим шляхом?
Почнемо з простого опису всіх роботодавців в хрологічному порядку, у яких я працював по теперішній час. Врахуйте, що реальні назви я не вказую, якщо до справи це відношення не має. Тимчасові проміжки, коли я працював на самого себе за різними напрямками, відсутні; дещо буде згадано далі.
- Контрактор з оборонки
- Мій стартап № 1
- Мій стартап № 2
- Компанія, ПЗ для техпідтримки
- Компанія, що займалася електронною поштою
- Apple (до повернення Стіва Джобса в компанію)
- Консалтингова фірма
- Консалтингова фірма
- Фінансові операції
- Цифровий друк
- Охорона здоров'я
- Онлайнові 3D-ігри
- Туризм
- Будівництво
Не бачите нічого дивного - як, наприклад, я ніколи не працював в одній і тій же галузі двічі? Проекти консалтингових компаній теж радикально розрізнялися.
Напевно, лише ці два моїх стартапи були пов'язані: обидва були в області софту для Mac. Але в першому ми діяли самі як свої видавці, а в другому ми писали для інших людей. Заняття чимось суттєвим, що належить вам, є одночасно і благом, і великим борошном. Все було прекрасно і чудово, поки справи йшли добре. Але перший стартап закінчився, коли стало ясно, що у нас немає такого капіталу, щоб конкурувати з Microsoft. А на другому стартапі після 5 років роботи на Deltagraph видавець побажав рухатися в іншому напрямку, і ринок Mac для нас закрився.
Отже, я запустив обидві компанії і був там не тільки провідним програмістом, але і президентом, вів все, пов'язане з бізнесом, а в першому стартапі ще й давав інтерв'ю для преси, проводив збори акціонерів і дбав про прибуток. Після двох спроб я зрозумів, що подібним займатися не хочу, і просто працював на інших людей. До того моменту (майже 21 рік тому або близько того) я лише один раз працював у компанії, якої не керував.
За останні два десятиліття я працював, в основному, за наймом - як програміст, або як деякого роду розробник/програміст; іноді доводилося виконувати інші ролі, але ніколи я не діяв як чистий керуючий. І, звичайно, після всього виникає питання, як я ще тримаюся?
(1) Я не працюю понаднормово, крім як іноді при завершенні проекту. Про це я писав у моєму пості «Чому я не виконую неоплачувані понаднормові роботи і раджу вам чинити так само». Деякі роботодавці (часто консалтингові фірми) наполягають на практично нескінченних годинах роботи; їх не хвилює, що ви згораєте. І працювати на них сенсу немає. Просто нерозумно руйнувати свою захопленість програмуванням, приводячи себе в стан небажання продовжувати писати код.
(2) Я намагаюся знайти місце, яке відповідає моєму уявленню, як мені зручно працювати. Проблема в тому, що ви не завжди знаєте, коли починаєте, чи відповідає нове робоче місце тим аспектам, які ви вважаєте важливими. Наприклад, процес, спосіб організації виконання проектів, навіть ті очікування, які люди покладають на кожного. Я волів би працювати в такому місці, де люди не нав'язують мені, що я повинен робити, де я можу максимально підвищити свій внесок, використовуючи всі мої здібності. У кожного є сильні сторони, досвід та ідеї, і найпрекрасніше - знайти таке місце, яке дозволяє вам бути самим собою. Складність у тому, щоб спробувати правильно оцінити місце до початку роботи або, принаймні, знайти розумний спосіб піти, не залишаючи людей у скрутному становищі. Життя занадто коротке, щоб миритися з її незручностями, - таке воно буде не до душі вам самим, і від вас теж не буде великої користі.
(3) Не думайте, що ви завжди повинні робити одне і те ж знову і знову в тій же галузі або, того гірше, ніколи не залишати свою першу роботу і постійно залишатися на ній. Я знаю людей, які пропрацювали в одній і тій же компанії 25 або 30 років, тому що вони боялися вийти із зони комфорту. Ви виявляєтеся повністю зануреними в звичне і не усвідомлюєте, що є набагато кращі місця для роботи. Я не завжди залишав якусь компанію тільки тому, що хотів щось нове; іноді вони просто закривалися! Але нове місце означає нові можливості, нові виклики і перспективу дізнатися щось нове. «Нове» - це не завжди «краще», але якщо вічно займатися одним і тим же, то вже точно краще не стане.
(4) Іноді слід просто зупинитися і зробити щось просто тому, що хочеться. Кілька разів я щось робив, оскільки у мене з'являвся особливий інтерес або на час хотілося чогось дуже незвичайного. Після другого стартапу я досліджував і створював ф'ючерсну торгову систему саме тому, що мені це було цікаво. Я не заробив багато грошей (принаймні, недостатньо, щоб займатися торгівлею тоді), але від самого процесу освоєння нового я отримував велике задоволення. Я грав в одну з MMO FPS протягом 10 років, але її якістю ніколи не був задоволений. У компанії ніколи не було достатньо грошей, щоб виконати все необхідне, а від внесених ними виправлень було мало користі. І оскільки офіс компанії був поруч, я пропрацював на них більше 2-х років. Це була найважча робота, яку мені коли-небудь доводилося робити, і за неї мені майже нічого не заплатили. Але її складність - гігантська кодова база 3D-движку на двох платформах і OpenGL з тисячами проблем, що потребують вирішення, - для мене була викликом і зажадала напруги всіх сил. Я відчував себе дитиною, яка раптом потрапила в кондитерський магазин. На жаль, мені довелося піти, оскільки на життя потрібні були гроші!
(5) Якщо ви не власник компанії або не маєте серйозних опціонів або акцій, не бійтеся піти. Ви зобов'язані надавати роботодавцю тільки найкращу роботу, яку ви можете виконати, за те, що вам платять. А платять вам за 40 годин на тиждень. Ви не раб, і у вас немає жодного іншого обов'язку вірності за межами зобов'язання належним чином виконувати роботу. Знайдіть гарне місце і попрацюйте якийсь час. Але якщо воно виявиться не дуже хорошим, або не надихаючим, або нудним, або вас будуть дратувати люди, або керівництво здасться тупуватим, або що завгодно ще, то не бійтеся відправитися в пошук. Я знаю, що це не завжди просто (були важкі часи в нульові роки), але озирайтеся навколо і ніколи не бійтеся говорити з рекрутерами або приятелями або в Мережі, навіть якщо ви в даний час відчуваєте себе цілком влаштованим. Ніколи не знаєш, яка класна річ може проявитися в наступний момент.
(6) Почати власну компанію не завжди можливо, але якщо вийде, то це - відмінна можливість побачити, що таке бізнес. Часто так можна отримати новий погляд на дії вашого роботодавця. Додатково ви дізнаєтеся багато нового (наприклад, про продажі і прибутки), що інакше пройшло б повз вас! Я 9 років керував двома компаніями, і майже постійно - крім періоду закінчення їх операцій - отримував велике задоволення. Мені пощастило попрацювати з чудовими спецами і писати те, що насправді було корисно людям! Я ніколи не прагнув по грошах до того, що виходило б за межі хорошої зарплати, але це був досвід, який я не проміняю ні на що. Можна вхопитися за можливість попрацювати в чиємусь стартапі, де потрібно займатися купою різних обов'язків, але майте на увазі, що не завжди є сенс орати в усмерть.
(7) Не бійтеся нових технологій або змін у галузі. Необхідно продовжувати вчитися, принаймні, щодня. Моя улюблена метафора - «паровий каток технологій» - повинна бути в пам'яті постійно. Нові ідеї, нові мови, нові фреймворки, нові платформи - ніколи не знаєш, що заведе на шлях до технології, яка подобається більше. Нове, звичайно, не завжди краще; іноді нове відбувається занадто швидко (на щастя, я не програміст Javascript), але нове завжди несе з собою деяку можливість. Якщо не вчитися постійно, то в результаті ви не тільки невзлюбите свою роботу, але і просто залишитеся без неї!
Сподіваюся, щось у цьому списку буде корисним для вас. Принаймні, ці міркування допомогли мені керувати моєю досить довгою і поки триваючою кар'єрою. Хочу додати, що вести цей блог протягом майже десятиліття виявилося для мене чудовою справою: з'явилася можливість звертатися до досвідчених і розуміючих людей (а іноді й отримувати відповіді від них), які, мабуть, знаходять щось корисне для себе при читанні, і я, звичайно, отримую багато з коментарів.
Пам'ятайте, що ваша професійна кар'єра залежить повністю від вас. Керуйте нею так, наче вона - все ваше життя, і, можливо, тоді так і буде. Ніколи не працюйте там, де вам не подобається (звичайно, якщо умови дозволяють піти), і завжди уважно вдивляйтеся в життя. Тільки тоді ви зможете одного разу відійти від справ і сказати: «Це було прекрасно!».