Как стать автором
Обновить

Комментарии 76

Будучи сеньором, я:

  • Во первых могу поднять окружение с новым языком сам

  • Могу попросить написать простой алгоритм любую Copilot.

Мне не надо учить синтаксис нового языка - я могу его в крайнем случае загуглить.

Мне нужно знать экосистему и распространенные паттерны программирования. Те самые, которые показывают в твоем коде на Go, пришел ты из мира Java или из PHP.

Ни того ни другого, как я понимаю, тут нету. Вот и напрашивается риторический вопрос: ...?

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

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

Паттерны разработки на конкретном языке у нас в курсах есть, причем в количестве. Как раз чтобы не было такого "Программист на фортране может на любом языке написать программу на фортране" ;)

Информацию про экосистему мы тоже даем.

Хочу послужить живым примером. Я ни разу не синьор. Все алгоритмические рассчеты могу сделать на плюсах после самостоятельного прочтения Лафоре, но вот беда, подключить библиотеку или вывести какую-нибудь картинку, тем более анимированную - это для меня нерешаемая задача. Я не хочу тратить годы, чтобы по экрану запрыгал мячик и при этом у меня есть прикладная задача (https://habr.com/ru/articles/738388/), которую я решил и хочу презентовать в виде анимированной картинки. Я предполагаю как-то нарисовать упрощенную дорожную сеть города, синими кружочками обозначить движущиеся по ней автобусы, красными и зелеными - появляющихся пассажиров и их места назначения, автобусы должны объезжать пары из зеленого и соответствующего ему красного кружочка. На плюсах могу для каждого кадра вычислить положения всех кружочков на карте. Но как это все нарисовать? Посоветуйте мне что-нибудь. Сколько времени займет обучение такому умению по вашим курсам?

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

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

Спасибо Ваш за совет. Пару часов - это конечно очень оптимистично.
.... 9 месяцев спустя )))
Все специалисты думают о своих годами приобретаемых знаниях: "Да, ерунда, за пару часов освоить можно". Я вам так из любого известного мне курса математики за пару часов все его центральные результаты опишу. Только конструкции в голове за 2 часа не возникают: 3-4 страницы в день - уже хороший результат. Мне кажется странным, что нет какой-нибудь простой рисовалки, которая дополняет С++ просто абстракцией "альбомного листа" с каким-то набором базовых фигур и координатной сеткой.

Если не найду решения полегче, придется, видимо, осваивать godot.
Кстати, я смогу потом преобразовать мой результат в Gif?

рисовалки, которая дополняет С++ просто абстракцией "альбомного листа" с каким-то набором базовых фигур и координатной сеткой.

Возможно, вам поможет Фреймворк Qt для c++. Конкретно альбомный лист и базовые фигуры - QPainter. Для анимаций тоже есть инструменты

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

Я - математик, не программист и очень не хочу им становится

В таком случае эти курсы вам не помогут. Они ориентрованы на разработчиков.

По поводу описанной вами задачи. Финальная цель - анимированная картинка. А самостоятельное создание этой картинки именно путем программирования самоцелью не является. Так?

Тогда напрашивается вариант задизайнить и анимировать картинку в каком-нибудь Adobe After Effects, Photoshop или одном из других инструментов. Второй вариант - составить ТЗ и отдать на откуп студии/фрилансеру.

Ну и третий вариант. Посмотреть в сторону анимации в питоне. Вы упомянули C++ и намерение рендерить каждый кадр. Это 100% оверкил. А вот питон - язык, при разработке которого учитывается удобство для ученых. То есть тех, кто не хочет погружаться в программистские дебри, а хочет решить какую-то конкретную задачу.

Питон пробовал, как-то там все запутанно, что даже примеры из книжки не запускались. Ладно, разбогатею - отдам на откуп: пусть другие седеют )))

ну у вас, конечно, хоть вы и математик, такая постановка задачи детская... это примерно как я, 20 лет назад изучив что-то из курса высшей математики и физики инженерного ВУЗа, пришел бы к крутому физику, и сказал - вот, у меня есть крутые идеи, хочу их проверить, но изучать что-то лень, читать статьи лень, волосы на лобке от этого седеют, формулы из книжки не запускаются. Я вот скрипт написал, помогут ли курсы юного физика с примерами наполнить их формулами из докторской диссертации? Мне б только выдрать нужные, не разбираясь, а то волосы седеют...

По делу - выведите сначала из своей программы удобный интерфейс (N на M разрешение мира, вот png бэкграунд, вот по таймеру пересчитываются координаты объектов, 3 массива например). Дайте ТЗ, что и как рисовать (где красный кружок, где синий). Выложите на Git, я вам за час-два сделаю рендер по желанию под MacOS или iOS, сможете, меняя свой код на С++, сразу проверять симуляцию.

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

Попробуйте Processing. Возможно, он подойдет под ваши задачи.

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

Чтобы не сильно погружаться можно попробовать это сделать в Wolfram Mathematica или в MATLAB.

Не знал, что Wolfram Mathematica позволяет делать программные анимации. Спасибо, гляну.

Тогда вы удивитесь, что ещё он позволяет )

Можно попробовать скачать qt и посмотреть какие уже готовые примеры там есть, скорее всего там будет пример виндовс приложения с графическим интерфейсом с кнопками /картинками/анимациями и далее можно будет попробовать сделать свое на его основе.

Для Вашей проблемы существует две графические библиотеки - SDL и SFML.

Первая написана на C и использует процедурный подход к написанию кода. Вторая написана на C++ и использует ООП.

Лично я пробовал только SFML и в нем из коробки есть всё необходимое вроде создания окна в пару строчек, система ивентов окна/мыши/клавиатуры, звуковая система, подгрузка изображений/спрайтов. Всё это ещё и кроссплатформенное

Здорово, что она еще и бесплатная.
Честно, думал уже PNG нагенерировать проще, чем подходящий инструмент найти.

В описании SFML меня, правда, пугает вот это:

You might have noticed from the table that SFML modules can also depend on one another, e.g. sfml-graphics-s.lib depends both on sfml-window-s.lib and sfml-system-s.lib. If you static link to an SFML library, make sure to link to the dependencies of the library in question, as well as the dependencies of the dependencies and so on. If anything along the dependency chain is missing, you will get linker errors.

If you are slightly confused, don't worry, it is perfectly normal for beginners to be overwhelmed by all this information regarding static linking. If something doesn't work for you the first time around, you can simply keep trying always bearing in mind what has been said above. If you still can't get static linking to work, you can check the FAQ and the forum for threads about static linking.

If you don't know the differences between dynamic (also called shared) and static libraries, and don't know which one to use, you can search for more information on the internet. There are many good articles/blogs/posts about them.

Ладно, есть знакомые программисты, зайду к ним в кармический долг ))))

Проект создания математических анимацией на питоне https://github.com/3b1b/manim

Примеры анимаций https://github.com/3b1b/videos

Человек, который это делает, ведёт канал на YouTube https://youtube.com/@3blue1brown?si=vCx4-h810Hfyoisj

Спасибо, если не получится по-другому придется изучить питон.

Разработчик рано или поздно приходит к одному факту, что код приходится чаще читать, чем писать. Даже если тебе везет, и ты переходишь от одного нового проекта к другому, то всё равно потребуется смотреть чужой код: на code review, исходники используемых библиотек. Но гораздо чаще приходишь в проект, который существует уже не первый год, и в нём тонна кода, в которой придется разбираться. Как это делать без знания языка? На мой взгляд никак.

Проблема сейчас не с обучением, а с созданием новых контор в айти. То есть с рабочими местами. Их нет. Сайты типа hh ru маскируют отсутствие рабочих мест, размещают фейковые вакансии, принимают резюме на фейки, проводят собеседования. Создается видимость нормального рынка труда. Вакансий нет. Существующим конторам выгодно поддерживать видимость открытых вакансий, чтобы программисты без работы не создавали своих компаний, потому что они станут конкурентами в будущем. Короче hh ru это такой ...отрон, который просто защищает интересы владельцев текущих компаний айти. Если людей учат, то рынок должен РАСТИ, должно увеличиваться количество компаний и вакансий. Стагнация означает, что всех выгоняют.

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

Ага, за последний год проводили 3 раунда собеседований в поисках кандидата. В том числе на hh.ru вакансии постили. Задача - найти хотя бы миддла, который хотя бы знал самое элементарное по специальности (в нашем случае - iOS разработка). Отсмотрев за полгода 300 резюме, проведя 30 собесов, картина приблизительно такая:

  • 50% это энтерпрайз, где люди годами сидят на одном монструозном проекте, кроме фикса багов, редизайна вьюх и написания тестов ради тестов ничего не делали и не хотят, как архитектурно работает их же приложение не знают, хотя бы просто перечитать SwiftBook перед циклом собесов - зачем? Но рейт хотят по верху рынка или выше

  • 40% это джуны, у которых в CV половина проектов ненастоящие, которые клянутся работать где угодно и за еду, а через 3-4 месяца будут стучать тебе по носу оффером, распечатанном на ватмане, из другой компании, где дают на 300 долларов больше

  • 9% это заводчане, которые по 15 лет проработали на заводе, и макс. 1-2 года назад ушли на галеру за зарплатой, но образ мышления и подходы остались заводскими + даже если и отвечают правильно, очень сильно тормозят.

Так что найти хорошего сотрудника что до кризиса, что сейчас, задача со звездочкой та еще

Спасибо на добром слове, удачи с проектом! ?

Очень интересно??

А можно ли в будущем будет осуществлять вход через Гитхаб?

У нас в планах есть авторизация через гитхаб, яндекс, вк и другие сервисы!

Вроде сейчас это немного незаконно... хотя странно - незаконно это только для российских проектов. Если проект (хотя бы формально) будет иностранные, а тут - только команда разработчиков - то должно быть норм.

Спасибо, что предупредили! Да, перед реализацией обязательно выясним, что и как.

Орнул с мемов, удачи с проектом.

Это, безусловно, самый живой из всех курсов, которые я видел. Хочется, чтобы проект окреп и продолжился. Ребята, вам реально спасибо не только за то, что вы делаете, но и за то, КАК вы это делаете. Удачи!

Спасибо на добром слове! Будем стараться)

Отличная возможность учить язык без отрыва от работы. Просто чудесно. Спасибо!

Вы планируете несколько статей об этом проекте? Будут ли статьи опенсорсными? По какой свободной лицензии?

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

Сначала думала, что вы пошутили с вопросом про лицензию статей) Насколько я понимаю правила хабра, все публикуемые материалы выпускаются по "простой (неисключительной) лицензии на использование Контента", описанной в пользовательском соглашении хабра.

То, что описано в пользовательском соглашении Хабра, не является свободной лицензией и не передаёт мне, читателю, никаких прав.

Значит, ваша статья об опенсорсе — не опенсорс? Вы не разрешаете свободно использовать её? Её нельзя адаптировать, нельзя создавать производные работы на её основе?

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

Вы соглашаетесь с условиями, которые запросил Хабр. Однако вы можете добавить к ним и другие условия — например, опенсорс. Пожалуйста, опубликуйте эту статью со свободной лицензией, чтобы все смогли использовать её в своих проектах целиком и частями.

Вообще, тут уже установилось правило: авторы, которые пишут статьи про open source, и которые используют open source, и которые предлагают работать для open source — сами эти авторы запрещают использовать свои статьи для open source.

На словах эти авторы хвалят свободу, а на практике запрещают её. Трудно понять такую двусмысленность.

