Логотип ЛавТех

Лавка Технологий

Статья "Ошибки начинающих программистов"
24-07-2023


Статья для тех, кто начинает первые шаги в разработке ПО.
Время чтения около 5 минут.
Автор: Фабрин Максим, Руководитель отдела разработки

Если вы спросите программистов со стажем о том, как они выбрали свой язык, то большинство ответит, что его ему посоветовал друг/знакомый/форумчанин.
Но почему-то никто не спрашивает о том, какие ошибки совершил этот «доброжелатель» на своем пути и чего стоит избегать.
Вторить разным топикам типа «5 ошибок программиста» про бессмысленные имена переменных, план разработки и прочее – мы не будем, про это уже написано и не раз :)

Расскажем про ту боль, которую вам предстоит испытывать раз за разом вне зависимости от выбранного ЯП.
Статья максимально оптимизирована под джунов и около-IT, так что грязью сразу не бросаемся, Господа True Разработчики ;)

Подумай дважды.
Первое, о чем мы спрашиваем новичка в этой области, готов ли он посвящать своему новому увлечению много времени. Есть ли оно вообще у него, время это?
Если вы устроились шофером – вы отрулили 8 часов и свободны.
Если вы устроились кассиром – вы сдали кассу и свободны.
Если вы устроились разработчиком – вам придется постоянно учиться, в том числе в личное время.

И речь не о курсах «Программист на Java за 2 часа», «Освой CSS за 4 минуты» и прочей ерунде.
Речь о полноценном обучении по книгам, видео, форумам.
А главное – это обучение через непосредственное написание работоспособного кода.
IDE (среда разработки) – ваш друг и товарищ и если на собеседовании вы не знаете с какой стороны ее запускать, то ничего кроме печали это не вызывает.

Разработчик = обеспечен работой.
Не редко к нам приходят собеседоваться сотрудники (джуны в основном), которые претендуют на ЗП в районе 50-150к.
По факту все, что они могут – это писать код.
«Hello World» в консоли, так сказать :)

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

А в компании поменьше требуется «многостаночник на минималках».
Как пример, стэк (набор технологий), который мы рассматриваем:
Java + Maven + Spring (де-факто небоходим) + GIT + Linux-сервер (поднять и запустить) + Tomcat (поднять и настроить) + HTML (база для отрисовки) + SQL (поднять и настроить, хотя бы SQLite).
И это становится для новичков открытием.

Как итог – они не проходят ни к «единорогам», ни к нам.
Грокать алгоритмы – это, конечно, прекрасно, но в коммерческих проектах важно понимать, как все устроено и уметь это запустить в полном цикле при необходимости.

Удары в стенку – это больно.
Каждый новичок будет ходить по кругу:
Я не понимаю -> Я разобрался -> Это не работает -> Я не понимаю …

Раз за разом с каждой новой библиотекой, фреймом, кодом.
Главное правило, которое мы выработали лично для себя, звучит так:
«Не понял, выдохни, и начни снова»
По итогу, в одной из итераций будет прорыв.
Кстати, многие сливаются именно на этом этапе, так как не хватает сил постоянно ломать стенку головой.

Больше – не значит лучше.
Еще один интересный подход, когда джун пытается освоить сразу все.
Часто можно наблюдать в резюме что-то типа:
Опыт 1-2 года
ЯП: Java, C++, PHP, Python, CSS, JS, SQL, ….

В 50% случаев – это чистое вранье, которое вскрывается при первом созвоне. То есть до этапа технического собеседования человек просто не доходит.
В 50% случаев – это человек, который прошел 100 500 курсов и не овладел ни одним языком.
То есть опять же до этапа собеседования человек не доходит.

Определитесь с набором технологий, который вам по душе и на старт.
Если вы Backend, то вам требуется лишь база по Front.
Если вы Front, аналогично, нужна лишь база по Backend.
В любом случае в резюме направление должно четко просматриваться, по крайней мере у джуна.
Никаких «Знаю 100 языков и играю на скрипке».

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

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

Базовый английский.
Если вы не разработчик 1С – вам потребуется английский.
Хотя бы базовый, уровня А1.
Просто поверьте на слово.

Я филолог, но у меня все получится.
Не получится, забудь и ищи себя в другом направлении.
Либо ты не филолог.
Если нет понимания причины и следствия, то код просто не будет работать. Логика действий, цепочки событий, ветки вариантов – это то, что требуется понимать, а не изучать.

Возможно, что по этой причине среди девушек мало разработчиков и много тестеров. Мозг девушек не всегда логичен (да простят меня дамы :) ) и именно эта особенность позволяет находить «дыры» в уже разработанном ПО.
В защиту девушек-разработчиков так же скажем, что те решения, которые приходят к Вам в голову часто становятся открытием для мужчин, но они в этом не признаются никогда в жизни ;)

Смотрите шире.
Ваши PET-проекты (самоделки) должны быть оригинальными.
HR при подборе кандидата обязательно заглянет в GIT и посмотрит, что вы там ваяли.
Если это стандартный кейс из любого обучающего материала, то у меня для вас плохие новости – вам даже не позвонят, ведь по этому кейсу вас водили «за ручку».
А вот грамотное переиспользование чужого проекта, даже если будет замечено, то вызовет интерес.
Ведь IT и состоит из «переиспользования» всего на свете: библиотек, фреймов, модулей и т.п.

В любом случае дерзайте,
И пусть в этом мире станет хотя бы на 1 программиста больше ;)
Политики обработки данных Связаться
Общество с ограниченной ответственностью «Лавка Технологий» (ООО «ЛавТех»), ИНН 7743380789,
125080, город Москва, муниципальный округ Сокол, Волоколамское шоссе, дом 1, строение 1, помещение 52/8

sales@lavkatech.ru
2022 - 2024