Сейчас, задним числом, я понимаю что не флеш был виноват в остановке моего развития. И большая часть новооткрытых подходов вполне реализуема. Но в тот момент я была уставшая и обессилившая, нужна была новая кровь. В момент когда усталость от бесконечного забега достигла критических значений я уволилась и начала искать стажировку на питоне.
Надо сказать что к питону я давно присматривалась, даже раньше флеша, но на тот момент он показался заумным. Больше двух лет назад я впервые ткнулась в питон и была поражена легкостью вхождения, логичностью и аккуратностью языка. Это ощущение у меня не прошло и не сменилось разочарованием, хотя есть ощущение что могу пойти куда то еще.
У питона есть своя философия.
Итак, процесс поиска. Линкедин, джин, работа уа. Откликались очень редко, это может быть связано с моей неправильной формулировкой и с временем когда народ боялся расширятся (весна).
Однако еще у меня сложилось впечатление что к флешерам относятся настороженно, не считая их серьезными программистами. Через три месяца мне повезло, и на втором собеседовании (за все это время) я получила тестовое задание.
И тут то я поняла что моих знаний не хватает критически, когда оказалось что надо не только писать код но и настраивать голый сервак.
Итак, грабля для перехода первая - навыки администрирования нужны, это целый отдельный пласт знаний. Администрирование и любовь к терминалу.
И тут я перейду к приятным моментам перехода - библиотеки. Сообщество питонистов мощнейшее, и на любую хотелку мы получаем несколько либ с документацией. И что самое главное - даже с минимальными знаниями языка в сорцах тех либ можно разобраться. Даже в джанге - в какой то момент я поняла что у меня нету времени читать документацию потому что я не знаю куда смотреть и полезла в сорцы (напоминаю что это тестовое, общее количество кодинга / втыкания в питон пару недель) и нашла как вставить нужный мне функционал.
Сразу грабля вторая - питон, не смотря на сахарок и простоту, низкоуровневый. Поэтому внезапно приходится сталкиваться с тем, о чем в бытности флешером даже не знаешь. Я думаю что имеющие вышку по теме не будут сильно этим удивлены, однако для меня это было сложно.
Как пример низкоуровневых штук - во втором питоне есть мозголомающая штука, строки. Они могут иметь бинарный и ютф формат иии кормят эксепшенами.
Грабля третья - виндовз офф.
Нет, конечно можно пытаться работать на винде, но этот процесс будет неудобным, как и работа с флешом на линуксе (рвется дебаг сессия, нету последних версий).
Так что здравствуй линукс или макось и консолька.
Как оказалось, консолька очень клевая вещь, надо только уметь готовить. Есть подсветка , автокомплит, история комманд (zsh наше все).
И да, если до этого не знали в баш прйдется вникать, хотя бы по мелочи. И в утилиты - grep например. И еще, не то чтобы грабля, скорее бонус - регулярки придется выучить. После открываются чудесные перспективы в виде замены по хитрому алгоритму в иде и поиск чего то.
Бонусом к питону идут функциональные приемы, без которых тяжко из-за особенностей языка.
Невозможность типизировать / знать что должно прийти, входящие параметры в методе вводят в ступор по первому времени. Но со временем приходит понимание что это все не страшно, и уменьшение количества кода и увеличение его гибкости того стоит. Есть шикарнейший дебаггер в котором все видно. Все эти ограничения приводит это к тому что на тип перестаешь опираться и приходится делать максимально ясную архитектуру. В первое время я писала адовую ересь, пытаясь оградится от динамичности языка. Отгородится невозможно, надо с этим жить.
Зато в какой то момент понимаешь что код, типы, названия подменяются в процессе написания образами, ты точно понимаешь что как и зачем делаешь, в силу того что нету переходов на ритуальные танцы с кодом чтобы обозначить типы, заминировать все в стиле “шаг вправо, шаг в лево, идите лесом”. Это позволяет высвободить ресурсы мозга и писать и читать зубодробительные конструкции которые не питонистов вводят в каталепсию.
l.brand_in = lambda x: [brand for brand in brands if brand.lower() in x[0].lower()]
Итак, после полугода работы на питоне что я имею в сухом остатке. Полюбила консоль, регулярки, получила более четкое понимание процессов, натренировавшуюся память и возможность писать код без иде, базовые навыки администрирования, полюбила и близко узнала ооп, начала практиковать функционалку, научилась работать с эксепшенами. В принципе это все можно получить и на флеше, но не хватает мотивации в силу того что “и так все работает”.
И да, я обратно полюбила флеш. То что я не знала толком как его использовать не делает его плохим.
Надо сказать что к питону я давно присматривалась, даже раньше флеша, но на тот момент он показался заумным. Больше двух лет назад я впервые ткнулась в питон и была поражена легкостью вхождения, логичностью и аккуратностью языка. Это ощущение у меня не прошло и не сменилось разочарованием, хотя есть ощущение что могу пойти куда то еще.
У питона есть своя философия.
- Красивое лучше, чем уродливое.
- Явное лучше, чем неявное.
- Простое лучше, чем сложное.
- Сложное лучше, чем запутанное.
- Плоское лучше, чем вложенное.
- Разреженное лучше, чем плотное.
- Читаемость имеет значение.
- Особые случаи не настолько особые, чтобы нарушать правила.
- При этом практичность важнее безупречности.
- Ошибки никогда не должны замалчиваться.
- Если не замалчиваются явно.
- Встретив двусмысленность, отбрось искушение угадать.
- Должен существовать один — и, желательно, только один — очевидный способ сделать это.
- Сейчас лучше, чем никогда.
- Хотя никогда зачастую лучше, чем прямо сейчас.
- Если реализацию сложно объяснить — идея плоха.
- Если реализацию легко объяснить — идея, возможно, хороша.
- Пространства имён — отличная штука! Будем делать их побольше!
Итак, процесс поиска. Линкедин, джин, работа уа. Откликались очень редко, это может быть связано с моей неправильной формулировкой и с временем когда народ боялся расширятся (весна).
Однако еще у меня сложилось впечатление что к флешерам относятся настороженно, не считая их серьезными программистами. Через три месяца мне повезло, и на втором собеседовании (за все это время) я получила тестовое задание.
И тут то я поняла что моих знаний не хватает критически, когда оказалось что надо не только писать код но и настраивать голый сервак.
Итак, грабля для перехода первая - навыки администрирования нужны, это целый отдельный пласт знаний. Администрирование и любовь к терминалу.
И тут я перейду к приятным моментам перехода - библиотеки. Сообщество питонистов мощнейшее, и на любую хотелку мы получаем несколько либ с документацией. И что самое главное - даже с минимальными знаниями языка в сорцах тех либ можно разобраться. Даже в джанге - в какой то момент я поняла что у меня нету времени читать документацию потому что я не знаю куда смотреть и полезла в сорцы (напоминаю что это тестовое, общее количество кодинга / втыкания в питон пару недель) и нашла как вставить нужный мне функционал.
Сразу грабля вторая - питон, не смотря на сахарок и простоту, низкоуровневый. Поэтому внезапно приходится сталкиваться с тем, о чем в бытности флешером даже не знаешь. Я думаю что имеющие вышку по теме не будут сильно этим удивлены, однако для меня это было сложно.
Как пример низкоуровневых штук - во втором питоне есть мозголомающая штука, строки. Они могут иметь бинарный и ютф формат иии кормят эксепшенами.
Грабля третья - виндовз офф.
Нет, конечно можно пытаться работать на винде, но этот процесс будет неудобным, как и работа с флешом на линуксе (рвется дебаг сессия, нету последних версий).
Так что здравствуй линукс или макось и консолька.
Как оказалось, консолька очень клевая вещь, надо только уметь готовить. Есть подсветка , автокомплит, история комманд (zsh наше все).
И да, если до этого не знали в баш прйдется вникать, хотя бы по мелочи. И в утилиты - grep например. И еще, не то чтобы грабля, скорее бонус - регулярки придется выучить. После открываются чудесные перспективы в виде замены по хитрому алгоритму в иде и поиск чего то.
Бонусом к питону идут функциональные приемы, без которых тяжко из-за особенностей языка.
Невозможность типизировать / знать что должно прийти, входящие параметры в методе вводят в ступор по первому времени. Но со временем приходит понимание что это все не страшно, и уменьшение количества кода и увеличение его гибкости того стоит. Есть шикарнейший дебаггер в котором все видно. Все эти ограничения приводит это к тому что на тип перестаешь опираться и приходится делать максимально ясную архитектуру. В первое время я писала адовую ересь, пытаясь оградится от динамичности языка. Отгородится невозможно, надо с этим жить.
Зато в какой то момент понимаешь что код, типы, названия подменяются в процессе написания образами, ты точно понимаешь что как и зачем делаешь, в силу того что нету переходов на ритуальные танцы с кодом чтобы обозначить типы, заминировать все в стиле “шаг вправо, шаг в лево, идите лесом”. Это позволяет высвободить ресурсы мозга и писать и читать зубодробительные конструкции которые не питонистов вводят в каталепсию.
l.brand_in = lambda x: [brand for brand in brands if brand.lower() in x[0].lower()]
Итак, после полугода работы на питоне что я имею в сухом остатке. Полюбила консоль, регулярки, получила более четкое понимание процессов, натренировавшуюся память и возможность писать код без иде, базовые навыки администрирования, полюбила и близко узнала ооп, начала практиковать функционалку, научилась работать с эксепшенами. В принципе это все можно получить и на флеше, но не хватает мотивации в силу того что “и так все работает”.
И да, я обратно полюбила флеш. То что я не знала толком как его использовать не делает его плохим.