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

определиться с языком программирования

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

В своё время изучал PHP, Python, JavaScript, Java… И когда встал вопрос выбора, для того чтобы устроиться на первую работу разработчиком, сильно растерялся. Но волею судеб мне повезло и смог определиться с выбором. Это были непростые 6 лет, но способ нашёлся.

Конечно, когда вы точно знаете, что хотите верстать, не должно возникать такого вопроса (HTML/CSS). Или если вас интересует только программирование под микроконтроллеры. Разговор больше пойдет про языки программирования которые могут в ООП:

  • С++
  • C#
  • Java
  • JavaScript
  • PHP
  • Python

Хотя некоторые способы помогут и в выборе направления разработки.

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

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

Итак мы имеем в своём арсенале несколько языков программирования. Знаем их конечно не идеально, но и «Hello world!» уже давно пройденный этап. Мы даже можем побеседовать за чашечкой чая про ООП, хотя и будем понимать, что знаем совсем немного.

РЕКОМЕНДУЕМ:
Пять типичных ошибок проектирования и программирования

А когда собеседник спрашивает «А на чём пишешь ты?», ответом будет молчание.
Как же так получилось? Неуверенность в себе? Жаль, что рядом с нами нет Тайлера Дёрдена, который легко помог бы решить проблему. Но если капнуть еще глубже…

Всё не так плохо! На самом деле, вы просто относитесь к той половине человечества, которая склонна долго (иногда слишком) анализировать и сомневаться перед принятием решения. Примите это как данность и научитесь этим пользоваться. Возможно именно благодаря этой способности, вы станете великим архитектором программного обеспечения (ПО). Но пока…

Пока вокруг так много языков програмирования и каждый по своему интересен и красив, пока так много фреймворков и вариантов решения поставленной задачи, пока одну и ту же программу можно написать, что на Java, что на Python, что на C#, пока вокруг множество статей о выборе первого языка программирования, а в конце «каждому своё»… Неужели мы так и будем осваивать основы синтаксиса всех языков програмирования, которые есть на планете Земля? Так ведь и до перфокарт дойти можно.

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

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

  • Придумайте себе интересную задачу

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

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

РЕКОМЕНДУЕМ:
Таинственный язык программирования Ада

Так придумайте несколько проектов и реализуйте их. А потом… Откройте спойлер уже после того как напишите несколько проектов. Это вам поможет гораздо больше, нежели сейчас.

Спойлер! Напишите 2-10 проектов, потом открывайте!
Посмотрите на каком языке программирования вы всё (чаще всего) писали. Поздравляю! Вы нашли то, что искали. Удаляем из старого резюме, что умеем всё, но по чуть-чуть. Ставим основной язык программирования, а в примечаниях указываем: «Также разбираюсь в …» (заменить на список язык программирования).
  • Сразу пойти на рандомную позицию

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

  • Квадрат Декарта

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

Описывать процесс заполнения квадратов не буду. Просто загуглите «Квадрат Декарта».

  • Выбор между фронтом и бэком (язык программирования для бэка выбран*)

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

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

Результат первого — Python.

Фронт, я думал, мне тоже нравится и решил пойти на позицию full-stack. Как только решение было принято, написал заявление по собственному на предыдущем месте работы и начал активно отправлять своё резюме потенциальным работодателям. Финансовая подушка на 2-4 месяца имелась, как и твердая уверенность ходить по собеседованиям до победного.
В резюме сразу написал, что без выполнения ТЗ (тестового задания) на собеседование не приду. Последнее немного усложняло процесс, но так мне было спокойнее — пойму, что от меня хотят и работодатель поймёт устрою ли я его. Если примут ТЗ, шансы возрастают.

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

РЕКОМЕНДУЕМ:
Олимпиады по программированию

Шесть месяцев! На меня напала тоска. С одной стороны — хорошо: сиди себе, изучай документацию, получай ЗП. С другой — уровень амбиций и желание покорять вершины Эвереста начали падать. Вечером подхожу к тимлиду и говорю, мол не подхожу им, и это не совсем то, что я ожидал, да и вряд ли смогу им помочь (смог бы, но не хотел так долго погружаться). Многие скажут, что это была нормальная ситуация. Что в самом начале не нужно сразу с места в карьер, но в моём случае, я точно понимал, что не хочу так. Ну и еще понял, что frontend — не моё.

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

Заключение

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

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

Нравится писать на PHP, но где-то слышали, что он умирает… Пишите на PHP! Львиная доля рунета написана и пишется на нём.

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

Кто-то там не любит и ругает frontend? Да они даже и не догадываются, что их любимое и самое красивое приложение в телефоне — это SPA (Single Page Application — одностраничное приложение).

До недавнего времени, думал что Python никто не ругает. Ага… На одном из форумов нашёл такие вещи, что вспоминать страшно. Оказывается есть те, кто очень не любит и этот язык, и думают, что перечисляют его минусы. Хотя бОльшая часть из перечисляемого — это особенности и так оно и должно быть.

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

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

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