Что должен знать и уметь хороший программист?


Общие рекомендации по заполнению резюме программиста

Цель документа – привлечь внимание нанимателя к вашим достижениям. Используйте конкретную информацию, чтобы было понятно, на какой из областей вы специализируетесь.

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

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

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

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

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

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

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

Верно
  • Обязанности, которые вы исполняли, необходимо располагать по их важности, так создается впечатление профессионального роста.
Неверно
  • Избегайте бездумного повторения списка обязанностей из должностной инструкции. Это может испортить мнение о вас.

Пример заполнения блока об опыте работы:

  • Период:
    Январь 2021 – августа 2021 года
  • Организация:

    ООО «Дизайн квартир».

  • Должность:

    Программист.

  • Обязанности:

    — Техподдержка существующего сайта — Доработка сайта, добавление плагинов — Был тех. долг, я занимался рефакторингом — Использовал Django, Celery, DRF, MySQL Достижения — Оптимизировал код с 60 до 35 тыс. строк

  • Период:
    Июнь 2021 – декабрь 2021 года
  • Организация:

    ООО «ФейсКонтакт»

  • Должность:

    Программист

  • Обязанности:

    — Разработка серверной части сайта; — Проектирование баз данных, создание API; — Использовал FastAPI, Dramatiq (RabbitMQ), SQLalchemy (PostgreSQL), PyTest.

Как поступить, если нет опыта работы программистом

Резюме начинающего программиста не будет иметь успеха, если в нём совсем не указан опыт.

Заранее позаботьтесь, чтобы вам было о чем писать в этом разделе:

  • Зарегистрируйтесь на биржах профильных специалистов, выполните ряд заказов;
  • Пройдите стажировку в какой-либо компании во время учебы;
  • Окончите курсы для повышения профессионального уровня.

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

Не во всех компаниях обучают нанимаемых работников. Если вам и предложат обучение, это обязательно отразится на уровне заработной платы. Быстрота продвижения по карьерной лестнице зависит от уровня образованности, способности применения знаний в реальности.

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

Совет:

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

Образование соискателя

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

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

Пример одного из образований программиста:

  • Учебное заведение:
    СПбГУ, г. Санкт-Петербург
  • Факультет:

    Программной инженерии и компьютерной техники

  • Специальность:

    Программист

  • Год окончания:

    2020

Курсы повышения квалификации:

  • Год окончания:
    2020
  • Название курса:

    Углублённый курс фреймворков Python

  • Проводившая организация:

    Udemy

  • Год окончания:

    2019

  • Название курса:

    SkillFactory

  • Проводившая организация:

    Курс обучения Python, Django

Профессиональные навыки программиста

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

В зависимости от выбранной должности нужно указывать соответствующие навыки:

  1. Frontend-разработчик. В первую очередь веб-программист должен знать языки HTML, CSS, JavaScript. Из популярных фреймворков: Bootstrap, JQuery, React, Vue, Angular. Фронтендеру нужно уметь пользоваться программами Photoshop и Figma, чтобы детально рассматривать задания от дизайнера.
  2. Backend-программист. Основным языком может быть один из трёх: Python, PHP, Ruby. При выборе надо также овладеть необходимыми фреймворками. Например, в резюме PHP-программист должен указать такие технологии, как YII2, Laravel5, Symfony2. Наконец, бэкендер должен знать базы данных (SQL или NoSQL). Дополнительно надо разбираться в популярных CMS, технологии MVC (ЧПУ и прочее).
  3. Разработчик мобильных приложений. В зависимости от того, под какую платформу создаются приложения, будет зависеть основной набор навыков. В Android-разработке применяются такие языки, как Java и Kotlin, реже – Scala, а также среда разработки Android SDK, технологии Rest/SOAP. В IOS-разработке нужно знать языки С#, Swift или Objective-C, а также среду разработки Apple Development Guidelines.
  4. Системный программист. Здесь существует огромное количество языков программирования: Go, Rust, C, C++, C#, Scala, Python и другие. У каждого из них множество фреймворков. Кроме того, существуют разные операционные системы, наиболее распространённые – это Linux, Windows, Mac.
  5. Разработчик игр. Игры делаются на самых разных языках: JavaScript, Python, TypeScript и другие. Но самыми распространёнными являются C++, C#, Java. Кроме того, разработчику нужно хорошо освоить популярные движки – Unity и Unreal Engine.
  6. Программист 1С. Тут нужно изучить не только программирование, но и работу приложений 1C. Кроме того, потребуются знания бухгалтерии, кадрового и товарного учёта.

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

PythonXML, HTML5, CSS
AsyncioJavaScript, Ajax, jQuery
Django, Celery, DRF, FlaskPyTest, Git, Atlassian Jira
SQL, HSQLDBSQLalchemy, MongoDB
GraphQL, FastAPIREST, Linux
Тестирование, ООП

Ключевые навыки программиста

Итак, вот эти ценные умелки:

1. Следовать стандартам оформления кода, чтобы комар носа не подточил. 2. Понимать принцип работы приложения от ядра до представления. 3. Проектировать решение задачи, расставлять приоритеты в планировании графика выполнения задач. Нужно быть стратегом как на войне. Иначе отложенные подзадачи могут неожиданно для вас стать теми объектами на карте, которые вы не учли. Войну вы проиграете, и все придется начинать сначала. 4. Проводить декомпозицию задачи. Ее нужно уметь делить на подзадачи и синтезировать общее решение из частных. 5. Адекватно оценивать затраты времени на решение задачи. Правильно уметь расставлять интервалы – от минимального количества времени, которое может занять разработка, до максимального. 6. Выполнять отладку кода до отправки на тестирование. Важно уметь находить в своем коде максимум ошибок, ведь только вы видите его насквозь и детально. 7. Видеть причины отклонения от сроков и качества.

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

Как лучше рассказать о себе в резюме программиста

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

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

Пример заполнения раздела «О себе»:

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

Навыки и качества хорошего программиста

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

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

Аналитически мыслит

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

Знает, как писать чистый код

Написанный вами код будут читать ваши коллеги, а также работать с ним придется и другим членам команды. Хороший программист тот, кто умеет “кодить чисто и понятно”. Такой код поможет не просто быстрее работать, но и избежать недопониманий со стороны коллег, а также создавать меньше багов.

Стремится быть лучше, знать больше – саморазвивается

Без постоянного саморазвития не стать хорошим программистом. IT-сфера прогрессирует неустанно: появляются новые языки, фреймворки и другие инструменты. Регулярное обновление своих знаний, сомнения в том, что вы знаете «как правильно» приведут вас к успеху в карьере и сделают настоящим профессионалом.

Любит то, что делает

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

Как заполнять контакты в анкете

Правильность внесенной в раздел информации необходима, прежде всего, вам. Здесь работает 3 принципа:

  • Отмечайте как можно больше контактов;
  • Указывайте контакты разного типа;
  • Лучше, чтобы все они были доступными.

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

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

Пример заполнения контактных данных:

  • Телефон:
    +7
  • Email:

    [email protected]

  • Skype:

    PitonovMyResume

  • Github:

    /pitonov_myresume/

Образец резюме программиста

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

Для описания опыта работы воспользуйтесь нашими подсказками. Опишите, что вы делали: — Какие перед вами стояли задачи? — Какая часть программы, кода, приложения написана вами? — Что переписали, переделали, улучшили? — Что для вас было сложно, а что удалось сделать очень легко и быстро? — Где выявили свои или чужие ошибки? — Какие идеи предложили?

Не пишите очевидных вещей, вспоминайте сложные и интересные задачи. Ищите ценность в своем опыте.

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

Фразы, которые НЕ работают:

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

Как правильно?

Фразы, которые работают:

Вариант 1 Разрабатываю интерфейс для доступа к урокам на симуляторах и обрабатываю результаты их прохождения. Для этого разработал плагин на PHP, который интегрируется в СДО Moodle через API этой платформы и обменивается данными с симуляторами по HTTP. Плагином поддерживается LTI, что делает его и точкой доступа к симуляторам из других СДО.

Веб-интерфейс доступа к симуляторам в виде отдельного плагина позволяет установить его на любой СДО Moodle в автоматическом режиме. Поддержка LTI предоставляет заказчикам (30 вузов) возможность начать урок на симуляторе из привычной им СДО Blackboard.

Вариант 2 Улучшил процесс разработки в команде, внедрив gitflow, continuous integration, contribution guidelines. Переписал проект с obj-c на swift.

Вариант 3 Разрабатывал приложение для детей с особенностями в развитии, в результате приложение стало востребовано, как для родителей «особых» детей, так и для терапевтов. Приложение состоит из мобильной части для пользователей и веб-сайта для администратора с возможностями контролирования пользователей. Возможности приложения: — запись видео сеансов, передача видеофайлов с приложения на веб-сайт; — запись данных вручную внутри приложения: время проведения терапии, симптомы и их тяжесть; — составление графиков анализа симптомов.

Уделите внимание описанию своих достижений. Как «хвалить» себя, подскажет наш шаблон: — связал данные мобильного приложения с данными сайта; — написал код PHP с функционалом чтения, записи и загрузки данных с мобильного и веб-приложения в базу; — создал 2 графика для анализа данных с фильтрами по датам (ежедневно, еженедельно, ежемесячно и ежегодно). Графики включали в себя общие данные о записях пользователя, воспроизведенные с помощью line chart, bar chart & pie chart. Каждая точка на графике может быть детально изучена; — оптимизировал более 20000 строк кода: PHP — 7500, Java for Android — 13000; — провел анализ более 4000 тысяч строк мобильного приложения и оптимизировал до 1500 строк, производительность выросла в 3,5 раза; — работал над безопасностью данных пользователя: шифрование (хэширование) паролей с использованием функции base64_encode; — внедрил идеи для развития приложения: использовать сложную структуру SQL-запросов вместо повторяющегося кода, использовать платформу Git Hub для слияния разных частей приложения.

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

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

Не стоит просто перечислять инструменты в навыках: UIKit, AutoLayout, Foundation, MapKit, CoreData, Realm, Alamofire, Git, TDD, CI — из этого нельзя увидеть уровень вашего погружения. Расскажите, что из этого вы используете чаще всего и почему, а чего стараетесь избегать.

Рейтинг
( 1 оценка, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями: