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

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

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

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

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

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

Сюда входят такие языки программирования, как C ++ или Java, основные концепции информатики, такие как структуры данных, алгоритмы и основы компьютерных сетей, необходимые инструменты, такие как Git, Microsoft Word и Excel, такие навыки, как SQL и UNIX, такие редакторы, как Eclipse или Visual Studio, и текстовые редакторы.

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

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

Вещи, которые должен знать каждый программист и разработчик

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

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

1) Структуры данных и алгоритмы

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

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

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

Даже если вы программист-самоучка, вы также должны знать структуры данных и алгоритмы; Фактически, многие учебные курсы по программированию в первую очередь научат вас структурам данных и алгоритмам.

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

2) Контроль версий

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

К счастью, Git и Github упростили рынок, и теперь более 70% организаций используют Git, так что вы, вероятно, сможете уйти, просто изучив Git.

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

Для новичков GitHub Ultimate: Master Git and GitHub - хорошее место для начала.

3) Текстовые редакторы

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

Я в основном использовал NotePad в Windows и VI в Linux, но у вас есть много вариантов для расширенных редакторов, таких как Sublime и NotePad ++, которые предоставляют функции, подобные IDE.

Я предлагаю вам потратить некоторое время на изучение вашего любимого редактора и сочетаний клавиш, советы по продуктивности - это то, чему вы можете научиться. Если вам нравится Sublime, то Sublime Text for Rapid Web Development - хороший курс для изучения таких вещей.

4) IDE

Современная IDE - самый важный инструмент для любого программиста. Для программистов на C, C ++ и C # выбор очевиден: Visual Studio. А для разработчиков Python Jupiter Notebook становится лучше и лучше с каждым днем.

Программисты на Java могут выбрать три основных IDE: Eclipse, NetBeans и IntelliJ IDEA.

Хотя Eclipse - мой любимый, IntelliJ IDEA, вероятно, самый мощный из них. Если вы являетесь поклонником IntelliJ IDEA, то я предлагаю вам пройти Уловки IntelliJ IDEA для повышения производительности для разработчиков Java, чтобы лучше изучить свою IDE.

5) База данных и SQL

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

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

Знание продвинутых концепций, таких как присоединение к агрегатной функции, является большим бонусом, и если вы хотите его получить, то The Complete SQL BootCamp - отличное место для начала.

6) UNIX или Linux

Как и SQL, UNIX также выдержала испытание временем. Он также существует уже более 30 лет, и я надеюсь, что он будет там еще много лет.

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

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

Если вы хотите изучить команды Linux, я предлагаю пройти курс Изучите Linux за 5 дней и повышайте уровень вашей карьеры на Udemy.

7) Microsoft Excel

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

Он предоставляет множество полезных функций и возможностей для выполнения сложного анализа данных.

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

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

Если вы хотите изучить Excel с нуля или улучшить свои знания, Microsoft Excel - Excel от новичка до продвинутого уровня - отличный курс для начала.

8) Языки программирования

Как программист, вы должны знать язык программирования: C ++ или Java, а может быть Python или JavaScript. Вы можете выбрать все, что хотите, но я лично предлагаю вам хотя бы знать Java.

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

В нем есть библиотеки, от выполнения базовых задач, таких как веб-разработка, до более сложных задач с большими данными и так далее. Если вы решите изучать Java, то, вероятно, лучше всего начать с The Complete Java MasterClass.

9) Основы сетевых технологий

Сегодняшний мир взаимосвязан, и куда бы вы ни пошли, вы найдете компьютерные сети, начиная от вашего дома, где вы используете Wi-Fi на многих устройствах, до школ, колледжей и офисов, которые используют локальную сеть (LAN) для подключения к Интернету. .

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

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

10) Языки сценариев

В пункте №8 я просил вас выучить язык программирования, а здесь я прошу вас выучить язык сценариев? Почему? Можно ли использовать тот же язык программирования в качестве языка сценариев?

Что ж, безусловно, есть некоторые языки, которые подходят как для ООП-кодирования, так и для написания сценариев, например Python, и поэтому я попросил вас хотя бы выучить его. Но если вам посчастливилось изучить C / C ++ или Java, вы не сможете сделать что-то так быстро, как это может сделать разработчик на Python или Perl.

Если вы хотите изучить Python и вам нужен курс, The Complete Python Bootcamp - отличный курс для начала.

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

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

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

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

Другие статьи среднего размера, которые могут вам понравиться:







Эта история опубликована в The Startup, крупнейшем предпринимательском издании Medium, за которым следят +423 678 человек.

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