ReactJS, TypeScript, Micro FrontendsReact fwdays | 27 березня. Долучайся!
×Закрыть

Как стать программистом?

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

Начнем с того, что способов научиться писать код и устроиться на работу много, но условно можно выделить 3 основных:
— профильное образование в высшем учебном заведении;
— курсы по программированию;
— самостоятельное обучение по книгам и ресурсам в интернете.

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

Конечно, самый классический способ — поступление в университет, его окончание, прием на работу, ПРОФИТ. Такой вариант имеет как преимущества, так и недостатки. Начнем с последних.

К сожалению или к счастью, такой способ не подходит абсолютному большинству, так как для поступления в высшее учебное заведение на специальность связанную с программированием необходимо сдать ЗНО по математике, хотя так ли она нужна? Это и есть первый барьер, о который ежегодно по статистике спотыкаются 10-20 абитуриентов, банально не набирая проходной балл.

Второе препятствие на пути к трудоустройству, с которым вы можете столкнуться — устаревшая учебная программа. К огромному сожалению, зачастую в подобных заведениях дают знания состоявшие из технологий и языков программирования, которые практически нигде не используются. Если вам повезет и это будет C++, то скорее всего большую часть своего времени вы будете тратить на заучивание теории для сдачи зачетов и экзаменов, а не применять знания на практике.

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

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

Как по мне, важнейший из них — диплом. Как ни странно, «корочка» играет очень важную роль при поиске работы за рубежом. Ваш коммерческий опыт часто нивелируется отсутствием диплома по Computer Science или смежной специальности. А в свете последних изменений в получении визы H1B в США, мечта работать в одной из компаний FAANG и переезд в солнечную Калифорнию может резко оборваться.

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

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

Для тех, кто задумывается о выборе университета для изучения программирования, я советую обратить внимание на рейтинги составленные DOU за 2020 и 2019 года. А еще хочу сказать, что путь в отрасль начинается не с зачисления в учебное заведение, а с первой строчки кода, которую вы напишете. Чем раньше это произойдет, тем больше шансов, что вам не придется ждать 4 года, чтобы пробоваться устроиться на работу.

Вторым способом старта карьеры в IT являются курсы по программированию. Здесь можно выделить 3 типа: платные, бесплатные и псевдо-бесплатные. Остановимся на каждом из них.

Платные курсы. Пришел, заплатил, походил на занятия, сдал финальный проект, а что дальше? Конечно, в конце обучения вам выдадут сертификат, могут написать рекомендательное письмо, а некоторым даже помогут с трудоустройством. Проблема заключается в том, что многие неправильно трактуют платные курсы: вы платите не за 100% оффер, а за возможность учиться и получать знания (качество которых может сильно отличаться от ваших ожиданий). Если вам нужна конкретика, то в интернете можно найти много сайтов с рейтингами и отзывами о курсах. Я уверен, что каждый сможет найти что-то подходящее.

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

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

В Украине достаточно много крупных компаний проводят подобные инициативы на постоянной основе. Они предоставляют как возможности обучения с нуля, так и программы для тех, кто уже имеет некий запас знаний и готов себя попробовать в качестве Trainee. Достаточно сделать всего пару запросов в гугле, чтобы найти наиболее подходящее решения для вас. Если по каким-то причинам курсы в этих компаниях вам не подошли, то всегда можно что-то подобрать с помощью DOU, Telegram.

Псевдо-бесплатные. Наконец-то перейдем к 3 типу и я постараюсь объяснить, что это такое и с чем его едят. Компании работающие по такой схеме действительно на протяжении обучения не потребуют от вас денег, что делает их бесплатными. Но вот после завершения программы курса вы обязуетесь в течении 2-3 лет выплачивать какой-то % от своей зарплаты, поэтому я и называю их псевдо-бесплатными. Естественно, это информация предоставляется вам еще до начала программы обучения. О качестве таких курсов я ничего не могу сказать, но в интернете можно легко найти отзывы от выпускников таких программ.

«Just google it» — фраза, которую мы слышим почти каждый день, правда, в более привычной форме: «Загугли». Действительно ли достаточно просто иметь желание и доступ к интернету, чтобы изучить программирование и устроиться на работу? Да — это слишко коротко, поэтому постараюсь объяснить свой ответ и помочь с выбором ресурсов для начала изучения программирования.

В 2020 году самым популярным языком программирования признан JavaScript . Такую популярность языка легко объяснить: направление Front End разработки (создание клиентской части сайта) безумно популярное и востребованное. Это создает как огромное количество различных обучающих материалов, так и конкуренцию среди желающих начать свой путь в IT. Если вас привлекает данное направление, то я с радостью подскажу ресурсы, которые могут помочь в этом пути.

Начнем с того, что базово сайты состоят из 3 элементов: HTML (верстка), CSS (стили) и JS (взаимодействие с элементами страницы и сервером). Для получения базового представления об этих элементах прекрасно подойдут два ресурса:
— HTMLAcademy — русскоязычный сайт для изучения веб-разработки с ежемесячной подпиской. Он прекрасно подходит для новичков за счет доступных бесплатных глав и обширных разъяснений каждого задания.
— freeCodeCamp — обширный англоязычный ресурс, который содержит в себе все аспекты веб-разработки и абсолютно бесплатный. Здесь вы сможете не только углубить свои знания, но и улучшить свой английский, который очень важен для хорошего программиста.

Огромным плюсом таких площадок является их интерактивность, что добавляет интереса к изучению. А как известно, самое сложное — это начать что-либо делать. Когда вы однозначно решите для себя, что хотите двигаться дальше и готовы учить не только из-за интерактивности площадок, я советую начать читать учебник по JS. Там вы найдете актуальную информацию о JavaScript, в нем вся теория подкреплена практическими примерами, а главы заканчиваются задачами, которые помогут закрепить знания. Для тех, кому особенно понравится решать задачи, хочу посоветовать отличные площадки с тысячами заданий различного уровня сложности: Codewars, LeetCode.

Пройденный материал по HTML и CSS обязательно следует закрепить на создании любого лендинга, примеров которых сотни в интернете, а весь новый освоенный материал по JS пробуйте внедрить в эту страницу. А дальше перед вами открывается дивный новый мир фреймворков, библиотек, препроцессоров и т.д.

Напоследок хочу сказать, что независимо от выбранного вами пути, соотношение теории/практики должно равняться 30/70. Можно, конечно, и 20/80, но ни в коем случае не наоборот. Из личного опыта могу сказать, что только с помощью практики вы научитесь программированию.

👍НравитсяПонравилось0
В избранноеВ избранном5
LinkedIn

Похожие топики

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Дуже шкода, що немає посилань на україномовні ресурси. І це стаття на українськом сайті.Чергове знущання над Україною.

Вопрос из серии — как стать шахматистом
Прочти книгу и начинай практику!

К сожалению или к счастью, такой способ не подходит абсолютному большинству, так как для поступления в высшее учебное заведение на специальность связанную с программированием необходимо сдать ЗНО по математике, хотя так ли она нужна? Это и есть первый барьер, о который ежегодно по статистике спотыкаются 10-20 абитуриентов, банально не набирая проходной балл.

И слава б-гу, что спотыкаются

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

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

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

Это ж в каких ВУЗах какие устаревшие технологии учат? // Вообще нужно учить принципы, но см. предыдущий пункт

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

Да-да, а лабы спишем, ибо нуивонафик учится

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

Очень пафосно. Подозреваю что автор не прочитал ни одной книги вообще

Пройденный материал по HTML и CSS

а причем тут программирование?

Відповідь проста. Хочеш стати програмістом — пиши код!

А от і ні — то Радянська Жінка.

А если в планке стоять при чтении книжки по фреймворк.js с pomodoro?

Только на Луне проканает. Так что жди пока ИлонМаск туда гиперлупы отправит, ну или на орбите Луна-парк откроет, с блек-джеком и pomodorами. Вполне реальный план :)

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

Никаких особенностей. Желания научится программировать достаточно.
Программирование очень простая профессия, нужно только чуть потренировать «алгоритмическое мышление».
Вообщем, по моему мнению, программирования доступно всем людям, кроме клинических дебилов (в медицинском смысле).

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

Хочешь сказать, что каменщиком нужно родиться?
Более того ямокопателем тоже нужно родиться.

Так програмування, а точніше софтваре інженерування, настільки багатогранне, як жодна інша професія. Можна бути як кладчиком, так і архітектом, і в безлічі напрямків. І кожен потрібен.

Я знаю шизофреніка якому ще в дитинстві поставили діагноз і професіонали тестували його IQ. Так він натурально з IQ 89 пише на плюсах і робить ігри на юніті.

Так в чем проблема принести резюме Олега Дорожко своему начальнику и поручится за Олега?
Или если ты сам начальник, то нанять Олега?

Та все. Спасибо. Я уже больше не ищу работу. Пришел к выводу что это навязчивое желание. У меня есть другие варианты.

Пришел к выводу что это навязчивое желание.

Нет. Это как раз нормальное желание обычного человека. Кушать-то и тебе нужно, как и другим людям.

А что с ним не так? У него IQ будет явно повыше и прилично повыше, приведенного тобой. Вот так сходу могу сказать, что в адекватном обществу состоянии его IQ будет 130-150.
Или как обычно добренький за чужой счет?

Так в чем проблема принести резюме Олега Дорожко своему начальнику и поручится за Олега?

Ну ви трохи спізнилися. В нас раніше шукали Go-шника без досвіду, але я щойно перевірив і вакансію вже прикрили.

А так у нас є тестове і співбесіда. Якщо добре зробив би тестове, то скоріш за все взяли б на роботу.

Мне не подойдет. Я ученый. Я исследую разного рода тонкости (детали) в пересечениях информации и времени. Вот например изменение некоторой информации from А to B это просто процесс добавления новой записи B вместе с меткой времени ее добавления. Так получается, что и запись A и запись B будут хранится в базе данных. Но при указании момента времени мы получим или запись А или запись B в зависимости от того, какой момент времени мы выберем. Так мы получим «виртуальную машину времени», которая позволит соосно человеку вспоминать то, что было раньше.

Это было бы неплохо (почитал, погуглил сейчас) сохранять еще и «почему» т.е. идентификатор события, приведшего к изменению. (Только это еще один немалый кусок кода для wassabi Время до релиза вырастет.) Но разве это «почему» не должно быть полностью вычисляемым?
Например, в интервал времени ДТ база данных изменила свое состояние с А до Б Отправляем все эти данные в вычислитель и он делает вывод: произошло то-то и то-то. И ничего другого произойти не могло.

Не перестаю дивуватися відкритості і терпимості до відмінностей інших у місцевої аудиторії. Поміж простого наріду обсирають навіть за найменшу помилку, а тут говорять — «Шизофренік? Не біда, давай на співбесіду!».

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

Я знаю шизофреніка якому ще в дитинстві поставили діагноз і професіонали тестували його IQ. Так він натурально з IQ 89 пише на плюсах і робить ігри на юніті.

Як він так примудрився перебрати до 89? До 79 включно беруть в менеджмент, паранойя та жадібність будуть плюсом

Возрастной ценз не указали. Если 40 ± 5 лет (или больше) то все, можно дальше не мечтать.

Лично видел двоих: трейни(41) и джуна(45+) соответственно. Второму, пожалуй, даже больше 45-и, просто неудобно было спрашивать, а первого с 41-летием прямо в офисе поздравляли.
p.s. Просто работа программистом — это работа: решение чужих малоинтересных проблем с помощью имеющихся средств, с соблюдением норм качественного кода, а не то-что-мне-хочется-ведь-я-это-умею.

Все правильно написали. В связи с этим, мне пришло на ум вот что: когда многие отвергают тех, кто в возрасте, это много вероятное событие. Когда некоторые принимают тех, кто в возрасте, это исключительное событие. Исключительные события легче запоминаются и затмевают общую тенденцию. Да и надеяться на то, что произойдет исключительное событие — например выигрыш в лотерею — куда более удобно, чем понимать, что в реальности — «нет, не взлетит»

Проще было сказать, «исключение подтверждает правило».
Но нет, там людей за 40 хватает, ведь IT с нами уже давно.
Так что проблему надо искать в собственной лени/костности.

В моем случае речь идет о физиологических проблемах, которые без действенного лечения (которого пока еще не существует, кстати) не осилить. Нет таких таблеток.
Шизофреник это приговор. Может консультировать я и могу, но стабильно выдерживать постоянную нагрузку да еще и в одной и той же предметной области решаемой задачи это несовместимо с болезнью. HR правильно делают что отшивают меня. Ведь тут болезнь провоцирует даже попытки устроиться куда-нибудь. Так вот начинает казаться что все будет ОК. Не будет. Так что я решил тоже HR отшивать и отказаться от дальнейших попыток трудоустройства. И знаешь, сразу как камень с души сняли. Нет, гору камней. Да и нафиг оно мне? Я вот сейчас инсталлятор делаю для новой версии wassabi У меня получается кстати anti-PSR :)

Я понимаю, но ты на основании своего опыта сделал неправильный выбор — что тебя заворачивают из-за возраста. Хотя, как по мне, если говнокодить умеешь, то это дело мотивации — довести это для приемлемого для заказчиков уровня.
P.S. Нафиг надо? Предположи, что твой стартап не выстрелит. Долго ли, много ли тебе скинут доброжелатели на карту? А стандарты качества и необходимые области знаний кроме программирования стремительно растут в индустрии. Уже сейчас знание фреймворков часто решает больше знания алгоритмов. Насколько безнадежно ты отстанешь к тому моменту.

Я понимаю, но ты на основании своего опыта сделал неправильный выбор — что тебя заворачивают из-за возраста.

Таки почитай, что он написал:

Шизофреник это приговор.

Кстати сегодня утром у него было обострение — по его постам видно. К текущему времени стихло и посты его поменялись.

Так все правильно, его заворачивают не из-за возраста, а из-за того, что он шизофреник

Он это знает. С чего ты взял, что он про возраст говорит?

С его первого коммента в этой теме

Он не про себя там написал. С чего ты взял, что все в инете пишут только про себя?

С того, что я согласился, что мы начали обсуждать мою личность. Чего ты вообще встрял?

Какое отношение имеет возраст к шизофрении?

Это не стартап. Это рабочая технология. Я хочу научится представлять любые данные в виде дерева или ориентированного графа. И подвести CRUD к этой памяти. Точнее я научился уже, но теперь нужно тестировать на разных dataset. Тут масса вкусностей. Вот одна из них: данные, введенные, можно будет в различных проекциях рассматривать. (я это «срезы» называю) В реляционной модели допустим есть ненормализованная таблица вида: студент, предмет, тест1полугодие, тест2полугодие результирующая оценка за год. Это 5 колонок. Срез по студентам это когда предметы не учитываем. select students, points. Срез по предметам это когда не учитываем студентов. select subjects, points Но у меня-то дерево (или граф) И я хочу запросы по дереву сделать возможными ибо это обещает очень многое что в реляционной модели так просто не реализовать.
Пример подобрал примитивный. Вот если взять сто полей, многие (но не все) из которых иерархически связаны друг с другом — это уже больше на правду будет похоже.
Я хочу научится на основании факта предлагать структуру взаимосвязей. То есть, чтобы она автоматически определялась. Например, можно было бы вывести закон всемирного тяготения на основе данных о падении яблок в некотором саду.
У меня масштабный проект. Я еще долго его пилить буду.
А на жизнь я консультациями зарабатываю. Не курсы, не цикл лекций, не 20 уроков а просто ответы на вопросы даю (ищу, решаю, просветляю)

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

Предоплата 100% Я по другому не соглашаюсь.

И да — wassabi будет помогать мне( со временем, когда допишу). Я сделаю его частью хранилища часто требуемых ответов (знаний).

Успехов. Было бы неплохо, если бы так и было бы.

Сниму видео. Когда все будет работать как часы.

Может консультировать я и могу

Не можешь именно по причине шизофрении.
До сих пор не только не знают, как лечить шизофрению, но не знают даже толком, что это.
Теоретически можешь что-то совсем простое делать, типа веником на улице махать.

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

Добавлю. Я не представляю, как ты сможешь программистом работать или вообще в коллективе любом. да, голова у тебя работает, но неизвестно когда. Вот сейчас ты полчаса адекватен людям и работаешь, а через полчаса тебя заглючило. Что делать в этом случае сотрудникам?
Задачу никто не отменял, ты не можешь, еще становишься странным в общении. Перехватить ее у тебя на время, пока крыша твоя съехала невозможно (время на понимание того. что ты сделал, потом твое время на понимание того. что перехвативший сделал).

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

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

И да я сталкивался в работе с програмером с каким-то подобным твоему психическим заболеванием. Его уволили, как крыша съехала (лег в Новинки на 2 недели — дурка под Минском). Код выкинули, потому как там была чушь. Проработал он 2 месяца.
2 месяца пытались подстроиться к нему, но не смогли.

Я так и написал. Ты что, читал ответ невнимательно?
Вот же:

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

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

Я не очерняю. Я просто честно озвучил факты.
Вот чему ты можешь консультировать. если просто не сможешь изучить тему досконально. Кроме того, спрос на консультации в странах постсовка минимален, кроме юридических.

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

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

Он уже придумал как зарабатывать и это у него получилось. Так что видал он ваши галеры сам знаешь где.

А, так то его тачка за 160 косых всю ночь под окнами орала?

Я откуда знаю, кто и что у тебя там под окнами орет. У него спроси.

Программистом нельзя стать, им нужно родиться.

Все залежить від того, який зміст вкладають в програмування — як мистецтво чи ремесло

fullstackopen.com/en — щикарный Intro для node.js-фуллстэка

Спасибо за Ваш комментарий!
Не сталкивался с данным ресурсом, но теперь есть возможность с ним ознакомиться)

Я сам адепт/фанат всяких курсов на предмет их полноты/лаконичности и бесплатности. Этот — № 1. Усердно с ним позанимавшись и разобравшись во всем там можно идти работать джуном, ну или понять, во всяком случае, из каких нюансов и сложностей состоит работа разработчика.

В статті немає поради про те, що якщо вам не подобається програмування, то може краще не силувати себе? І попередження, що якщо ви йдете в програмісти лише з меркантильного інтересу, то будьте готові до швидкої втрати мотивації, вигорання та депресії від безцільного марнування життя.

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

Ви забули про такий хороший ресурс, як Hexlet.
Дяка за статтю )

Спасибо за Ваш комментарий!
Не пользовался активно Hexlet, поэтому не указал его в статье.
А так, слышал много положительных отзывов об этом ресурсе)

Отличная статья, но не хватает все это структурировать и разложить по полкам. В остальном — для ознакомления с ситуацией — просто топ.

Спасибо за Ваш комментарий!
Согласен, что со структурой будет намного лучше)

Спасибо за Ваш комментарий!

Подписаться на комментарии