Учитесь веб-разработке бесплатно!

Как стартапы определяют заработную плату. Невидимые процессы

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

  1. Обзоры заработных плат третьих сторон, также известные как зарплатный бенчмаркинг.
  2. «Гостиный обзор», проводимый среди основателей и руководителей различных компаний.
  3. Предложения от других кандидатов.

Когда ‘a’ не равно ‘а’. По следам одного взлома

Пренеприятнейшая история случилась с одним моим знакомым. Но насколько она оказалась неприятной для Михаила, настолько же занимательной для меня. Надо сказать, что приятель мой вполне себе UNIX-пользователь: может сам поставить систему, установить mysql, php и сделать простейшие настройки nginx. И есть у него десяток-полтора сайтов посвященных строительным инструментам. Один из таких сайтов, посвященный бензопилам, плотненько сидит в ТОПe поисковиков. Сайт этот — некоммерческий обзорник, но кому-то поперек горла и повадились его атаковать. То DDoS, то брутфорс, то комменты напишут непотребные и шлют абузы на хостинг и в РКН. Неожиданно всё стихло и это затишье оказалось не к добру, а сайт начал постепенно покидать верхние строчки выдачи. То была присказка, дальше сама админская байка. Время близилось ко сну когда раздался звонок телефона: «Сань, ты не глянешь мой сервер? Мне кажется меня хакнули, доказать не могу, но ощущение не покидает уже третью неделю. Может мне просто пора лечиться от паранойи?»

«Просто похудеть» — непросто

Интернет наводнен статьями о том, как похудеть «просто съедая меньше чем потратил» и отчетами об успешном опыте некоторых везунчиков. Чего нету (ну или очень мало) в интернете — это отчетов о том, как миллионы людей безрезультатно пытаются просто «съесть меньше», садясь на все новомодные диеты и неизменно возвращаясь к тому, с чего начинали, а иногда и скатываясь по шкале индекса массы тела в еще более красную зону.


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

Flipper Zero — давайте пилить вместе. Приглашаем разработчиков

За первые сутки кампании на Кикстартере мы собрали 1 млн. долларов. Откровенно говоря, никто из команды даже близко не ожидал такой популярности. В первые дни мой телефон разрывался от уведомлений, звонили от журнала Форбс до Первого канала. Я до сих пор полностью не отошел от шока и не ответил до конца на все письма. Ничего подобного я никогда в жизни не испытывал. Огромное спасибо всем, кто поддерживал нас, следил за проектом и принимал участие. Именно на Хабре я опубликовал первый пост с концептами Флиппера, получил первый фидбек, критику и похвалу. Некоторые функции мы добавили во Флиппер именно после фидбека на Хабре. Мы постараемся не обосраться с производством и оправдать ожидания. Сейчас я полностью уверен, что максимальная открытость и честность — это лучшая стратегия. Вся наша команда верит в open source, и мы считаем, что энтузиасты могут создавать крутые проекты без привлечения инвесторов и контроля со стороны корпораций. Поэтому я предлагаю всем, кому интересен проект, принять участие в разработке. Под катом описание программы для разработчиков прошивки, железа, десктопных программ и железных модулей.

Инфраструктура: docker-compose

  • Создаётся контейнер MongoDB и контейнер Redis.
  • Создаётся контейнер нашего бэкенда (который мы опишем чуть ниже). В него передаётся переменная окружения APP_ENV=dev (мы будем смотреть на неё, чтобы понять, какие настройки Flask загружать), и открывается наружу его порт 40001 (через него в API будет ходить наш браузерный клиент).
  • Создаётся контейнер нашего фронтенда. В него тоже прокидываются разнообразные переменные окружения, которые нам потом пригодятся, и открывается порт 40002. Это основной порт нашего веб-приложения: в браузере мы будем заходить на http://localhost:40002.
  • Создаётся контейнер нашего воркера. Ему внешние порты не нужны, а нужен только доступ в MongoDB и Redis.

серияпереводовпрекрасныхстатей

целая отдельная статьяразвернутой дискуссии на StackOverflow

  • всё кешируется как ожидается (на нижнем слое — зависимости, на верхнем — билд нашего приложения);
  • отрабатывает как надо и модифицирует в нашем репозитории (что было бы не так, если бы мы использовали COPY, как многие предлагают). Запускать просто вне контейнера в любом случае было бы нежелательно, потому что некоторые зависимости нового пакета могут уже присутствовать и при этом быть собраны под другую платформу (под ту, которая внутри докера, а не под наш рабочий макбук, например), а ещё мы вообще не хотим требовать присутствия Node на разработческой машине. Один Docker, чтобы править ими всеми!

Типы языков web-программирования

Их очень много, не один десяток. Однако для создания большинства сайтов достаточно овладеть языками HTML, CSS, JavaScript и PHP. Для создания проектов с регистрацией, сложных форумов, социальных сетей понадобится овладеть программным обеспечением MySQL и языком XML. Но для большинства порталов достаточно первых четырёх способов программирования.

HTML – способ разметки. На нём указываются таблицы, расположение блоков, цвета, шрифт, ссылки. Именно он самый нужный, так как отвечает за наполнение сайта контентом. По сути, html не является языком программирования, так как на нём лишь указывается расположение и формат объектов.

CSS – тоже язык разметки, а не программирования. Название расшифровывается как каскадная таблица стилей. На нём указывают оформление сайта, картинку заднего фона, способ реакции ссылки или кнопки на курсор. Именно CSS задаёт внешний вид блоков с текстами и картинками.

JavaScript – браузерный язык программирования, который работает на стороне пользователя. На нём создаются функциональные элементы (выпадающее меню, всплывающие подсказки). Все эти элементы работают на стороне пользователя, то есть при взаимодействии с ними страница не перезагружается.

MySQL – это не язык, а программное обеспечение или база данных в форме таблиц, в которых сохраняется вся информация об авторизованном пользователе. Для взаимодействия с таблицами из MySQL используется язык SQL.

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

Проект длиной в 8 лет — знал бы, ни за что не ввязался: свой 2-тактный мотор

Когда-то давно я понял, что мне мотора Иж Планета не хватает и я решил радикально модифицировать его — сделать собственный цилиндр. По ходу сменился даже мотор. За его время я успел закончить школу, поступить в один вуз, вылететь и каким-то чудом перевестись в другой и отучиться там еще 5 лет и все равно я закончил и его уже два года назад. Знал бы я, что так оно растянется, наверное, не ввязался бы. Поскольку мы воспринимаем время относительно прожитого в сознательном возрасте, то для меня оно растянулось на половину прожитого времени. Прошло уже 6 лет с момента выхода первой и последней заметки по этому проекту(Свой 2-тактный мотор. CR620 рекомендуется к ознакомлению). Тогда я остановился из-за проблем с аутсорсом в металлообработке. Кто не может, кто не хочет, кто делает бесконечно долго, кто и детали назад возвращать не хочет. А город в котором я живу имеет славную промышленную историю и был центром Петровской индустрии 18-века, но от славного прошлого ныне остался один корень в названии города и несколько действующих предприятий, на которых занято порядка единиц процентов населения. А сейчас не 90-е и даже не 00-е, когда можно было договорится с человеком с завода чтобы он что-то такое эдакое для тебя сделал. Теперь у них есть работа и КПП на входе, как я потом узнал — номинальное. Вся эта история с передачей деталей где они лежат, а не делаются, поиск новых мест и тому подобное блуждание длилась несколько лет. Оказалось, что отлить сложную алюминиевую отливку у сарая на родительской даче я смог, а обработать, что не выглядело проблемой изначально — нет.

Россия — месторождение слонов

Давайте поговорим об Иваныче. Так зовут мамонта из музея в Тюмени. Иваныч был мужчиной в самом расцвете сил и умудрился то ли очень внезапно залезть в болото, то ли провалиться в какую-то воронку, но, в общем, стал героем задолго до тотального вымирания мамонтов. Что позволило учёным познакомиться с ним лично в более-менее целом виде, а в 49-м году признать самым большим и целостным из найденных мамонтов. Естественно, комплект поставки Иваныча был как в Икее, только без половины деталей и инструкции

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

В общем, первая версия Иваныча была ростом 2,79 метра. Но за годы скелет подрос, и сейчас он уже 3,41 метра. При царе зверь ходил лицом в пол и зубами к земле, а в СССР уже считали, что он гордо поднимает свою морду и бдительно осматривает горизонт. Это сильно меняло сборку отделов позвоночника. Сейчас Иваныч стоит с высоко поднятым черепом.Наш слон мог выглядеть примерно как на рендере, только шерсть у мамонта была не рыжей как у привычного образа; жил он не на леднике, а рядом; на шее был горб жира; уши меньше; а бивни «закручены». Иваныч был слегка более полной (чем скелет) и милой пушистой тварюгой. Вполне возможно, что он был даже жирненьким, но это неточно. Что точно — так это то, что шерсть у него была около 90 сантиметров длиной, плюс ещё был густой подшёрсток. Среди прочего, именно это крутое свойство делает представителя семейства слоновых мамонтом. Точнее, шерстистым мамонтом. Зачем ему столько шерсти? Ооо, это потому что рядом был ледник. Не зря же появились морозоустойчивые слоны, правда?

Как я проработала 3 месяца в Я.Маркете и уволилась

Из песочницы

Первая попытка

Все началось с того, что я люблю ходить по конференциям и частенько хожу на них в Яндекс, Mail.ru и другие крупные компании. Однажды мне написал HR из Яндекса и попросила сделать тестовое на стажера фронтенд-разработчика. Я его сделала, вот оно. По условию оно должно было работать на айфонах и андроидах, поэтому я проверила его в Browser Stack и дописала пару префиксов и css-стилей. Через какое-то время поняла, что не хочу быть стажером, имея несколько лет опыта за плечами и зааплаилась в Я.Маркет через форму на их сайте. Мне позвонила HR и предложила пройти скайп-интервью с лайвкодингом. Перед собеседованием я повторила структуры данных, сложность алгоритмов, сортировки. Тогда я еще не знала, что этого недостаточно. На интервью я не смогла решить алгоритмические задачки, не знала внутренности JS и меня сбрили. Это задело мою самооценку и весь следующий год параллельно с работой я учила JS на глубоком уровне и решала задачки на codewars. Здесь можно оценить мой прогресс.

ПРЕПОДАВАТЕЛИ

Алексей Соколов TeamLead в Nordic IT School

Борунов Михаил Front-End разработчик в Rambler

Петрухин Александр Chief Technical Officer laatu.solutions

Якупов Павел FullStack разработчик в Nordic IT School

Житков Тимофей Fullstack разработчик в Penny Lane Realty

Румянцев Александр FullStack разработчик в РАНХиГС

Сладков Сергей Full-Stack в МГБТЭ

Александр Соколов Frontend-разработчик в Intterra

Алексей Соколов Преподаватель «HTML5 и CSS3», JavaScript, PHP.

13-летний опыт работы в сфере IT и программирования на языках Javascript, PHP.

Алексей является разработчиком веб-сайтов и внутренних CRM систем, а так же автором собственной платформы управления сайтами на языке PHP. Участвовал в создании более 40 веб-проектов для крупнейших российских и европейских компаний. С 2011 года успешно совмещает профессиональную деятельность с преподаванием.

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

Педагогический стаж – с 2011 года (Kymenlaakson Opisto (Финляндия), Nordic IT School).


Борунов Михаил Преподаватель «HTML5 и CSS3», Javascript, React, Redux.

Закончил МГОУ с отличием по направлению «магистр физико-математического образования с правом на преподавание», после чего устроился на работу в качестве web-разработчика в IT студию.

Опыт в web-разработке более 6 лет, за которые реализовано более 30 успешных интернет проектов, начиная от сайтов визиток, до интернет магазинов и крупных CRM систем.

На данный момент так же работает в крупнейшем медиа холдинге «Rambler&Co», в котором занимает должность ведущего frontend-разработчика и является руководителем группы разработки.

Петрухин Александр Преподаватель «HTML5 и CSS3», JavaScript, PHP.

7-летний опыт коммерческой разработки в IT на C++, Java, PHP, JavaScript и Go.

Начал работать в старших классах разработчиком на C++ и Qt. В университетские годы начал работать Android и iOS разработчиком, потом перешёл в web-разработку на PHP. За полтора года прошел путь от стажёра до team-lead’а группы разработки.

Участвовал в разработке и развитии большого количества сайтов и приложений, среди которых проекты АльфаБанка и Мегафона. Кроме этого Александр участвовал в различных стартапах.

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

Сейчас Александр работает в компании laatu.solutions на позиции Chief Technical Officer, всегда следит за развитием технологий и методик web-разработки, стараясь использовать их оптимально в своей работе.

Житков Тимофей Преподаватель WEB-разработка.

Более 3-х лет опыта коммерческой разработки на PHP и Javascript(+HTML,CSS).

Является разработчиком веб-сайтов и CRM систем,. Имеет собственную платформа CMS(PHP+JS). Так же у Тимофея есть опыт в разработке нативных Android-приложений на Java для Android-маркета. Опыт создания API для интеграции различных сервисов.

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

Румянцев Александр Преподаватель по WEB-разработке.

Закончил Р. Э. У. Г. В. Плеханова и Волгоградский Технический Университет по специальности «Системы автоматизированного проектирования и поискового конструирования»

Начинал свою карьеру с разработки бухгалтерских информационных систем, далее перешел в область веб-разработки. Работал в нескольких веб-студиях, занимался разработкой веб-сервисов на PHP, JS, Python, Java, так же работал, как с реляционными базами данных, такими как: postgresql, mysql и объектно ориентированными: mongodb.

Опыт в разработке информационных систем более 5 лет, за которые реализовано более 30 успешных интернет проектов, начиная от информационных сайтов на UCOZ и Landing Page, до интернет магазинов и крупных информационных систем.

На данный момент, работает в Российской академии народного хозяйства и государственной службы при Президенте Российской Федерации и занимается разработкой frontend и backend частей веб сервисов академии.

Начните с конца

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

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

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

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

Если у вас пока нет опыта, решите, что вам интереснее: бэкенд- или фронтенд-разработка. Позвольте мне кратко объяснить разницу.

Фронтенд — это то, что видит конечный пользователь, с чем взаимодействует на странице. Это весь дизайн, визуальные эффекты, схемы и образы, которые формируют пользовательский интерфейс.

Как правило, фронтенд-разработчиками становятся визуальные креативщики с отличными дизайнерскими навыками и страстью к созданию удобного и понятного пользователям продукта. Технологии, связанные с фронтенд-разработкой: HTML, CSS, jQuery и JavaScript.

Бэкенд — это та часть, которая взаимодействует с данными, хранит их и обрабатывает; это «начинка» сайта или приложения. Бэкенд разработчики, как правило, хорошо умеют решать поставленные задачи, логически мыслят и интересуются внутренней работой сайтов и приложений. Бэкенд-разработка связана с языками PHP, Python и Ruby.

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

В любом случае, что бы вас ни интересовало, считаю, что начинать обучение программированию надо с основ HTML и CSS

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


Так что прежде всего отправляйтесь на курсы «HTML и CSS» и получите представление об этих технологиях.

Вступление

  • Сколько людей заболеют коронавирусом в вашем регионе?
  • Что случится, когда они начнут заболевать?
  • Что вы должны делать?
  • Когда?
  • Коронавирус приближается к вам.
  • Он приближается с экспоненциальной скоростью: сперва постепенно, а потом внезапно.
  • Это вопрос нескольких дней. Может быть, неделя или две.
  • Когда это случится, ваша система здравоохранения будет перегружена.
  • Ваши сограждане будут лечиться в коридорах.
  • Изможденные медицинские работники сломаются. Некоторые погибнут.
  • Им придётся решать, кто из пациентов получит лечение, а кто умрет.
  • Единственный способ предотвратить это — социальная изоляция уже сегодня. Не завтра. Сегодня.
  • Это значит держать как можно больше людей дома, начиная с сегодняшнего дня.

Зачем нужны онлайн-курсы по программированию?

Самообучение – это всегда «метод тыка». Вы общаетесь на форумах, ищите единомышленников и бесконечно ищите подходящие материалы. Подобный путь самурая подходит далеко не каждому. Сбиться с пути слишком просто: вы устанете, утратите понимание, а что еще страшнее – интерес. Тут и придут на помощь профессиональные онлайн школы программирования.

В отличие от самообучения, системный курс уже заранее сформирован и несколько раз проверен. Вы уверенно двигаетесь по этапам – от «полного нуля» до трудоустройства.

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

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

Лекции и литература

Освоив метод Франклина, ищите информацию, которая бесплатно доступна в интернете в огромном количестве, особенно на английском языке. Вкратце план действий такой:

  1. Выучить английский язык (хотя можно найти немало курсов и на русском языке).
  2. Выбрать программу обучения. Определиться, какое направление программирования наиболее интересно.
  3. Найти учебные материалы по этому предмету.

Образовательные ресурсы с курсами и лекциями

  • MIT OpenCourseWare: обучающие курсы, видеозаписи лекций и семинаров Массачусетского технологического института.
  • KhanAcademy: бесплатные лекции, в том числе по математике и информатике.
  • Coursera: курсы от ведущих западных университетов.
  • Статьи по программированию от Skillbox.

Учебная литература

  • Список бесплатных книг по программированию (англ. яз.).
  • Сборник учебной литературы для программиста.
  • Бесплатные книги по программированию на русском и английском.
  • Подборка бесплатных книг.

Самоучители для начинающих

  • Занимательное программирование. Самоучитель. М. Мозговой.
  • C# для школьников. Учебное пособие. М. Драйер.
  • Программирование на Java для детей, родителей, дедушек и бабушек. Я. Файн.

План построения карьеры в программировании

1. Выбор направления

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

2. Выбор школы

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

3. Этап обучения

Будьте проактивными! Помимо стандартных задач, постарайтесь сделать свои проекты и несколько на фрилансе. Проекты на фрилансе помогут понять, как взаимодействовать с клиентом/руководителем. А первые заработанные деньги всегда приносят максимум счастья.


4. Стажировка

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

5. Наработка опыта

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

6. Специалист

После 3-х лет вы можете претендовать на заработную плату свыше 100 000 рублей и работу в крупных компаниях.

7. TeamLead

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

8. Руководитель отдела/Партнер

При наличии предпринимательских навыков (ответственность, творчество, управление) вы вполне можете занять хорошие места на управляющих должнастях в Агентствах, Стартапах, IT-проектах или создать собственный проект совместно с другими профессионалами. В этом случае ваш доход зависит от успеха продукта.

P.S. Ну и посмотрите сериал «Силиконовая Долина», чтобы понимать жизнь программиста и задачи. 


С этим читают