Недавно один человек задал мне вопрос (на форуме) о том, каков мой типичный рабочий день, что мне нравится и не нравится в моей работе больше всего, какое требуется образование и навыки. Этот человек подумывал о том, чтобы стать программистом и хотел получить представление о том, какой жизнью живет профессиональный программист. На сегодняшний день я являюсь фрилансером и работаю, в основном, из дома, поэтому я любезно ответил ему и, вдобавок, дал небольшой совет 🙂

Надеюсь, эта статья будет полезна тем, кто только начал свою карьеру в области программирования:

Мой типичный день выглядит так:

  1. Вылезти из постели.
  2. Выпить чаю (без кофеина).
  3. Сесть за ноутбук.
  4. Прочесть электронные письма (от клиентов и людей с форума).
  5. Выпить еще кружку чая (без кофеина) + съесть порцию флэпджека.
  6. Начинаю писать код.
  7. Пообедать на террасе (если погода в Великобритании позволяет).
  8. Еще раз выпить чаю (в этот раз завариваю супер бодрящий Эрл Грей, чтобы не засыпать в дневное время).
  9. Написание кода (мне нравится писать код).
  10. Можно немного покопаться в саду (если погода позволяет).
  11. Написание кода.
  12. Кружка бодрящего чая.
  13. Написание кода.
  14. Жена возвращается с работы, начинает болтать, прерывает ход моих мыслей, поэтому написание кода на время прерывается.
  15. Стаканчик вина.
  16. Просмотр слезливых сериалов с женой + поглощение еды.
  17. Жена отправляется спать.
  18. Написание кода (мне очень нравится писать код).
  19. Просмотр Гриффинов (можно со стаканчиком виски).
  20. Отравляюсь спать.

Мечта, а не жизнь!

 

Да, я фрилансер, но, на данный момент, я поднялся на уровень выше, потому что у меня есть собственная небольшая консалтинговая фирма по программному обеспечению и команда из 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

Предыдущая статьяJava для начинающих: часть 4 из 4
Следующая статьяИзучаем функции высшего порядка в JavaScript