Что должен знать программист

Что должен уметь программист

Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее…

Итак, программист должен уметь:

  1. Думать как пользователь
  2. Думать как программист
  3. Искать нужную информацию
  4. Пользоваться справочными материалами средств разработки

Возможно, что кого-то это удивит, но на первое место я поставил умение думать как пользователь. На самом деле это очень важно. Почему?

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

Думать как программист мы будем учиться на протяжении всего курса. Пока вы этого не умеете. Но я приложу максимум усилий, чтобы научить вас этому.

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

А самый лучший справочник — это справочная система средства разработки, которое вы используете для создания ваших программ (либо официальный сайт автора этого средства разработки). Но тут есть одна проблема — это практически всегда документация на английском языке.

Поэтому английский язык надо учить. Об этом я уже говорил, но напоминаю ещё раз. Если с английским у вас проблемы, то вот ссылка на бесплатные курсы: Английский онлайн.

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

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

  • Прикладные программисты — создают программное обеспечение для решения различных задач (редакторы, игры, бухгалтерские программы, CRM-системы и т.д.).
  • Веб-программисты (чаще всего, это программисты PHP) — Интернет — создают сайты, программы для управления системами сайтов или интернет-магазинов и т.п.
  • Системные программисты — разрабатывают операционные системы и оболочки для баз данных, а также решают другие подобные задачи.

Профессия программиста довольно многогранна. Названия специалистов часто зависят от того, на каком языке или на каких технологиях они разрабатывают программы. Например, существуют программисты Java, Delphi, Python, 1С, Android, JavaScript и т.д.

Места работы

В настоящее время программисты востребованы практически везде. Должность инженера-программиста может существовать:

  • На «обычном» предприятии.
  • В IT-компании, занимающейся программированием профессионально.

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

История профессии

Первая программа для аналитической машины написана еще в 1843 году дочкой Джорджа Байрона графиней Адой Августой Лавлейс, а первый программируемый компьютер заработал в 1941 году. Его запустил (а заодно придумал первый язык программирования) немецкий инженер Конрад Цузе.

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

День программиста, празднуется 13 сентября.

Обязанности программиста

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

  • Проектирование и разработка ПО.
  • Внедрение ПО и организация корректного взаимодействия с другими программами.
  • Поддержка ПО и помощь специалистам техподдержки в устранении ошибок.

Иногда функции программиста включают в себя тестирование программного обеспечения, но чаще этим занимаются тестировщики.

Требования к программисту

Предъявляемые работодателями требования к программисту, также могут варьироваться, но основные примерно таковы:

  • Знание необходимых в работе технологий и языков программирования (например, SQL, PHP, HTML и т.д.).
  • Опыт создания программ.
  • Умение составлять и читать ТЗ.
  • Умение разбираться в чужом коде.
  • Знание вспомогательных программ (например, системы контроля версий).

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

Образец резюме программиста

Образец резюме.

Как стать программистом

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

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

Тем не менее, окончить университет по профессии инженера-программиста будет совсем нелишним — почти все крупные компании требуют высшее образование.

Зарплата программиста

Доходы программистов, как правило, достаточно высоки. На текущий момент средняя зарплата программиста находится в районе 47 000 рублей в месяц. Хотя в Москве ставки могут достигать 150 000 рублей в месяц и выше.

Заработная плата программиста сильно зависит от опыта специалиста и умения решать сложные задачи. Сильные специалисты зарабатывают в разы больше новичков.

Где пройти обучение

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

Межрегиональная Академия строительного и промышленного комплекса и ее курсы направления «Информационные технологии».

Я писал о том, что программист должен знать несколько языков программирования. Теперь я конкретизирую какие именно языки должны быть известному каждому программисту. Начну с языка программирования Си. Согласно индексу TIOBE, язык Си является самым популярным языком программирования уже очень продолжительное время. Он иногда уступает первую позицию, но в общем стабильно держится первым.

Язык Си в целом стандартизован и компиляторы для него существуют практически под любую платформу.

Большая часть системного программного обеспечение пишется на языке Си. Ядро операционной системы Linux, да и многих других, полностью написано на языке Си. Разработчики системного ПО стараются сводить к минимуму платформенно-зависимые вставки на ассемблере, что

Показать полностью

позволяет повторно использовать большую часть кода.

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

Зачем же нужно знание языка Си программисту, который пишет прикладное программное обеспечение на других языках? Во первых, все первые пять наиболее популярных сейчас языков программирования так или иначе основаны на языке Си. В дополнение к самому Си на первом месте, C++ и Objective-C являются его расширениями в том или ином виде, а Java и C# используют синтаксис основанный на языке Си.

Во вторых, если программист пишет на каком-нибудь узкоспециализированном или универсальном динамическом языке (PHP, JavaScript, Python, Perl и т.п.), то его среда исполнения, интерпретатор, и основные библиотеки в большинстве случаев написаны на Си (ну или иногда на C++, что не отменяет необходимость знать Си).

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

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

Язык Си это лингва франка современного программистского мира. Хотите, чтобы ваши идеи были понятны наибольшему число программистов?

Изложите их на языке Си или, на крайний случай, на одном из Си-подобных языков. Хотите понимать максимальный круг литературы, написанной для программистов про алгоритмы, дизайн и т.п.? Учите язык Си.

.

Стать разработчиком Google очень просто, от вас потребуется только два действия. Первое, что необходимо, это аккаунт на Google. Если вы используете Gmail, публикуете видео на YouTube, то, соответственно, аккаунт уже у вас есть и можно двигаться сразу ко второму пункту. Если аккаунта ещё нет, то перейдите по следующему адресу:

https://accounts.google.com/SignUp?hl=ru

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

Форма для регистрации в Google

Кроме имени пользователя обязательными полями являются имя, фамилия, дата рождения, пол и пароль.

Если какое-то поле случайно пропущено, то система попросит его заполнить.

После того, как аккаунт у вас уже есть, переходим в консоль разработчика:

https://play.google.com/apps/publish

Оплата за регистрацию

Осталось поставить галочку чтобы принять условия соглашения о распространении ПО через Google Play и оплатить разовый сбор 25$.

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

Сам платёж является одноразовым, так что через год повторно платить не придётся, как это делается в App Store. К тому же в консоль Google можно пригласить других разработчиков и определить их права. Они могут иметь полный доступ, редактировать, только смотреть и др. Так что если вы работаете в команде, то вам понадобится только один аккаунт на всех и заплатить вступительный взнос придётся только один раз.

Автор и редакторы

Автор: Влад Мержевич

Последнее изменение: 02.01.2015

Редакторы: Влад Мержевич

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *