Junior (джун, малыш) – разработчик, который выучил технологию в теории, но опыт коммерческой разработки у него равен нулю. Его основная задача – это не погоня за зарплатой, а за опытом, чтобы скорей перейти в следующий статус.
Middle (середняк) – разработчик с опытом, таких большинство. Выполнение поставленных задач – его зона ответственности.
Senior (сеньор) – настоящий профессионал, он знает технологию в нюансах, он сталкивался с огромным количеством «черной магии в коде» и у него есть необходимые «заклинания» чтобы эту магию рассеять. К нему прислушиваются, его советов спрашивают.
Architector (архитектор) – это вершина карьеры разработчика, дальше только управление проектами и человеческим ресурсом. Архитектор строит системы с учетом требований заказчика. Это как академик в науке.
Так вот, про зарплаты. Они конечно же разнятся в зависимости от:
– Заказчика – зарубежный заказчик платит больше и это «больше» может быть больше в разы.
– Востребованности – чем меньше специалистов, тем дороже (хотя может быть нет специалистов, потому что это уже никому не нужно)
– Технологии – заказчики очень падки на тренды, хотите получать больше – следите за трендами.
Если говорить о зарплатах, как о «средней температуре по больнице»:
Джун – это вилка зарплат от 400—500 долларов до 800—1000 долларов в месяц;
Миддл – это от 1500 до 3000 долларов в месяц;
Сеньор – это соответственно от 3000 до 5000—6000 долларов в месяц.
Еще раз, это очень неточные цифры. Бывают и Java миддлы, которые живут в глубинке и получают 800 долларов, бывают JavaScript миддлы, которые получают 7000 долларов. А бывают и разработчики-комбайны, которые «колбасят» и на 10к долларов в месяц. А есть PHP разработчики, которые за адаптивный шаблон на WordPress получили 2 000 000 долларов. Вы всегда можете отыскать актуальные цифры и для стран СНГ, и для Европы, и для Америки – это открытая и интересная информация. Также стоит знать, что независимо от выбранной технологии, на уровне «сеньор» зарплаты примерно равны +\– сотня баксов роли не играет.
Этим сфера IT и хороша – здесь ВСЕ зависит только от ваших знаний, умений, стараний и терпения. А дальше выбор за вами.
Часть I
Глава 0. Мы программируем
Мы программируем железо
В наше время мы уже настолько окружены техникой, которая способна выполнять разнообразные программы, что уже воспринимаем это как должное. Что там компьютеры… телефоны, телевизоры, пылесосы (!), видеокамеры, автомобили, даже лифты – все они уже исполняют программы. Но для того чтобы писать хорошие программы, надо хотя бы примерно понимать, как устроен компьютер. В мире программистов компьютеры называются «железом» (хотя сейчас там гораздо больше пластика, стекла и кремния). У некоторых были уроки информатики, но, наверное, как это обычно происходит, они проходили за компьютерными играми :)
Что-же такое компьютер? Компьютер – это устройство, в которое можно ввести какие-либо данные, эти данные могут быть обработаны программой, и в конечном итоге будет выведен результат. В нашей реальности мобильный телефон (это тоже компьютер), в котором запущена программа (Instagram), в который вы вводите данные (ваши нажимы и касания пальцев, когда вы скролите ленту), и в итоге видим результат – новые посты в ленте.
Компьютер – это сложное устройство, он состоит из нескольких модулей, которые нужны для разных задач. В первую очередь самый заметный модуль (устройство вывода) – монитор\дисплей, через него мы получаем всю визуальную информацию. Устройства ввода, по меньшей мере два: клавиатура и мышь (или, например, тачпад). А еще устройство ввода – это цифровой сканер или VR-шлем (и он же устройство вывода). Далее непосредственно сам компьютер, обычно мы видим его как системный блок или нижнюю часть ноутбука.