Рекомендую взглянуть на это под другим углом. Четверо разработчиков на протяжении полутора лет делают курсы и площадку для них. Бесплатно. В свободное время. И размещают продукт своего труда в опенсорс. Поправь, если ошибаюсь, но это подтверждение делом, а не "восхваление на словах" ;)

Нет входа через телеграм...?

В телеграме наши курсы можно проходить с помощью бота: https://t.me/sen_jun_bot

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

Большое спасибо! Почитаем доку, попробуем прикрутить.

В том и диссонанс, что можно "проходить с помощью бота", а авторизоваться с помощью бота нельзя, чтобы продолжить с того же момента.

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

Казалось бы, exercism.org open source, бери, улучшай, переводи... Программисту с малых лет слишком мал велосипед?

Большое спасибо за ссылку! Мы не знали про этот ресурс.

Наш подход немного отличается: мы считаем, что для закрепления материала очень эффективно встраивать online IDE по тексту глав.

Также кажется, что разнообразие бесплатных площадок - это хорошо, а не плохо.

Подача материала в exercism.org и senjun.ru сильно отличаются. В exercism.org подача идет от задачи. Есть задача и рядом идёт немного теории. При этом описание задачи по объёму сопоставимо с теорией.

senjun.ru это скорее онлайн книга, текст которой содержит задачи. Книга разбита на главы. Главы выглядят примерно так: параграф с теорией, далее пример и пояснение к нему, за примером следует задача, снова параграф с теорией, пример, задача и тд. Всё это выполнено как единое повествование. Основная идея в том, чтобы человек изучал материал, попутно решая задачи, минимально отвлекаясь на посторонние вопросы.

-------

P.S. Личное мнение. В exercism.org мне не понравились перегруженный интерфейс и геймификация. После первой задачи "Hello world!" растерялся и не сразу понял куда идти дальше. На второй задаче застрял пока не понял, что в третьей функции нужно вернуть сумму preparationTime(numberOfLayers) + actualMinutesInOven, а не preparationTime(numberOfLayers) + remainingOvenTime(actualMinutesInOven). Подача материала показалась 'водянистой'. Сайт покинул в раздраженном состоянии. Не моё.

если добавить в закладки в хроме, то на иконке - фото девушки, это пасхалка такая?)

Спасибо за багрепорт=) Постараемся это поправить. Видимо, хром находит первую картинку на странице и делает ее иконкой закладки. А первым jpg идет фотка автора курса. До этого есть лого сайта, но оно в виде тега <object>.

Поправили!

Удачи вам с проектом) А Java будет?

Мы хотим опубликовать как можно больше качественных курсов. Для этого нужно искать хороших авторов. Если удастся сделать это для Java - то конечно будет и Java. Если у вас есть такие авторы на примете, обязательно дайте знать)

До последней строчки надеялась, что есть курс на Java. Зашла в бот с надеждой :D
Очень надеюсь, что у вас найдутся авторы и будет джава. С удовольствием поизучаю.
А если будет Spring Boot...

Успехов!

Спасибо! Тегнем вас, как только появтся курс по яве.

Мем неправильный, в C# можно сложить float с int.

Спасибо, очень интересная штука! Но раз уж вы C++ программисты, планируется ли курс по современному C++?

Да, мы очень хотим сделать курс по C++. А скорее даже два, три или более логически связанных курса. Такой язык как C++ не запихнуть в средних размеров обучающую программу. Скоро начнем искать авторов)

Круто, продолжайте в том же духе, может скоро и GO появится

Ребята, это очень круто. Посмотрел - понравилось. Буду рекомендовать юным падаванам. Просто кроме того, что айтишничаю, еще 20 лет педагожу, потому объем работы могу ваш оценить. Вы реально молодцы. Пройду ради интереса курс, черкану, если что-то более интересное смогу предложить в плане методической поддержки той или иной задачи.

Спасибо) Будем ждать критику и предложения!

Вы проделали крутую работу, но есть фактологическая ошибка и в самой статье

И все-таки оно складывается :)

© 2023, SenJun

Уже 2024 на дворе. Недавно на проектах, над которыми работаю, меняли 2019 на 2024 :)

Спасибо! В ближайшее время пофиксим

Привет!
Мы с командой тоже делали сервис для изучения ЯП
Интересно в этой цепочке узнать у вас какие-то детали по работе с Docker и изоляцией запускаемого кода
Как контролируете запускаемый код по выделяемым ресурсам (таймауты, лимиты по CPU/ОЗУ)?
Какие образы используете (наверное что-то на базе alpine)? Много ли у вас заготовленных образов под разные задачи или под каждую задачу просто делаете Dockerfile с чем-то типа FROM base-image? Сразу ли чистите собранные контейнеры?
Есть ли у вас в цикле курса работа с файловой системой? Если да, то при работе с ней в запускаемом коде как работаете с Docker? Даёте право на запись файлов? Или только чтение?
Боретесь ли как-то с возможными угрозами в коде? Можно ведь выйти за границы контейнерной изоляции и запустить что-то в ядре хоста

Эта часть намного интереснее всего остального на мой взгляд)
Будет интересно почитать, если на что-то ответите

Спасибо за интерес к проекту! А у вас какой сервис? Очень любопытно посмотреть, кидайте ссылку. Вдруг еще кому будет полезен (считаю, таких площадок много не бывает).

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

Отвечаю по пунктам.

Как мы контролиурем запускаемый код по ресурсам? Вызываем компиляцию, запуск и тесты не напрямую, а обернутыми в линуксовый таймаут. Типа такого: timeout 10s python ${file}_tests Ограничение по оперативке задается на старте контейнера.

Какие используем образы? Пока у нас получается так: 1 курс = 1 образ. Питон: python:3.12.0-slim, раст: rust:1.73.0-slim-buster, го: golang:1.21.6-bookworm.

Сразу ли чистим контейнеры? Контейнер мы чистим перед запуском пользовательского кода. Это сводится к удалению файлов в home директории.

Как обрабатываем необходимость работы с фс из кода задач? Код пользователя запускается из-под учетки с ограниченными правами. Она может писать только в свою home директорию. Которая чистится перед каждым новым запуском. Теоретически конечно за 10 секунд (до того, как сработает таймаут) ее можно очень хорошо завалить файлами. Чтобы процесс очистки потом выполнялся долго. Или чтобы иноды закончились. Но как бороться с этим, мы пока не придумали.

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

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

Спасибо за ёмкий ответ!
Расскажу немного про наш велосипед
К сожалению, система полностью закрытая, разрабатывалась под заказ для нужд одного университета
У нас на данный момент реализованы только html/css/js (причём js только клиентский), что позволило полностью изолировать бэк от возможных проблем, потому что код исполняется в браузере
У нас была задача с прогоном клиентских тестов, которую мы решали путём создания iframe sandbox'a, в котором специальным образом запускался код пользователя с инъекцией туда служебных вставок для прогона тестов, которые писались вместе с заданием нашими преподавателями
В целом система получилась по части бэка крайне легковесная, сложным был именно клиент в виду специфики создания там sandbox

Сейчас же мы планируем запуск курсов с использованием серверных вычислений и с компиляцией клиентского кода, чтобы преподаватели могли составлять курс по React JS
Именно поэтому мой комментарий содержит столько вопросов, потому что нам лишь предстоит пройти этот тернистый путь
Правильно ли я понимаю вашу схему организации:
1. В хостовой системе создаётся учётный пользователь с ограниченными правами, от имени которого выполняется сборка и запуск контейнера? Т.е. по сути добавляете в группу docker некоего пользователя, который ограничен в хосте только своей домашней директорией
2. Dockerfile содержит в себе необходимый минимум, сборка (при необходимости) пользовательского кода происходит в контейнере
3. Ограничение исполнения устанавливается путём, видимо, энтрипоинта с установкой линуксового таймаута
4. При работе с файлами перед запуском пользовательского кода домашняя директория очищается и монтируется к контейнеру с правами записи

Из 4 пункта следует вопрос - а как у вас дела с параллельностью? Т.е. все прогоны пользовательского кода как-то распланированы? Чем планируете? Некие queue с последовательным исполнением? Есть ли реальный параллелизм и на какое конкурентное исполнение вы нацелены? И в случае конкурентности следует вывод, что количество конкурентных прогонов равно количеству пользователей от имени которых гоняют запуск кода

И ещё открытый вопрос - это прогон тестов
Очевидно, на вход нужно давать некий ввод, на выход ловить какой-то выхлоп
Для задач без файловой системы вроде бы звучит просто, перехватил прям в контейнере stdin/stdout и работаешь
В ряде случаев даже можно писать stdout в файл и парсить, чтобы не оборачивать программу в какой-то враппер (тут кстати тоже потенциальная дыра, особенно в части stdout, потому что в зависимости от стека можно добиться исполнения произвольного кода, ну да не суть)
Т.е. всегда ли у вас прямо внутри контейнеров запускается прогон тестов, потому что нужно давать ввод и читать вывод
Или вы снаружи контейнера это делаете, путём энтрипонтов или аргументов docker run?
А вот при работе с файловой системой становится очень очевидно. С одной стороны похоже на чтение ввода вывода, а с другой совсем нет, потому что можно работать как внутри, так и снаружи, причём абсолютно по разному (и на ЯП, и на линуксовых командах, и перехватом запросов к файловой системе)

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

Подумаем, как интересно рассказать об этом в посте)

Если не секрет, когда примерно выйдет курс по Go?

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

А как насчет щепотки функциональщины в виде Haskell?

Обязательно!

Арррр!!! Денис Шевченко дал добро на адаптацию под формат курсов его офигительнейшей книги "О Haskell по-человечески". Так что курсу быть!

Если есть на примете знакомые функциональщики, готовые ревьюить главы и давать ценные советы, зови их сюда:

https://github.com/senjun-team/senjun-courses/issues/69

Площадка не вкладывает знания в клювик. Все, что она делает – не мешает учиться!

Это правильно. Я давно считаю, что курсы по программированию должны быть "спартанскими". Программирование - это не просто ремесло, которое можно выучить, это неизбежное постоянное самоубучение. Наверное, я по пальцам могу пересчитать проекты в моей жизни, для которых я был достаточно компетентен. Всегда начинаешь и по ходу приходится что-то новое учить. Если бы я не учился, до сих пор искал бы проекты на Паскале и FoxPro. Под DOS. И точно так же могут устареть и Go и Rust и Python (не говоря уже о том, что просто знания языка программирования и ничего более - редко когда нужны). Надо только как-то чуть-чуть помогать учиться, чтобы не было отчаяния. Примерно как в качалке на жиме лежа кто-то страхует и на последнем упражнении чуть-чуть пальчиками помогает (усилия на 1кг всего дает, но без этого кг - последний подъем и не сделаешь).

А еще у площадки есть уникальное свойство - там тусуются джуны. Непуганные и никому особо не нужные. А у меня для хобби проектов часто бывают идеи, или пожелания отдать какой-то (не очень сложный) кусок работы. Это было бы взаимовыгодно - для таких вот "проджект-менеджеров" (пет-проектов или может даже комменрческих) - бесплатная низкокачественная рабочая сила. Бегельме, зато бесплатно. Для джунов - интернство, практика, получение менторства, конструктивные оскорбления, унижения и харассмент, в общем, приобщение к командной работе и корпоративному духу. Чтобы потом он был не на уровне "я учебник прочитал", а на уровне "я вот сделал часть в этом полезном проекте - готов и за деньги работать".

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории