Как менять специализацию
От: dottedmag Мальта http://dottedmag.net/
Дата: 15.01.13 21:02
Оценка:
Что делать senior'у, если хочется развиваться (сильно отличающееся поле деятельности, грубо говоря — из энтерпрайза в эмбедщину, из системного программирования на C в доказательство теорем на Coq), а времени на это в нерабочее время нет (жена, дети и ты ды)? Точнее, время есть почитать и потыкаться слегка, но совершенно недостаточно для того, чтобы чего-нибудь нетривиальное написать и вникнуть во все детали.

Если идти в сильно отличающееся место junior'ом, то это сильная просадка по зарплате, но при этом уже есть ипотека, жена, дети и ты ды, аки студенту перепорхнуть не получится.

Аргументация в стиле "C, Go и Haskell я неплохо знаю, так что и с Erlang разберусь достаточно быстро" не помогает.
Re: Как менять специализацию
От: PragmaticProgrammer Великобритания  
Дата: 15.01.13 22:09
Оценка:
Здравствуйте, dottedmag, Вы писали:

D>Что делать senior'у, если хочется развиваться (сильно отличающееся поле деятельности, грубо говоря — из энтерпрайза в эмбедщину, из системного программирования на C в доказательство теорем на Coq), а времени на это в нерабочее время нет (жена, дети и ты ды)? Точнее, время есть почитать и потыкаться слегка, но совершенно недостаточно для того, чтобы чего-нибудь нетривиальное написать и вникнуть во все детали.


D>Если идти в сильно отличающееся место junior'ом, то это сильная просадка по зарплате, но при этом уже есть ипотека, жена, дети и ты ды, аки студенту перепорхнуть не получится.


D>Аргументация в стиле "C, Go и Haskell я неплохо знаю, так что и с Erlang разберусь достаточно быстро" не помогает.


Да чудес-то вобщем-то не бывает. Все как в учебной программе. Что бы дойти до первого уровня нужно проработать с учебным материалом и попрактиковаться 100 часов. Можете это сделать за 2 года а можете за 3 месяца. Откуда вы это время возьмете, это ваши проблемы. Одно могу сказать, ни в магазине, ни на черном рынке его не купишь
Re[2]: Как менять специализацию
От: dottedmag Мальта http://dottedmag.net/
Дата: 15.01.13 22:17
Оценка:
Здравствуйте, PragmaticProgrammer, Вы писали:

D>>Аргументация в стиле "C, Go и Haskell я неплохо знаю, так что и с Erlang разберусь достаточно быстро" не помогает.


PP>Да чудес-то вобщем-то не бывает. Все как в учебной программе. Что бы дойти до первого уровня нужно проработать с учебным материалом и попрактиковаться 100 часов. Можете это сделать за 2 года а можете за 3 месяца. Откуда вы это время возьмете, это ваши проблемы. Одно могу сказать, ни в магазине, ни на черном рынке его не купишь


Да как бы разнообразного опыта в индустрии хватает, чтобы взять новую технологию и по учебнику и справочнику начать писать не хуже середнячка, который кроме нее ничего никогда не видел (исключения есть, Haskell тот же, но очень мало). Но до нанимателей не доходит. Или может я не там ищу?
Re[3]: Как менять специализацию
От: Milena США  
Дата: 15.01.13 22:30
Оценка: +1
Здравствуйте, dottedmag, Вы писали:

D>Да как бы разнообразного опыта в индустрии хватает, чтобы взять новую технологию и по учебнику и справочнику начать писать не хуже середнячка, который кроме нее ничего никогда не видел (исключения есть, Haskell тот же, но очень мало). Но до нанимателей не доходит. Или может я не там ищу?


Понимаете, наниматель не хочет брать на себя риски, связанные с тем, что вас возьмут, вы будете месяц-два что-то писать "по учебнику и справочнику", а потом окажется, что код не того уровня, а время и деньги уже на вас потрачены, а результат иногда бывает очень критичен, особенно если через неделю начало UAT или вообще релиз. Поэтому единственный способ убедить, что с вами имеет смысл работать и риски минимальны — это идти туда, где есть знакомые (бывшие коллеги, а еще лучше бывший PM), который смогут убедить начальство, что мол чувак толковый, быстро разбирается, пишет код качественно и т.п. Можно еще попробовать взять рекомендации, и постоянно предлагать их на собеседованиях, чтобы ваш новый потенциальный работодатель звонил и спрашивал отзывы о вас, но, вообще говоря, в России это не очень принято и не очень работает.
Re: Как менять специализацию
От: __kot2  
Дата: 15.01.13 22:37
Оценка:
Здравствуйте, dottedmag, Вы писали:
D>Что делать senior'у, если хочется развиваться (сильно отличающееся поле деятельности, грубо говоря — из энтерпрайза в эмбедщину, из системного программирования на C в доказательство теорем на Coq), а времени на это в нерабочее время нет (жена, дети и ты ды)? Точнее, время есть почитать и потыкаться слегка, но совершенно недостаточно для того, чтобы чего-нибудь нетривиальное написать и вникнуть во все детали.
я, кстати, с тобой в одной команде как-то в сборной универа по программированию разок был

мне нравятся некоторые исследовательские проекты. технологии это так, фигня. какой толк разбираться с тем, что кто-то там из носа навыковыривал. пока установишь, уже полдня пройдет. а вот покопаться в том, что никто еще никогда не делал это интересно. я вот все для себя на С++ пишу. если хочется в чем-то покопаться, то я обычно нахожу пару часов перед сном. никто вроде и не против. а больше всего удалось сделать, прямо все идеи переделал, которые задумывал, когда жена уехала ремонт помогать делать на месяц
Re[4]: Как менять специализацию
От: dottedmag Мальта http://dottedmag.net/
Дата: 15.01.13 22:44
Оценка:
Здравствуйте, Milena, Вы писали:

M>Понимаете, наниматель не хочет брать на себя риски, связанные с тем, что вас возьмут, вы будете месяц-два что-то писать "по учебнику и справочнику", а потом окажется, что код не того уровня, а время и деньги уже на вас потрачены, а результат иногда бывает очень критичен, особенно если через неделю начало UAT или вообще релиз. Поэтому единственный способ убедить, что с вами имеет смысл работать и риски минимальны — это идти туда, где есть знакомые (бывшие коллеги, а еще лучше бывший PM), который смогут убедить начальство, что мол чувак толковый, быстро разбирается, пишет код качественно и т.п. Можно еще попробовать взять рекомендации, и постоянно предлагать их на собеседованиях, чтобы ваш новый потенциальный работодатель звонил и спрашивал отзывы о вас, но, вообще говоря, в России это не очень принято и не очень работает.


Нене, это неправильный наниматель, у которого ни парного программирования, ни code review, ни continuous integration не предусмотрено. Если feedback loop — порядка месяца, то я и сам к такому не пойду.
Re[2]: Как менять специализацию
От: __kot2  
Дата: 15.01.13 22:46
Оценка:
а, ну и по теме, соб-но
как убедить нанять.
надо просто выбирать области новые и малоизученные, типа там GPGPU, в которых просто и специалистов-то нет, а восотребованность бывает. тут наниматель, хочет-не хочет, а никого кроме самоучек и не найдет
Re: Как менять специализацию
От: ned Австралия  
Дата: 15.01.13 22:48
Оценка:
Здравствуйте, dottedmag, Вы писали:

D>Что делать senior'у, если хочется развиваться (сильно отличающееся поле деятельности, грубо говоря — из энтерпрайза в эмбедщину, из системного программирования на C в доказательство теорем на Coq), а времени на это в нерабочее время нет (жена, дети и ты ды)? Точнее, время есть почитать и потыкаться слегка, но совершенно недостаточно для того, чтобы чего-нибудь нетривиальное написать и вникнуть во все детали.


Искать что-то в смежной области, где требуется и то и другое.
Это еще хорошо когда точно знаешь точно куда прыгнуть хочешь.
Re[4]: Как менять специализацию
От: os24ever
Дата: 15.01.13 23:05
Оценка:
M>Можно еще попробовать взять рекомендации, и постоянно предлагать их на собеседованиях,

Сертификаты M$, Oracle, CISCO.
Статьи в журналах + свои статьи.
Re: Как менять специализацию
От: SkyDance Земля  
Дата: 15.01.13 23:16
Оценка:
D>Если идти в сильно отличающееся место junior'ом, то это сильная просадка по зарплате, но при этом уже есть ипотека, жена, дети и ты ды, аки студенту перепорхнуть не получится.

Подумайте, откуда взялись все эти многочисленные пословицы про то, как можно рыбку съесть, на ёлку влезть и т.п..
Re: Как менять специализацию
От: aik Австралия  
Дата: 16.01.13 03:28
Оценка: 6 (1)
Здравствуйте, dottedmag, Вы писали:

D>Что делать senior'у, если хочется развиваться (сильно отличающееся поле деятельности, грубо говоря — из энтерпрайза в эмбедщину, из системного программирования на C в доказательство теорем на Coq), а времени на это в нерабочее время нет (жена, дети и ты ды)? Точнее, время есть почитать и потыкаться слегка, но совершенно недостаточно для того, чтобы чего-нибудь нетривиальное написать и вникнуть во все детали.


Хитро менять работу.

D>Если идти в сильно отличающееся место junior'ом, то это сильная просадка по зарплате, но при этом уже есть ипотека, жена, дети и ты ды, аки студенту перепорхнуть не получится.


Я из user space win32 (COM, winsock, GDI) в микроконтроллеры (atmel atmega + немного amd au1550, arm), оттуда в embedded linux (arm, freescale powerpc), затем в ibm powerpc биосы, затем немного так в Java (awt, swing, т. е. gui), затем в линукс-кернел (powerpc64 платформа) переходил строго с повышением зарплаты, ниоткуда не увольняли. Дальше думаю в интернетное SQL двигать

Очевидно, из любого поля в любое переход не сработает, я очень немного вариантов проверил

Во всех случаях на нанимающую сторону уже работал мой друг, который меня и рекомендовал. Я, соответственно, тоже друзей рекомендовал, все оставались довольны. Соцсеть рулит. Сунуться тупо с улицы = просесть по деньгам. Если есть что нибудь твое на github'е — может немного помочь оценить что за ты орел.

D>Аргументация в стиле "C, Go и Haskell я неплохо знаю, так что и с Erlang разберусь достаточно быстро" не помогает.


Основная проблема с направлениями чуть менее мейнстримовыми в том, что проще и быстрее взять просто толкового _и_ самостоятельного чувака, чем гоняться за 100% подходящим специалистом, которого можно и не найти. Так что такая аргументация помогает, но нужно уметь ее чем то подкрепить. В любого рода проектах всегда полно несложной работы, которую надо делать и которая позволяет зацепиться за тему, чистое обучение идет, строго говоря, первый месяц — привыкаешь к новому дебагеру, новой системе сборки/прошивки/загрузки/блаблабла и дальше все как везде — код + отладка + тесты.
Re[5]: Как менять специализацию
От: Milena США  
Дата: 16.01.13 05:11
Оценка:
Здравствуйте, dottedmag, Вы писали:

D>Здравствуйте, Milena, Вы писали:


M>>Понимаете, наниматель не хочет брать на себя риски, связанные с тем, что вас возьмут, вы будете месяц-два что-то писать "по учебнику и справочнику", а потом окажется, что код не того уровня, а время и деньги уже на вас потрачены, а результат иногда бывает очень критичен, особенно если через неделю начало UAT или вообще релиз.


D>Нене, это неправильный наниматель, у которого ни парного программирования, ни code review, ни continuous integration не предусмотрено. Если feedback loop — порядка месяца, то я и сам к такому не пойду.


Согласна, что хороший наниматель сразу не даст новичку модуль целый писать бесконтрольно. Я просто привела пример того, как может быть. ПРоблемы ведь разные бывают. Иногда вы приходите в новую контору, а там помимо новых технологий еще и предметная область очень специфическая, так что чтобы правильно написать 3 строчки кода надо 20 страниц в книге по предметной области прочитать.
Re: Как менять специализацию
От: Miroff Россия  
Дата: 16.01.13 06:12
Оценка: 6 (1) +2
Здравствуйте, dottedmag, Вы писали:

D>Что делать senior'у, если хочется развиваться (сильно отличающееся поле деятельности, грубо говоря — из энтерпрайза в эмбедщину, из системного программирования на C в доказательство теорем на Coq), а времени на это в нерабочее время нет (жена, дети и ты ды)? Точнее, время есть почитать и потыкаться слегка, но совершенно недостаточно для того, чтобы чего-нибудь нетривиальное написать и вникнуть во все детали.


Есть такая проблема. Связано это с тем, что от senior'а требуется взятие на себя ответственности за какой-то участок работы, а без серьезного опыта это невозможно. То что ты знаешь Haskell никак не поможет разворачивать продакшен систему на Erlang.

Как я вижу выход: любая приличная контора предоставляет сколько-то времени на обучение, которое вполне можно потратить на создание _прототипа_ чего-то серьезного. Как показывает практика proof of concept производит не меньшее впечатление чем законченный продукт. Опять же никто не заставляет делать что-то серьезное в одиночку, выделить несколько часов в неделю на какой-нибудь OSS в интересующей области можно достаточно безболезненно.

