Профессия программист
Содержание:
- Введение
- А мне нужен Java?
- Кто такой Java-программист
- Как искать работу?
- Как освоить профессию программиста специалисту из другой сферы
- Советы и проблемы
- Как поступить на специальность Программирование и что сдавать?
- В сети мало русскоязычных источников по программированию. Смиритесь с этим
- Обучение в колледже
- Как научиться программированию
- Как начать зарабатывать программистом
- Навыки, необходимые программисту
- Из чего состоит идеальный программист?
- Отнеситесь к проверке кода серьезно
- Изучение алгоритмов
Введение
Квалифицированные программисты по-прежнему высоко ценятся в мире технологий: вакансии разработчиков, как правило, являются одними из самых трудных для заполнения, и спрос на таких специалистов, похоже, не замедляется.
Однако, по словам Дэна Вассалло, веб-разработчика Vydia, как начинающие программисты, так и «ветераны» этой отрасли сталкиваются с рядом трудностей в мире быстро меняющихся технологий, что делает все более трудным сохранение актуальности в этой области и продвижение по карьерной лестнице.
«Новички и долгосрочные программисты постоянно стремятся усовершенствовать новейшие технологии и добавить еще один навык в свои профили LinkedIn», — сказал он. «Иногда это хорошо, а иногда это может иметь отрицательный эффект.»
Давайте же перейдем к 10 главным советам для программистов!
А мне нужен Java?
Да, если вы хотите стать востребованным программистом. На этом языке пишут frontend и backend, мобильные приложения для Android, разрабатывают игры. Java особенно популярен в финансовом секторе, так как используется для создания надежных веб-сайтов, серверы которых не должны ложиться от большого числа запросов. Многие банки нуждаются в мобильных приложениях, ЭДО (электронном документообороте) и собственных платформах риск-менеджмента. Java используют для создания серверных приложений, которые получают данные с одного сервера, обрабатывает и отсылают их дальше.
Иногда с помощью фреймворков на Java пишут код и во frontend-разработке, при создании визуального облика сайтов. Также на Java написаны некоторые популярные видеоигры, например Assassin’s Creed и Minecraft.
Язык часто применяют при разработке облачных приложений, например серверной части Pokemon Go и IoT (Internet of Things, интернет вещей) — приложений для работы с разными датчиками и камерами видеонаблюдения.
Hadoop, один из самых популярных в Big Data фреймворков для раздельной обработки больших датасетов, написан именно на Java. Благодаря ему крупные компании имеют надежную файловую систему и могут не беспокоиться за сохранность данных. Кроме того, Java широко применяют корпорации для написания и поддержки своего внутреннего ПО: именно они постоянно ищут разработчиков по всему миру.
На Java создано большинство популярных продуктов:
- стриминговые сервисы Netflix, Spotify и Okko;
- серверная часть портала Госуслуг;
- соцсети Twitter и LinkedIn;
- архитектура крупных онлайн-магазинов Ebay и Amazon;
- продукты Яндекса — Яндекс.Маркет и КиноПоиск;
- приложения для банковского сектора и бирж, например приложения Альфа-Банка;
- сервисы доставки еды и продуктов.
Язык нужен не только разработчикам, но и:
- тестировщикам-автоматизатором программного обеспечения;
- дата-сайентистам. У Java есть мультиплатформа JOONE Neural Engine, на которой можно создавать, обучать и тестировать нейронные сети;
- генетикам. Например, в библиотеке Jenetics можно создавать генетические и эволюционные алгоритмы;
- физикам. С помощью Java-апплетов (компьютерных анимаций) можно моделировать физические законы и процессы.
А еще Java — это круто, потому что вы можете:
- изучать космос с NASA;
- помогать докторам посещать пациентов на расстоянии;
- создавать софт для трейдинга;
- разработать торговый автомат;
- подписаться на Java в Twitter, который создан с помощью Java.
Кто такой Java-программист
Java-программист — это человек, который пишет программный код на языке Java. Помимо написания кода, он часто взаимодействует с заказчиком, тестирует приложение на всех этапах его создания, исправляет баги и занимается техподдержкой.
Пример: одной из рабочих задач Артура Куприянова была разработка бота. Требовалось реализовать Inline Keyboard для отправки ссылок в Telegram. Inline Keyboard — online-клавиатура, привязанная к сообщению. Вместо отправки сообщения с обычной клавиатуры она использует функцию обратного вызова, то есть отложенного выполнения. Функция обратного вызова названа по аналогии с заказом обратного звонка: когда вы не хотите ждать на линии и заказываете звонок от оператора, а он набирает вам, как только освободится.
Вот что он сделал:
- Проверил, есть ли в Telegram такой функционал.
- Нашел несколько библиотек, посмотрел документацию по ним и, сравнив, подключил одну через Maven — фреймворк для автоматизации сборки проектов.
- Создал тестового бота и попробовал сделать простой пример, который показывал, как работает Inline Keyboard.
- Начал продумывать архитектуру приложения: выделил модули, создал пакеты.
- Выбрал стиль разработки.
- Реализовал бота в соответствии с задачей.
Как искать работу?
Первое с чего стоит начать- составление резюме. Даже на том, как оно составлено, можно многое сказать о его владельце. Если резюме хаотичное без какой-либо структуры, то, вероятно, то же самое можно будет сказать и о структуре исходного кода, который его автор будет разрабатывать.Скопированная информация из интернета в один из разделов резюме, например о личных и профессиональных качествах, говорит о том, что кандидат может и приврать. Отсутствие достижений в работе и учебе, больше говорит о том, что человеку работа нужна ради денег. Чтобы не создавать такого впечатления при составлении резюме пользуйтесь услугами профессионалов, или дайте его на вычитку знакомым рекрутерам.
Чего не нужно делать в резюме и на собеседовании, так это врать и приукрашивать факты, это профессионалами считается на раз-два, а о вас останется негативное впечатление. Если у вас уже есть какие-то работы и достижения, то стоит их отдельно перечислить в резюме.
Начните с рассылки резюме по тем вакансиям, которые соответствуют вашему опыту, например, если вы изучали java script, то откликайтесь на все, где он указан в требованиях, отправляйте резюме туда, где потенциально возможно потребуется специалист с вашим опытом работы, даже если сейчас там нет открытых вакансий. На поиск работы может уйти несколько месяцев. Обычно после отклика на вакансию работодатели откликаются через пару дней, далее в течение недели проходят собеседования и пробные задания, еще месяц может уйти на размышления работодателей. Как правило, прямые отказы работодатели не дают, просто «забывают» о вас. О том, как подготовиться и пройти собеседования я уже писал, почитать можно вот тут.
Как освоить профессию программиста специалисту из другой сферы
Однако, всё несколько не так с опытными специалистами из других сфер, желающими сменить профессию. И дело в не отсутствии потенциала, как раз наоборот, а в том, что потенциально вы можете скомбинировать свой накопленный опыт с профессией программиста, и это откроет вам огромные возможности.
О важности комбинации двух профессий уже много говорят, и такие специалисты очень ценны. Но важно сделать всё грамотно
Шаг первый состоит в том, чтобы определиться, чем именно вас привлекает сфера программирования и в каком «стеке» технологий вы могли бы реализовать себя наиболее эффективно. В самом начале пути вы можете ещё не знать, что окажется вашей настоящей «пассией», поэтому стоит ответить на эти простые вопросы:
- Я хочу создавать мобильные приложения?
- Я хочу создавать классные красивые сайты?
- Я хочу создавать бизнес-приложения (банкинг, инструменты расчётов или статистики, и т.д.)?
- Я хочу программировать роботов, игры, базы данных, компиляторы, сложные приложения или искусственный интеллект?
Шаг второй состоит в изучении существующих на рынке компаний и технологий, которые они используют:
- Составьте список компаний, которые занимаются интересующей вас областью или предметом.
- Посмотрите описания вакансий на предмет технологий, которые они требуют от кандидатов. Обычно это язык, фреймворк и набор сопутствующих инструментов.
Например:
- C#, .NET, SQL, Git
- Java, Spring, SQL, Git
- JavaScript, ReactJS, и т.д.
- Kotlin, Android, и т.д.
- ObjC, Swift, iOS, и т.д.
Выделите наиболее часто пересекающийся список из всех вакансий и компаний, и сузьте список до состояния, в котором будет ровно Один язык программирования и Один основной фреймворк.
Как малоопытный специалист за разумное время вы сможете изучить не так много и не так глубоко, но этого может быть уже достаточно для поступления на работу.
Шаг третий состоит в выборе одной или нескольких ближайших целей для написания более-менее реального приложения в процессе обучения
Цель может быть и большой (создание игры), и малой (создание простейшего сайта), и полезной (автоматизация процесса) и не очень (ИИ, рекомендующий цвет мороженого).
Важно, чтобы вы закончили один или несколько таких проектов, попутно изучив язык программирования и фреймворк. Важно так же, чтобы цель вас мотивировала двигаться и не бросать
Далее, вам нужно сконцентрироваться на языке и фреймворке, взяв несколько наиболее часто рекомендуемых книг и воспользовавшись техникой параллельного чтения. Как правило, для быстрого старта полезно пройти несколько онлайн курсов (опять же, есть множество платформ, таких как stepik.org и udemy.com).
Далее, начинайте рассылать резюме в компании, и откликаться на предложения на LinkedIn. Удача может улыбнуться не сразу, но спрос на специалистов так высок, что я могу практически гарантировать, что вы устроитесь на работу в IT компанию.
Советы и проблемы
Кроме самого процесса изучения языка программирования, человек во время его освоения и до момента получения первых положительных результатов (для каждого успех будет своим) столкнётся с огромным количеством преград и сложностей.
- Откладывайте деньги. От момента открытия руководства или книги до дня, когда получите первое предложение или вас выберут исполнителем на бирже фриланса, может пройти 2-3 месяца. На этот период необходимо обеспечить свою семью финансово. Лучше с небольшим запасом. Иначе придётся бросать книги и идти работать.
- Согласуйте и обсудите решение с семьей, взвесьте все плюсы и минусы: изучение ЯП после работы, увольнения с текущего места работы, дополнительные расходы на самообразование. Весь процесс должен быть распланирован как можно подробнее, учтены все возможные последствия (мыслим как программист) и подготовлены альтернативные варианты развития событий (вдруг после месяца труда так и не получилось ничего понять).
- Регулярные занятия. Чтобы добиться успеха, программированию необходимо уделять по пару часов в день без длительных перерывов. В процессе освоения ЯП перерывы нужно делать каждые 15-30 минут и несколько минут отдыхать.
- Долго не мотайтесь от одного языка программирования до другого. Как показывает статистика, немногие разработчики кодят на том языке, который учили первым. Вскоре после обзаведения достаточным для дальнейшего прыжка в развитии опыта вы смените язык программирования на среднеуровневый (C). В процессе проникновения в код программ многое меняется, как и ситуация на рынке.
- Общение и обмен опытом с единомышленниками в различных коммьюнити, чатах и на форумах.
- Смена рода деятельности. Планируйте день таким образом, чтобы в нём находилось место всему, чем занимались до изучения программирования. Особенно спорту и связанными с движением видам деятельности.
- Учите английский язык хотя бы на уровне понимания значения слов операторов. Его знание на высоком уровне будет плюсом при трудоустройстве, понадобится для чтения книг и интернет-ресурсов на английском.
- Обзаведитесь наставником, который даст совет, подучит, подскажет, поделится опытом, подкорректирует «путь» и т.д. Таких людей можно найти через интернет и платить им за консультации (это не всегда), среди знакомых и их знакомых. Лучше всего обратиться к другу-программисту, если такой есть.
- Неудачи и сила воли. Будут в процессе самообучения ситуации, когда после многих часов или даже нескольких дней решение какой-либо задачи так и не приблизится. Появится желание отдохнуть, забросить учебники вместе с программированием, включить игру или фильм и заняться чем-то иным, полегче. Отдых нужен, но не больше. После него с новыми силами возвращаемся к поиску решений. Порой они находятся спонтанно.
- Пишите собственные программы, для себя. Пускай они будут простыми, но это опыт, плюс в портфолио.
Как поступить на специальность Программирование и что сдавать?
От будущих it-специалистов вузы чаще всего требуют результаты ЕГЭ по русскому языку, профильной математике и информатике. Некоторые могут попросить сдать еще и английский.
Облегчить себе жизнь в жаркую пору итоговых государственных аттестаций можно с помощью олимпиад. Ниже список подходящих юному программисту соревнований по информатике. Уровень 1 — самый сложный, но цена победы бесконечно высока: вы можете поступить в вуз вне конкурса или получить 100 баллов по профильному предмету. Подробнее о различиях олимпиад и о выборе подходящей читайте в нашей статье об олимпиадах.
Название олимпиады | Уровень сложности |
Всесибирская олимпиада школьников | 1 |
Московская олимпиада школьников | 1 |
Олимпиада школьников «Ломоносов» | 1 |
Открытая олимпиада Университета Иннополис | 1 |
Открытая олимпиада школьников | 1 |
Открытая олимпиада по программированию | 1 |
Олимпиада «Высшая проба» | 2 |
Олимпиада СПбГУ | 2 |
Открытая олимпиада по программированию «Когнитивные технологии» | 2 |
Олимпиада по дискретной математике и теоретической информатике | 3 |
Олимпиада школьников «Надежда энергетики» | 3 |
В сети мало русскоязычных источников по программированию. Смиритесь с этим
Да, и еще одна важная вещь. Нужно смириться с тем, что в русскоязычном сегменте сети довольно мало книг и ресурсов по программированию, если сравнивать с количеством англоязычных источников.
Конечно, не все так грустно: на русском языке есть «Инструменты для разработчика Google». Но начинать в любом случае нужно не с этого.
Я знаю, что существуют разнообразные онлайн-курсы по программированию – платные и бесплатные, – но так вышло, что у меня получилось обойтись без них. Что еще раз говорит в пользу моего изначального аргумента, что программировать можно научиться без чьей-либо помощи.
Обучение в колледже
Уровень знаний выпускников колледжей ничуть не хуже, чем в университетах и других высших учебных заведениях. Колледжи предлагают большое количество образовательных программ и специальностей, которые помогут абитуриенту изучить программирование. Для успешной карьеры обучения в колледже вполне достаточно, но для тех, кто хочет постоянно прогрессировать, всегда есть возможность поступить в университет, продолжив обучение.
Закончив колледж, выпускники начинают работу на самых «младших» должностях, например, младший разработчик, работник службы поддержки и др. При успешной работе и своевременной сдаче проектов можно быстро продвинуться по карьерной лестнице, добиться признания коллег и высокое жалование.
Как поступить в колледж на программирование?
Для начала, необходимо выбрать колледж, в котором будущий студент хочет обучаться. На сайте колледжа или в корпусе приемной комиссии, администрации можно посмотреть перечень специальностей, которые предлагаются учебным заведением.
Если среди них есть подходящая, переходим к следующему шагу. Необходимо внимательно изучить условия- сколько лет длится, очная или заочная форма обучения, программа, есть ли возможность получить место с бюджетным финансированием или обучение только на платной основе, если да, стоимость годового контракта, условия проживания в общежитии, при необходимости, вопрос о стипендии. Необходимо уточнить сроки приема документов и перечень необходимых бумаг. После этого, необходимо собрать пакет документов и написать заявление о желании пройти обучение.
Обычно, для поступления в колледж требуются следующие документы:
- Копия свидетельства о рождении или паспорта, а также иметь при себе оригиналы документов. Если заявление подается онлайн, подойдут сканы оригинальных документов. Данные документы нужны для подтверждения личности и гражданства будущего студента.
- Заполненное стандартизированное заявление о поступлении на имя директора.
- Документ о получении образования.
- Медицинская справка образца 086/у.
- Фотографии размером 3×4 для личного дела абитуриента.
В разных колледжах могут потребовать и дополнительные документы, например, полис медицинского страхования, приписное свидетельство, временная регистрация, СНИЛС.
Если абитуриент хочет учиться в вечернюю смену, может потребоваться справка с места работы.
Выбираем подходящее направление
В зависимости от колледжа, количество направлений по программированию варьирует. Вот некоторые примеры направлений в колледжах: «Компьютерные сети», «Сетевое и системное администрирование», «Программирование и информационные системы».
Компьютерные сети
Выбирая данную область, абитуриент может научиться проектировать компьютерные сети, научится их устанавливать, различать особенности каждого вида сетей, консультировать клиентов по поводу отличий и подбирать подходящий тип сети согласно требованиям и техническим условиям.
Сетевое и системное администрирование
Тут готовят будущих системных администраторов и специалистов, занимающихся базами данных. Работа очень интересная, есть большой простор для идей и возможности их реализации.
Программирование и информационные системы
Данное направление совмещает в себе сразу две области — программирование и IT. По окончанию колледжа студенты смогут разрабатывать и улучшать информационные системы, создавать приложения, заниматься их дизайном.
Формы и срок обучения
В колледже существует две формы обучения — очную и заочную. Заочная форма подойдет тем, кто работает. Очная форма, в зависимости от колледжа, предполагает очное присутствие и посещение занятий. Можно проходить обучение в дневную или вечернюю смену.
Обучиться на программиста можно и в высшем учебном учреждении — университете. В университетах может быть больше программ обучения, но при этом и требования к абитуриентам выше. Многие приходят в университет после колледжа для того, чтобы получить более глубокие и профессиональные знания, лучше освоить базу.
Как научиться программированию
Итак, вы определились с языком, теперь нужно придумать, как его выучить. А выучить его вам будет не так уж и сложно, как кажется на первый взгляд. У страха глаза велики. Нужно просто приложить усилия и потратить на обучение несколько месяцев. Это не так уж и много на самом деле. Специалисты уже подсчитали, что на изучение programming language нужно в среднем от 6 до 13 недель, если заниматься по 8 часов в день. Если предположить, что вы уже где-то работаете на полный рабочий день, и свободного времени у вас меньше, то это 2-6 месяцев.
Есть еще такая теория как «10,000 hours rule». Она гласит, что в любом ремесле можно стать профессионалом за 10 тысяч часов. Если поделить на 40 часов в неделю, то выйдет около пяти лет. Но это чтобы стать прям экспертом. А для первых серьезных проектов и первой работы достаточно, как мы уже сказали, от нескольких месяцев до полугода.
Где учиться?
- Книги. У нас в блоге выходила подборка лучших книг для изучения программирования. Рекомендуем к прочтению.
- Онлайн-курсы. В той же самой подборке о них тоже сказано несколько слов, но если вкратце, то можно заниматься в GeekBrains (рус), Яндекс Практикуме (рус), Codeacademy (англ), Coursera (в основном англ), Skillshare (в основном англ) и так далее.
- Видеоуроки на YouTube. Есть много хороших бесплатных курсов. В том числе записи уроков из платных видеокурсов прошлых лет — слитых или выложенных самими школами.
- Оффлайн школы и тренинги. Это самый дорогой способ научиться программированию, но самый эффективный. Под личным руководством наставника вам будет гораздо проще, ведь не придется задерживаться на одном месте.
Что общее у всего вышеперечисленного? Наличие практики. В хороших учебниках всегда есть разделы с практикой, на онлайн-курсах есть тренажеры или домашние задания. На ютубе вы можете сами попробовать написать программу по туториалу. А на тренингах вы именно этим и будете заниматься большую часть времени. Возможность написать что-то своими руками будет вас мотивировать. В идеале вы должны написать свою первую программу уже на первом, максимум на втором уроке.
Стоит ли поступать в университет, чтобы научиться программировать? Можно, но это вовсе не обязательно. Курс обучения в университете длится от четырех лет. За это время вы спокойно можете выучиться самостоятельно и получить несколько лет опыта. Поступать стоит в том случае, если вы планируете освоить сложную профессию по узкой специальности, и знаете, что в этом конкретном университете вас этому могут научить.
Как начать зарабатывать программистом
Многие представляют работу программиста-фрилансера так:
Или так:
На самом деле это выглядит примерно так:
Если вы готовы к работе программиста и ищете способ зарабатывать — добро пожаловать на фриланс! Фриланс-биржи позволят вам найти простые заказы (возможно почти бесплатно на первых порах) — чтобы получить практику. Как правило, работа в ИТ-компании может быть прибыльнее, если вы просто ищете работу программиста.
Уже после пункта 2 — освоив HTML, CSS и jQuery — можно идти на фриланс биржи и брать несложные заказы, нарабатывая профиль.
Знаете английский? https://www.upwork.com/
Совсем нет, даже со словарем? http://freelance.ru/
К тому времени, когда вы сможете самостоятельно делать сайты, вам будет проще найти клиентов — будут отзывы и опыт.
Навыки, необходимые программисту
Английский язык
Все чаще проектная документация ведется на английском языке или часть команды — иностранцы. Усовершенствуйте ваш английский язык, чтобы он позволил свободно общаться. Большинство работодателей ожидают знания этого языка как минимум на уровне B2, то есть на уровне бакалавра. Если вы знаете, что у вас проблемы со свободным использованием английского языка — обязательно заполните пробелы!
Коммуникация
Не только на английском
Для разработчика чрезвычайно важно хорошо общаться. И с командой, и с клиентом
Умение четко выражать мысли позволит избежать проблем и задержек в реализации проектов, что, конечно, крайне важно.
Командная работа
Изучая программирование самостоятельно, к сожалению, у вас не будет возможности научиться работать в команде. И это очень важный аспект работы разработчика. Соответствующее распределение задач и сотрудничество позволят своевременно реализовать проект, поэтому стоит рассмотреть возможность участия, например, в программах развития, которые учат командной работе и сосредоточены на обучении через опыт. Благодаря этому вы будете готовы работать разработчиком.
Принятие критики
Чтобы вы постоянно развивались и совершенствовали свои навыки, вы должны научиться адекватно принимать критику и комментарии других. Не относитесь к ним как к «атаке», а только как к руке помощи. Чем больше комментариев вы получите, тем больше знаний получите. Также помните, что не каждый человек, который критикует вас, будет прав — вам нужно уметь проанализировать данный комментарий или подсказку и решить, стоит ли это того.
Организация работы
Этот навык важен не только в IT. Работодатели ожидают некоторой независимости даже от начинающих разработчиков. Поэтому стоит знать, как организовать свою работу, чтобы она была эффективной. Это покажет работодателю, что вы ценный сотрудник.
Из чего состоит идеальный программист?
Не знаю, можно ли ко мне отнести термин «с нуля», с учётом того, что некогда я преподавала программирование и математическое моделирование, рассказывает Ольга Кучерова. Поскольку с тех пор данная специальность претерпела большие изменения, я вполне себе null в современном программировании. Однако, к этому занятию меня всё время тянет и обычно я поддаюсь искушению освоить азы заинтересовавшего меня инструмента, чтобы сделать какой-нибудь маленький проект.
Во-первых, это чрезвычайно увлекательно, к тому же такой опыт часто помогает мне в работе.
Например, заказываю разработку шаблона интерактивного письма в корпоративном стиле, элементарные знания позволяют самостоятельно адаптировать его для каждого сотрудника, изменить форматирование, перегруппировать блоки. Знакомство с понятиями и терминами способствует взаимопониманию как при постановке задач разработчикам, так и при приёмке и эксплуатации продукта.
Одним словом, учиться программированию полезно всем и никогда не поздно, не только с нуля, даже с минус единицы.
А с обучением есть проблемы. Многое изменилось, но гэп между образовательным контентом и потребностями бизнеса преодолеть не удаётся, об этом печальном факте свидетельствует острая потребность в квалифицированных кадрах для IT при изобилии выпускников профильных учреждений.
Система высшего образования слишком консервативна, чтобы уследить за популярностью того или иного стека технологий, да она, наверное, и не должна, хорошо, если предоставит академическую базу универсальных знаний. Постигать тонкости ремесла программиста скорее всего придётся посредством курсов и самообразования.
Хорошо, если удастся преодолеть HR парадокс: всем нужны опытные сотрудники, а где им набираться опыта? – Неизвестно.
Итак, из каких составляющих получается идеальный программист?
- Фундаментальные знания, владение математическим аппаратом
- Участие в решении конкретных, актуальных прикладных задач – чем раньше, тем лучше
- Мотивация и умение учиться на специализированных курсах.
Это необходимые условия. Есть ещё несколько опций, которые создадут дополнительные преимущества:
- Содействие опытного ментора
- Вовлечённость в профессиональные сообщества
- Челленджи, хакатоны, помощь другим начинающим программистам (да, это когда так хорошо объяснил другому, что сам понял!)
Тут по каждому пункту можно делать целое исследование, начиная от того, какие ВУЗы хорошо закладывают основы, необходимые для пункта 1, заканчивая списком ресурсов для выбора стажировок и соревнований программистов. Но тут всё стандартно: гуглим, советуемся с друзьями.
Что можно применить нетривиальное, полезное для newcomer, что поможет сфокусироваться на получении востребованных навыков?
- Исследовать профили специалистов на Linkedin, там они указывают свои Skills с соответствующим подтверждением в виде сертификатов и пройденных тестов. Заодно можно задать им вопросы.
- Изучить требования вакансий по интересующей должности, выписать группы наиболее часто встречающихся стеков технологий и фреймворков.
- Отыскать skills matrix для целевой специализации.
Готовые матрицы навыков разрабатывают предприятия-флагманы отрасли, в немного расплывчатом и общем виде, годном чтобы составить первоначальное представление о профессии, навыки описаны в Профессиональных стандартах на сайте Минтруда. В акселераторах также имеет смысл поинтересоваться списком требований к разработчикам. Кроме того, на данной теме специализируется российский стартап Vectotly.team.
Сейчас наблюдается тренд на гармоничное развитие технарей, многие из них помимо hard skills стремятся прокачать soft skills: бизнес-подход, самопрезентацию, командную работу и тому подобные умения. Но это уже другая история.
Отнеситесь к проверке кода серьезно
Давно читаешь статьи, но до сих не подписался в группу ВКонтакте? Не мучайся, подпишись.
Обзор кода — это не только эффективный способ найти ошибки, но и отличный способ разжечь дискуссию и поделиться знаниями между членами команды.
«Как рецензент, будьте восприимчивы к конструктивной критике и используйте опыт своих рецензентов, чтобы создать что-то лучшее, чем вы могли бы сделать сами», — сказал Тигран Слоян, генеральный директор CodeFights.
«Как рецензент, оставайтесь конструктивными, но используйте возможность распространять лучшие практики и накопленную мудрость или даже узнать что-то новое из кода, который вы просматриваете».
Изучение алгоритмов
В программировании все основано на алгоритмах, делающих поставленную задачу проще. С их помощью проблема дробится на подцели, что помогает найти способ решения за более короткий срок. Программист не может работать, не зная команд, не умея их правильно составлять.
Приступать к освоению дисциплины нужно, изучив хотя бы один язык. В сети находится обширная база текстовых, видеоматериалов по теме, предлагаются вебинары, тренинги. Литература для самообразования:
- Р. Лафоре «Структуры данных и алгоритмы Java» (2011).
- А. Бхаргава «Иллюстрированное пособие для программистов и любопытствующих» (2019).
- Т. Кормен «Алгоритмы: вводный курс» (2016).