11

Программист-любитель: крокодил не ловится, не растёт кокос

Программист-любитель: крокодил не ловится, не растёт кокос

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


Есть у меня давнишнее увлечение: программирование. Последние лет пять мой язык - JavaScript. Начинал с других, но уже относительно давно переключился на него. Основная деятельность не связана напрямую с IT, так что применение скиллу - это автоматизировать что-нибудь для знакомых или для себя: тут проверка текста на повторы, там веб-скрейпинг (без жести, все прилично), здесь сбор адресов и рассылки (виноват, здесь PHP был), там допилить страницу на WP. Сайт знакомых поддерживаю, но не потому, что я такой крутой спец, а потому, что они не очень умеют пользоваться даже готовыми решениями (совсем не спецы, то есть).


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


А нет ни одного серьезного проекта или участия в нем. Вообще. Покупал домены, что-то пытался придумать - фантазии не хватило. Сделал сайт, который по идее должен был помогать в изучении иностранного языка - десять пользователей, каждого из которых лично попросил зайти и зарегистрироваться. Через год закрыл.


Недавно решил подкачать межушный нервный узел при помощи Codewars. Есть такой сайт с задачками по программированию, которые проверяются уже готовыми тестами (но вы их при этом не видите). Можно сказать, что эта система учит test-driven development. Дошел до определенного уровня, получил ачивки, был очень этим доволен.


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


Вот я и решил перейти к фреймворкам. Когда я попробовал React, у меня сразу возник ряд вопросов. Правильно ли, что у меня при создании нового пустого проекта в его папку каждый раз копируется несколько десятков тысяч файлов? А зачем так делать? А как мне вот это все, работающее на localhost-е, выложить в интернет? Там же какой-нибудь сборщик нужен, да?.. А с чего это мой компьютер ото всей этой каши подвисает? Неужели я не так что-то настроил? И так далее.


Уроки по Django вызвали примерно такие же ощущения. Прежде чем несчастный Hello World написать, нужно установить Virtual Environment, ибо версии Python разные. И для этого нужно выполнить несколько команд в терминале, которые вообще не имеют отношения к фреймворку, но неплохо бы их понимать, ибо все, что под sudo делается, рекомендуется через мозг пропустить. Теперь у меня несколько тысяч файлов в пустом проекте, и что-то я не пойму, куда код писать. Нет, не сюда, эта куча текста - это конфиги...


Разработка под Android поставила меня в тупик с самого начала. Тяжелая Android Studio, эмулятор Android-устройств, которому не понравился мой процессор, а когда что-то где-то наконец щелкнуло и заработало, я осознал, что не умею даже прикручивать код к нажатию кнопки, и знание Java (ее я до этого учил по книгам) мне вообще никак не помогло.


Возникает четкое ощущение, что я папуас, который не знает, что такое буквы, и ему не поможет ни ручка, ни тетрадь, ни книга. Хотя алгоритмы и структуры данных я в каком-то объеме знаю, равно как и (если говорить о JS) всякие XMLHttpRequest, Callback, events, exceptions, call stack, стрелочные функции и тому подобное. Историю вычислительных машин и языков программирования тоже примерно себе представляю, ибо нравится, а заодно и с парочкой старых языков знаком (BASIC, C).


Но чтобы превратиться из любителя в спеца, не поможет, если вы загуглите все подряд. Если не знаешь, чем ограничен тот материал, что тебе нужно выучить, тогда можно скачать 10 Гбайт мануалов в формате plain text и умереть от старости, прочитав 1%, и то без толку. Кроме того, пассивные знания прекрасно выветриваются.


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


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

Лига программистов

2.1K постов11.9K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

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

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

Сорян за некро...

А как насчёт сишарпа, дотнетфреймворка и вот этого вот всего?

раскрыть ветку (5)
1
Автор поста оценил этот комментарий

Извините, не увидел 9 дней назад.

Я с C# и .NET не знаком. Вы рекомендуете? Чем они хороши?

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Как я понял вы не знакомились с компилируемыми языками, к которым и относится C#.

Шарп хорош не только компилируемостью, но и строгой типизацией: вам не придётся держать в голове какого типа та или иная переменная.

Шарп так же довольно хорошо подходит для бекенда вебсайтов, то есть выкидывать из головы JS не придётся :)

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


Плюс, язык довольно простой, если сравнивать с C++ и уж тем более C, но при этом переход от C# к C++ будет условно простым и более простым - к Java.


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


Собственно каждый малёк хвалит своё болото: вот я и хвалю, как специалист в области разработки бекенда для промышленных систем :)


Если заинтересуетесь - пишите, не стесняйтесь.



З.Ы.: Ну и в C# проще на мой взгляд изучать все эти ваши ООП и всё вот это вот :)

З.З.Ы: И таки это один из языков для игрового движка Unity.

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

Спасибо!


Я знаком с С и Java. Но именно знаком, а не знаю как следует, то есть, прошел курсы, написал пару приблуд для собственного пользовантя и бросил. Одна программа на С лежит в открытом доступе, но скачиваний нет - никому ее не надо. Только мне иногда.


Не интересуюсь? Почему, интересуюсь, в том числе потому что это новое.  Винда у меня есть, не только Linux. И вроде как существует Mono.


Мне нравится процесс доведения до ума, отладки, оптимизации. Но я ведь не работал в команде. А самому с собой, как мне кто-то говорил, очень удобно (и не только это), только вот нежизненно. Сам налажал, сам баг исправил. Молодца.


Давайте за С#, интересно. Как им очароваться? :)

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

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


Индивидуально, на самом деле.

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


Пробуйте, развлекаетесь.

Если вам нужна более подробная консультация в рамках шарпа - вот вам задачка на пользование поисковиком: найдите меня в соцсетях ;)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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


Насчет соцсетей понял, спасибо! :)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества