Начинать карьеру разработчика ПО в сорок лет не поздно.


Однажды мне кто-то сказал: «Если в 35 лет ты всё ещё программист, то начинай искать другие варианты на вторую половину своей карьеры. Молодое поколение наступает на пятки, и скоро ты устареешь».

И действительно, в 35 лет я начал задумываться над тем, что делаю. Моя ситуация была другой. Тогда я не был программистом, а работал в руководстве. В то время я скучал о своём прошлом программиста на C++.

Первые несколько лет моей карьеры были посвящены разработке на C++. Однако после перехода на руководящую роль мои навыки программирования заржавели. Моя повседневная работа состояла из совещаний, PowerPoint и Excel и, разумеется, из кучи писем. Читал я код раз в недели или месяцы, не говоря уже о его написании.

Когда руководство уже не вариант


В 39 лет я переехал в другую страну. В этой новой стране мои навыки управления больше не были актуальными. На руководящие должности компании предпочитали брать людей с местным опытом работы.

У меня была возможность сменить карьеру и работать на другой обычной работе, не требующей технических знаний. Но я люблю программирование. Я хотел вернуться к тому, с чего начинал. Поэтому я прошёл несколько собеседований по C++.

К своему стыду, я даже не прошёл предварительной проверки по написанию кода. Меня охватило уныние.

Я даже не был уверен, что хочу снова вернуться к C++. Эти вакансии по C++ для разработки встроенных систем включали в себя работу с оборудованием, а не обычную разработку ПО, которая мне была интересна.

Этап 1: подготовиться и понять, чего я хочу


Учитывая то, что больше я не владею C++, что мне хочется делать?

В то время главной актуальной темой была мобильная разработка, особенно для iOS. Но чтобы освоить iOS, нужны MacBook и iPhone. У меня не было ни того, ни другого. К тому же, пришлось бы слишком много вложиться, а я был не уверен, что попаду в эту сферу.

Тогда у меня имелись ноутбук с Windows и телефон Samsung S2. Я увидел, что на подъёме находится разработка для Android. Хотя Android не был самой активно используемой ОС, всё больше и больше людей покупали телефоны с Android, в том числе и я.

Поэтому я выбрал Android. Вот и всё.

Зная цель моего обучения, я должен был теперь найти нужные ресурсы.

  • Благодаря Google комплект разработки Android Studio полностью бесплатен! А для регистрации в Google Playstore достаточно единовременного платежа в $25!
  • Я купил несколько книг, которые мне удалось найти. Тогда их было не так много, потому что Android пока оставался новинкой.
  • Лучше всего было то, что в Интернете обнаружилось много обучающих ресурсов, справок по коду и так далее. Также я смог подписаться на обучающие рассылки. Изучение разработки стало намного более доступным, чем в прошлом! Им мог заняться любой!

Что же дальше? Приступаем к кодингу!

Я создал несколько мелких приложений и опубликовал их в Store. Мне довелось прочувствовать всё от начала до конца, то есть я знал, что необходимо для проектирования, разработки, тестирования и выпуска в публичный доступ.

Пойми, что хочешь изучить, и сделай это!

Этап 2: сброс до нуля — устраиваемся на любую должность


Хотя я мог учиться и работать самостоятельно, мне было известно, что я никогда не ускорюсь в своём обучении до нужного темпа, если не буду работать с коллегами-разработчиками для Android. В идеале мне хотелось работать в компании, занимающейся разработкой для Android.

Благодаря опубликованным мной приложениям я попал на собеседование в растущую компанию, занимающуюся мобильной разработкой. Это была поистине золотая возможность.

Я знал, что недостаточно опытен для сениор-разработчика. Поэтому я согласился на ту должность, которую мне могли предложить, ведь так я получу возможность работать и учиться. Меня устраивает быть джуном, если это даст мне прекрасную возможность учиться.

К сожалению, я провалил последний этап интервью. Это было сокрушительное поражение для меня.

Что я сделал дальше? Я написал компании письмо, где поблагодарил её за предоставленную возможность.

Но на этом я не остановился, и спросил, захотят ли они принять меня в качестве стажёра. Я сказал, что готов даже работать и учиться бесплатно, за возможность повысить свои навыки.

Наконец, я дождался ответа. Меня позвали не на должность стажёра. Это была должность тестировщика QA мобильных приложений.

