Время программистов прошло?

Содержание

Первые дни в IT: как вести себя в новом коллективе

Время программистов прошло?

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

Двадцать первый век называют веком информации: она стала играть ключевую роль в экономике, а необходимость в развитии технологий привела к повышению спроса на IT-специалистов.

Историями появления из гаража таких компаний, как Space X, Google, Uber, Airbnb, Яндекс, Microsoft, Amazon, PayPal, сейчас не удивить даже пожилых.

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

Почему этому стали уделять так много внимания? Вспомните, как давно вы были в магазине, где не было терминала для бесконтактной оплаты? Насколько увеличилось потребления интернет-трафика за последние годы? Если пять лет назад все обходились тарифами на 5Гб, то теперь представить жизнь с ограничением уже тяжело. Также будет и с появляющимися сейчас технологиями.

Популярность программистов ещё не достигла пика, а значит ещё есть время прокатиться на волне.

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

Чтобы первое время прошло как можно более гладко, мы написали несколько советов, как вести себя в новом коллективе.

Но сначала разберёмся с ожиданиями.

IT-специалисты − те же клерки

Да, скорее всего, каждый рабочий день будет таким же рутинным, как и у других офисных работников: пробки, опоздания, фастфуд. К этому просто нужно быть готовым и не завышать ожидания от слов про бесплатные печеньки и Xbox.

Деньги солидные, но сравнимые с другими сферами

Не стоит идти в IT, если главная мотивация для вас − высокий уровень зарплат. Возможно, новичкам будет достаточно просто получать среднюю зарплату, но чтобы перейти на следующий уровень, придётся серьёзно работать над собой. Совет: хотите быстро вырасти − идите в стартап.

Вас никто не держит

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

Атмосфера в офисе

Оупенспейсы, комнаты с приставками, творческая атмосфера, настольный теннис и шведский стол − всё то, что действительно есть в офисах больших компаний. Но, скорее всего, начинать вы будете с обычной комнаты на несколько человек, с компьютером на устаревшей версии Windows и без конкретных поручений руководителя.

Удалёнка

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

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

Не ведите себя вызывающе

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

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

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

Узнайте об атмосфере в команде

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

Разберитесь, кто тут неформальный лидер

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

Выполняйте мелкие поручения

Простенькие поручения, которые всегда сыпятся от работника к работнику в течение дня могут показать, что вы готовы на подъём. Разношерстная «грязная» работенка на первых порах очень легко может сплотить вас с коллективом, показав вас ответственным и целеустремленным сотрудником, готовым таскать отчеты и канцелярию шефу и менеджерам.

Не давайте себе выдохнуться

Работа программиста такова, что большую часть времени вы проведёте сидя. Это никак не способствует умственной деятельности, так что если чувствуете усталость − постарайтесь отвлечь себя на некоторое время чем-нибудь другим.

Спрашивайте, что о вас думают

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

Попытайтесь понять, почему компания вас наняла

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

Не раздавайте стратегические советы

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

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

Понравился материал о том, как следует вести себя на новом рабочем месте? Вот ещё несколько статей о карьере в IT:

Источник: 18 советом о том, как вести себя в первые дни работы on Forbes

Инструкция для тех, кто хочет стать программистом с нуля

Время программистов прошло?

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

С чего начать

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

Таким детям даже не нужно идти в университет. Второй вариант — модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось.

И последний вариант — хобби, которое переросло в работу.

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

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

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

То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.

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

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

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

Реальные проекты являются большим плюсом в вашем резюме.

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

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

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

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

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

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

Почему стоит выбрать Python

Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.

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

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

И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме.

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

И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

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

Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить.

Без этого вы не проживёте.

Последние шаги

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

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

И вперёд — к светлому будущему с новой профессией программиста.

История успеха

Время программистов прошло?

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

Я плохо тогда разбирался во всем, подал документы только на одну специальность (хотя можно было на несколько сразу), только потом я узнал, что с моими 14 баллами из 15 максимальных (физика – 5, математика – 5, русский – 4), я мог бы поступить на факультет, который готовил программистов. Но я поступил на специальность – ракетные двигатели.

Отучился 4 года и бросил учебу, хотя учился хорошо (на 4 и 5).

Решение стать программистом

После этого где только я ни работал.

Последнее место работы было в фотосалоне, я был что-то типа техподдержки (ставил проги, обслуживал принтеры и много чего другого) и помимо этого обычным продавцом-фотографом, там же я сделал 1-ый сайт для компании, тогда он был на joomla, потом был переведен на wordpress.

Я понимал что это очень далеко от программирования, но это напомнило о моей старой мечте. В 28 лет в феврале я твердо решил выучится и стать программистом.

Тогда я решил поступить заочно на факультет ИВТ(информатики и вычислительной техники), я сходил в универ и узнал, что с моим дипломом о неполном высшем образовании, мне нужно будет сдать только русский, и порог прохождения низкий, все таки для платников. Я стал копить деньги на учебу. Тут же я решил выбрать язык программирования, который хотел бы выучить. Я выбрал Java, и ни капельки не пожалел.

Самостоятельное обучение

Джаву я начал учить по сайту интуит, но это было настолько скучно, что бросил. Стал читать книгу “Философия Джавы” Брюса Эккеля, книга отличная всем советую. Смотрел видео уроки на ютубе(советую кстати лекции у Головоча, мне понравились), и не только по джава, но и по операционным системам, базам данным, линуксу и др.

Когда было лень что-то учить я слушал подкасты (Радио-Т, Разбор Полетов, DevZen), особенно люблю Разбор полетов, там одни джависты. Притом я 80% того, что говорили в подкастах, вообще не понимал. Мне мир программистов казался чем-то прекрасным и непонятным. Я хотел попасть в этот мир, и слушая такие подкасты я получал огромное удовольствие, так как словно окунался в этот мир.

Я пытался понять о чем они говорят, иногда заглядывая в википедию, а в основном просто слушая (помню те незнакомые слова – Spring, JUnit, Casandra, интеграционные тесты и много других). Сейчас я почти все понимаю, о чем беседуют в этих подкастах. Как-то с начальством поделился, что собираюсь выучиться на программиста.

На что начальница мне сказала, тебе 28 лет, сейчас школьники в компах лучше разбираются, зачем туда лезть. В этот раз я проигнорировал совет “знающего” человека.

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

Я плюнул на них и решил купить какой-нибудь курс, как раз тогда был конец августа 2015, и на джавараш были скидки. Я взял курс с Реальным проектом (это была как раз стажировка от Григория Кислина). Вообщем мне нужно было пройти минумум 30 уровней из 40 и потом стажировку на проекте.

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

Обучение на онлайн курсах

До 30 уровня я дошел примерно за 4 месяца, при этом еще и ленился. Кроме джавараш я еще смотрел онлайн курс Головоча (единственный видеокурс на ютубе, который я досмотрел до конца). Был январь 2016 года, как раз шел набор на стажировку. Но нужно было сдать тестовый проект.

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

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

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

Стажировка Григория Кислина

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

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

В итоге когда закончилась стажировка (12 уроков), я закончил только 9 уроков. И то я понимал, что самостоятельно не смогу сделать такой же проект, не подсматривая в учебные материалы. Я начал готовиться к собеседованию, заучиваю основы джавы.

У меня был план 10 сентября начать искать работу (выложить резюме в открытый доступ). Подготовил резюме, дал Григорию на проверку. Он мне посоветовал стажировку указать как опыт работы, что я и сделал. В итоге в моем резюме теперь было написано, что я программист с мая 2016 года.

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

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

Трудоустройство

Итак, наступило 10 сентября (это была суббота) и я выложил свое резюме на hh.ru, решил начать с этого. В моем резюме не было ничего особенного, указал учебу в универе 4 года, это было правдой, хотя я и не закончил ее. Указал последние 2 места работы, 1-е – сисадмин в сети фотосалонов, где я до сих пор работал, а 2-е – программист в Online Java Project.

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

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

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

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

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

Я был в шоке. Я даже не мог запустить его на томкате. Где то 12 часов я пытался разобраться в нем и запустить его, настраивая окружение и др. Была уже ночь, пока я пытался запустить проект, я немного разобрался в нем. Но голова уже не работала и я лег спать.

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

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

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

Работа

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

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

Из личных успехов: в декабре мы уже запустили небольшой проект (вернее сказать серию дополнений), бэкенд который был написан полностью мной (под руководством моего начальника конечно), один микросервис я написал сам от бекэнда до фронтенда(пришлось учить React.js), но он пока еще не выложен.

Специфика моей работы – суровый энтерпрайз. Я как раз и мечтал о такой работе. Мои строчки кода уже крутятся на боевой и я счастлив от этого. Конечно были и проблемы, я косячил, писал код с багами, находил эти баги у себя и не только у себя. Есть нехватка знаний, которая быстро закрывается во время практики, но не вся.

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

Заключение

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

Это и опыт участия в настоящем проекте, о котором можно рассказать на собеседовании, это и стаж программиста, который можно указать в резюме. С того момента как я решил стать программистом, до моего 1-го рабочего дня в качестве программиста, прошло примерно 1,5 года. Из них действительно продуктивно прошли только 4 месяца онлайн курса джавараш и 3 месяца стажировки у Григория.

Да я изучал еще самостоятельно много чего, но это было хаотичное изучение и я много ленился. В общем этот срок в 1,5 года можно было бы сократить в 2 раза, хотя возможно иногда лучше если изменения происходят плавно, а за эти 1,5 года я очень изменился. И хочу сказать свое мнение о платных курсах: я всегда с радостью покупал курсы, если видел, что они мне помогут достигнуть моей цели.

Если посчитать сколько я потратил всего на обучение джавы, то выйдет примерно так: в конце августа 2015г, купил расширенный пакет от джавараш вроде за 10 тыс. руб., зимой 2015 дополнительно покупал миникурс создания вебприложения – 5 тыс.руб, после стажировки в конце лета 2016 купил курс многопоточность у Григория – 8 тыс.руб, итого 23 тыс руб.

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

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

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

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

Тимур Муратов, 07/01/2017

Почему программисты ошибаются в оценке сроков? — CMS Magazine

Время программистов прошло?

Всем известно, что сроки, названные программистами, нужно умножать на два. Ушлые проджект-менеджеры ещё добавляют — «и брать значение следующего порядка». Т.е. при оценке программистом требующегося времени в один час, в план пишем два дня.

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

Как же такое получается? Давайте разберёмся, почему программисты ошибаются в оценке сроков.

Необходим сайт, мобильное приложение, услуги по SEO или контекстной рекламе? Тендерная площадка WORKSPACE поможет выбрать оптимального исполнителя. База проекта насчитывает более 10 500 агентств. Сервис БЕСПЛАТЕН для заказчиков.

Время чистое и время грязное

Когда программист оценивает задачу, он обычно мыслит категориями «чистого» времени. «Можно сделать, если заниматься этим пять часов подряд, без перекуров и перерыва на обед». В реальности «чистого» времени почти никогда не бывает (люди должны переключаться, питаться, ходить в туалет и пр.), а если программист работает в коллективе, то не бывает вообще никогда.

При этом объём «грязи» может достигать совершенно невообразимых размеров, если коллектив дружный, а программист участвует в нескольких задачах одновременно. Тогда перерывы на «быстрое общение у кофемашины» органично переплетаются с отвлечениями на внезапные «Коля, срочно, на пять минут, исправь тут по-быстромууууу!», и время идёт, а основная задача все не закрывается.

Производительность

Отдельным пунктом идёт вопрос производительности. При оценке программисты обычно исходят из классного самочувствия, высокой работоспособности, и не делают скидок на неожиданное «что-то сегодня калган не варит» и «да, понедельник день тяжёлый…». Но из реальности эти явления никуда не деваются, и ВНЕЗАПНО на типовую задачу уходит в два раза больше времени, чем обычно.

Исследования

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

На вопрос «Почему?!» объясняет, что в процессе возникло альтернативное и очень многообещающее решение, и на его рассмотрение ушла куча времени.

Но, к сожалению, это решение не подошло, в итоге делать пришлось так, как планировалось изначально.

Что тут можно сказать? Исследование вариантов — не только зло, но и добро. Несмотря на всю непредсказуемость этого процесса, он может давать очень интересные, и даже прорывные решения. Но может и не давать, конечно.

Частным случаем исследования является «курение мануалов».

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

Сложные системы

Обязательно стоит упомянуть специфику планирования работ в сложных системах. Тут оценка часто расходится с реальностью именно из-за сложных взаимосвязей элементов системы. Например, ставится простая задача — изменить порядок сортировки элементов в определённом разделе.

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

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

Исправление ошибок

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

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

Составные и нетиповые задачи

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

С нетиповыми задачами всё понятно: если подобная задача не ещё выполнялась, и с какой стороны к ней подойти — пока неясно, то программистская оценка будет зависеть только от его уровня самоуверенности.

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

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

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

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

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

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

Оценка под давлением

Наш список причин некорректной оценки времени будет неполным без упоминания такого замечательного явления как «Клиентское давление». Это ситуация, когда заказчик (внутренний или внешний) так или иначе влияет на оценку. Например, даёт понять, что хочет услышать оптимистичное «Завтра будет готово!», ну или что-то типа этого.

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

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

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

Итого

Резюмируем.

Первое: программистская оценка без применения специальных «поправочных коэффициентов» действительно может оказаться очень неточной.

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

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

Автор рассказывает о причинах срыва сроков. А мы (редакция) можем вам рассказать про то, насколько актуальна эта проблема. Согласно исследованиям CMS Magazine, вот уже несколько лет пролет мимо дедлайна происходит почти в 40% случаев!

Хотите снизить риски? Обращайтесь к проверенным студиям. Например, к участникам рейтинга веб-студий.

Отгадайте, сколько сайтов мы ежегодно изучаем, чтобы составить данный рейтинг? Десятки тысяч. Причем рассматриваются работы более четырех тысяч веб-студий Беларуси, Украины и, естественно, России. И все для вас!

Когда закончится кадровый голод в IT

Время программистов прошло?

И почему компании, которые изначально специализировались не в этой сфере, массово набирают digital-специалистов

Мария Голяндрина, вице-президент МТС по управлению персоналом, рассказала в интервью «Реальному времени» о кадровом голоде в цифровой сфере, о том, зачем телекоммуникационные компании открывают тысячи IT-вакансий, почему «корочка» вуза не очень важна при приеме на работу и какие тренды придут в этой области на смену машинному обучению и большим данным.

— Мария, почему крупные компании, изначально не относившиеся к сфере разработки — например, телекомы — развивают IT-направление?

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

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

Это и мессенджеры, и финансовые сервисы, приложения для просмотра фильмов, и игры, и тому подобные вещи.

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

Мария Голяндрина, вице-президент МТС по управлению персоналом. Платформа телекома колоссальна, несмотря на то, что базовый рынок уже давно созрел и на нем сложно придумать какие-то революционные вещи. Будущее — за новыми цифровыми продуктами, которыми можно захватить умы и сердца людей, и мы их внедряем

— Почему специалисты в цифровой сфере выбирают работать у вас?

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

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

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

— Сейчас мы нанимаем более 1000 IT-специалистов в год и задач у нас множество. Например, работа с большими данными, там много вопросов, на которые интересно поискать ответы. Мы создаем очень сильную компетенцию по машинному обучению и Data Science.

Учитывая, что основной бизнес очень богат на огромный массив данных об абонентах, конечно, нужно искать какие-то новые ценности именно здесь.

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

Словом, независимо от того, какая у тебя специализация в IT, в МТС есть задачи на любой вкус и масштаб. Конечно, в основном мы фокусируемся на разработке. Но в каждом проекте не обойтись и без хорошего архитектора, и без специалиста по UX/UI.

Кадровый голод закончится через 5 лет

— Действительно ли есть кадровый голод в сфере цифровых технологий, нет ли излишнего хайпа вокруг этой темы?

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

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

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

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

Учиться теперь нужно всю жизнь

— Что вы можете сказать о качестве подготовки IT-специалистов в вузах, помогают ли университеты решить ваши рекрутинговые задачи?

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

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

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

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

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

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

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

Фото Максима Платонова Еще мы в МТС большие надежды возлагаем на программы переобучения. Эту задачу мы привезли на хакатон «Цифрового прорыва», и ее выбрало большое количество команд-участниц. Мы ищем возможность переобучать людей на современные профессии

— Какие вы видите способы решить проблему кадрового голода?

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

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

При правильном построении инфраструктуры это работает.

— То есть, лучше всего на рынке HR чувствуют себя те компании, которые организовали у себя эффективное обучение?

— Да. Правильный отбор на входе и дообучение — это два основных критерия.

Еще мы в МТС большие надежды возлагаем на программы переобучения. Эту задачу мы привезли на хакатон «Цифрового прорыва», и ее выбрало большое количество команд-участниц. Мы ищем возможность переобучать людей на современные профессии.

Многие понимают, что они не будут востребованы завтра, им надо помочь освоить новую специальность и после этого переориентировать их на новые задачи.

Думаю, за счет переобучения тоже будет снята определенная часть проблем с дефицитом в IT-кадрах.

— Но ведь это тренд последнего десятилетия — уходят те времена, когда человек в молодости получил специальность и до конца жизни в ней прожил?

— Да, сейчас уже такого нет во многих областях. Микрообучение выходит на первый план, ты постоянно находишься в процессе обучения и развития. Очень быстро приходят новые технологии, инновационные решения. Чтобы оставаться востребованным, специалист перманентно должен учиться.

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

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

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

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

Фото innopolis.com Мы уже 2 года развиваем крупный кластер в Иннополисе. Там сформировалась отличная команда с высоким уровнем квалификации специалистов. Работают в этом кластере и иногородние сотрудники, и те, которых готовили в Казани. Здесь есть большие важные задачи и нужны серьезные компетенции

Татарстан — сильный IT-кластер

— Почему вы решили участвовать в «Цифровом прорыве», какие возможности вы здесь видите?

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

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

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

— Как обстоят дела в вашем IT-кластере в Татарстане?

— Мы уже 2 года развиваем крупный кластер в Иннополисе. Там сформировалась отличная команда с высоким уровнем квалификации специалистов. Работают в этом кластере и иногородние сотрудники, и те, которых готовили в Казани. Здесь есть большие важные задачи и нужны серьезные компетенции.

В целом хочу отметить, что Казань и Татарстан — очень сильный кластер в сфере IT-компетенций. И мы будем наращивать здесь свое присутствие и предлагать рабочие места для специалистов в цифровой сфере.

ТехнологииТелекоммуникации Татарстан

Поделиться:
Нет комментариев

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

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