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

Программирование с нуля: с чего начать и как выучить

Какой язык программирования учить первым?

Программирование — это процесс создания программ (программного обеспечения). Для этого программисты пишут исходный код на одном из языков программирования.

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

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

Другими популярными языками считаются Java и C. Они сложнее, особенно для новичков, но владение ими обеспечивает лучшее понимание того, что вы делаете и что происходит с вашей программой. Вместе с языком Pascal язык С обычно изучается в вузе на профильных факультетах.

Использование других языков программирования зависит от цели деятельности. Например, в качестве серверных языков популярны php, Java, ruby. Из клиентских языков наиболее перспективен Java Script. Для разработки сложных высоконагруженных проектов требуется C++. На этом же языке пишутся игры. Еще одна перспективная сфера — разработка приложений для мобильных устройств. Тут используют Java, Objective-C, Swift. Любой опытный программист знает несколько языков, однако код на работе он пишет только на одном из них.

Нужно ли программисту знать математику и английский?

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

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

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

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

1. Обучение HTML

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

2. Обучение CSS

Внешне написанная на HTML интернет-страница будет напоминать простейший текстовый документ. Чтобы «оживить» его, используется каскадная таблица стилей или CSS. Она меняет не структуру страницы, а ее внешний вид: шрифты, расположение элементов, тени и цвета. Другими словами, если HTML используется для описания логической структуры страницы, язык CSS отвечает за графические элементы и прописывается в отдельном файле.

3. Обучение JavaScript

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

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

1. Обучение PHP

Базовый инструмент backend-разработчика — язык программирования PHP. Он нужен, чтобы связать видимую пользователю страницу с сервером, где хранятся какие-либо данные. Например, чтобы не выкладывать на веб-сайт по одной фотографии при помощи HTML, можно запустить скрипт, автоматически подгружающий туда условную галерею, лежащую на сервере. Язык PHP настолько сильно упрощает работу по созданию сайта, что изучать его SkillBox рекомендует и frontend-разработчикам.

2. Обучение SQL

Аббревиатура SQL расшифровывается как «структурированный язык запросов». В отличие с PHP, который нужен для связи сайта с сервером, языки SQL позволяют управлять уже самими базами данных. Сейчас существует множество подобных языков, самые распространенные из которых — это MySQL, MSSQL, PostgreSQL и прочие.

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

А какие еще бывают программисты?

  • 1С-программист, в непосредственные задачи которого входит оптимизация готовой системы 1С и ее настройка непосредственно под каждое предприятие.
  • Инженер-программист, который чаще всего занят в сфере разработки программного обеспечения для автоматизации производства, он же обычно программирует бытовую технику.
  • Game Developer, который специализируется на создании компьютерных игр. Геймдевелоперы заняты в полном цикле жизни видеоигры: создание, тестирование, доработка, поддержка, обновления, модификация и т.д.
  • Android- и iOS-разработчики, которые занимаются созданием игр, программного обеспечения, интерфейсов и обновлений для устройств, созданных под брендом Apple, или Android-устройств.
  • Системный программист, в задачи которого кроме разработки программных модулей и их интеграции входит адаптация и модификация программных продуктов под конкретную систему, исходя из ее логики и задач. Он же может заниматься разработкой баз данных и их администрированием.
  • Передовым направлением в области программирования считается сфера Data Science. Она объединяет искусственный интеллект и данные, умение прогнозировать на основе статистических данных.

Куда пойти учиться на программиста?

Если есть возможность поступить в вуз, то лучше выбрать один из ведущих: МГУ, МИФИ, ВШЭ, СПБГУ, МФТИ, МГТУ им. Баумана, МАИ, ИТМО и т.д. Речь идет, естественно, о профильных факультетах. Выпускники этих университетов лидируют в рейтинге портала Superjob, составленного по критерию уровня стартовых зарплат программистов.

Можно ли научиться программированию на онлайн-тренингах и курсах?

Можно. Начальные навыки программирования помогут приобрести такие популярные платформы, как Яндекс.Практикум, Сodecademy, Skillbox, GeekBrains, HTML Academy. После прохождения подобных курсов человеку становится легче понять, в сторону какого направления двигаться в профессиональном развитии.

Бесплатные курсы нередко открывают и спонсируют крупные российские компании: Mail.Ru Group, «Яндекс», «Лаборатория Касперского», Сбербанк, Тинькофф банк, «2ГИС», «Роснано», «Сколково» и HeadHunter.

Многие ведущие мировые вузы открывают курсы в онлайн. Например, курсы MIT можно найти на платформе Coursera.

Как освоить программирование самостоятельно?

Освоение программирования на 80% предполагает самостоятельную работу. Почти все необходимые материалы есть в интернете. Самое главное: мотивация. Лучше всего подходить к изучению комплексно, например, совмещая онлайн-курсы, официальную документацию к языкам, лекции, статьи, книги. При этом не следует распространяться на несколько языков сразу, лучше начать с самых простых.

Читайте также:
Язык гипертекстовой разметки HTML - основы разметки, функции

Можно изучать, играя: некоторые обучающие сайты сами являются играми, например, Code Combat и CodinGame.

На GitHub можно найти огромную коллекцию бесплатных книг по программированию. Также доступен корпус электронных книг, охватывающий 24 языка программирования.

В сообществе программистов также много людей, готовых помочь следующему поколению программистов. Hack.pledge — сайт, который поможет найти наставника.

Кроме того, можно подписаться на тематические каналы в Telegram, например: канал для новичков в Python, сообщество веб- и Java Script-разработчиков, канал разработчиков Ruby и Ruby on Rails и другие.

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

Где найти самоучитель по программированию?

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

Что такое метод Франклина и как он может помочь в обучении программированию?

Это способ, позволяющий систематизировать информацию из лекций и самоучителей.

Его можно описать следующими ступенями:

  1. Читайте книгу. Когда в книге попадется образец кода, прочитайте его, сделайте заметки, которые могут помочь вам вспомнить эту информацию в будущем.
  2. Закройте книгу.
  3. Попробуйте набрать код, воссоздав его как можно ближе к оригиналу.
  4. Сравните свой код с оригиналом, исправьте ошибки, повторите пункты 1−3, пока не начнет получаться оригинальный код из книги.

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

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

Нужен ли диплом и опыт работы после обучения веб программированию с нуля?

Считается, что высокие инженерные или исследовательские должности без высшего образования недостижимы. Также диплом необходим тем специалистам, которые захотят работать за границей. При этом многие российские HR-специалисты говорят, что при приеме на работу смотрят, в основном, не на строку «образование» в резюме программиста, а на реальный опыт работы. Кроме того, перед собеседованием или во время него претенденту, скорее всего, предложат выполнить тестовое задание.

С чего программисту начать поиск работы?

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

Далее стоит продумать стратегию поиска. Стандартный подход — изучение вакансий на сайтах по поиску работы, в LinkedIn и телеграм-каналах. Но есть и другой вариант — нетворкинг. А именно, посещение митапов, профильных конференций и курсов, что поможет вам завести новые знакомства и искать возможности уже через них. Этот путь более тернистый в начале, но дает больший эффект, потому что вы задействуете «теплые» контакты.

Затем нужно подготовить резюме, портфолио и сопроводительные письма. Именно они создают первое впечатление о кандидате.

Как составить резюме, если нет опыта?

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

Еще один важный пункт — заполнение навыков. Например, на HeadHunter они работают как теги, по которым рекрутеры ищут кандидатов. Поэтому лучше описать максимальное количество технологий, которые вы изучали или с которыми приходилось работать, а не только базовые JavaScript, HTML и CSS.

Где брать проекты для портфолио?

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

Примеры самостоятельных проектов начинающего разработчика:

  • Тестовые задания. Выкладывайте решения тестовых заданий на GitHub. Так вы одновременно и участвуете в отборе на позицию начинающего разработчика, и расширяете портфолио.
  • Совместные pet-проекты. Это проекты, которые вы делаете для себя в свободное от работы время (это может быть личный блог, игра или телеграм-бот), с однокурсниками и единомышленниками, которых вы встретили за время обучения веб-разработке.
  • Участие в opensource-проектах. Лучше всего начинать с проектов, в которых есть разделение задач по уровню сложности. В этом сборнике на GitHub перечислены как раз такие проекты.

С чего самостоятельно начать обучение программированию: этапы освоения профессии и советы новичкам

История о том, как стать программистом с нуля

Здравствуйте, уважаемые читатели!

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

Но прежде чем начать обучение, подумайте и ответьте на пару вопросов: нравится ли вам программирование, готовы ли вы ежедневно посвящать этому делу время, искренне ли интересуетесь информационными технологиями, нужно ли вам вообще программирование? Если ответ на все вопросы “да”, прошу читать дальше. В противном случае, построить карьеру в IT-сфере будет весьма трудно.

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

Кто такой программист

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

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

Программисты обладают такими качествами, как:

  • стрессоустойчивость,
  • внимательность,
  • усидчивость,
  • ответственность,
  • креативность.

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

Что нужно знать и уметь

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

Читайте также:
Способы выделения фрагментов текста в Word - алгоритмы и правила

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

  1. Уметь писать собственные и читать чужие коды.
  2. Иметь математические способности и логическое, аналитическое мышление.
  3. Интересоваться информационными технологиями, иметь глубокие знания в этой сфере и постоянно их обновлять.
  4. Знать английский язык.
  5. Иметь способности к многозадачности.
  6. Уметь автоматически переводить решения бизнес-задач на машинный язык.
  7. Знать, как вносить, обрабатывать, хранить информацию при помощи разработанных программ.
  8. Создавать, настраивать и внедрять в производство программные продукты.
  9. Уметь автоматизировать повторяющиеся процессы.
  10. Тестировать разработанный продукт и уметь исправлять выявленные ошибки.
  11. Понимать технические задания и самому их составлять.
  12. Уметь пользоваться инструментами программирования, фреймворками и вспомогательными программами.

И это лишь часть того, что должен уметь делать программист.

Как стать программистом с нуля

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

Язык – это просто инструмент для решения бизнес-задач. Поэтому новичку надо определиться с тем, как решать задачу, разбить это решение на этапы, оптимизировать процесс, чтобы не тратить время и ресурсы впустую.

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

И напоследок научиться работать с базой данных.

Подбор направления

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

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

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

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

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

Выбрать направление деятельности можно среди доступных профессий:

  1. Data Scientist – специалист по работе с большими данными.
  2. Frontend-разработчик – программист, отвечающий за лицевую составляющую сайта.
  3. Backend-разработчик – человек, который работает с серверной частью веб-сервиса.
  4. Fullstack-разработчик совмещает в себе frontend- и backend-разработчика.
  5. Администратор базы данных – человек, разрабатывающий требования к базе данных, которая используется конкретным предприятием, и отвечающий за проектирование и использование хранилища.
  6. Системный инженер настраивает и обслуживает внутренние компьютерные сети, офисную технику и ПК.
  7. Верстальщик работает над оформлением страницы и ее элементами: заголовками и подзаголовками, рамками вокруг картинок, шрифтом, отступами, абзацами.
  8. Архитектор ПО создает сложные IT-системы для решения бизнес-задач. С его помощью организации автоматизируют и упрощают повторяющиеся бизнес-процессы.
  9. Визуализатор – это специалист по разработке реалистичных трехмерных макетов зданий, интерьеров, памятников, мебели, одежды, окружающего пространства в компьютерной игре и т. д.
  10. Веб-дизайнер занимается созданием удобного и привлекательного интерфейса для веб-платформ.

И это только часть должностей, которые может занимать программист.

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

Выбор языка программирования

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

Можно найти предложения о работе, в которых сразу написано, с каким языком надо будет работать, например, PHP-программист или программист Python.

Если же отталкиваться от направления, то надо знать, что веб-разработчик пользуется C++, Python, Java. Системный программист – Assembler, C, C++, Python. Администратор базы данных – SQL.

Ниже приведены самые распространенные и популярные представители языков программирования:

  1. Python – это универсальный и распространенный язык программирования. Он популярен во всем мире и используется в большинстве своем в научных проектах, в области разработки ПО и при работе с Big Data.
  2. JavaScript. Этот язык тоже универсальный и часто используемый. С ним работают при разработке игр, интерактивного веб-дизайна интерфейса и в робототехнике.
  3. Java – это один из самых простых в использовании и понимании языков программирования. С ним часто создают различные веб-приложения.
  4. PHP – один из лидеров среди языков программирования, используемых при создании динамических веб-платформ. Часто является инструментом разработки веб-приложений.
  5. Паскаль – известный, но несколько устаревший язык программирования. Тем не менее он является основой для некоторых других языков и до сих пор применяется для обучения программированию в старших классах в школе и на первых курсах в вузе.
  6. Swift – новый язык, созданный компанией Apple. Он легок в использовании и позволяет новичкам разрабатывать мобильные приложения для iOS и macOS.

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

Если к этому времени специалист еще не приступал к изучению фреймворков, структур и баз данных, то сейчас эти знания просто необходимы. Не надо бросаться на все сразу, лучше выбрать что-то из основного: Git, SQL, HTML, CSS, XML, JSP, Maven, Spring, ORM, REST, MySQL, PostgreSQL.

Самообразование

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

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

Онлайн-курсы

Новичку предлагаются курсы от онлайн-платформ GeekBrains, Нетологии, Skillbox, Coursera, beONmax. Постигать азы сферы информационных технологий можно в своем темпе и в домашних условиях. Так цена будет ниже, чем обучение в вузе.

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

Предлагаю ознакомиться со следующими обучающими программами:

Составление резюме и портфолио

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

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

Лучше выбирать иностранные биржи, особенно если есть знания английского языка. Там и заказов больше, и доход выше. Подойдут, например, Upwork и YouTeam. Если говорить о русскоязычных биржах, то популярны Kwork, FL.ru и Freelance.ru.

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

А дальше можно уже перейти на специализированные сайты с вакансиями только для программистов, например, We Work Remotely и Хабр Карьера. А можно поискать работу на таких ресурсах, как hh.ru или SuperJob.ru.

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

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

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

Советы новичкам

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

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

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

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

Узнайте больше об архитектуре компьютера.

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

Заключение

Подведем итоги. Чтобы начать обучение программированию, надо следовать поэтапно. Сделайте следующее:

  1. Заполните пробелы, если таковые имеются. Речь идет об архитектуре компьютера и английском языке.
  2. Изучите для начала теорию алгоритмов и структур данных.
  3. Выберите направление, в котором есть желание развиваться.
  4. В зависимости от направления подберите язык программирования.
  5. Наберитесь знаний об инструментах программирования и веб-фреймворках.
  6. Изучите базы данных.

И в качестве общих советов:

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

27 советов начинающим программистам

27 советов начинающим программистам

Многим начинающим программистам перед тем, как приступать к собственно программированию, необходимо узнать множество разных вещей. Здесь мы собрали 27 таких вещей, которые сразу же приходят на ум. Наиболее важные советы – под номерами 14 и 26, но и все остальное также является достаточно важным.

1. Необходимо учиться на практике

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

2. Программирование – это никак не подготовка к тесту

Запоминание всплошную не обладает никаким существенным значением.

3. Махинации являются приемлемыми

Не обязательно знать абсолютно все. Многие для решения своих проблем, с которыми сталкиваются при программировании, используют Google, и ничего страшного в этом нет.

4. Плохой стратегией является накопление непроверенных наработок

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

5. Самостоятельное обучение — это довольно сложно

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

6. Старайтесь не жалеть о том, что было сделано

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

7. Для работы не требуется пять мониторов

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

8. Помните разницу между строчной и заглавной буквами

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

9. Не пытайтесь понять все, это дело безнадежное

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

10. Уделяйте максимально возможное количество времени парному программированию

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

11. Изменение плохого кода – часть вашей работы

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

12. Правильно обращайтесь за советом

Читайте также:
Пользовательские интерфейсы - определение, виды и особенности

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

– обобщите обнаруженные вами детали;

– четко решите для себя, что, по вашему мнению, должно происходить;

– также четко сформулируйте, что на самом деле происходит;

– конкретизируйте, почему вы считаете, что должно работать не так.

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

13. Нет необходимости быть гениальным математиком

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

14. Необходимо отмечать свои маленькие победы

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

15. Митапы обладают огромной ценностью

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

16. Избегание merge-конфликтов сделает вас намного счастливее

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

17. Абсолютно нормально признавать, что вам что-то неизвестно

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

18. Не нужно 10000 часов для получения работы

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

19. Хорошо, если вы просыпаетесь утром, и сразу думаете о коде

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

20. Совершение больших ошибок – это естественно

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

21. Алгоритм – это как поиск имени в телефонной книге

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

22. Вы никогда не ощутите, что готовы заниматься программированием «по-серьезному»

Речь идет о так называемом «синдроме самозванца». Постарайтесь помнить, что знать не все – это вполне нормально. И самое главное – понять, что вы всегда можете разобраться с тем, чего вы на данный момент не знаете.

23. Программисты не бросают учиться никогда

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

24. Ваш компьютер нужно заставить думать как человек

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

25. Программирование – это применение в работе подходящих инструментов

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

26. Очень распространенный поступок: бросить все прямо перед изменениями к лучшему

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

27. Научиться кодировать будет сложно