ДА! Меня это полностью устраивало. Пусть я не смогу кодить, зато буду тестировать работу. Смогу общаться со специалистами и учиться у них. К тому же мне будут платить за тестирование. Это лучше, чем быть стажёром без оплаты.

Я буквально кричал от радости.

Обучение ускоряется, если попасть в нужную среду.

Этап 3: учиться, время и возраст не важны


Моя цель стать разработчиком для Android исполнилась на 50%, когда я получил работу в компании мобильной разработки. Не было никаких гарантий, что я добьюсь остальных 50%. Мне придётся совершенствовать свои навыки разработчика и быть готовым к появлению возможности.

К сожалению, время играло против меня. Мне приходилось работать по восемь часов в день тестировщиком QA. Я завидовал тем, кто работал разработчиками, потому что они могли учиться во время работы. Это лучше всего, но у меня такой роскоши не было.

Тем не менее, сама по себе работа в компании мобильной разработки стала большим плюсом. У меня появился доступ к обучающим ресурсам компании. Это сильно мне помогло в выяснении того, на что стоит сделать упор в обучении.

Лучше всего было то, что теперь у меня появилась связь со специалистами в этой сфере. 95% из них были младше меня. Возраст ничего не значил, важем был их опыт в этой сфере. Я крайне уважаю их навыки и знания, их готовность делиться. Я столь многим им обязан!

Я обучался и писал код в свободное от работы время. Это было непросто, но давало удовлетворение. Постепенная учёба и ощущение того, что я двигаюсь в нужном направлении — это прекрасно. Моя миссия заключалась в том, чтобы стать разработчиком для Android.

На этом этапе мне нужно было постоянно демонстрировать свой прогресс в обучении, и в то же время тщательно выполнять свои обязанности в отделе QA. С регулярными интервалами я показывал руководителю отдела разработки для Android то, чего достиг, и проверял, буду ли я готов, когда откроется вакансия разработчика.

Спустя шесть месяцев меня перевели на должность разработчика. Я официально стал разработчиком для Android! Пусть джуниором, но разработчиком!

Чтобы хорошо учиться, нужно сделать это частью своей работы.

Этап 4: делиться и не бояться ошибиться


Когда я стал разработчиком для Android, мне было сорок лет. И это не конец моей миссии, а только начало.

Я был совершенно счастлив, потому что мог кодить столько, сколько хотел. Мои рабочие часы — это часы кодинга. Я учился во время работы. Я разрабатывал в паре со специалистами и учился у них. Я должен был читать их код, а они должны были читать мой. В то время я существенно ускорил освоение разработки для Android.

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

С благословления моего руководителя, который в то же время был моим техлидом, я начал писать в блог. Чтобы начать, мне понадобилось какое-то время, потому что я думал, что никому не захочется читать его. Я не специалист. Что, если написанное мной не будет отвечать стандарту? Или просто окажется неверным?

Тем не менее, я заметил, что легко забываю изученное. Поэтому моя цель была проста: я писал блог для себя. Это больше походило на заметки по обучению. Если никто не будет их читать, то, по крайней мере, я с лёгкостью смогу вспомнить то, чему учился.

Я уделил время записыванию своего обучения, делая возможность вспомнить его как можно более простой. Для каждого из своих уроков я рисовал диаграммы, прикладывал пример работающего кода. И всё это для того, чтобы с лёгкостью вспомнить то, что я учил.

К моему удивлению, нашлись люди, читавшие мой блог. Нашлись люди, писавшие благодарственные отзывы. Их сообщения сильно мотивировали меня продолжать писать в блог.

Но самое важное было то, что находились и люди, несогласные со мной. Признаюсь, иногда я ощущал, что мне как будто нужно защищаться. Но именно некоторые из таких ответов позволили мне понять, что существуют разные мнения.

Иногда я был совершенно неправ. Иногда, хотя я и не был неправ, я не понимал точку зрения собеседника. Всё это возможности учиться. Это делало моё обучение более полезным. Всё это было путём к улучшению навыков разработчика для Android.

Когда мы делимся, то узнаём больше всего, но только если хотим этого.

Этап 5: расширяться, выходить за пределы зоны комфорта


Спустя более чем четыре года разработки для Android я достаточно хорошо освоился в ней. В то время я был сениор-разработчиком. Кроме разработки я занимался менторством у джуниоров.

Не могу сказать, что знаю всё о разработке для Android, но лучше разбираюсь, как получать и находить информацию, обладаю лучшим интуитивным понятием того, что хорошо и плохо. Кроме того, разработка для Android тоже продолжает развиваться, так что многому нужно учиться. Я получаю от этого удовольствие.

Я могу остановиться на том, где нахожусь сейчас, и успокоиться. Мне нравится моя должность, мой код и моя работа. Однако я по-прежнему делал вклад только в одиночку. Моя степень влияния распространялась только на то, что я мог сделать сам. К тому же я задавался вопросом, этим ли я хочу заниматься следующие десять лет своей жизни?

Поэтому когда появилась возможность, я решил двигаться дальше. Я подал заявление на должность ведущего разработчика, отвечающего и за iOS, и за Android. Я получил её, несмотря на то, что не очень хорошо знал iOS.

Понимание того, что я знаю не всё, за что отвечаю, заставляло испытывать дискомфорт. Но именно это чувство дискомфорта стимулировало меня учиться и расширять мои знания. Поэтому я приступил к изучению iOS.

Не думаю, что смог бы освоить iOS так же хорошо, как Android. Однако обучение помогло мне более широко увидеть сферу мобильной разработки. Оно помогло разобраться, в чём хороша разработка для Android, а в чём она отстаёт.

Пока мы не узнали, что хорошо и что плохо, мы выучили недостаточно. Продолжайте учиться.

Возврат к небольшой доле руководящей работы


Перенесёмся в современность. После моего вступления на путь разработки для Android прошло более семи лет. Изменилось очень многое.

Теперь я руководитель отдела мобильной разработки и отвечаю за совместную работу мобильных команд и архитектуру. Наряду с технической должностью я должен участвовать в различных задачах руководства.

Я снова вернулся на этап, когда у меня не так много времени писать код и учиться во время работы. Но мне всё равно нравится моя работа и она всё ещё достаточно техническая по своей природе, просто на более высоком уровне технических деталей.

Чтобы принимать правильные технические решения высокого уровня нужно обладать и основательным техническим пониманием низкого уровня. Чтобы иметь его, мне недостаточно полагаться на своё обучение в прошлом, я должен продолжать учиться. Надеюсь, я не повторю историю, случившуюся со мной ранее.

Таков мой небольшой рассказ. Даже в сорок лет не поздно браться за карьеру в разработке ПО.

Комментарии (13)


  1. slavanikolsky
    01.06.2023 09:51
    +8

    Учиться новому нужно всю жизнь. На что жили пока осваивали новую профессию? Этот навык скорее даже более важен в вашей истории.


  1. CrashLogger
    01.06.2023 09:51
    +6

    Главное - правильный подход. К сожалению, сейчас многие думают, что достаточно пройти месячные курсы говнокодинга на питоне - и работодатели выстроятся в очередь, чтобы завалить тебя деньгами )


    1. sgzmd
      01.06.2023 09:51
      +3

      Вы забыли про AI. Нужно чтобы много AI потому что без него ничего не работает больше.


  1. IvDen
    01.06.2023 09:51
    +5

    в 37 вкатился в бекенд. Сложно пока, синдромом самозванца прямо обмазан. В бекграунде: работа в банках (оценка) и полученная вторая вышка по IT.

    Да, деньги на смену профессии нужны: на образование, на компенсацию падения доходов, на возможный период без работы, т.к. работать и учиться полноценно достаточно сложно, но вполне возможно.


    1. Rusrst
      01.06.2023 09:51
      +4

      Если есть дети, то безумно сложно...


      1. IvDen
        01.06.2023 09:51
        +1

        да, любые обязательства должны быть или закрыты, или поддерживаться на том же уровне, поэтому с детьми намного сложнее.


  1. DimVision
    01.06.2023 09:51
    +3

    а, так это перевод статьи. вот откуда эти восторженно-увлеченные обороты и повторения как мантры "желание кодить учиться и работать".

    хотелось бы конечно больше реальных российских кейсов, как люди за 40 меняют сферу. я задумывался часто (мне 35), и всегда приходил к тому, что проще и быстрее доучиться с своей сфере, чем кардинально менять направление и чесать в сторону, пусть и работы мечты.

    Падение дохода на 2/3, стать из начальника джуном - звучит слишком уж романтизировано, и не по российски оптимистично.

    Готов это принять только в формате "моя должность/сфера целиком схлопнулась, и выбора не осталось, поэтому теперь я QA/ждун/кассир в пятерочке"


    1. DancingOnWater
      01.06.2023 09:51
      +2

      Мне 36, без малого 10 писал на С# задачи по небесной баллистике. А сейчас пишу на С++, задачи машинного зрения, роботизация и все такое. Работа нравилась, но я понял, что "узкая специализация = огромные риски".


  1. simenoff
    01.06.2023 09:51
    +6

    Интересно, какой процент 40-летних людей пытаются, но так и не становятся разработчиками, и нигде об этом не пишут?


    1. IvanSTV
      01.06.2023 09:51
      -1

      Во-первых, большинство 40-летних обычно имеют относительно стабильное и прочное материальное положение. Денег может не хватать, могут жить в кредит от зарплаты и до зарплаты, страдать от этого и т.д., но с голым задом не бегают и одними макаронами раз в день не питаются, то есть, только меньшинство вообще готово начинать карьеру в другой области. Ну, например, у меня сейчас з/п раза в полтора-два больше. чем у джуна (и тем более джуна провинциального). А ведь после курсов я приду даже не джуном в это самое вайти, а на перввые месяца стажером. Не, есть шанс, что возьмут на бОльшие деньги из-за опыта в предыдущей деятельности (ну, например, разрабатывающей WMS команде будет интересен человек, который прошел всю складскую иерархию на своем опыте) , но рассчитывать на это всерьез можно в 20, а не в 40

      Во-вторых, процент 40-летних, которые все-таки решились и все же бросают все к херам м не входят, существенно ниже, чем у 20-летних, так как 40-летний все-таки более целеустремлен, и навык самообразования наверняка есть, и прокачан (если не прокачан, то увы, это реально тупой неудачник).

      В-третьих, вероятность. что неудачник напишет историю неуспеха, сильно ниже, чем историю успеха. Истории успеха любят и востребованы. А неудачники не любят рассазывать о том, как они ступили или не смогли.


      1. DimVision
        01.06.2023 09:51
        +2

        друг в возрасте, за плечами почти 30 лет "аудитов, бизнесов и прочей работы не на дядю", эксперт в проектном управлении - сейчас вынужден искать себе место в организациях, и не может найти. Некоторые открыто говорят, что вопрос возраста и адаптации в команде.

        Та самая разница в возрасте, когда смотрят уже не на экспертизу, а на то, как впишется кандидат. И это еще один важный вопрос, помимо вкатывания по хардскиллам.

        Вот ты есть, и знания у тебя есть, а уже никому не нужен.


  1. 3036662
    01.06.2023 09:51
    +4

    Мне 36, всю дорогу работал в продажах в компаниях, есть несколько лет опыта в качестве мелкого предпринимателя, банально стало скучно офис, 1с, кулер, план продаж, решил что нужно сделать middle life career change, программирование всегда было как хобби, начиная ещё от ассемблера и masm, долго думал как это провернуть, поступил на дистанционку по направлению it, понял что нужно высвободить побольше времени, оставил свой магазинчик товарищу, поехал работать водителем в Германию, свободного времени стало много, работал в графике 4 недели работаешь, две отпуск, так прошло два года, в итоге я в Москве, заканчиваю 4 курс, продолжаю изучение различных технологии OpenGL, базы данных, kotlin, C++ последнее время тоже разработку под Android, пробую откликаться на вакансии джуна, пока безуспешно, хотя попадались небольшие подработки, скажу, что даже не имея детей, это отнимает практически все свободное время, а вероятность, что в России возьмут на работу 40летнего джуна видится мне очень небольшой... Но я любом случае буду доводить дело до конца)


  1. souls_arch
    01.06.2023 09:51

    Еще бы тебя слышали дебилы из фаанга и эйч ар. А то там в 99.99% случаев такое резюме даже фильтр не проходит, а если пройдет, то в корзину полетит сразу же по строке возраст. Когда искал - тысячи откликов и даже ни одного пригласа на собес. И там реально пофиг кто ты, что умеешь, какие твои заслуги, если ты не мид+ по стеку. Даже если ты отпахал 20+ лет в другом стеке ИТ