#1 Какие технологии и языки программирования актуальны?
Рейтингу TIOBE Programming Languages TOP можно доверять.
По запросу: "programming languages top" можно найти альтернативные точки зрения.
В общих чертах актуальные языки и технологии для web-dev выглядят следующим образом:
Python:
Django, FastAPI, Flask, PyTest, Unit testing, AsyncIO, Threading, Multiprocessing...
JavaScript:
TypeScript, Node.js, Vue\Nuxt.js, Svelte\SvelteKit, React\Next.js...
Базы данных:
SQL (Relational), NoSQL (Non-Relational)
Apache Kafka, Webhooks, WebSockets, Docker, Kubernetes, Redis, Celery, CI\CD...
#2 Для кого подходят курсы?
Курсы подойдут для начинающих или для уже имеющих знания в программировании, желающих их расширить и получить опыт практической работы.
Я занимаюсь веб-разработкой, поэтому обучаю программированию в контексте web-dev, хотя принципы для всех языков одни. Это означает, что вы можете выучить один язык и после выбрать себе ту специализацию которая вам интересна.
#3 С чего начать изучение программирования?
Для начала ознакомьтесь с вопросами-ответами, этот раздел регулярно дополняется и содержит много полезной информации о курсах и об IT сфере в целом. Отвечаю на вопросы честно и непредвзято.
После ответьте на ряд вопросов:
- Чему вы хотите научиться в итоге, какова ваша цель?
- Что вы уже знаете и умеете?
- Сколько времени вы готовы уделить обучению?
- Подумайте над тем проектом, который близок и интересен вам. Что бы вы хотели реализовать и развивать?
Любой язык программирования и технологии которые строятся на его основе - просто инструменты созданные для решения различных задач. Подходить к обучению надо осмысленно, с пониманием того к чему вы хотите прийти в тоге.
IT сфера крайне противоречива и неоднозначна, вокруг неё существует много хайпа и иллюзий которые существуют в сознании обывателя. На деле это прежде всего большой ежедневный труд, упорство и постоянное развитие себя.
В с 2006 года и могу уверенно сказать что это сложно, но при этом очень здорово, за все эти годы ни на секунду не разочаровался и не пожалел о своем выборе!
Свяжитесь со мной, расскажу подробнее и отвечу на возникшие вопросы.
#4 Сколько времени необходимо чтобы стать программистом?
А сколько времени необходимо что бы стать хорошим врачом, юристом, экономистом, строителем...?
Учиться придется постоянно, это является частью любой профессии, для IT это утверждение особенно актуально.
Скорость получения необходимого минимума знаний напрямую зависит от времени которое вы готовы уделять обучению.
Попробуйте оценить самостоятельно сколько времени потребуется вам чтобы:
- Хорошо изучить теоретическую основу какого-нибудь языка
- Получить опыт практической работы
- Изучить хотя бы один фреймворк
- Изучить смежные технологии и языки (например: вы хотите стать backend разработчиком, вам потребуется изучить какой-нибудь серверный язык и SQL + понимать как работает front)
- Научиться писать годные тесты вашего кода
- Научиться деплоить (Linux, Docker, CI\CD...)
- Освоив базу выше, изучить и понять Алгоритмы и Структуры Данных + некоторое количество различных парадигм, концепций, принципов и т.д.
Это минимум. По каждому пункту надо иметь уверенные знания и опыт. Таковы требования рынка.
У меня нет цели напугать вас или демотивировать, наоборот, все это вполне реально изучить и понять в разумные сроки. Потому что (открою секрет) все знать просто невозможно.
На занятиях вы попробуете разные роли и познакомитесь с разными технологиями, после сможете выбрать те которые вам понравились и развивать себя в них. Благодаря выбору специализации вы сможете минимизировать сроки обучения и почувствовать прогресс в разумных временных рамках.
#5 Какой язык программирования выбрать для изучения?
Любой язык программирования – это просто инструмент который создан для решения определенного набора задач. По сути у всех языков есть общие принципы, изучив которые можно освоить другие, схожие.
Различают следующие типы языков программирования:
- Машинный язык или двоичный код - язык состоит из 1 и 0. Но вообще это тема достойна отдельного разговора.
- Низкоуровневые - созданы для упрощения написания двоичного кода, используют интерпретаторы и компиляторы преобразующие более понятные человеку языковые конструкции в машинный язык. В качестве примера такого языка можно привести Assembler.
- Высокоуровневые - это самая популярная группа языков, которые имеют высокий уровень абстракции и максимально понятные конструкции для человека. Также используют компиляторы и интерпретаторы, различаются по синтаксису и требованиям к типизации данных. Например, C++ или C# будут требовать от вас явного обозначения типа данных переменных, аргументов функций и т.п., тогда как Python, PHP, JavaScript возложат эту задачу на компилятор\интерпретатор, соответственно, с последними работать проще.
Критерии выбора языка:
- Должен подходить для решения ваших задач или широкого спектра;
- Должен иметь развитую и живую инфраструктуру (библиотеки, модули, фреймворки и т.д.);
- Должен иметь большое и активное сообщество;
- Должен быть востребован на рынке;
- Желательно что бы имел понятный синтаксис.
Существует большое количество рейтингов, один из них tiobe.com, на мой взгляд объективно отражает картину.
Для совсем начинающих рекомендую Python т.к. всем вышеперечисленным критериям он соответствует.
Более сложный вариант – JavaScript.
+ Технологии на основе данных языков.
#6 Вы профессиональный преподаватель?
Нет, изначально я не преподаватель, хотя у меня есть опыт индивидуального обучения с 2014 г. по настоящее время. Основную часть времени я работаю Full Stack Developer (Middle\Senior). Опыт в IT с 2006 г..
#7 Какой язык программирования выучить лучше?
Нет ни "лучших" ни "худших" языков, есть более или менее подходящие языки для решения той или иной задачи или задач.
#8 Если более конкретно, то каким профессиям вы обучаете?
Frontend developer, Backend developer, Full Stack developer, QA Engineer, DevOps.
Но это не означает что вы ограничены этим списком, на занятиях я даю фундаментальные теоретические основы и практические задачи которые позволят вам понять и освоить другие IT-специальности.
#9 В чем ваши преимущества?
Для меня обучение программированию не основная деятельность, большую часть времени я работаю Senior\Middle (зависит от компании) Full-Stack Developer.
Прежде всего обучение программированию для меня возможность поделиться накопленными знаниями и опытом с вами.
– Опыт работы в IT (с 2006 г.). Работал в стартапах, крупных продуктовых компаниях и финансовом секторе.
– Опыт индивидуального обучения с 2014 г. За это время мне удалось обучить с нуля программированию десятки человек.
– Вы получите опыт работы над реальными проектами.
Проекты которые мы разрабатываем на занятиях дают вам опыт реальной разработки. Вы можете развивать их в дальнейшем самостоятельно, показывать и говорить о них на технических интервью.
– Мы не будем тратить время на переписывание заранее заготовленных проектов в которых все идет гладко и легко, a будем работать только над сложными и интересными задачами. Будем сталкиваться с реальными проблемами в процессе разработки и совместно решать их. Таким образом вы будете и получать уникальный и ценный опыт разработки.
– Я не просто обучаю какому-то конкретному языку или технологии, а учу мыслить вне их рамок. Таким образом вы сможете быть свободным от привязки к какому-то конкретному стеку и при необходимости эффективно освоить другой.
– Это индивидуальные занятия лично с вами т.е. все внимание только вам. Вы действительно научитесь и сможете в дальнейшем разрабатываться любые проекты самостоятельно, осуществлять полный цикл разработки от планирования до вывода в production.
– Всё чему я обучаю необходимо для реальной работы и направлено на понимание вами сути процесса разработки.
– Обучаю только актуальным и востребованным на рынке технологиям. IT рынок крайне динамичен, всегда надо быть актуальным.
– Я не просто обучаю какому-то конкретному языку или технологии, а помогаю вам учиться эффективно и быстро. Это крайне важно в IT.
– Подготавливаю людей которые успешно проходят технические интервью.
– Не набираю большого количества людей (1-2 человека в параллели).
– Никакой спешки. Занимайтесь в том ритме в котором вам комфортно. Для меня важно чтобы вы действительно освоили информацию и смогли применить её на практике.
– Никакой навязчивости и маркетинга.
– Не обещаю того, чего не могу выполнить и не берусь за то, что изначально будет неэффективно или бессмысленно.
– Сам ежедневно работаю с теми языками и технологиями, которым обучаю.
– Даю теорию в понятном и доступном виде с объяснением почему надо знать ту или иную концепцию, как и где она применяется на практике.
– Даю много интересных практических задач. Все они уникальны и не повторяются, мы никогда не пишем один и тот же проект с разными людьми.
#10 Насколько эффективны ваши курсы?
Придя ко мне на обучение человек получает уникальный опыт работы над реальными, интересными ему проектами, фактически учится работать, решать проблемы, думать, проектировать, понимать суть процесса разработки, применять теорию на практике. Насколько это ценно и полезно решать не мне, но скажу что мне удается подготовить 1-3 человек в год, которые в итоге приходят в IT от тестировщиков до fullstack developers, без учета консультаций по специфическим вопросам и иной работы.
Много это или мало, сложно сказать, я выступаю за качественные а не за количественные показатели.
Надо понимать, что у всех разные цели: кто-то находит в этом свое призвание, кому-то просто интересно узнать что это такое, кто-то изучает программирование для развития собственного бизнеса, у всех разные цели.
#11 Как проходит обучение?
Перед началом занятий обсуждаем все интересующие вас вопросы и договариваемся об удобном времени начала. После созваниваемся в скайпе и начинаем заниматься.
Занятия строятся в форме диалога. Там где это необходимо даю важные теоретические концепции, предварительно объяснив как и зачем они применяются на практике. Чаще даю много практических задач благодаря котором вы начнете нарабатывать реальный опыт разработки.
Предлагаю избегать абстрактных примеров и заняться разработкой чего-то существенного. От интернет-магазина до веб-сервиса который вам интересен. Например: мы можем начать разработку простого интернет-магазина и разить его до маркетплейса, или мы можем разработать социальную сеть в виде монолита и разбить её на микросервисы. Можно начать с разработки сервиса агрегации данных и развить в сервис развитой аналитики. Все что угодно, чем масштабнее проект, тем больше уникального опыта вы получите.
Разумеется перед реализацией чего-то серьёзного надо как следует освоить самые базовые вещи, это важно.
Занятия всегда индивидуальны, я против заскриптованного подхода и шаблонных методик.
Важно не просто забить голову информацией и бездумно повторить то что показал я, а научиться понимать суть процесса, научиться думать самостоятельно, научиться анализировать и проектировать, находить преимущества и уязвимости, понять вариативность процесса разработки. Именно в таком контексте строятся все занятия.
#12 В какое время проводятся занятия?
В удобное для вас время. Просто предупредите пожалуйста заранее.
#13 Как часто вы рекомендуете заниматься?
Эффективно заниматься 3-5 раз в неделю.
Но идеально – ежедневно. Так вы быстрее сможете научиться и начать решать любые задачи самостоятельно.
#14 Нужен ли английский и насколько хорошо его надо знать?
В идеале нужен свободный английский т.к. это сильно упрощает жизнь.
Но если с языком не очень, то не перживайте, многие годами обходятся переводчиком.
Но с английским надо что-то делать т.к. без него в IT будет не очень комфортно.
#15 Стоимость обучения
Стоимость часового занятия 3000 руб (60 мин)
Стоимость двухчасового занятия 4000 руб (120 мин)
Cкидки при единовременной оплате:
1 занятие (2 часа)
10 занятий – 36 000 руб
стоимость одного занятия 3600 руб за 2 часа (1800 руб\час)
20 занятия – 60 000 руб
стоимость одного занятия 3000 руб за 2 часа (1500 руб\час)
40 занятий – 100 000 руб
стоимость одного занятия 2500 руб за 2 часа (1250 руб\час)
1 занятие (60 мин)
20 занятий – 40 000 руб (2000 руб\час)
Оплата производится перед началом занятия.
#16 Стоимость консультации\код-ревью\разработки
от 3000 руб.\час, но итоговая стоимость может существенно варьироваться
Согласитесь, вопросы и задачи бывают разными. Например: объяснить с чего начать изучение программирования или что такое асинхронность, итераторы\генераторы, как реализовать алгоритм сортировки "пузырьком" - это одно. Совсем другое когда надо провести аудит существующей кодовой базы или спроектировать архитектуру сервиса и реализовать её, продумать как разбить монолит на микросервисы.
Скажем так, стоимость работ\консультаций я оставлю предметом аргументированного обсуждения, но не торга.
#17 Боюсь переводить вам деньги
Если опасаетесь переводить деньги заранее, то оплачивайте в режиме диалога перед началом занятия\консультации.
#18 Сколько времени длится одно занятие\консультация?
Часовое занятие – 1 час (60 мин)
Двухчасовое занятие – 2 часа (~120 мин) без учета перерывов
Занятие по предоплате – час (60 мин) или 2 часа (120 мин)
Консультация – 1 час (60 мин)
#19 При каких условиях предоставляются скидки?
Если оплачиваете занятия единовременно и занимаетесь от 4-5 раз в неделю.
#20 Занятия жестко лимитируется по времени?
Нет, я всегда стараюсь давать больше того за что мне платят, мы не завершим занятие на полуслове, а дойдем до логического финала, даже если это выйдет за обозначенные временные рамки.
#21 Способы оплаты
ТБанк (бывш. Тинькофф), Сбер, ЮМани.
#22 Хорошо, я приду к вам на обучение, как оно поможет мне стать программистом\найти работу\реализовать свой проект(ы)?
Если вы хотите стать программистом начинать надо с теории, т.е. у вас по-умолчанию должны быть отличные теоретические знания, без них никак. Теория без практики – ничто, соответственно, вы будете разрабатывать самостоятельно много интересных проектов, решать различные задачи: от переноса идеи в конкретную архитектуру приложения, непосредственно реализовывать каждый микросервис или реализовать монолит, логику, связи webhooks, вебсокеты, Docker, юнит-тесты, интеграционные тесты, тестирование API, CI\CD pipeline... и много чего еще. Вы научитесь осуществлять полный цикл разработки современных отказоустойчивых приложений способных выдерживать высокие нагрузки.
Это уникальный и ценный опыт который поможет вам по настоящему погрузиться в мир IT и разработки с использованием актуального стека технологий. Вы получите опыт реальной разработки.
#23 Какая программа обучения?
Мы не в ВУЗе или не на курсах которые обучают людей на потоке. Это индивидуальное обучение т.е. такой вид занятий где вы сами выбираете направление обучения, частоту занятий и их содержание. Все обсуждается, формируется индивидуально.
#24 У вас есть пробные занятия?
Скорее всего у вас есть вопросы и достаточно просто созвониться и пообщаться, далее вы самостоятельно примите решение.
#25 Зачем платить деньги, когда в сети много бесплатных видеокурсов и книг?
Давайте приведем аналогию со спортивным залом, в нём обычно присутствуют тренажеры для проработки всех групп мышц, всевозможные приспособления для силовых упражнений, кардио, выносливость и так далее. На каждом из этих тренажеров есть инструкции, можно посмотреть видео в YouTube где вам подробно покажут как и чем пользоваться. Но все это хорошо и понятно когда вы лежите дома на диване и смотрите. Совсем другая история когда вы лично оказываетесь в зале впервые и просто теряетесь, а если вы совсем начинающий то есть риск получить травму.
А теперь давайте экстраполируем данный пример на боевые искусства. Предположим что вы совсем не умеете наносить удар правильно, думаю что вряд ли вы сможете этому научиться боксу или кикбоксингу просто смотря видео, вы обратитесь к тренеру. Ровно тоже самое и с тренажерами в спортивном зале, вначале вы обратитесь к тренеру, который поможет вам. А знаете почему? - Да просто потому что у тренера есть опыт и он не просто так в присутствует в зале, он поможет, подскажет, подстрахует и много чего еще.
Кстати, а вам хотелось бы что бы вас лечил врач который учился по курсам с YouTube или другой образовательной платформы?
Сможете доверить замену масла в своем автомобиле человеку который учился это делать по видео?
Доверите вести бухгалтерию человеку без опыта?
А может довести груз из точки A в точку B человеку который учился водить в GTA?
Именно поэтому все компании при трудоустройстве акцентируют внимание на опыте. Только вот опыт не накапливается при просмотре видео и механическом повторении за кем-то, опыт штука ценная, он дается путем преодоления трудностей, чаще "потом и кровью".
Никто не будет давать вам задачку полегче, всегда дадут именно то что вы знаете хуже всего или не знаете вовсе, а здесь надо уметь думать, нужен опыт. Замкнутый круг получается. Именно этот самый опыт мы нарабатываем на занятиях, учимся думать и решать любые задачи своей головой.
Курсы и обучающие видео – это очень здорово, но если у вас вообще нет опыта, вы не понимаете сути, они просто предложат вам возможность бездумно копировать чужой код а не создавать что-то своё, просто подражание и копирование. А для программиста критически важно уметь думать своей головой, уметь быстро ориентироваться в незнакомой ситуации, соображать и делать это эффективно. Именно эти навыки мы практикуем на занятиях.
#26 Мне уже за 30\40\50 есть ли смысл изучать программирование?
Возраст не играет вообще никакой роли. Главное чтобы вы сделали выбор осознанно и у вас было желание.
#27 Как заниматься наиболее эффективно?
Если вы всерьёз настроены изучить какой-то язык программирования, то вот несколько дельных советов:
– Занимайтесь ежедневно и по собственной инициативе.
– Не ждите быстрых результатов, в этой сфере важно быть терпеливым и трудолюбивым.
– Не бойтесь трудностей. Когда трудно, значит вы на правильном пути.
– 100% ясности не будет почти никогда, это нормально.
– Задавайте вопросы и учитесь искать информацию.
– Не сравнивайте себя с кем-то, помните, что никто не рождается с какими-то знаниями и всему можно научиться.
– Учите английский, пригодится.
#28 Вы даете домашние задания?
#29 Вы обучаете PHP?
Нет, я не работаю с ним с 2017 года.
#30 В каком ВУЗе можно изучить программирование?
В любом который вам нравится.
Работодателям интересен только ваш опыт, а то где вы учились и учились ли вообще вторично.
Профильное высшее образование лишним однозначно не будет, но не рассчитывайте на то что оно даст вам какие-то существенные преимущества.
#31 Не проще ли освоить какую-нибудь CMS на PHP и верстку, вместо программирования?
Как вариант, можно поступить и таким образом. Только рынок фрилансеров переполнен предложениями сделать сайт на WordPress, OpenCart, Drupal, Modx и прочих CMS'ках с задачами "натянуть" на них верстку или адаптировать готовый шаблон – это самый тупиковый вариант развития.
Изучив какой-нибудь язык программирования, приобретя опыт работы с ним и инструментами на его основе, вы получите намного более ценный и перспективный опыт и навыки.
#32 Сколько зарабатывают программисты?
#33 Программисты много зарабатывают, когда я начну зарабатывать столько же?
Да, это правда, что программисты достойно зарабатывают, только есть один нюанс - чтобы хорошо зарабатывать нужен опыт, без опыта вас никуда не возьмут, даже по протекции. Как быть в таком случае?
– Приходите ко мне на индивидуальные занятия по программированию, я помогу вам наработать достаточный опыт для трудоустройства.
Кроме того, научу как можно эффективно развиваться в дальнейшем, создавать интересные и полезные pet-проекты, участвовать в open source.
Чем больше вы будете трудиться, тем быстрее сможете прийти к достойному уровню доходов.
#34 Хочу обучить сотрудника(ов) компании?
#35 Где проходят занятия?
Только онлайн. Это удобно и экономит наше с вами время.
#36 Хочу заниматься только очно
У очных занятий нет никаких преимуществ перед удаленными. Да и скорее всего мы находимся с вами в разных городах, занятия в скайпе экономят наше с вами время.
Сама специфика данной профессии подразумевает минимальный личный контакт из-за отсутствия в этом необходимости. Большую часть времени программист тратит на работу с кодом и самообразование, а не на перемещение себя из дома в офис и обратно.
После карантина 2020 году многие компании стали переводить желающих на удаленную работу и лояльно относиться к подобному формату работы. Скорее всего вы будете работать на удаленке, если не живете в крупном городе.
Практика удаленной работы и коммуникации в XXI веке абсолютно нормальна, разумеется, опция работать в офисе имеется, но большая часть команд работает из разных городов и стран.
Ровно такая же ситуация и с образованием, очные формы уступают онлайн-обучению.
#37 Вы выдаете диплом после завершения обучения?
Дипломы, сертификаты и прочая макулатура для программистов бесполезны.
Даю знания и практические навыки необходимые для работы, выдачей полиграфических изделий не занимаюсь.
#38 Вы трудоустраиваете после курсов?
В случае если какие-то коммерческие курсы обещают трудоустройство, это не более чем маркетинговый ход, вы должны это понимать.
Я даю знания востребованные на рынке и опыт практической работы. Этого более чем достаточно чтобы трудоустроиться на хорошие позиции в достойные компании или стали заниматься развитием собственных проектов.
#39 Обещают стипендию во время стажировки
В некоторых компаниях это возможно, в большинстве случаев обман.
#40 Почему обещания трудоустройства после курсов - ложь?
Не ложь, а маркетинг ))
Некоторые курсы при больших компаниях действительно обучают и впоследствии трудоустраивают. Только у гигантов рынка нет недостатка в уже готовых кандидатах желающих прийти к ним в штат учить которых ничему не надо.
Недостатка в вакансиях нет, предложений очень много. Зайдите на любой популярный ресурс с вакансиями и убедитесь в этом самостоятельно.
Бывает так что если вас трудоустроят после курсов, то компенсация будет существенно ниже рынка, поэтому проще и выгоднее трудоустроиться самостоятельно.
В любом случае, всегда рассматривайте подобные заявления скептически и внимательно изучайте условия (то что написано мелким шрифтом) при которых вас трудоустроят, куда и на каких условиях.
#41 Реально ли устроиться на работу после прохождения курсов?
Да, вполне реально. В моей практике 1-3 человека в год трудоустраиваются на позиции тестировщиков или Junior'ов, далее растут в профессии или открывают собственный бизнес, это уже кому что ближе.
В этом не только моя заслуга, но и самих людей которые стараются, прилагают усилия, учатся, задают вопросы, сталкиваются с проблемами и решают их. Многое зависит от человека.
Пройти техническое интервью можно только самостоятельно, благодаря своим талантам и компетенции. Я на 100% уверен в том, что может каждый.
#42 Прохожу много собеседований и никуда не берут, что со мной не так?
Собеседование и техническое интервью процесс непредсказуемый, не всё и не всегда зависит от вас. Не пройти интервью - это нормально и даже обыденно. Такое случается даже с самыми опытными программистами.
Перед собеседованием внимательно ознакомьтесь с требованиями и подготовьтесь, обычно попадаются вопросы и задачи в которых вы хуже всего разбираетесь или вообще не знаете\не сталкивались, поэтому для прохождения технического интервью надо готовиться серьезно и заранее. Именно поэтому надо добросовестно учить теорию изначально, чем лучше вы знаете теорию, тем выше ваши шансы получить достойную работу + опыт, опыт и еще раз опыт и удача.
#43 Хочу сделать перерыв в обучении
Если вы начали заниматься и оплатили несколько занятий вперед но хотите сделать перерыв - без проблем. Просто предупредите заранее.
#44 Увидел рекламу бесплатного обучения, это правда?
В этом мире нет ничего бесплатного, а что достается условно бесплатно, то обходится потом в двойную цену.
Автор неизвестен
Вероятнее всего это обычный кликбейтный заголовок в социальных сетях или рекламных объявлениях.
В большинстве случаев верить в то что кто-то будет бесплатно проводить обучение\семинар\тренинг\марафон (нужное подчеркнуть) по программированию - наивно. С высокой долей вероятности это банальное инфоциганство.
Основная цель - завлечь обещаниями халявы, а далее технология развешивания на уши макаронных изделий отработана. Ради интереса можете посетить любой тренинг личностного роста, собрание религиозной секты или банальный сетевой маркетинг. Везде вам зальют в уши по полной, пообещают всего и сразу, нарисуют сказочные перспективы, главное занесите немного (или много) рублей\юаней\долларов\евро... и все у вас будет в шоколаде.
#45 Мне нужно помочь в решении задачек по программированию, вы занимаетесь этим?
Да, могу в решении задачек по программированию из стека языков и технологий с которыми работаю.
#46 Хочу стать QA-инженером, DevOps, Data Analyst, Data Scientist... интересуют цена вопроса и сроки?
Отвечу вопросом на вопрос: как считаете, что лучше - фундаментальные знания или ветвящиеся от него специализации и технологии?
Пример: вы хотите стать DevOps. Для этого необходимы глубокие знания Python или Go, одного из дистрибутивов Linux, Amazon Web Services (AWS) или Google Cloud.
Далее: Terraform или Ansible, Git + GitHub или GitLab, Docker или Lambda, Jenkins или CodeDeploy, ECS или Kubernetes, ELK Stack или Prometheus. Данный список неполный и может быть расширен. Всеми данными языками или технологиями вы обязаны владеть на экспертном уровне, да и на тот момент когда вы читаете это 100% одна из технологий потеряла актуальность, либо у неё появились альтернативы.
Ровно такая же ситуация у Data Scientist's и прочих специализациях. Суть в том, что вся сфера находятся в постоянной динамике, то что было актуально вчера, ушло сегодня, приходится постоянно переучиваться и осваивать что-то новое.
Поэтому я делаю акцент на фундаментальных знаниях, освоив которые вы сможете выбрать конкретную специализацию и развиваться в ней.
#47 Когда я стану Junior, Middle или Senior?
Деление разработчиков на Junior, Middle или Senior настолько сильно отличается от компании к компании, что в одном месте вас могут идентифицировать как Middle, в другом не дотяните и до Junior, а в третьем будете уверенным Senior и такая ситуация практически везде.
Зависит от стандартов компании в которой вы планируете работать.
#48 Сколько занятий необходимо чтобы написать свой сервис или устроиться на работу?
В случае с обучением конкретно ответить на данный вопросы невозможно т.к. на результат влияет множество факторов.
Скорость восприятия и усвоения информации у всех разная, каждый обладает разным количеством времени и мотивации на изучение чего-то нового. В случае с программированием придется много времени тратить на наработку практических навыков путем решения практических задач и освоения теории.
Пока вы просто смотрите со стороны без непосредственного погружения в разработку и изучение вы не поймете насколько быстро у вас получится. Главное помнить, что научиться может каждый.
#49 Сейчас чуть подтяну программирование, устроюсь на работу и дальше доучусь в процессе
Такой вариант маловероятен. Чтобы пройти техническое интервью необходимо обладать опытом и отличными знаниями в рамках требований той или иной компании.
Помните, что работодатели хотят уже готовых и талантливых специалистов.
Добросовестно учите теорию, получайте практический опыт и все получится.
#50 Реально ли брать заказы на биржах фриланса?
Не знаю, зарегистрируйтесь на любой площадке и попробуйте самостоятельно. Я не фанат фриланса.
#51 Где лучше работать программисту: по найму или на себя?
Если у вас совсем нет опыта и очень хочется научиться, то лучше начать со своего проекта(ов), таким образом вы получите ценный опыт и сможете стать интересны работодателям.
Польза от работы по найму в том что она дисциплинирует, вы получаете навыки промышленной разработки, разбираетесь в технологиях, осваиваете массу полезной информации.
Работа на себя - это также опыт, возможность реализовать то что интересно вам, вариант хобби, дополнительный источник дохода. Всегда приятно заниматься любимым делом.
На мой взгляд можно сочетать.
#52 Какие программы должны быть установлены для занятий?
#53 Телефон во время занятий
Перед началом занятия я ставлю телефон на беззвучный режим, просьба и к вам сделать то же самое.
#54 В каком часовом поясе находитесь?
#55 У меня ничего не получается\не понимаю, как быть?
У меня тоже никогда и ничего не получается с первого раза, если я буду изучать что-то совсем новое для меня, то я тоже не пойму сразу, это нормально, так у всех людей.
Чтобы начало получаться и возникло понимание надо подходить к любому вопросу спокойно, без эмоций, на все нужно время.
Если возникают трудности, вы можете задать вопрос мне, мы можем дополнительно созвониться, я объясню и покажу столько раз, сколько необходимо что бы вы поняли, разобрались.
Кроме того, вы можете задать вопрос поисковой системе, пообщаться с другими людьми в соц. сетях или Telegram-каналах, задать вопрос на Stack Overflow или воспользоваться десятками других вариантов решения любой проблемы\задачи\вопроса.
#56 Можно ли записывать занятие на видео?
Без проблем. В Skype есть такая возможность, либо OBS или другого софта.
#57 Где можно посмотреть ваши работы?
На странице о курсах есть подробная информация.
#58 Где можно почитать отзывы о ваших курсах?
Для начала хочу предложить небольшую подборку статей:
Или самостоятельно загуглите: стоит ли доверять отзывам в интернете, найдете еще больше интересной информации.
Что я хочу этим сказать?
С одной стороны вопрос справедливый, интернет наполнен разной публикой и вопрос доверия имеет место быть, с другой стороны, доверять всему что написано в интернете, особенно отзывам наивно.
Могу посоветовать открыть 2GIS или Яндекс карты и попробовать найти хорошего стоматолога в вашем городе по отзывам. Если вы живете в более-менее крупном городе обратите внимание на количество стоматологических клиник, кабинетов и т.п. в вашем районе, их больше чем парикмахерских. Ознакомьтесь с отзывами и сходите в первую понравивщуюся стоматологию опираясь на отзывы. Вас ждет лотерея 50\50, в которой если ошибетесь с выбором будет реально больно или не будет, как повезет, аналогично во всём остальном. На деле в реальной жизни всё оказывается несколько иначе чем написано в интернете и так во всём.
Если хотите оставить честный и объективный отзыв, буду благодарен за обратную связь. Если вы будете оставлять такие отзывы, то я обязательно создам соответствующий раздел на этом сайте где буду публиковать их.
Сомневающимся и не доверяющим напомню, что со мной можно легко созвониться и пообщаться, отвечу на любые ваши вопросы.
#59 Моему ребенку от 0 до 18, хочу обучить его программированию
#60 У нас все обучение строится только на практике
Прекрасный маркетинговый ход и многие на него ведутся. Только так не работает. Если вы хотите работать в IT-сфере, то вы должны очень хорошо понимать как все устроено и только потом уже браться делать что-то, но никак не наоборот. Многие заблуждаются когда думают, что я сначала начну делать, а после разберусь в процессе. Нет, не разберетесь, так не получится, вы обязаны освоить теорию на должном уровне.
Для начала, нужно пройти через изучение теории и её понимание, параллельно пробуя решать практические задачи. Все что вы видите в редакторе кода должно быть предельно понятным для вас. Вы должны быть способным объяснить все в корректной терминологии и с пониманием, только тогда у вас начнет получаться и будут брать на работу.
Да, это может показаться занудным и не всегда так весело как хотелось бы, но это крайне важно, особенно в самом начале, но это неизбежно.
Доказательством всего вышесказанного будет следующий факт: вас не возьмут в более-менее серьёзную компанию если вы не знаете Алгоритмов и Структур данных. Такие IT-гиганты как Google, Amazon, Yandex, Тинькофф и другие не просто так требуют от кандидатов глубокого понимания ряда чисто теоретических концепций.
Те, кто не проверяет вас на знание теории обычные "Дяди Васи коммерсы" и иметь дела с такими дядями я вам не советую.
#61 Правда что все программисты гении и каким уровнем интеллекта надо обладать?
Нет, не правда, гением быть необязательно. Давайте условно разделим айтишников на несколько групп:
Кодеры
HTML & CSS, Wordpress, "натянуть" тему, установить и настроить модуль и т.д.. Любая фриланс-биржа переполнена такими товарищами. Уровень дохода низкий, да и конкуренция большая. Будем говорить откровенно, для этой работы много ума не требуется и порог входа низкий.
Разработчики и Инженеры
Наиболее интересные для бизнеса категории it-специалистов, обычно их делят на junior, middle и senior, хотя лично я скептически отношусь к этой градации, ну пусть будет она. Чтобы не вдаваться в подробности, скажу что разница между разработчиками и инженерами в наличии профильного образования у последних. Хотя оно не всегда влияет на уровень дохода, хотя есть множество нюансов. Им уже нужно не мало знаний и опыта.
Архитекторы
А вот этим людям нужно очень много знаний, опыта и таланта т.к. они создают и разрабатывают инструменты (фреймворки, языки программирования) с которыми работают все вышеперечисленные группы. Как вы понимаете, таких людей не так уж много.
Деление весьма условное, что бы вы понимали +\- суть того что происходит в сфере.
Гениальность нужна тем, кто создает фундаментальные инструменты, всем остальным достаточно трудолюбия, здравомыслия и внимательности.
#62 Под какой операционной системой лучше работать?
В идеале под Unix-подобной (Linux, macOS), но если работаете под Windows, то ок.
Есть вариант пользоваться VirtualBox, но иногда от этого больше проблем чем пользы. Проще установить разные операционные системы на отдельные HDD или SSD и не морочить себе голову.
#63 Какой дистрибутив Linux посоветуете?
Лично я пользуюсь Ubuntu и Ubuntu Server. Надежный, проверенный дистрибутив. Но это вкусовщина, есть много других достойных, пробуйте.
#64 Играет ли какую-нибудь роль пол?
#65 Есть ли у вас юридический статус?
В рамках данной деятельности – самозанятый.
Все средства которые я получаю от данного вида деятельности поступают на счет самозанятого откуда автоматически производятся налоговые отчисления.
#66 У меня есть стабильная работа, стоит ли уходить в IT?
Попробуйте, если вам понравится, то вы никогда не пожалеете о том что пришли в IT.
Это интересная сфера в которой никогда не бывает скучно и нет потолка развития.
#67 Вы работаете\обучаете CMS (WordPress, Drupal, Wagtail, Modx...)?
Нет, не работаю и не обучаю. Да и вам не советую тратить свое время на все что называется CMS (Content Management System).
CMS имеет мало общего с программированием и нормальным процессом разработки, это всегда борьба с ограничениями.
Поверьте, на много проще выучить пару-тройку языков программирования и делать качественные проекты, чем тратить время на изучение какой-нибудь CMS чтобы "накликать" сайтик, а вот сервис "накликать" в CMS уже не получится, придется учиться.
С различными CMS я работал на протяжении 10-ти лет, знаю о чем говорю. Для меня эта тема закрыта.
#68 Нигде не могу найти ваш номер телефона, хочу позвонить
Я его не публикую из-за большого количества навязчивых нецелевых звонков (телемаркетинг).
Вы можете позвонить мне с помощью Telegram.
#69 Заменит ли искусственный интеллект труд программистов?
В обозримом будущем – нет. Наоборот, рынок испытывает голод квалифицированных кадров и эта потребность только растёт.
#70 Какие работы должны быть в моем портфолио для трудоустройства?
Если говорить о моей сфере (web-dev), то помимо идеальных знаний теоретической части того или иного языка желательно продемонстрировать потенциальному работодателю ваши варианты реализации:
- REST API
- Приложение с микросервисной архитектурой
- Интернет-магазина (или Marketplace)
- Социальной сети
- Автоматизации некоего бизнес-процесса
- ...различные вариации для front-back'эндеров (клиентское application, сложные SQL запросы и т.д.)
Это минимум.
#71 Можно ли научиться программировать по видео в YouTube?
На YouTube много информации для начинающих, но существенно меньше для более опытных и крайне мало для продвинутых. Найти банальные вещи легко, но как только вы ходите за рамки банальных задач наступает информационный вакуум.
Программисту важно уметь думать своей головой и решать задачи с пониманием. Не скажу, что обучающие видео бесполезны, но это скорее подражание и написание кода под диктовку.
#72 Если я изучу один язык программирования, насколько сложно будет освоить другие языки?
И да и нет. Но знание одного языка однозначно поможет изучить другие.
Языки бывают очень разными т.к. создаются под разные задачи. В большинстве случаев поняв один язык вы сможете разобраться с другим близким ему по назначению.
Например, освоив Python, вам будет существенно проще понять PHP, JavaScript, Rust, Go.
Но с такими языками как Java, C#, C++, SQL, знания помогут, но уже в меньшей степени.
#73 Мой знакомый знает 10 языков программирования
Знать и уметь применять на практике немного разные вещи. Так вот знать и использовать более 3-4-х языков на профессиональном уровне невозможно, а если и возможно то весьма поверхностно т.к. в голове будет каша из-за гигантского объема информации.
В реальности большинство программистов используют 2-3 языка и понимают синтаксис нескольких близких по назначению языков\технологий.
#74 Мне нужен ускоренный курс, хочу заниматься ежедневно
#75 Вы принимаете оплату криптовалютой?
#76 «Учись сейчас плати после трудоустройства»
Очередной способ развода, из серии: "гарантия трудоустройства", "оплата после трудоустройства", "бесплатно" ну и так далее...
Так или иначе услуги будут платными, будьте уверены что это развод.
#77 Слышал(а) про то что программисты подвержены "выгоранию"
Всё верно. Прокрастинация, т.н. "выгорание", "Синдром самозванца", стресс и еще масса неприятных психологических явлений могут преследовать программистов если безответственно относиться к своему психоэмоциональному состоянию.
На самом деле подобные явления случаются не только с людьми трудящимися в IT. Часто причинами подобных явлений является трудоголизм в связке с неправильным образом жизни.
Как избежать подобных явлений?
- Следите за собственным здоровьем, а оно бывает как физическим, так и психическим
- Избегайте стресса. Стресс - это зло
- Найдите баланс между трудом и отдыхом
- Не терзайте себя за то что чего-то не знаете
- Не будьте трудоголиком, но и не будьте лентяем
- Не сравнивайте себя с более опытными людьми
- Двигайтесь вперед ежедневно посильными темпами
- Радуйтесь собственным достижениям
- Не работайте, не общайтесь и вообще не имейте никаких дел с идиотами и деструктивными людьми
- Спорт, прогулки и живое общение, как бы это банально ни звучало
- Откажитесь от психоактивных веществ
- Научитесь полноценно отдыхать
- Работа не должна быть РАБотой, а должна быть зоной вашего интереса и увлечения
- Имейте интересы помимо IT для контраста, старайтесь реализовывать свои мечты (желательно чтобы они у вас были), а не чужие хотелки
Вроде очевидные вещи, но эти правила работают.
#78 Почему у людей не получается стать программистами?
- Лень
- Отсутствие дисциплины
- Неумение учиться
- Желание получить быстрые результаты
- Желание обмануть систему и как-то выкрутиться\проскочить\влезть
- Пропадающая мотивация
- Излишние самонадеянность и самоуверенность
- Завышенные ожидания
- Неадекватная реакция на собственные неудачи
- Нежелание изучать фундаментальные теоретические концепции
- Боязнь применять полученные знания на практике
Каждая из этих причин деструктивна сама по себе, часто они встречаются в совокупности.
Следите за собой, будьте адекватны и разумны.
#79 Офис vs Удаленка?
Для меня и для моих коллег однозначно удаленка. Среди людей моей профессии существует негласное табу на работу в офисе.
Хотя это личное дело каждого.
#80 Хочу предложить вам работу
Подробнее с условиями сотрудничества вы можете ознакомиться на m5w.ru
#81 Я уже что-то знаю, но почему-то у меня не получается сделать то что я хочу
Эту ситуацию можно рассмотреть двояко.
С одной стороны может быть мало опыта в использовании инструментов разработки с которыми вы пытаетесь работать и в этом ничего криминального нет. Всегда можно объяснить, показать и рассказать что как устроено, дальше вы поймете суть и все будет получаться.
С другой стороны, что встречается намного чаще, когда человек думает что он что-то знает и понял, а на деле банально недоучил\недопонял\проигнорировал необходимую теоретическую базу. Потом такой человек приходит и просит помочь разобраться с тем или иным фреймворком или чем-то ещё, начинаем общаться, находим корень проблем, начинаем исправлять.
Кстати, исправлять гораздо сложнее чем изначально изучить и понять необходимый минимум как следует.
#82 У меня быстро пропадает мотивация, как быть?
Это нормальное явление, всем нам бывает лень что-то делать, но помните простую истину: если ничего не делать, то ничего и не будет. Знания и опыт не появляются на пустом месте, для их приобретения надо прилагать усилия.
Сложнее всего взять в себя в руки и пересилить, например, прийти на занятие что бы изучить что-то полезное для того чтобы в итоге улучшить собственную жизнь.
Такое явление может быть следствием недостатка витаминов, стрессом и недосыпом. Соответственно, избавьтесь от стресса, не экономьте на витаминах, не забывайте про физические нагрузки, спите столько сколько вам требуется. Все эти факторы оказывают серьезное влияние на вашу продуктивность и когнитивные функции.
#83 Бытует такое мнение что тот, кто учит других сам является посредственным специалистом
Здесь я с вами соглашусь, такое явление действительно имеет место быть. Поэтому обучение это далеко не основная сфера моей деятельности, это хобби, не более.
Если все время учиться и транслировать заумные теоретические концепции не останется времени для настоящего труда. НО недостаточные теоретические знания просто не позволят делать даже самые банальные вещи, поэтому важно соблюдать баланс между непрерывной учебой, пробой чего-то нового и непосредственно работой.
Основной ошибкой людей которые приходят учиться я вижу спешку и пренебрежение изучением важных теоретических концепций, важно понимать что мы учим что-то чтобы впоследствии делать крутые и по-настоящему интересные вещи.
Именно ради того что бы научиться делать что-то мы осваиваем теорию, без этого просто никак.
#84 Когда можно считать что я выучил программирование и можно устраиваться на работу?
Сразу оговорюсь, что такого понятия как "выучить программирование" не существует т.к. это просто гигантский пласт знаний находящихся в постоянной динамике т.е. что-то становится неактуальным и надо браться за освоение чего-то нового.
Но это не означает что нельзя обозначить разумных рамок в которых вы получите действительно необходимые знания для работы т.е. это далеко не бесконечный процесс, существуют разумные временные рамки. А именно, получить необходимый объем информации и навыков для того чтобы понимать суть процесса, а далее развиваться в интересном для себя направлении.
Таким образом выделю признаки завершения процесса обучения:
- Вы научитесь не просто писать код и относиться к его виду спокойно, но и понимать что делаете;
- Вы получите выверенные теоретические знания в структурированном и понятном виде;
- Вы получите уникальный опыт разработки реальных приложений и решения всех сопутствующих с этим процессом вопросов (деплой, тесты, архитектура...);
- Вы сумеете решать любые проблемы возникающие в проекте эффективно и самостоятельно;
- Вы сможете эффективно обучаться новым технологиям\концепциям;
- Вы будете понимать что делаете.
#85 Веб-камера во время занятий
Не требуется. Для занятий нужна только демонстрация экрана монитора и микрофон.
#86 Как проходит процесс технического интервью при трудоустройстве?
Предугадать невозможно. Однако, есть ряд моментов свойственных для всех тех. интервью:
- Теорию будут спрашивать 100%;
- 100% попросят показать ваши реальные проекты и рассказать о вашей роли в их разработке;
- Обязательно спросят то чего вы не знаете или знаете плохо;
- Это всегда стресс;
- Никаких поблажек, это не экзамен и выкрутиться из неудобного положения общими фразами не получится;
- Вы не одиноки, в параллели с вами будут собеседовать множество других кандидатов;
- Прохождение ТИ не на 100% зависит от вас, зачастую играет роль удача и субъективная оценка вас интервьюером;
- Работодатель всегда ищет "звезду" по цене "ниже рынка" т.е. уже готового и опытного специалиста которого ничему обучать не придется. В отечественных компаниях очень не любят чему-то обучать.
#87 Какую книгу по программированию посоветуете?
Если вы вообще ничего не знаете, то никакую.
Рекомендовать читать книги по программированию человеку который далек от этого все равно что просить вас написать шедевр китайской литературы с полным отсутствием знания китайского, ну если знаете китайский, то не знаете суахали, а если знаете и то и то, то норвежского точно не знаете. Так это не работает.
Книги хороши когда у вас есть фундаментальные знания и некоторый опыт. В таком случае читать их будет невероятно интересно и полезно.
#88 Говорят Python и JavaScript простые языки, это правда?
Нет такого понятий как "простой" или "сложный" язык, это языки высокого уровня т.е. они довольно дружелюбны к новичкам. Но это полноценные языки с большим сообществом разработчиков, они развиты, популярны и востребованы на рынке, а значит довольно серьёзные. К их изучению надо относиться ответственно несмотря на кажущуюся простоту.
#89 Как правильно выбрать компанию при трудоустройстве?
Для начала научитесь различать работу и труд.
Как бы это ни звучало парадоксально, но самые лучшие работодатели имеют имя т.е. они на слуху. Не в 100% случаев, но в подавляющем большинстве. Зачастую там вполне приличные условия труда.
Избегать надо "шарашкиных контор" или маленьких "королевств" одного самодура-начальника. Вот там творится самая жесть: переработки, хронический стресс, выгорание, черная зарплата или вовсе кидки на деньги, обесценивание труда, манипуляции всех видов и масса других неприятностей.
Первый признак того что вы идете в приличное место - хорошее тех. интервью. А чтобы отличить "хорошее" от "плохого" надо пройти не один десяток интервью.
В хороших компаниях к сотрудникам относятся с уважением, это очень важно.
Услышали фразы: "мы - семья", "мы в одной лодке", "это надо было сделать вчера", "дружный коллектив", любые обещания светлого будущего - бегите оттуда, там полный бардак.
В хорошее место трудно устроиться, туда не берут кого попало.