Но в том числе и поэтому кодирование – дело очень стоящее.

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

г. Екатеринбург, ул. Энгельса, д. 36, этаж 4, офис 421,422

Разумные советы для начинающих программистов

Как научиться программировать? С чего начать? Какие курсы пройти, а книги прочитать? Очень часто я слышал подобные вопросы от людей, которые хотели научиться писать качественный код. Именно это вдохновило меня написать статью. Ведь я действительно хочу помочь начинающим разработчикам в этом нелегком деле.

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

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

Когда я только начинал, я просто влюбился в программирование! И это главный секрет в достижении успеха в любой сфере. Если вы делаете то, что вам нравится, вы находите это интересным и полезным (и это действительно так!) и все дальнейшие занятия будут приносить удовольствие. Поэтому мой первый совет: если вам не нравится программирование, не мучайте себя, не пытайтесь зазубрить.

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

Непрерывное обучение

Каждый программист должен постоянно отслеживать технологические тенденции в мире IT: новые библиотеки, как, например, ReactJS в 2013 году, веб-приложения, такие как SPA, PWA и так далее.

Читайте также:
Информационные процессы - что это, какие бывают, примеры в повседневной жизни

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

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

Это как с желанием похудеть. Вы же не начинаете с марафона, чтобы добиться желаемого. Вместо этого можно начать с 15 минутной пробежки каждый день. Так же и с программированием, не надо учиться сутками напролет. Занимайтесь хотя бы по часу, но каждый день!

Не сравнивайте себя с опытными программистами или «гениями кода». Это мой четвертый совет. Во-первых, это вообще не разумно. Во-вторых, вы только начинаете. Сосредоточьтесь на учебе, вместо того, чтобы сравнивать себя с другими.

Практика – это ключ к успеху. Изучайте теорию и применяйте на практике. Это совет номер пять. Пытайтесь. Ошибайтесь и пытайтесь снова. Экспериментируйте! Мы поговорим об этом позже, но запомните, практика – самое главное!

Теории и Концепции

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

Я начинал с изучения 2 крутых курсов Codecademy и CS50 at Harvard

Там я изучил основы Python на Codecademy и C в CS50. Так вот, я считаю: нужно просто начать. Выберите один язык программирования и начните с основ (переменные, циклы, структуры данных и т. д.).

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

Крутые курсы

Introduction to Algorithms про алгоритмы. Понимание алгоритмов и как они работают – это самое важное, что вы должны узнать, начиная изучать программирование. Вот еще парочка хороших книг: Introduction to Algorithm by CLRS and Algorithms by Robert Sedwick.

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

Практика, практика, практика

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

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

По моему примеру вы можете начать с Codecademy.

Другой классный сайт Hacker Rank. Большой выбор языков программирования, интересные упражнения и тестирования.

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

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

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

Создание проектов

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

Первым проектом был мой собственный сайт. Затем я создал сайт для ресторана моей мамы и две игры: крестики-нолики и змейка. Все они были статические.

Позже я решил, что моих знаний и опыта достаточно, чтобы считать себя фулл стек разработчиком. Так, я создал книжный онлайн — магазин с админ-панелью (администратор мог добавлять новые продукты, редактировать их, удалять их. все CRUD-вещи), а клиенты могли зарегистрироваться/войти в систему, искать книги и покупать их. Я был очень рад, что смог закончить этот проект, потому что для меня это было сложно. Сейчас с уверенностью могу сказать, что я многому научился за это время. Таким было начало моей работы с коммерческими проектами.

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

Начинайте с простых целей и проектов и определите основные шаги для их достижения.

Забудьте про перфекционизм.

Покупайте и читайте книги по программированию.

Читайте блоги, смотрите видео, посвященные программированию.

Практикуйтесь, много-много практикуйтесь.

Еще больше полезных рекомендаций :)

Хорошие сайты, статьи и видео:

freeCodeCamp классный сайт, посвященный веб разработке и JavaScript. Совершенно бесплатно!

Udemy CodeSchool Khan Academy очень похожи между собой, но на Udemy есть платные курсы, на Khan Academy всё бесплатно, на CodeSchool есть как бесплатные, так и платные курсы.

Влоги и YouTube каналы

Fun Fun Function канал Маттиаса Петтер Йоханссона. Раньше он рассказывал только о JavaScript, но в последнее время говорит о разработке в целом. Мне очень нравится, как он ведет свой канал.

Mayuko канал посвящен iOS разработке.

CS Dojo много информации об алгоритмах, структурах данных. Канал ведет инженер -программист из компании Google.

Joma Tech самый смешной и интересный канал из всех. Джонатан Ма-специалист по данным в Facebook. Он рассказывает о жизни программиста, дает дельные советы, основанные на его опыте.

Как научится программированию с нуля или советы для “Чайников”

Программировать — это просто.

Начать программировать и запрограммировать какие-то вещи, – это достаточно просто. Для этого не надо быть профессионалом.

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

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

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

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

Программирование сделает вас более креативным, научит вас думать более точно, и научит вас анализировать и решать проблемы логически.

Хотите научится программировать но здесь стоит вопрос “как?” то для вас у меня есть пара очень простых ответов на них

Читайте также:
Расширение файла - что это такое, какие бывают, как его найти, настроить, изменить

1.Книги – основной источник материала для новичка в любой сфере деятельности, конечно можно легче спросить у знакомого программиста “что это” и “как это” но не у всех они есть так что придется полюбить и это дело.

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

3.Практика – нужно каждый день писать хотя бы пару строк кода а для того чтобы не писать одно и тоже каждый день нужно поставить “цель” и это самое важное.

Зачем уметь программировать? У каждого “зачем” может быть свое. Но без “зачем” все остальное просто бесполезно. Хорошее «зачем» это если вам интересно и хочется научиться, еще лучшее “зачем” — если нужно решить какую-то конкретную задачу.

Вы хотите начать программировать. Вы уже что-то сделали. Как минимум, вы читаете этот текст. Многие люди просто хотят научиться, и ничего с этим не делают. Но Вы уже сделали несколько шагов на пути к умению программировать.

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

Сразу после этого следует вопрос “на чем мне программировать” и здесь могут быть очень много подводных камней и вы конечно пойдете с этим вопросом в интернет и там вам будут советовать разные ЯП но это уже решать вам, я сам выбрал для себя ЯП Python так как он очень простой и он содержит в себе очень много различных модулей позволяющих расширить возможности данного ЯП.

Что дальше? Теперь у вас уже есть инструмент, с помощью которого вы будете решать вашу задачу. У вас есть сама задача. Теперь нужно ее решить.

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

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

И если вы выбрали для себя ЯП Python то я советую вам почитать книгу Майкла Доусона “Программируем на Питоне” это очень хорошая книга для “Чайников”.

Дубликаты не найдены

Как меня заебали кругом вот эти тексты, а книги? Первые 100 страниц тупо пролистываю, написано оо это же легко вот ты молодец сел работаешь, умница, скоро программист будешь давай напишем хелло ворлд, а потом на след странице сразу, а теперь создайте Хэшмап засуньте туда данные используя конструктор и блять выведи результат так, чтобы каждая ячейка была с новой строки и в форме пирамидки. Не считая всяких эксепшенов и т.д. (Это конечно хуйню сморозил, но примерно так и есть)

Использовать компьютер, умеют 2 из 10 (а не просто в инете котиков смотреть).

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

Но если знаешь английский и хорошо получается математика и мозг не ленится от умственной работы( отсеяли 99 из 100) , то ничего страшного и сложного в начальном программировании нет). А остальные отсеиваются, так как проще заставить себя делать по 12 часов в день одно и тоже и думать о чем хочешь, чем заставить себя час думать о чем нужно – это высшая форма рабства и несвободы(но мне нравится). У нас в группе из 25 человек 3 программировали. Специальность на 90% связана с программированием и все парни умные(отсев хороший). Остальным это было непонятно и неприятно. Хотя уроков программирования было мало, как мне потом сказали – сами должны учиться))

Надоело на ЧПУ-станках ебашить, начал в свободное время знакомиться с программированием и пайтоном. По английски шпрехаю, с математикой всегда норм было, задачки замудрёные люблю. Но. Не могу себя заставить не отвлекаться. То пикабу, то дота, то еще какие-нибудь котики. Это обычно происходит при изучении материалов. Когда практикуюсь, ляпаю свои строчки – меня не оторвать. Но надо ж продвигаться, читать что-то новое. И вот на этом меня легко может понести. Шо делать?

Можно уже устраиваться куда нить)). Я на первую работу программистом устроился без опыта на 10 тысяч. Через месяц уже кодил много(цель то была научиться, копипастил правда в основном и в гугле сидел, но по 10 часов без перерывов, мозги плавились, но глицинчик помогал, через месяц уже привыкли) и через месяц испытательного срока уже до 30 подняли(а тогда опытным платили по 40-60, не как сейчас по 150.) Но работал реально много и опыта за год поднял, как другие за три.

В начале нужна практика, а потом важнее чтоб опытные наставники были, хотя и по книгам можно себе правильные практики программирования привить(git, разработку через тестирование) Но тоже ООП без наставника сложно вначале правильно применять.

Но сначала нужно мозги перестроить на работу программистом.

Я сейчас получаю 25) Омск.

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

Я так понимаю, мне сейчас стоит проектировать и реализовывать (с помощью гугля, офк) свои идеи, по мере возрастания сложности?

Джуниором можно и в Омске за больше 30 устроиться https://career.ru/vacancy/15751578?query=php Но нужен минимальный набор базовых знаний. Правда если способности хорошие могут и так взять.Я бы мониторил рынок по вакансиям и сосредоточился на технологиях которые требуются в большинстве. + все равно ходил бы на собеседования. Мало ли повезет на 30 устроиться без опыта)). А уходить с работы уже только если берут.

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

А язык какой учите?

Осваиваю Python. Как более или менее подтяну азы – обязательно начну писать что-то простенькое для себя. После пары-тройки детищ, думаю, можно будет и на собеседования начать ходить. А с таким багажом как у меня сейчас я бы на месте работодателя объяснил в какую сторону развиваться и попросил вернуться на собеседование серез пару-тройку недель)

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

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

Одно только но научиться кодить легко, а вот программировать – сложно.

И для начала можно вообще попробовать обучающие игры заточенные не на язык, а на алгоритмизацию, потому что человек не понимающий зачем нужен цикл(а я встречал таких, которые задачу “посчитать сумму всех чисел от 1 до 1000” делали так int i1 + 2 + 3 +4 . + 1000;) не способен применить никакой язык. Я сам в детстве ходил в кружок, где мы в игровой форме изучали алгоритмизацию, вот когда она есть, тогда можно брать любой язык.

int i = 1+2+3+4+5+6 и так до 1000 :)

А вот за айпи боюсь дюже сильно, ага! Не надо меня ломать по айпи, он потом болеть будет

то то же, просто отправь смс на номер 894543435235 HaCKerNeUbIwAi регистр соответствующий

Самый фундамент лучше получить из книги – книга обычно хорошо раскладывает по полочкам, дает нужную теоретическую базу, задает правильную последовательность. Я редко дочитываю техническую литературу до конца, до практики – так как и читаю для базы и теории. А вот всякие среды разработки, фреймворки, новые инструменты мне хорошо заходят по небольшим видеоурокам. Еще по видеоурокам хорошо делать первую практику – понятно что откуда скачивается, откуда берется. Есть андройд-приложение с бесплатными видеокурсами по программированию. Много курсов на русском языке, есть фильтр по языкам программирования. Называется itVideo – https://play.google.com/store/apps/details?id=ru.polina.itvi. А вот уже вопросы, которые в процессе разработки возникают – хорошо закрываются либо документацией либо ответами с сервисов “вопрос-ответ”

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

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

