Недавно один человек задал мне вопрос (на форуме) о том, каков мой типичный рабочий день, что мне нравится и не нравится в моей работе больше всего, какое требуется образование и навыки. Этот человек подумывал о том, чтобы стать программистом и хотел получить представление о том, какой жизнью живет профессиональный программист. На сегодняшний день я являюсь фрилансером и работаю, в основном, из дома, поэтому я любезно ответил ему и, вдобавок, дал небольшой совет 🙂
Надеюсь, эта статья будет полезна тем, кто только начал свою карьеру в области программирования:
Мой типичный день выглядит так:
- Вылезти из постели.
- Выпить чаю (без кофеина).
- Сесть за ноутбук.
- Прочесть электронные письма (от клиентов и людей с форума).
- Выпить еще кружку чая (без кофеина) + съесть порцию флэпджека.
- Начинаю писать код.
- Пообедать на террасе (если погода в Великобритании позволяет).
- Еще раз выпить чаю (в этот раз завариваю супер бодрящий Эрл Грей, чтобы не засыпать в дневное время).
- Написание кода (мне нравится писать код).
- Можно немного покопаться в саду (если погода позволяет).
- Написание кода.
- Кружка бодрящего чая.
- Написание кода.
- Жена возвращается с работы, начинает болтать, прерывает ход моих мыслей, поэтому написание кода на время прерывается.
- Стаканчик вина.
- Просмотр слезливых сериалов с женой + поглощение еды.
- Жена отправляется спать.
- Написание кода (мне очень нравится писать код).
- Просмотр Гриффинов (можно со стаканчиком виски).
- Отравляюсь спать.
Мечта, а не жизнь!
Да, я фрилансер, но, на данный момент, я поднялся на уровень выше, потому что у меня есть собственная небольшая консалтинговая фирма по программному обеспечению и команда из 3-х программистов (которые тоже работают из дома). Кстати, я программирую уже более 35 лет (начал на BBC модели B в школьном компьютерном клубе).
Я начал свою карьеру, работая в разных по величине компаниях, но ушел оттуда по ряду причин. Во-первых, мне нравится работать в команде, но мои лидерские замашки постоянно мне мешают, так как я ненавижу когда мною командуют. Во-вторых, я плохо себя чувствую, когда мне нужно работать в строго определенные часы, к тому же я всегда опаздываю на работу на 15 минут. В-третьих, я действительно хороший программист, но мне нужно быть в правильном расположении духа, чтобы сделать свою работу, а в строго определенные временные интервалы я этого сделать не могу. Я могу поймать свою волну в 11 часов вечера и писать код на протяжение 5 часов, а могу поймать волну в 11 утра и писать код, не отвлекаясь на ланч. Может быть я ненормальный, но я уверен, что есть такие же люди, как я, поэтому мой им совет: переходите на фриланс.
НО у фриланса есть один большой недостаток: изоляция может свести с ума. Раньше я думал, что я “не такой как все” и могу провести целую неделю дома, не моргнув и глазом. Вскоре я убедился в своей неправоте. Я понял, что постепенно схожу с ума в одиночестве: разговариваю сам с собой, чувствую себя параноиком, беспокоюсь о вещах, на которые раньше не обращал внимание.
Однако не беспокойтесь, мы программисты и наша работа заключается в решении проблем, следовательно, даже такую проблему, как одиночество, мы в состоянии решить. Я поборол надвигающееся безумие тем, что 2 дня в неделю встречался с бывшими коллегами в коворкингах и мы вместе там работали, либо я просто ходил к кому-то из них в гости для парного программирования. На самом деле парное программирование — это очень эффективный и приятный способ написания кода. Два мозга лучше, чем один, к тому же вы друг у друга чему-то учитесь.
Кроме того, я рекомендую начать занятия спортом или присоединиться к совместным занятиям спортом, так как это поможет вашему телу и разуму оставаться здоровыми, а также позволит вам поддерживать общение с живыми людьми. Особенно важно заниматься спортом, если у вас сидячая работа и вы двигаете одними только пальцами. Мне становится смешно, когда я понимаю, что зарабатываю сотни долларов в день, просто двигая пальцами. Вот еще что, эндорфин, дофамин и адреналин, выделяемые во время физических упражнений, также очень важны для психического здоровья.
Что мне нравится и не нравится в моей работе:
Больше всего мне нравится то, что у меня есть возможность быть креативным и изобретательным ВЕСЬ день.
Еще, в работе программистом, мне нравится решать сложные задачи, над которыми приходится поломать голову. Но могу сказать, что в больших компаниях такого практически не бывает, потому что там вам дается четко определенная задача и варианты ее решения сильно ограничены (вы всего лишь маленький винтик в большом механизме).
Гораздо лучше работать в маленьких компаниях, если вы цените свободу в создании собственного программного обеспечения, в разработке собственного UI и если вам хочется оказывать какое-то влияние на коллег и руководство. В крупных компаниях кто-то другой будет получать интересные задания, а вы закончите тем, что станете “Обезьянкой для написания кода” (неважно, насколько вы талантливы). Вы для них просто ресурс, а не человек.
Есть замечательная песня, под названием “Code Monkey”, которая в точности описывает мои чувства, по поводу работы в больших компаниях:
Требуемое образование или навыки:
Все завязано вокруг вашего портфолио. Для большинства профессий в области программирования требуется доказать, что вы умеете делать то, о чем говорите. Я встречал многих программистов с докторскими степенями, которые ничего не смыслили в творческом подходе к решению проблем и созданию приложений. Они попросту не умели решать трудные и интересные задачи. Я нанимаю людей только тогда, когда они продемонстрируют примеры прошлых, выполненных ими, задач. Меня совершенно не волнует, если кандидат бросил школу в 14 лет, пока он в состоянии логично и структурировано написать код, а затем последовательно сообщить о проделанной работе в устной форме. Я не возражаю, если у человека нет реального коммерческого опыта, но он показывает мне превосходно выполненную работу, которая была написана им, лежа на кровати. Мне нравится, когда у кода лаконичная структура и в нем много комментариев.
Есть еще один совет, который я бы хотел вам дать:
Попытайтесь связать свою карьеру с тем предметом, который вам нравится, и тогда вы добьетесь успеха в своей карьере. Например, если вам интересна медицина, попробуйте устроиться программистом в больницу или производителем медицинского оборудования, а если вам нравится архитектура — станьте архитектором. Вы станете не только счастливее, но и познакомитесь с нужными людьми, что, в свою очередь, откроет для вас новые возможности в карьерном плане. Не нужно работать в бухгалтерской фирме или в банке только потому, что там много платят. Вскоре вам станет скучно, вы начнете хуже работать, впадете в депрессию и затем уволитесь вы или уволят вас.
За свою жизнь я успел поработать в 7 компаниях, и каждый раз, когда я устраивался на новое место, я добровольно соглашался на небольшую зарплату. Я увольнялся из-за того, что мне было либо скучно, либо я чувствовал себя недооцененным. Но, в конечном итоге, с каждым разом я зарабатывал все больше, потому что выбирал ту работу, которая меня интересовала и, следовательно, я выполнял ее лучше, чем предыдущую.
Если вы все правильно сделали и направили свою карьеру в русло, которое вам нравится, тогда вы сможете оказаться в завидном положении, просыпаясь каждый день, когда хочется, занимаясь своим любимым хобби и получая за это деньги… так же, как и я 🙂
Перевод статьи David Hurren: Life as a Freelance Coder — Career Choices and How to Maintain your Sanity