3238

Советы тем, кто реально хочет стать программистом6

1. Перед тем, как отвалить крупную сумму за курсы - попробуйте почитать книги, это сильно дешевле. Например, по Java есть замечательная "Философия Java", хоть и немного устаревшая. Ключевые концепции языка в ней изложены просто великолепно.


2. Не верьте тем, кто обещает быстрый прогресс и гарантированное трудоустройство - это верный признак инфоцыган (за очень редкими исключениями). В той же Java сейчас требуется гигантский объем информации для успешного трудоустройства - ну как минимум кроме синтаксиса еще Spring, базы данных, Maven/Gradle, автотесты. За три месяца это выучить невозможно. За год -  вполне.


3. Избегайте курсов для "умственно отсталых". Тут нужно понимать: можно немного сгладить кривую сложности в начале - подбирать всякие метафоры с паровозиками при объяснении логических операторов, делать красиво анимированные схемы etc. Это отличное завлекалово, когда после вывода трех строк на экран и примитивной программки типа "четное ли число или нет", кажется, что это просто и вообще непонятно, из-за чего сыр-бор. Но потом вам попадется какой-нибудь принцип подстановки Лисков, который вообще-то одна из базовых концепций ООП - и его уже с помощью метафор так просто не объяснить. Или вот вы читаете про особенности индексации таблиц в БД, например, и не понимаете ни слова. Некоторые концепции сложные сами по себе. Это как выпустить учебник "Квантовая механика для дошкольников" (нет, я не уравниваю в сложности квантовую механику и программирование). 


4. Вообще старайтесь не забывать про теорию. Немного алгоритмов (хотя бы простейшие сортировки типа пузырьковой и вставкой, бинарный поиск, оценка сложности). Немного структур данных - массивы, связанные списки, бинарные деревья, мапы. Немного спецификаций типа REST.


5. Старайтесь учиться сами столько, сколько возможно. Гуглите книги, статьи на Хабре, видео в YouTube, документацию. Вообще скилл искать документацию самому очень выручает.


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


7. Если не знаете английский - учите. В контексте IT та информация, что есть в рунете - это жалкий, недостойный упоминания огрызок по сравнению с тем, что можно найти на английском.


8. Проявляйте инициативу, не ждите, будьте готовы работать за копейки - главное опыт. Свою первую работу я нашел просто - вбил в поисковике "Java Хабаровск работа", открыл первый попавшийся сайт (галера для госа), скопировал телефон, написал в WhatsApp и напросился на собес. Думаете, меня взяли сразу? Нет, меня попросили написать реализацию стека. Я попробовал родить код на доске на массивах, и спустя полчаса меня милостиво отпустили - доучиваться. В итоге я к ним попал через три месяца. Зп на испытательном - 25к, 35к после испытательного.


9. Если уверены в своих силах и чувствуете, что готовы искать работу - старайтесь абсолютно всеми возможными способами попасть на стажировку, такую, где вас условно кинут на амбразуры, где ваш первый pull-request разнесут в такие щепки, что вы потом будете четыре дня плакать на больничном. Именно в таких местах качается реальный скилл программирования. Рост в начале идет только при условии разницы в опыте между участниками, если все на одной ступени - это стагнация.


10. Многие новички не могут родить pet проект, это нормально. Просите тестовое. Поскольку до мидла вам еще как до луны, цель вашего тестового - просто проверка на то, как вы будете писать код (спагетти, названия переменных транслитом,  методы по 600 строк и другие признаки идиота сразу отпугнут) и знаете ли вы базовые концепции языка (если в языке иммутабельные строки и вы в цикле их конкатенируете - тревожный колокольчик).


11. Самое главное - подумайте, готовы ли вы этим заниматься всю жизнь даже за большие деньги? Готовы ли вы регулярно говорить "я не знаю, покажи мне, как надо"? Готовы ли вы защемить свое ЧСВ и признать, что всегда и в любой момент времени рядом с вами может оказаться кто-то, кто знает больше вас - и вам придется у него учиться, даже если вы principal с 15-летним опытом? Готовы ли вы в свободное время висеть на литкоде по два-три часа в день, чтобы не уходить в крудо/формошлепство? Потому что нет большего вреда для проекта, чем закостенелый дебил, который тащит в работу архитектурные решения, популярные эдак лет 15 назад. Или придурок, который выгружает всю таблицу БД в оперативку, чтобы отсортировать ее там и вытащить одну запись, потому что он так делал раньше и это работало. Или идиот, который считает, что автотесты - это трата времени, мол, есть же тестировщики.


Потому что если не готовы - пожалуйста, не идите в программисты.

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

2.3K постов12K подписчиков

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

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

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

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

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

Я выскажу немного нестандартное мнение, но сейчас дошло до того что надо еще и учить тому, как настроить то в чем ты дальше будешь разрабатывать код.

Прошли те времена , когда 20 лет назад ты к примеру ставил к примеру дельфи, и первое приложение-экзешник с формой-кнопкой мог вообще сделать не написав ни строчки кода.


Сейчас даже что бы взять уже чей-то готовый проект чуть сложнее public static void main(String[] args) {..} - нужно несколько часов ставить среду разработки, подключать библиотеки, мавен, сонар, свн гит или что еще используется, настраивать работу с бд, и тд. и тп. в зависимости от того про что проект. Да и что бы запустить его: -сперва подними сервер, потом разверни на нем приложение, не забыв корректно настроить пути/порты/прочее. Большинство новичков без подробной инструкции самостоятельно все это просто не осилят.

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

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

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

Все что новичку знать о докере - это как его установить и как сделать docker-compose up. И совсем хорошо, если докер идет в комплекте с make

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Я ленивая.. я не умею в докер. Я образы строю в пайплайна при помощи канико)
3
Автор поста оценил этот комментарий
Не, приложение на том же Спринге грех за пару дней не развернуть, среда разработки всё сама сделает, а если у тебя окружение не стандартное и боже упаси в Docker не обернутое, вот тут скилы и проверяются, а если не дай бог Legacy проект, с его WildFly-ями и прочим, а я скажу таких проектов очень много, очумеешь и за 2е недели не развернёшь, особенно если какие-нибудь супер обязательные штуки не стоят типа Crypto-pro JSP
раскрыть ветку (3)
0
Автор поста оценил этот комментарий

У меня такие были и есть. 6-7 джава, вайлдфлай, веб лоджик(эту тварь в первый раз несколько дней настраивал))) . Сейчас есть и более менее свежие на спринг буте и с докером, но любой опыт это опыт и он полезен

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

В 2015 году в банке я работал с проектом, который стартовал в 2002 году, и скорее всего еще эксплуатируется. Таких проектов много, и стек технологий иногда очень широкий

4
Автор поста оценил этот комментарий

я не умею в докер. Пусть девопс у меет. А если мне приходится уметь, что-то тут пошло не так!

Моя любимая поговорка: беда, коль пироги начнет печи сапожник, а сапоги точить пирожник

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

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

Не согалсен. Запаковать свой говнокод в докер образ должен именно разраб. Потому что он знает все зависимости и подводные камни своего проекта.

А вот сделать так, чтобы сборка, тесты, деплой, откат и прочее происходили автоматически - вот тут уже девопёс должен вступить в игру

А писать докерфайл должен разраб.

5
Автор поста оценил этот комментарий

"сперва подними сервер, потом разверни на нём приложение, не забыв корректно гастроить..." читал голосом печки из м/ф Вовка в Тридевятом царстве

4
Император защищает!
Автор поста оценил этот комментарий
Прошли те времена , когда 20 лет назад ты к примеру ставил к примеру дельфи, и первое приложение-экзешник с формой-кнопкой мог вообще сделать не написав ни строчки кода.

спорное утверждение, хотя может у меня ниша для идиотов:
visual studio 2022 поставилась сама, проект сделать не проблема, так эта зараза уже не только названия методов и переменных дописывать умеет, так еще и варианты написания блоков кода предлагает в духе - оу, у тебя тут конструктор принимает параметры по названию похожие на поля класса, а давай по нажатию Таб лупанем вот это.
Как по мне - простые проекты пилить стало проще, а сложные - на то и сложные.

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

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

1
DELETED
Автор поста оценил этот комментарий

И нафига так усложнили программирование?

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

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

Современная IDE вообще может быть написана на электроне и попутно требовать терабайты оперативной памяти для компиляции проектов...


Скорее не усложнили, а забили на оптимизацию и одни ушли в нагромождение Legacy, другие ушли в ломающие обновления. Ломающие обновления пытаются пофиксить с помощью LTS-версий, но не у всех оно есть.


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

0
Автор поста оценил этот комментарий

npm install


npm start


:D

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

command not found

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

Ок, Google. Скачать nodejs :(

Автор поста оценил этот комментарий

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

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

Все решаемо, вопрос только в объеме информации.


1) Новичкам обычно все это (у нас, да и много где) помогают поставить-настроить более опытные коллеги, попутно объясняя что и зачем.  Хорошо, если они (эти самые опытные коллеги) есть.


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


3)Да, стало сложнее/объемнее, но 20 лет назад и не было такого количества видеороликов на ютюбе, stackoverflow, и гугла в целом; где если порыться, то в 97% выяснится, что вопрос который вылез у тебя - до тебя уже кто-то задавал и чаще всего даже получил ответ.

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

Мой уровень: знаю несколько названий ЯП, матан и тервер счастливо забыты после экзамена. Есть возможность скачать книжек с инета и на пару месяцев уехать в глушь практически без интернета. Стоит ли начинать?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Без интернета будет сложнее)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества

Недвижимость и ремонт

Теги

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

Сообщества