|
Добро пожаловать! |
|
Войти в аккаунт |
|
Зарегистрироваться |
|
Восстановить доступ |
|
|
|
|
|
|
|
|
Статьи
|
|
Все статьи |
|
По вопросу размещения статей обращайтесь в службу поддержки |
|
Что должен знать программист без профильного образования?
|
|
Без профильного образования сегодня стать программистом можно. Практически в любом крупном городе вузы выпускают меньше специалистов, чем того требует рынок.
Единственное – одного знания языков программирования будет недостаточно. Даже если вы владеете лидирующими сегодня Java, Python и C++, html и CSS этого мало, чтобы стать профессионалом высокого класса.
Операционные системы
Первое, что понадобится программисту-самоучке, - это знание операционных систем. Большая часть российских пользователей – а именно 88,5%, по данным на конец 2017 года, - работает на Windows.
Каждый второй, допустим, может совершить базовые операции – переустановить, обновить. Каждый третий разбирается на уровне продвинутого юзера и знает, что можно, а что нельзя сделать на винде. Этих знаний для программиста недостаточно, поэтому изучить внутренние процессы и принципы работы ОС нужно обязательно.
Программист-самоучка или честно закончивший 6 курсов профессионал должны работать на Windows, Linux и macOS как сисадмины. Благо Linux свободная и бесплатная система, которую ставят в большинство вузов и школ. А все потому, что хорошая администрация умеет экономить.
Базы данных
Знания по Data Science сегодня разбирают, как горячие пирожки на рынке. Не только программисты учатся управлять большими массивами информации, но и журналисты, и маркетологи. В ВШЭ уже не учат классической журналистике – вместо нее журналистика данных и навыки сбора и анализа информации.
Основы основ баз данных, которые нужно выучить программистам:- Набор программ для Big data, СУБД;
- Язык для управления базами данных и работы в них SQL.
Самая известная система для управления базами данных – это СУБД MySQL. Запросы в ней осуществляются на языке SQL. Такая база данных называется реляционной – данные в ней представлены в виде таблиц. Есть еще PostgreSql, но чаще работают на первой. Каталог с обучающими видеокурсами доступен по ссылке https://itvdn.com/ru/catalog
Объектно-ориентированные базы данных – это, например, Cache и GemStone. В 2010 году влиятельное издание по IT Habr выпустило статью про объектные БД. Habr сравнил объектные и реляционные БД в пользу вторых.
ООП популярны в программировании, но основные системы в Data Science пока работают на SQL. Причины этому разные. Одна их них – реляционные БД начали развивать раньше. В 1986 году пустили первый стандарт для СУБД, и он базировался как раз на SQL.
Откройте любые вакансии программистов – в большинстве из них требуется знание SQL.
Базы данных нужны в работе и онлайн, и офлайн, поэтому это одна из теоретических областей, которую нужно изучить для успешной работы.
Теория вероятности
Если глубже разобраться в истории и сути баз данных, окажется, что математика там – царица наук. Она царствует везде, где есть информация и ее нужно закодировать.
Модель систем баз данных, которыми мы пользуемся сегодня, придумал математик Эдгар Кодд. Он взял за основу теорию множеств. Сегодня теория вероятности нужна программистам в областях глубинного анализа данных, систем принятия решений, алгоритмах шифрования, крипто-анализе.
Теория вероятности также необходима следующим специалистам:- Разработчикам игр;
- Тем, кто взаимодействует с нейросетями и компьютерным зрением;
- Тем, кто работает с распределенными системами вычислений;
- Тем, кто предсказывает процессы, составляет прогнозы;
- Тем, кто анализирует производительность.
Математическая логика
Знание математической логики необходимо для уверенного владения СУБД MySQL – реляционной базой данных.
Там используется теория множеств, поэтому операциями с логическими выражениями придется оперировать. Математическая логика нужна для понимания алгоритмов доказательства , математических обозначений.
Математика невозможна без знания природы вычислений и умения логически аргументировать полученный результат. Даже высшее образование и наука не мыслят себя без основ логики как умения доказывать.
В этой области также понадобится булева алгебра, известная также, как алгебра логики. Булева алгебра имеет дело с математическими обозначениями. В ней главное – не цифры, а последовательность и точность вычислений.
Истинность и ложность значений, вычисления с точки зрения их логической стороны – это предмет изучения булевой алгебры.
Защита компьютерной информации
Профессионалы в компьютерной безопасности работают с конфиденциальностью, целостностью и доступностью информации.
Российские вузы выпускают специалистов этой отрасли программирования, но их работа – только часть защиты. Программист должен понимать, зачем нужна информационная гигиена. Если он пишет код, то обязан прописать, как защитить обе его части – и аппаратную, и программную.
Обеспечивают доступ к ней тем, кому положено, и засекречивают ту информацию, которая должна оставаться под замком. Для этого есть резервное копирование информации, шифрование, защита от несанкционированного доступа с помощью паролей.
Информация бывает разной степени секретности – в том числе, государственной тайны. Поэтому программист должен знать методы и средства ее защиты. Они включают как государственные, так и административные, и многие другие методы. Правительство заинтересовано в секретности данных, поэтому для программистов существует ГОСТ.
Стандарт был создан еще на заре Интернета и российского законодательства – в 1996 году, – под номером ГОСТ Р 50922-96.
Шифрование – отдельная часть этого блока знаний, поэтому стоит выделить время, чтобы ее изучить.
Системы микропроцессоров
Программисты – теоретики и математики в первую очередь. Но кроме математических абстракций понадобится и знание компьютерной начинки в прямом смысле. Зная связь между архитектурой микропроцессоров и производительностью операционных систем, программист будет лучше понимать свою работу.
Теория алгоритмов
Программисты с опытом говорят, что сегодняшнее развитие науки больше не требует умения выводить алгоритмы.
Обладатели профильных дипломов часто ограничиваются тем, что делают сайты и тестят приложения. Поэтому сложные алгоритмы – это навык, необходимый больше в научном программировании.
Но не все так просто. Есть алгоритмы, которые как воздух нужны программистам:- Алгоритм сортировки;
- Динамическое программирование;
- Сжатие данных: кодирование Хоффмана и арифметическое;
- Как организовать символические вычисления;
- Алгоритм – из статической структуры в динамическую.
А если еще серьезнее – нужно все-таки научиться их выводить самостоятельно.
Отрасль программирования развивается слишком быстро, чтобы вузы могли ориентироваться и успевать за временем. Устаревают не только университетские программы, но и учебники. Так что практика – наше все.
Но понимание теории алгоритмов в ее первоначальном варианте поможет разбираться в алгоритмах самостоятельно. Вы научитесь понимать, какой алгоритм нужен в конкретном случае, насколько он здесь нужен и сложен.
Теория Графов
Знание алгоритмов поиска и управление ими сегодня необходимо для программиста. Поэтому специалисту нужна дискретная математика, а именно – теория графов.
Граф – это в самом минимальном значении просто ломаная. Точки, соединенные линиями, – другое определение графа. Графы нужны в программировании для понимания принципа работы почти всех сетей.
Интернет, локальная сеть – это набор вершин, соединенных ребрами. Конкретные вещи из теории графов, нужные в программировании – это деревья – синтаксические и ориентированные. Также пригодится сеть Петри – это модель для дискретных систем.
Сегодня классические университеты действительно не успевают за развитием программирования.
Новые школы поисковых систем Google и Яндекса справляются с этой задачей круче и быстрее. Многие программисты, работающие в Яндексе, в глаза не видели диплом программиста. Их специальности – сугубо научные. В российском поисковике № 1 работают математики, физики, выпускники мехмата. Одни доучились, другие бросили вуз и ушли в практическую деятельность.
В продвинутых компаниях на работу скорее возьмут тех, кто разбирается в языках программирования и смежных дисциплинах. Диплом, который не подтвержден знаниями, - это деньги и время на ветер. Так что покорять вершины разработки, тестирования и администрирования можно и без него. В любой профессии важнее любовь к своему дело и реальные навыки. |
|
Автор статьи: itvdn.com |
Дата публикации: 02:16, 04/10/18 |
Всего сообщений: 0 |
Просмотров: 7762 (+1) |
|
|
|
|
|
|
загрузка сообщения...
|
|
|
|
|
|