8 концепций, которые стоит изучить начинающему программисту
В этой статье — 8 концепций, в которых полезно разбираться, если вы хотите быстрее стать продвинутым программистом. Список не полный, но может быть хорошей отправной точкой для самообразования в разработке.
73К открытий74К показов
В этой статье — 8 концепций, в которых полезно разбираться, если вы хотите быстрее стать продвинутым программистом. Список не полный, но может быть хорошей отправной точкой для самообразования в разработке. Изучение языков программирования подразумевается по умолчанию.
Структуры данных и алгоритмы
Без знания базовых структур данных (массивы, связанные списки, хеш-таблицы и т. д.) сложно написать реальное приложение. Это одна из важных тем любого собеседования. Многие буткемпы программистов учат вас структурам данных и алгоритмам в первую очередь.
Примеры программ обучения Курс Data Structures and Algorithms: Deep Dive Using Java на Udemy. Ещё посмотрите этот список бесплатных курсов по структурам данных и алгоритмам.
Система контроля версий — Git
Git помогает хранить и изменять код, делает удобной командную разработку. Когда несколько разработчиков пишут один проект, система контроля версий помогает им параллельно вносить изменения, не перезаписывая друг друга и не создавая коллизий.
Git — не единственная система контроля версий, но большинство компаний и проектов использует именно её, поэтому советуем отдать ей предпочтение. Для работы с Git есть как графические интерфейсы, так и командная строка. Выбор за вами.
Примеры программ обучения Курсы GitHub Ultimate: Master Git and GitHub. Также можете посмотреть этот список бесплатных курсов по Git.
Текстовые редакторы и IDE
Текстовый редактор — важный помощник для любого айтишника.
NotePad в Windows и Vim в Linux — популярные инструменты для задач в разработке. Также есть большой выбор редакторов с расширенными функциями (например, Sublime и NotePad ++), которые предоставляют набор возможностей, подобный настоящей IDE.
Разработка в редакторах требует много самостоятельных действий: надо по отдельности заниматься сохранением файлов, компиляцией, сборкой и т. д. Это полезно для лучшего понимания работы компьютера, но сильно замедляет разработку. Подход к программированию полностью изменился с появлением IDE — интегрированных сред разработки. Они объединяют и автоматизируют большинство нужных процессов от написания первой строчки кода до релиза проекта.
Будет полезным потратить время на изучение горячих клавиш.
Подборки редакторов и IDE Для программистов Python, C++ и для web-разработчиков.
Базы данных и SQL
SQL — классический и очень ценный инструмент. Он существует уже более 30 лет и ещё долгое время будет популярен среди разработчиков. Широкая область применения баз данных подразумевает, что от программиста будут ожидать базовые знания в этой сфере.
Баз данных существует множество: Oracle, Microsoft SQL Server, MySQL, PostgreSQL и пр. Но для начала достаточно будет знать только ключевые моменты: вставлять/обновлять/удалять данные и писать SQL-запросы.
Примеры программ обучения Курсы «Введение в базы данных» на Stepik и «Базы данных (Databases)» на Coursera.
Сейчас в масштабных распределённых проектах становятся всё более популярными NoSQL-решения, в которых по-другому устроены хранение и доступ к данным. Если вы только начинаете изучать БД, советуем сначала разобраться с реляционным подходом, а потом изучать NoSQL.
Командная строка
Операционных систем существует множество, а графических оболочек для работы с ними ещё больше. UI — удобный способ взаимодействия с системой, но хорошее знание командной строки позволит эффективно взаимодействовать с компьютером на более низком уровне и таким образом иметь больше контроля. Сможете тщательнее следить за работой системы, а также выполнять все основные или только вспомогательные задачи.
Примеры программ обучения Курс Learn Linux in 5 Days and Level Up Your Career course на Udemy. Также можете ознакомиться со списком бесплатных курсов free courses to Learn Linux for Beginners на Dev.to.
Microsoft Excel
Excel в этом списке не случайно. Им пользуются программисты, разработчики, менеджеры, трейдеры и бизнесмены. Он больше, чем просто программное обеспечение для работы с электронными таблицами.
Excel предоставляет много полезных функций для сверки и анализа данных, отслеживания прогресса проекта и планирования. Он позволяет не просто копировать и вставлять данные, но и выполнять базовые манипуляции с данными (поиск, сортировка, фильтрация и так далее).
Примеры программ обучения Microsoft Excel — Excel from Beginner to Advanced.
Основы компьютерных сетей
Многие из существующих мобильных или веб-приложений являются не автономными, а клиент-серверными. Пользователи получают доступ к сервису из любой точки мира. Для того, чтобы разрабатывать и поддерживать подобные приложения, надо понимать основы работы с сетями.
Примеры программ обучения Курсы The Complete Networking Fundamentals на Udemy или Introduction to Computer Networks for Non-Techies.
Скриптовые языки
Можно, конечно, использовать один и тот же язык как для ООП, так и для написания скриптов. Но любой язык для этого не подходит. Если вы вынуждены работать с C/C++ или Java, вы не сможете добиться столь же быстрого результата, как это могут сделать, например, разработчики на Python.
Скриптовый язык позволяет легко создавать инструменты и сценарии для решения типичных проблем. Если вы хорошо владеете таким языком, вы можете легко автоматизировать рутинные вещи.
73К открытий74К показов