Как успехи? Может порекомендуешь с чего начать?)

Так себе успехи)

а сейчас как дела с обучением?

Женился, ребенок. Мотивирует вполне себе.

По работе проект хороший щас на работе, достаточно долгосрочный и обучение теоретическое застопорилось, так что пока практика.

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

А вы с нуля начинали и с другой профессии пришли или занимались раньше там, универ?

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

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

Не, боюсь я только выпендриваться в интернетиках умею.

Базу то дал универ, и как как именно “начать” самому, я не скажу.

Может быть выбрать язык программирования для начала, какой нибудь простенький, вроде C++,Delphi.

Нет, честно не подскажу)

Тут нужна какая то мотивация и целостность подачи материала, её в вузе хоть как то давали, а вот чтобы саму её.

Как Ваши успехи сейчас? Не забросили?

Замечательно, что Вы профессионально выросли за эти 4 года:)

Хорошего Вам дня

Вопрос исчерпан

Как я не стала программистом

Когда-то давно, при царе Горохе, годков эдак в 10, мне – соплячке и сорвиголове – родители притащили комп.

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

Видимо, этим и был подарок обусловлен. Это было году в 92, наверное, точно не раньше.

Мне гордо притащили нечто. Как сейчас помню – это был компьютер Блиц, клон ZX Spectrum. И да, у него было аж 32 Кб ОЗУ!

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

Это был единственный и первый компьютер на всю округу, мы тогда жили в поселке. Хз, в соседних городах компьютеры уже, наверное, у кого-то и были. Но тогда взрослые мужики приходили к отцу посмотреть на него, поцокать, потом сесть пить пиво.

А я честно пыталась разобраться. Он был куда менее практичен, чем моя приставка. На нем нельзя было ррраз – и играть. Непонятно вообще было, что с ним делать. Пока отец не приволок мне пару книг стремного вида (дешевый самиздат) – самоучители по Ассемблеру и Бейсику.

И вот в Бейсик я влюбилась. Сутками торчала , научилась рисовать красивые картинки, воспроизводить примитивные мелодии, мастерить жалкое подобие Акинатора (были примеры в журнале Радио, у нас этими журналами была завалена вся кладовка). Потом пошли игры. До сих пор помню свою первую игру – лыжник несется вниз по склону, и нужно объезжать ёлочки и ловить флажки. Это был пример из книги, немного доработанный. Очень хорошо помню, как сейчас, что за три пойманных подряд флажка очки утраивались – этого не было в книге, я сама это ввернула, и чуть не лопнула от гордости в то время.

Была гора тетрадок, в которые я записывала километры этого кода – его приходилось каждый раз заново набирать.

А потом все упростилось – кассетник Весна, кассеты с играми, пердеж и хрип кассет, и свой код так же можно было записать.

Потом уже были IBM, и прочие. Программирование было забыто благополучно.

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

А недавно ребенок на днюху запросил себе книгу по Python. Хочу, говорит, программировать.

Да, к своим десяти он ловко ворочает в фотошопе и КорелДро, Скретч юзает с первого класса, но загорелся настоящим программированием.

И на днюху он таки получил книгу.

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

И блин, как нахлынуло – да все то же самое. Синтаксис отличается, возможности, сама техника.

А суть та же. Прошибло реально почти до слез. Вспомнила вмиг и своего лыжника с убогими ёлками, лично прорисованными. И торчание за компом ночами.

Читайте также:
Компьютер - как устроен внутри, принцип работы, назначение

Как будто мне снова десять. Только комп другой, и книга в разы толще. И утром никто не приготовит омлет. Вернее приготовит – это я его теперь приготовлю.

«Возьмите бесплатно, буду делать, что скажете»: 7 советов тем, кто хочет программировать

Экс-техдиректор «Медузы» и «Букмейта» помогает устроиться в жизни

Иногда кажется, что все вокруг программисты. Но если задуматься о получении новой профессии в ИТ, не так легко понять, куда податься и с чего начать.

В этом отлично разбирается бывший технический директор «Медузы» и «Букмейта» Самат Галимов, который поделился с читателями опытом и рекомендациями в формате AMA. Собрали в материале самые интересные вопросы и ответы: какие языки программирования учить, как выбрать курсы и где найти профессиональную поддержку.

Какой язык программирования изучить, чтобы стать ценным специалистом?

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

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

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

Во-первых, можно верстать что-то по мелочи самому. Тогда — HTML и CSS, а потом JavaScript. Последний — самый настоящий язык программирования.

Во-вторых, можно научиться парсить и обрабатывать данные для исследовательских статей. Как минимум вам будет понятно, насколько сложно собрать данные, которые вам нужны, чтобы корректно поставить задачу программисту и чтобы он не водил вас за нос. Для этого круто подойдет Python с его библиотеками типа Scrapy.

А я бы учил тот язык, который по-настоящему захочется учить.

Если вам важны люди — отталкивайтесь от друзей, которые помогут. Если есть друг-программист , который поможет с Erlang, — начинайте с него, хотя это и немного экстремально. У Ruby есть дружелюбные слак- и телеграм-сообщества.

Если вам хочется попробовать сделать мобильное приложение и вы пользуетесь Айфоном и Макбуком — попробуйте Swift, там все как у «Эпла» — «красиво». Если Андроид — есть Kotlin.

При прочих равных я бы выбрал JavaScript и Python. По обоим языкам тонна бесплатных источников самого разного формата в интернете, начиная от полноценных учебных курсов на том же «Яндекс-практикуме» и заканчивая классными текстовыми туториалами и ютуб-лекциями.

Я думаю, что для входа в программирование важнее подходящий по вайбу, темпу и настроению учитель, пусть и на «Ютубе». А еще личный интерес — что-то , что даст положительную обратную связь — positive feedback loop — в начале обучения, а язык и конкретные технологии гораздо менее важны.

Где получить обратную связь и совет от других программистов?

Подскажите ресурсы — форумы, каналы, чаты, — где тусят опытные программисты, в частности С++, на суд которых можно выложить свой труд и получить объективную профессиональную оценку на предмет полезности/бесполезности?

Опытные плюсовики водятся в Nginx, PostgreSQL, Linux и прочих серьезных проектах. Я бы в их IRC-чатах или даже в dev-рассылках посмотрел и спросил.

Но «объективную профессиональную оценку» в публичном пространстве не получишь. Выскажутся не по делу люди, которые не секут в теме. Лучше идти точечно к человеку и задавать конкретные вопросы: «читабелен ли этот код» или «нормально ли вот тут модуль выделен».

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

Должен ли программист быть разносторонним специалистом?

Нужно ли программисту разбираться в чем-то , кроме программирования, чтобы стать высокооплачиваемым специалистом?

Да, нужно уметь приносить пользу бизнесу, а не просто «прогать за деньги». Это умение состоит из многих компонентов: говорить человеческим языком с непрограммистами, понимать их боль, разбираться в бизнес-проблеме, уметь предлагать максимально простые решения, объяснять свое решение и потом его продвигать, по пути передоговорившись, потому что с ходу наверняка все придумали неправильно.

Это скилл, за который платят нереальные деньги. А все потому, что вы приносите пользу, а не просто «прогаете за деньги».

Где учиться на фронтенд-разработчика?

Как правильно учиться программированию? Например, я хочу стать фронтенд-разработчиком. Беру кредит и покупаю дорогой годовой курс. Так нормально или я просто потеряю год жизни?

Я бы пошел на «Яндекс-практикум». Самый безопасный и простой вариант — там не только знания, но и менторы адекватные. Аналогичные школы есть у «Мэйл-ру» и Сбера. Они готовят джунов и потом сразу берут их на работу — это классный вариант, если учите не просто для души, а для работы.

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

Если вы в провинции, хотите человеческого контакта и любите рисковать, найдите нормальную ИТ-компанию поблизости — они обычно проводят всякие локальные митапы — и говорите им буквально: «Очень хочу работать программистом, возьмите меня бесплатно, буду делать, что скажете». Я знаю, что в Твери ребята так делают и реально учат с нуля.

Как увлечь детей программированием?

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

Как к нему подступиться? Можно, конечно, отдать в кружок робототехники — их сейчас тысячи. Но подозреваю, что там просто собирают лего-роботов по инструкции, без понимания принципов, особенно не погружаясь в предмет. С чего начать? Как увлечь? Важна ли здесь системность, какой-то план? Курсы для детей? Сообщества? Может, написаны интересные книжки по теме?

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

Из ресурсов и технологий: есть программирование под «Майнкрафт» — это чистый героин и при этом полезный. Там есть даже русская версия сайта, но в основном все на английском, конечно. Список книжек — на сайте Brightly. Насчет курсов — посмотрите, как препод говорит с ребенком, как мотивированы дети. То, что их научат делать что-то руками, даже не понимая принципов, — думаю, не суперстрашно. Я считаю, что главное, чтобы ребенку было интересно. Если он будет сам сидеть копаться — mission accomplished.

Читайте также:
Плоттер (информатика) - определение, виды, принципы работы

Что почитать будущему программисту?

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

Я очень люблю FreeBSD Handbook и PostgreSQL Documentation. Это книги, которые помогают решать конкретные проблемы, но при этом объясняют базовые принципы. Академически выверены, но написаны простым и понятным языком. Правда, это скорее про сисадминство и SQL.

По программированию у меня хорошие воспоминания о Кормене — «Алгоритмы: построение и анализ», я в школе им зачитывался, когда участвовал в олимпиадах. Книга «Язык программирования Си» Кернигана и Ритчи классная, потому что короткая и понятная, и туториал по Go — чистое продолжение этой книги и один из немногих туториалов, который я честно прошел до конца (ну или почти до конца). Я пытался читать книжку Pragmatic Programmer по Ruby — она, кажется, хорошая, и вообще вся серия достойная.

Про менеджмент я в свое время без остановки прочитал «Deadline: роман об управлении проектами» и влюбился в эту книгу.

На каких курсах учить Java?

Какие курсы Java вы порекомендуете?

Я не назову с ходу, но уверен, что и Сбер, и «Мэйл-ру» в своих образовательных программах обучают Java. Оба варианта должны быть нестыдными. И онлайн-курсы на «Курсере», и Udemy от условного «Микрософта» должны быть ок, но они, скорее всего, совсем базовые.

AMA. Эксперты и герои Т⁠—⁠Ж отвечают на вопросы о чем угодно

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

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

И в ИТ хорошо бы иметь общее понимание о компьютерных науках. Рекомендую курс CS50, есть русский перевод на сайте JavaRush. Там в веселой форме объясняют азы, хорошо подходит для тех, кто вообще в этом плохо понимает. Да и опытным есть смысл просмотреть, есть интересные моменты.

Некоторые входят в сферу через тестирование, тут могу порекомендовать бестселлер – Романа Савина и его книгу Тестирование дот ком. Еще можно пойти в базы данных, тут нужен язык SQL, хорошо зайдут книги Моргунова по PostgreSQL и Святослава Куликова по основам SQL(его книги, кстати, бесплатные), хороший курс Ольги Павликовой на Udemy. Вообще, на мой взгляд, SQL нужно знать всем в ИТ сфере.

Поддержу, что хорошо бы иметь ментора, которые поможет создать дорожную карту в плане освоения технологий. Такие люди помогут сосредоточиться на базовых вещах, от отвлекаясь на то, что пока не нужно либо невостребовано. Ну, например, изучая Java, стоит хорошо изучить Spring, а вот Java EE можно пропустить ввиду более низкой востребованности. То же самое по Javascript – есть отличные фреймворки типа React или Vue, но надо понимать, что в США больше любят первый, а Китай тяготеет ко второму. И как раз ментор поможет, в зависимости от задач и количества доступного времени, подобрать набор технологий и очередность их изучения, выбрать подходящие материалы, книги, видео, курсы.

А, и еще надо учитывать длину входа. Условно, школьники имеют чуть больше времени, а те, кому. нужна работа – там все вотпрямщас. Для школьников, возможно, стоит изучать что-то сложное, например, Haskell или С, чтобы глубже понимать, как работает все внутри. А если времени крайне мало – то либо идти в тестирование, там быстрее вход. Если тестирование не интересно, то Python – язык довольно легкий для входа, но надо понимать, что разные его версии несовместимы.

Хорошо входить в веб разработку – HTML+CSS можно освоить за неделю (лично вкатывал людей в верстку за неделю без особого напряга), далее – Javascript (не путать с Java) и уже закапываться прям по самые уши, и, если будет желание, уходить в серверную разработку, так называемый бэк. Тут уже на выбор – PHP, Java, Python, Ruby, С#. У каждого языка есть свои особености.

Java и C# очень похожи, считаются прямыми конкурентами, но Java более развита и имеет более мощное комунити. И при этом это довольно универсальные языки – можно писать для веба или же десктопные программы или мобильные приложения, можно писать для бизнеса, решая их задачи, а можно создавать инструменты. Но и вход сюда сложнее, требования выше.

Но какой бы пусть не выбран, английский – не обсуждается! Ну и траты на свое обучение – если ты вошел в ИТ, то ты вечный студент. Я для себя вывел формулу – 1 год без освоения новых знаний отнимает у тебя 10-15% твоего дохода. И еще – готовьтесь тратить много на книги!

Еще очень сильно пригодится понимание “железной” составляющей – у всех технологий есть свои особенности, где-то нужно много памяти, а где-то многоядерные процессоры. Да и быстрый запуск приложений – тоже важная штука. Потому как если что-то занимает больше 2-3 минут времени – вы потеряете фокус. Это уже особенности психологии. Если учитесь на ноутбуке – то стоит искать модели бизнес серии и не смотреть на то, что продается в магазинах. Да, они дороже, но поработав за таким – поймете прелесть и возвращаться не захочется. Мак, вопреки известному мифу, необязателен, как и Линукс. Пока учитесь – используйте ту ОС, которую лучше знаете, понадобится переход по работе или проекту – тогда и займетесь изучением другой ОС/платформы. Ну или когда в основное направление вкатитесь и получите первый офер.

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

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

Разобраться в мотивации

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

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

У программистов рутинная и механическая работа, и к этому нужно быть готовым. Правда, некоторые разработчики почему-то обижаются, когда их занятие не ассоциируют с творчеством. Тогда они находят красоту в коде: «О, вот эта реализация очень красивая». Странно это слышать, поскольку реализация либо работает, либо нет, а красота кода — от лукавого.

Читайте также:
Как создать новый документ Мicrosoft Word - оформление, структура

Приводим два экспертных мнения насчет того, является программирование творчеством или нет. Директор центра по подбору специалистов SymbioWay Даниил Пилипенко полагает, что это зависит от задачи:

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

Определиться с языком

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

Начать можно со статистики на известных порталах, в мировых рейтингах и личных топах независимых разработчиков. Мы сравнили данные за 2018 год на некоторых из них.

Языки программирования Java и Python занимают высокие позиции в большинстве рейтингов. Советуем присмотреться к ним сегодня, чтобы стать специалистом завтра.

Практиковаться на реальных проектах

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

Если у вас пока нет работы программиста, начинайте писать свой стартап-проект. Разумеется, из этого ничего не выйдет — в 99,99% случаев так и происходит. Зато вы получите бесценный опыт и «потрогаете» программирование своими руками.

Искать работу с первых шагов

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

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

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

Развиваться вне рабочих задач

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

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

Изучайте блоги разработчиков — отечественные и англоязычные, — читайте статьи на «Хабре» и других ресурсах, следите за новостями фреймворка, с которым работаете.

Делать код-ревью

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

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

Учиться на основе последних тенденций

Старайтесь получать опыт, работая с самыми современными технологиями. Например, в случае с PHP нужно практиковаться на фреймворках, а не на LAMP — наборе программного обеспечения из Linux, Apache, MySQL и PHP. Первые сейчас популярны и быстро развиваются, а второе — пережиток прошлого.

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

Например, на событии выступает спикер из «Яндекса», рассказывая, что они стали хранить файлы иначе, чем раньше. Он не объяснит в деталях, что нужно делать, — лишь обозначит тезисы. Слушателям самостоятельно нужно вникнуть в тему и узнать, как реализовывать это.

Вот несколько широко известных профильных конференций для разработчиков:

Компании EPAM, «Яндекс», Google и другие, а также столичные вузы часто проводят бесплатные митапы для всех желающих.

Мероприятия полезны разработчикам, на них можно не только научиться новому, но и просто пообщаться, считает ведущий курса по Python в Skillbox Вадим Шандринов:

— Во-первых, можно отдохнуть и поесть пиццы. Без комментариев. Во-вторых, поговорить с другими программистами, расспросить, как они работают, поудивляться. И иногда возникает “вау”-эффект: а что, так можно было? По-новому смотришь на свои решения, переосмысливаешь их. В-третьих, на конференциях выступают спикеры, рассказывают о новинках и своих подходах к решению задач. Это очень помогает, когда хотел бы изучить новую библиотеку, но нет времени. А тут тебе всё рассказали, к тому же можно задать вопросы.

Заключение

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

Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: