Программисты всё. Теперь мы инженеры. Чек лист для изучения нового языка. Статья - шутка.
Если вы не понимаете чем if отличается от for, то дальше читать не стоит.
Окей
2023 год. Программисты уже не пишут код, а интегрируют готовые библиотеки или готовые платформы (все что угодно базы данных, брокеры сообщений или хранилище файлов) в свое решение.
Какую бы задачу не поставили программисту, первое что он начнет делать это гуглить библиотеку решающую эту задачу.
Ну или пойдет на stackoverflow в поисках вопроса, похожего на его задачу. В ответе на который подскажут нужную библиотеку.
И кстати сейчас правильно говорить Software Engineer (инженер - программист), а не программист.
Не думайте, что я брюзга - есть еще огромное количество кода, который нужно написать. Чтобы начать разрабатывать програмульки сегодня не то, что алгоритмы и структуры данных знать не нужно - про многопоточность уже все забыли.
Ниже я опишу, какие вопросы нужно закрыть перед тем, как начать строить свою карьеру в АйТи. Если будете выбирать курсы убедитесь, что хотя бы этот чек лист будет покрыт.
Пункт один. IDE
Очень много видосов в интернете про то, как люди программируют в блокноте. Очень много вопросов на собеседовании в стиле "напиши на бумаге". Это формирует общее мнение - чтобы стать программистом нужно много знать. Причем настолько хорошо, чтобы в уме уметь компилировать код в машинный. Нет. Ваша задача программиста - решить как можно больше разносферных задач, обрасти опытом и постоянно увеличивать свой арсенал инструментов (под инструментами я имею ввиду библиотеки). К написанию кода это имеет крайне косвенное отношение. Поэтому процесс написания кода должен быть максимально простым и комфортным. Если вы хотите учить Java. Вбейте в гугл IDE for Java и скачайте по первой ссылке IntelliJ IDEA. И так для любого языка программирования. IDE за вас разметит код, подскажет название функции по первым трем символам и куча всего остального, о чем задумываться не стоит. Ну максимум найти гайд - "как создать новый проект". Ну и может еще что такое Breakpoint и как его поставить.
Важно! Есть IDE, которые стоят денег. Не надо жалеть денег на IDE. Это ваш основной инструмент для работы.
Пункт два. Как писать код
Да. Чуть чуть программировать все таки придется. В новом языке нужно понять, как создать переменную, описать класс и вызвать функцию. Ну и если вы совсем нулевый, то узнать чем if отличается от for.
Я хотел написать еще третий вопрос - как компилировать код. Но не буду - зеленая кнопка в виде жука или зеленая кнопка play.
Кстати. Еще try catch. Обрабатывать ошибки лишним не будет.
Пункт три. Доставка кода или релиз
Основная ценность кода заключается в том, что кто то им пользуется, кроме вас. Если вы сделали веб приложение, но запустить вы его можете только на localhost. Ну... Вам не заплатят. Поэтому Ci/Cd, Docker, K8s. Ну или если у вас компания садисткая - немного про голый Linux и Nginx.
Пункт четыре. Базовый набор для изучения
Для frontend и backend они отличаются, но суть примерно одна нужно уметь работать с JSON отправлять Http запросы. Для бека дополнительно нужно уметь подключаться к базам данных или каким-нибуть еще таким штукам. Один раз подключитесь - потом все тоже самое.
И второе нужно понимать, что такое Framework. Потому что, чтобы вы не делали, вы делаете через Framework. Хочешь сделать веб приложение ? Подключи React. Хочешь сделать api ? Подключи FastApi для Python или Asp.net для C#. И так далее. Прям учиться с ним работать не нужно. Научитесь на первой же боевой задаче.
Ладно. Шутки в сторону. К чему все это ?
Огромное количество курсов по разработке программного обеспечения да и вообще в сфере ИТ. Я не против. Но на каждом втором собеседовании все происходит примерно так
Я не знаю, как сделать дефолтное Апи, но я умею пузырьковую сортировку и singleton.
Или так
Использовал ли я Resharper ? В первый раз слышу такой паттерн, но я обязательно его выучу.
Шутка для dotNet.
Ваши знания программиста на старте должны выглядеть так - зачем мне писать Singleton если для этого есть DI-container.
Сложно вышло.
Короче вы должны не изучить язык программирования на 100 процентов
Спойлер! Вы не изучите
Вы должны понимать, на что этот язык способен. Вы должны, как можно скорее взяться за реальную задачу - кодить ошибаться, отлаживать и набираться опыта.
В какой то момент вам станет "тесно" при использовании той или иной библиотеки и вы начнете пытаться ее переписать. Вот тогда придет время для пузырьковой сортировки, графов и деревьев.
По любому в комментариях будет что то в стиле
Ты вообще проходил техническое интервью? Без знания базы тебя никуда не возьмут.
Я отвечу вопросом на вопрос
А вы пробовали на техническом интервью, если не знаете ответ на вопрос, достать телефон, загуглить и ответить ?
В большинстве случаев для лида важно, чтобы вы были самостоятельным. Ваш код будут ревьюить и тестить. Вы не последняя надежда человечества, уж точно не на старте карьеры. Вам будут платить не за знания, а за работу.
Другой вопрос, чем больше знаний, тем лучше работа. Но если вечно набираться знаний - можно с голоду умереть.
Спасибо за внимание! Подписывайтесь на канал. Пальцы вверх. Бомбеж в комментариях = плюс в карму.