СТАТЬ ПРОГРАММИСТОМ
الذهاب إلى القناة على Telegram
Программирование. Задача канала - полностью разобрать путь становления разработчика, проведя по нему читателя наиболее эффективно. Админ: @tokovsam Реклама: @daniilrekl Python, разработка, питон, бэкенд, фронтенд, computer science, JavaScript
إظهار المزيدلم يتم تحديد البلدالفئة غير محددة
2 309
المشتركون
لا توجد بيانات24 ساعات
لا توجد بيانات7 أيام
لا توجد بيانات30 أيام
أرشيف المشاركات
2 309
“зачем?”
Долго думал как написать эту серию постов, хочу чтобы она была максимально полезной, а не очередной подборкой душных советов, с оттенком такого назидательного тона:
‘...надо прочитать Кнута,
надо изучать cs,
надо выучить Си...’
Это все, безусловно, замечательные вещи, о многих из них я писал здесь на канале, но вот это вот “надо”, когда речь идет о становлении сильного специалиста, меня очень смущает.
Да, ‘книга дракона’(сленговое название классического труда о компиляторах - «Компиляторы: принципы, технологии и инструменты») великолепна, но необходимо ли ее прочитать каждому, кто хочет стать сильным программистом? Ну разумеется нет, более того, это может стать потерей достаточно большого куска времени. Повторюсь, книга великолепна, и если тема рассматриваемая в ней действительно нужна для будущего развития - читать обязательно, но если нет - зачем?
И вот это “зачем?” нужно не забывать спрашивать у тех, кто с невероятным рвением рекомендует читать подобные классические и сложные труды начинающим. И если ответ не пересекается с вашей целью(понять это легко по вопросу “действительно ли те, кто достиг нужной нам цели, штудировали эту книгу?”), то я бы советовал очень и очень осторожно относиться к подобным советам.
2 309
DATApedia - канал про Data Science, и все что связано с данными, в котором вы найдете:
— Переведенные зарубежные статьи, которые есть только у нас;
— Возможность предложить нам статью для перевода;
— Полезные видео;
— Интересные опросы;
— Профессиональный юмор;
Присоединяйтесь, давайте расти как профессионалы вместе 😉
Подписаться: https://t.me/data_science_wiki
2 309
Как стать именно “сильным” программистом
Перевое видео на моем ютуб канале - https://youtu.be/jXyFCLnN06c
Как раз посвящено пониманию процесса программирования, логично начать именно с этой темы. Следующие посты этой серии будут касаться других вопросов(не хочу тоже самое дублировать текстом), но важно начать именно с этого.
2 309
Думаю, есть смысл завершить серию постов про “перевод с бизнесового на программистский”, дальше надо ударяться уже в какие то конкретные темы, разборы собесных вопросов и т.д. и т.п. Все это будет на канале с roadmap-ом(кстати, на нем уже 300 человек, если еще не присоединились, welcome - @into_frontend ), разумеется, там все будет крутится вокруг фронтенда, но какие-то общие темы есть везде и скорее всего я их будут кратко расписывать и на этом канале.
Окей, эту серию завершили, следующая на очереди - ‘как стать именно “сильным” программистом’. Она будет куда важнее, сложнее и интереснее.
2 309
Смотрите, одна из самых странных для меня вещей в рекламе всяких курсов, это “после нашего в курса у вас в портфолио будет вот этот проект”, еще более странно, что это преподносится как преимущество.
В реальности же получается: курс оканчивается, и единовременно на рынок выходят ребята, которых мало того, что учили по одной программе, так еще у них даже проекты одинаковы. Грубо говоря, этот курсовой проект, не то что не дает преимущество, а сразу добавляет конкурентов. Поскольку, работодатели все эти проекты видели(ну или в ближайшее время увидят, благодаря сокурсникам обучающегося), они будут сравнивать его не просто с общим потоком, так еще и с теми кто этот курс прошел.
Мне кажется, это крайне иррациональная идея, вместо того, чтобы участвовать в одной сложной игре(теория игр, если не читали, посты выше), начинать играть еще в одну игру, да посложнее.
2 309
Не хочу долго и тягомотно расписывать почему это «крутая штука». Поэтому быстренько, пару пунктов.
Про изучение фронтенда
-на пару постов выше было про большие з/п во фронтенде, так вот, сейчас происходит какой-то пик этих самых больших зарплат. При этом, вход во фронтенд все еще - выполнимый квест. Кол-во вакансий - огромно, не особо люблю концепцию фриланса, но даже с ним здесь все очень и очень хорошо.
КПД у изучения фронтенда сейчас выглядит крайне привлекательно, и найти лучшего соотношения затраченных усилий к общему выхлопу - не могу.
-JS, все крутится вокруг него, хорошее знание js - жирный плюс вообще к любому резюме(речь не только о фронтенде).
-немного избито, но главный плюс фронтенда “видеть результат своей работы прямо здесь и сейчас”, с этим не поспоришь, все действительно так
Про сам роадмап
-будет куча крутейших учебных материалов неизвестных новичкам(поверьте, там мягко сказать, очень все хорошо)
-будут разбираться разные техники изучения(очень важная тема, которой редко касаются)
-все в контексте ‘реального’ мира, т.е. что-то вроде: этот инструмент полезен при изучении, но в реальности на работе его не юзают из-за такой-то причины; так в реальности никто не пишет, но об этом могу спросить на собесе; и т.д. и т.п.
Вообщем, welcome - Во фронтенд ( @into_frontend )
2 309
ВАЖНАЯ НОВОСТЬ
Канал пустовал несколько недель(большое спасибо, что не отписались), все это время я доводил до ума одну историю, которая, как мне кажется, будет интересна всем, кто хочет вкатиться в айтишку.
Кратко: это такой формат канала-роадмапа/плана изучения по фронтенду.
Важный момент - именно формат канала, то есть на нем будут постепено выходить шаги этого роадмапа разбираться разные подводные камни(js на них определено богат), учебные материалы, типичные ошибки определенного шага, пути того как их можно избежать и т.д. и т.п.
Начнем с абсолютного нуля, а финальной целью будет достаточный уровень для входа в профессию(скорее всего, последнии этапы этого роадмапа будут полностью посвящены собесам). Пока ориентируемся на React, возможно это изменится(до него еще дойти надо), но честно говоря, особых причин это сделать не вижу.
Примерные сроки - 6 месяцев, это довольно оптимистичный прогноз(обычно эту цифру умножают раза в полтора-два). В любом случае этот роадмап останется, и можно будет идти по нему в своем темпе.
2 309
Как программисты быстро меняют направление разработки
Прогер из серьезного gamedev(условный unreal) решил податься в HC игры(это очень странное решение, но мало ли, все в жизни бывает).
Что он сделает? Скорее всего по-быстрому пробежи основы и запилит несколько максимально типовых проектов(ориентируясь на сторы, пару клонов популярных игр). Почему, он же может сделать что-то с абсолютно другим подходом, что-то очень и очень крутое, на голову выше типовых hyper casual?
Все потому, что он прекрасно понимает что интересно работодателю. А работодателю куда интересней стабильность рабочего процесса(в случае hc - умение пилить простые типовые игры), чем гениальность разработчика(в очень редких случаях это по-другому).
Да, интересные проекты сыграют на руку при прочих равных, но ситуация когда в портфолио нет чего-то близкого к проблемам будущей работы, очень и очень снижает вероятность ее получения.
2 309
А что относительно перспектив именно {подставить любой ЯП}?
Все очень просто, если на нем уже много всего написано, то все с ним будет хорошо.
Ставим себя на место бизнеса, к нам приходит разработчик, и говорит “давайте ка потратим время(==деньги, программисты то бесплатно не работают)”, и перепишим весь наш продукт на более “хороший” ЯП.
Что бизнес скажет такому разработчику? Скорее всего спросит: увеличит ли это количество клиентов/продаж/прибыли, если нет - то зачем?
2 309
Какой ЯП наиболее перспективно учить?
Мне очень часто задают этот вопрос, в такой(ну или очень близкой) формулировке. На самом деле, под этим вопрос скрывается что-то вроде: какие спецы наиболее востребованы на рынке, не зря ли я учу этот язык?
Программисты не работают в отрыве от задач бизнеса, поэтому ставим себя на место онного. Бизнес же поставит себя на место пользователя, чтобы понять, что востребовано(на самом деле, в этой цепочке еще должен присутствовать клиент, который в свою очередь и взаимодействует с конечным пользователем, но мы чуть упростим, смысл особо не изменится).
Чем пользуются все? На самом деле, все сводится к 2-ум позициям: сайты и апки. Когда вы заказываете еду, или смотрите кино, или покупаете билеты в кино, или ищите на stackoverflow, или читаете этот пост, и это перечисление можно продолжать бесконечно.
У этого, разумеется, есть и обратная сторона - конкуренция, особенно во фронтенде, особенно на ранних этапах. И те же нейронки, которые могут в код(серия постов выше), первым делом, будут направлены в эту область.
Забавно, что с точки зрения программиста, вопросы из начала поста - кардинально разные. По-программистки, перспективный ЯП - тот, который не создаст серьезных проблем в обозримом будущем. Но большинство популярных нынче ЯПов, не то что претендуют на проблемы в будущем, а уже их имеет(поэтому, кстати, перспективные ЯПы и создаются).
2 309
Теория игр и коммерческая разработка
Первым делом выведем простое, но очень важное, я бы даже сказал фундаментальное правило, отражение которого, можно будет увидеть во всех постах этой серии.
В серии про изучение computer science(в разделе про математику) было упоминании замечательной книги - Теория игр [Диксит Авинаш, Нейлбафф Барри].
У меня есть очень ‘правильное’(с маркетинговой точки зрения) представление теории игр(отойдем от всей этой скучной математической строгости). Думаю все слышали о Макиавелли, мыслителе который сумел представить такую тонкую вещь как стратегия политических игр в литературе, даже скорее в учебной литературе. Но популярным его труды сделало скорее то, что многие вещи из них удивительным образом ложатся на повседневность(будь то отношения в рабочем коллективе или даже личные).
Однако, у трудов Макиавелли есть большущий минус - это не наука, не выстроенная система, а всего лишь набор правил/советов/наблюдений. То есть как только задача выходит за рамки описанных автором, мы не можем быть столь же эффективны, как был бы сам автор(это кстати, очень в духе стратегий и тактик Макиавелли, дать советы к типичным задачам, но как только сложность задач вырастет, эти советы бесполезны, нужен сам Макиавелли).
Так вот, теория игр - и есть та самая система. С помощью нее, мы не просто пользуемся чужими открытиями, а можем делать их сами. Если совсем упростить, то с помощью теории игр можно научиться думать как Макиавелли(или любой другой известный стратег) и решать проблемы с той же эффективностью(это, мягко скажем, покруче простого списка советов).
Под термином “игра”, понимается процесс, в котором несколько сторон ведут борьбу за свои интересы. Отличный пример - собеседование. Две стороны: работодатель и соискатель. Последовательные ходы. Но самое интересное - условие победы, если соискатель проходит, то побеждают обе стороны(работодатель то пришел за работником).
Однако, мы можем посмотреть чуть под другим углом, что если работодатель представлен в лице hr-специалиста, изменит ли это игру? Ну вообще-то да, не говоря уже о критериях подбора соискателя, еще в эту обойму добавляется тех. специалист. И вот задача из “соответствовать требованиям бизнеса” плавно перетекает в “соответствовать требованиям hr, а потом и требованиям представителя команды разрабов”.
Но мы все еще смотрим на игру исходя из предположения, что соискателю нужна эта работа. Например, есть довольно известный(и тактический) ход - перед тем как просить повышение з/п, прогуляться по собесам и узнать сколько готовы платить другие(а то мало ли, вдруг уже переплачивают, неудобно получится).
Но, может ли быть такое, что собеседование пройдено, но при этом соискатель проиграл? Ну вообще то да, если работа не оправдает ожиданий, в таком случае выигрыш для соискателя - не пройти собес(к примеру, поняв что “шаблонные” плюсы компании, скорее всего обозначают их отсутствие).
В любом случае, чтобы гарантированно хорошо играть, нужно фундаментальное правило теории игр: прежде чем вступать в игру, мы должны понять что хочет оппонент(соперник - не очень корректное слово) и исходя из этого делать ходы/выстраивать тактику.
И самый простой способ это сделать - поставить себя на его место. Рассмотрим парочку примеров
2 309
Начнем серию постов о “переводе с языка бизнеса на программистский”(или про стандартную работу программистов). Не знаю по срокам, тем очень много, копать можно бесконечно, ориентировочно посты этой серии будут выходить до конца недели. #серия_постов
2 309
https://youtu.be/Dc--b_cdnWg - на канале Andrey Sokolov куча отличных видео на тему связки Python+Blender. Как раз про создание аддонов.
#youtube #python #blender
2 309
Нестандартная область применения ЯПа
Очень редко обсуждаемая тема, при этом - крайне интересная и с каким то гигантским потенциалом.
Рассмотрим на примере python
Сразу скажу, о масштабах говорить сложно, кто-то буквально может выстроить на этом карьеру, а для кого-то дальше возможного пет проекта или даже простого развлечения не зайдет. В любом случае, о такой возможности стоит знать.
Идея очень простая - мы можем намеренно выбрать нестандартную область применения ЯПа. Что бы говорить о чем-то более конкретном, давайте выберем оную, прошлая серия постов началась с захода в искусство, сделаем так же, только из 2D переместимся в 3D.
Blender - бесплатный опенсорсный 3D-редактор, с крутой историей развития. Долго, упорно, многие в него не верили, но по итогу - он сейчас в топе, в него сильно вложились большие ребята, его много где используют, огромное комьюнити, вообщем, все у него прекрасно.
Для нас важно, что он еще и “дружит” с питоном, дружба выражается во встроенном интерпретаторе, редакторе кода, консоли. Думаю, очевидно, что совсем небольшая часть 3d-художников пользуется этим инструментарием(программирование - не самый распространенный навык за пределами комьюнити программистов). И здесь появляется первая интересная возможность.
Использование программирования для не программистских задач.
https://youtu.be/r8hqLh_HE08 [англ.]- видео с канала Blender Daily, где David Mignot показывает процесс и объясняет основы создания арта с помощью кода. Собственно, сам код очень даже простой, а результат достаточно интересный.
Большое преимущество генеративного процесса в том, что по сути художник задает рамки, а уже компьютер дает варианты, и разумеется он куда продуктивней человека. Хоть 1000 рендеров, вопрос разве что в мощности машины, художнику лишь остается выбрать и возможно чуть доработать нужный. Просто огромное преимущество, оставляющее вне всякой конкуренции.
Из интересных особенностей: в такой области применения особого смысла говорить о качестве кода - нет, мы его пишем под конкретный результат, поэтому как только результат получен, то насколько код хорош/плох нас особо волновать не должно.
Вторая возможность - именно программистские задачи в нестандартной области
Blender позволяет использовать аддоны, собственно разработка аддонов - и есть нестандартное применение python.
Blender - востребован, при этом очень немногие художники могут в программирование, однако аддоны сильно облегчают процесс и этим самым художникам они нужны, собственно здесь на сцену и выходят программисты.
Это отдельный рынок со своими правилами, со своим спросом/предложением, со своей ценовой политикой и т.д. и т.п. И он абсолютно параллелен типичным питонским областям применения. Таких рынков много и их поиск, разумеется, отдельный большой труд. Он может увенчаться как большим успехом, так и большим ничем.
Тут нужно тратить силы, тратить время, искать. Я не рекомендую относится к таким вещам прям очень серьезно(все-таки время - главный буст карьеры, и тратить его просто так - такое себе), но время от времени проводить анализ из разряда “а можно ли здесь покодить” - идея неплохая.
#blender #python #youtube
2 309
Окей, мне кажется логичным, что дальше должны выйти серии постов про:
>> перевод с языка бизнеса на программистский(или стандартная работа программистов)
>> как стать именно “сильным” программистом
>> как зайти в нейронки
>> как зайти в создание продуктов
Они выйдут в ближайшее время, постараюсь не делать по 10 постов в один день, а более-менее соответствовать графику 1-2 ежедневно
Но перед этим хотел затронуть совсем простенькую тему о нестандартной области применения ЯПов, она вроде одновременно относится и ко всем и к ни одной из вышеперечисленных серий, так что пускай будет перед ними.
2 309
✅ Хотим обратить ваше внимание на полезный telegram-канал для обучения высокоуровневому языку программирования Python
На канале ежедневно публикуются задачи по Python и Machine Learning: алгоритмы, функции, классы, регулярные выражения, итераторы, генераторы, ООП, исключения, numpy, pandas, matplotlib, scikit-learn, TensorFlow и многое другое!
✔️Станьте специалистом по Python вместе с каналом "Задачи по Python и машинному обучению"
2 309
Ты перешел в 11 класс и хочешь получить качественное образование в сфере IT?
Сдать ЕГЭ по информатике и поступить в ВУЗ мечты легко!
Подпишись на @toadharvard_blog
Здесь ты найдешь:
🐍 Источники для изучения Python с нуля
📖 Статьи для подготовки на высокий балл
❔Советы от учеников сдавших на 100
👨🏫 Список лучших преподавателей
©️Авторские способы решения
9️⃣3️⃣ - средний балл подписчиков канала
Все это абсолютно бесплатно в авторском канале стобальника.
Переходи на канал, чтобы не упустить свою мечту
2 309
Чтож делать то?
1.Ну как я и сказал в предыдущем пункте, если не хотите, чтоб нейронки отняли у вас работу, делайте то, что в обозримом будущем они не смогут. Первым делом, они будут закрывать типичные проблемы и запросы бизнеса, и если изначально заходить глубже, то это фактически игра не на их поле.
2.Самое время заняться нейронками, вот прям самое, я бы сказал критическая точка. Нейронки потихоньку начинают претендовать на замену целых профессий(пока до этого далеко), это уже не игрушки, а полноценные рабочие инструменты. Если вы по каким то причинам откладывали, но при этом всегда хотели прикоснуться к прекрасному миру нейронных сетей, то сейчас самое время.
Если вас нейронки не волнуют от слова совсем, то стоит хотя бы ознакомиться, вопрос времени когда все мы(вне зависимости от профессий) будут пользоваться кучей нейронок в работе.
3.Скоро появится куча крайне богатых чуваков, которые в молодости просто сделали какой то продукт на основе нейронок, возможно очень простенький.
В сериале “Кремниевая долина”(оч. рекомендую, это великолепная сатира на мир it) есть даже персонаж, который крайне богат и считает себя гуру it бизнеса, но все что он создал - интернет радио в нулевых.
Это не значит что нужно присобачивать нейронки ко всему подряд, авось сработает, но это значит что какой нибудь пет-проект при определенных условиях может круто зайти.
И условный чат бот, с которым пользователю по какой-то причине хочется часами/днями/месяцами болтать(тут нужна явно подписочная модель), может принести своему создателю огромные деньги.
Очень советую узнать, что такое MVP
2 309
Настоящее программирование
Ох как многим не понравиться этот кусочек текста, сорян
Есть такой, крайне известный в сообществе программист - George Hotz. Персонаж интересный. У него была бурная хакерская юность, сейчас(ему 31) он остепенился, завел небольшой нейро-стартапчик, и время от времени стримит.
Кстати, очень даже крутой нейро-стартапчик, по сути за пару тысяч долларов они оснастят любую машину автопилотом. Видео где эта штука проезжает 100 миль.
На одном из стримов он выдал:
“Software Engineering is trash, it's just translating business requirements into React code”
В переводе: “SE - треш, это просто перевод бизнес-требований в React код.”
Забавно, на этом же стриме, он говорит, что эту функцию скоро возьмут на себя нейронки.
Ну и в чем он не прав? У бизнеса 2 требования: быстро и дешево, и как бы не хотелось обратного, на дистанции нейронки точно это дадут.
Точно так же, как и с арт директором, все сводится к тому, что ‘бизнес’ будет говорить нечто вроде: здесь добавь форму оплаты, после подтверждения сохрани клиента в базе, и шли ему еженедельные предложения о скидке.
И это понятные требования, мы пользуемся каким то продуктом и понимаем, что в нем есть. Но есть и те продукты, которые обывателю абсолютно не ясны, их не получится кратко объяснить, как условный CRUD.
Возьмем сложную задачу, например создание ЯПа(она излишне сложная, это просто пример), общая модель достаточно простая: лексер, парсер, токены, LLVM, AST и т.д. Это комплексная задача, которую надо достаточно глубоко понимать, и это проблема, которую нейронки пока не решают. Нейронке же надо как то подавать задачу, как подать следующий шаг, если ты его банально не знаешь? Это во-первых.
Во-вторых востребованность таких задач для бизнеса куда ниже, чем условное клепание формочек. И если нейронки до них дойдут, то это случится в последнюю очередь.
Знаю, что звучит издевательски, но если уж говорить о том как себя обезопасить, то ‘стать крутым программистом’ более чем верный ответ.