Второе направление это сменить аргументацию на "Да, у меня нет опыта Erlang, но я прекрасно разбираюсь в потоковом видео, которое вы собираетесь писать", такая аргументация не всегда работает, но по крайне мере она работает лучше чем "мамой клянусь -- изучу".

Третье направление это переход мелкими шажками. Предположим, я entrprise программист на Java и хочу в эмбеддед, а сразу меня туда не берут. Не беда, делаем два шага: Java -> Android Java-> Android C -> embedded. Или Java -> Java Card -> embedded. Или даже Java -> потроха JVM -> Java on chip -> embedded. За две смены работы пройти такую цепочку вполне реально.

Четвертое направление это поход по социальным связям: находишь тусовку где общаются про доказательство теорем на Coq и общаешься. Сначала спрашиваешь, через какое-то время начинаешь отвечать на вопросы, потом вступать в философские дискуссии, затем едешь на несколько конференций. Через какое-то время у тебя накапливается определенный круг общения и достаточно бросить слух о том что ты собираешься менять работу чтобы кто-нибудь сказал "вау! круто, давай к нам".

Как-то так.
Re: Как менять специализацию
От: Vzhyk  
Дата: 16.01.13 07:40
Оценка:
On 16.01.2013 0:02, dottedmag wrote:

> Что делать senior'у, если хочется развиваться (сильно отличающееся поле

> деятельности, грубо говоря — из энтерпрайза в эмбедщину, из системного
> программирования на C в доказательство теорем на Coq), а времени на это
> в нерабочее время нет (жена, дети и ты ды)?
Никак. Кроме варианта ниже и то на тебя косо смотреть будут.
> Если идти в сильно отличающееся место junior'ом, то это сильная просадка
> по зарплате, но при этом уже есть ипотека, жена, дети и ты ды, аки
> студенту перепорхнуть не получится.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Как менять специализацию
От: Vzhyk  
Дата: 16.01.13 07:48
Оценка:
On 16.01.2013 1:17, dottedmag wrote:

> Или может я не там ищу?

Что до них должно дойти? Где гарантии?
Минусы (с точки зрения типичного работодателя):
1. Ты не можешь найти нормально оплачиваемуе работы в твоей
специализации (не алгол же). Вероятно ты слабый специалист, при условии
большого опыта.
2. Вытекает из первого. Почему ты вдруг станешь хорошим специалистом в
новой специализации.
3. Ты не молодой студент уже и обременен женой, детьми, ипотекой ... и с
тобой не получиться работать также как со студентом.

Это так навскидку.
Плюсов для работодателя у тебя нет.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Как менять специализацию
От: Vzhyk  
Дата: 16.01.13 07:50
Оценка:
On 16.01.2013 1:44, dottedmag wrote:

> Нене, это неправильный наниматель,

Ну тогда ищи правильного.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Как менять специализацию
От: Vzhyk  
Дата: 16.01.13 07:52
Оценка:
On 16.01.2013 1:46, __kot2 wrote:

> надо просто выбирать области новые и малоизученные, типа там GPGPU, в

> которых просто и специалистов-то нет, а восотребованность бывает. тут
> наниматель, хочет-не хочет, а никого кроме самоучек и не найдет
В этой уже специалистов выше крыши. Поздно. Сюда нужно было соваться лет
7-5 назад, когда только появлялось. А так да, искать область которая
только зарождается и лезть в нее, через года 3-5, если угадал, тебя наймут.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Как менять специализацию
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 16.01.13 10:25
Оценка:
Здравствуйте, PragmaticProgrammer, Вы писали:

PP>...и попрактиковаться 100 часов...


это всего-лишь пара бессонных выходных!!!
...ну по-крайней мере для маньяков. во
Re[3]: Как менять специализацию
От: PragmaticProgrammer Великобритания  
Дата: 16.01.13 13:02
Оценка:
Здравствуйте, bastrakov, Вы писали:

PP>>...и попрактиковаться 100 часов...


B>это всего-лишь пара бессонных выходных!!!

B>...ну по-крайней мере для маньяков. во

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

Для того что бы понять технологию или фреймворк, нужно время. Я например никогда тупо не зубрю фреймворк, я пытаюсь понять почему создатели сделали что-то именно так, а не иначе. Я не говорю про такие платформы как PHP. Там naming convention это просто вынос мозга. Возьмите к примеру строковые функции.
Re: Как менять специализацию
От: uuu84  
Дата: 18.01.13 16:12
Оценка:
А смысл? Чем не устраивает нынешнее "поле деятельности"?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.