Владимир Балун
5.4K subscribers
289 photos
44 videos
316 links
Канал Балун Владимира — C++/Go разработчика из BigTech. Здесь вы найдете глубокие знания и материалы по программированию, личные истории и лайв-контент.

Сотрудничество: @vladimir_balun
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Премия Алана Тьюринга — самая престижная премия в информатике.
​​"Бесплатное" VS платное обучение программированию...

Прежде всего, хочу сказать, что я научился программировать самостоятельно, не тратя на это деньги (только книги постоянно покупал по программированию), поэтому абсолютно реально научиться разработке "бесплатно"!

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

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

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

Все хотят примеры, поэтому вот они:
- изучаю теорию вероятностей и статистику раз в неделю с учителем математики;
- занимаюсь с ментором по олимпиадному программированию два раза в месяц (чтобы прокачивать алгоритмику);
- прохужу курс в SkillBox по Базам Данных (чтобы лучше прокачаться в этой области);
- обучаюсь английскому два раза в неделю с учителем английского.

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

В один прекрасный день я решаю переехать в Москву, сменив при этом компанию, а также сферу разработки (с gamedev на backend).

Устраиваюсь в Тинькофф, после чего приступаю к работе. Затем понимаю, что в backend-е я полный ноль. Не знаю, что такое Docker, Kubernetes, Репликация, Шардирование, Балансировка нагрузки, NoSQL базы данных и дальше по списку. Конечно же, начинаю все эти пробелы в быстром темпе залатывать после работы, а иногда еще и на выходных.

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

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

И в конце приправляем карантином. В Москву переехал за несколько дней до локдауна - соответственно друзей найти еще там не успел, поэтому привет полное одиночество на несколько месяцев.

Теперь все смешиваем воедино, ждем один месяц и привет ВЫГОРАНИЕ!
Это трудно описать, но чувство это я запомнил - просто чувствуешь себя овощем, не хочется ничего (хотя нет, мне тогда очень хотелось уже менять работу, пусть даже на кассира в пятерочке).

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

Резюме этого поста:
- Как лечить выгорание?
- Не знаю, это скорее к психологам. Я лишь хотел рассказать эту историю, что бы вы не совершали тех же ошибок...
​​Краткий рассказ С/С++ разработчика о том, зачем именно вам стоит изучить хотя бы основы этих инструментов, пусть даже вы и программируете на другом языке программирования - PHP, JavaScript, Java, Python, в общем абсолютно не важно!

1. ОСНОВЫ CS
Не получится просто взять С/С++ и начать на них бездумно программировать... Хотя нет, получится, но программы ваши будут постоянно постреливать в различных местах (чаще всего там, где вы этого не будете ожидать), либо они будут такими же медленными, как и программы на каком-нибудь интерпретируемом скриптовом языке программирования (т.е. смысла от использования этих языков не будет никакого). Не стоит отчаиваться, выход есть! Для того, чтобы избежать всех тех проблем, вам придется познакомиться с основами архитектуры компьютера и операционных систем. В итоге, если у вас все никак не доходили руки до изучения основ CS, то С/С++, конечно же, вам в этом помогут!

2. ПЕРЕХОД НА ДРУГИЕ ЯП
После изучения С/С++ изучение других языков программирования будет вам даваться намного проще, потому что многое, что есть или скрыто в других язык программирования, вам часто приходится использовать или реализовывать самостоятельно! Приведу пример, когда я давно изучал Java, то я прекрасно понимал (без глубокого чтения документации), что происходит в момент выполнения операции "new", за счет чего там происходит передача объектов по ссылке и почему там строки имутабельные. Также совсем недавно решил изучить Go, дойдя до указателей - я понял, что могу смело идти дальше, потому что знаю в этой теме практически все!

3. УВЛЕЧЕННОСТЬ
Лично мне, иногда, нравится понимать, что я пишу такой софт, который работает бок о бок с операционной системой или использует какие-либо фичи аппаратного обеспечения, чтобы максимально утилизировать ресурсы машины, на которой будет запускаться приложение. Поверьте, это действительно очень сильно завораживает!
​​Инженер или человек-технология?

Хотел бы рассказать о определенных видах вакансий для разработчиков.

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

ЧЕЛОВЕК ТЕХНОЛОГИЯ
Часто бывает, что компания пишет какой-то большой проект с использованием одного языка или одной технологии. Вот им как раз и требуется такой человек, который будет знать именно эти интрументы, а все остальные знания и навыки ему в принципе необязательны. При устройстве на такую позицию этому человек стоит понимать, что ему постоянно предстоит заниматься одним и тем же. У этого вида работы есть определенные плюсы - очень быстрый рост в глубь определенного языка или технологии, но в тоже время может получиться такая ситуация, что со временем этот язык или технология станет неактуальной, в следствие чего работы связанной с этими инструментами будет меньше, и в конце этому человеку, скорее всего, придется начинать изучать сначала что-то новое...

ИНЖЕНЕР
Крупные компании, такие как Яндекс, VK, Касперский и так далее хотят видеть в первую очередь инженеров (хотя у них тоже встречаются люди первого типа для определнных задач). Им нужен человек с основами, под основами я подразумеваю то, что этому человеку не составит никакого труда пересесть за несколько недель на другой инструмент или технологию. У них работают такие вот универсальные бойцы, которые из-за основ знают и то и то другое и третье, но если они чего-то и не знаю, то они быстро это учат и также быстро начинают использовать на практике. Конечно, эти люди редко занимаются одним и тем же, очень часто им приходится писать что-то новое для них, благодаря чему они становятся такими вот разносторонними специалистами.
Всем привет, хотел предложить вам поучаствовать в консультации по программированию со мной совершенно бесплатно!

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

Форма:
https://docs.google.com/forms/d/e/1FAIpQLSemIo9J5ooDWNSbYdpRIbfAPhlSWBoNGUaG1OXbP31SwD_7uw/viewform?usp=sf_link
Media is too big
VIEW IN TELEGRAM
Сегодня проходили бесплатные консультации для тех, кто ответил на 20 вопросов в Google форме…
​​Наверное, будет многим интересно, чем занимается backend разработчик (не тот, который делает примитивный backend для сайтов, а тот, кто пишет сервисы, с которыми взаимодействуют тысячи или миллионы пользователей) на работе, поэтому в этом посте будет краткая информация на эту тему:

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

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

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

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

Кодирование:
Все просто, останавливаться подробнее здесь не буду.

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

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

Также в зависимости от процессов и команды разработчик ещё может заниматься деплоем, администрированием, автоматизацией процессов, ручным тестированием тестированием и много чем ещё другим…
Нашел недавно крутой плейлист по компьютерным сетям, где практически все основы того, как компьютеры взаимодействую между собой… Рекомендую ✌🏻

https://www.youtube.com/playlist?list=PLthfp5exSWErPFK_-EAhVtxO3XoY0gsSe
Нашел интерактивный ресурс https://regexone.com/ - для тех, кто хотел изучить регулярные выражения и научиться пользоваться ими на практике!
Подготовил бесплатный открытый урок на тему "Первые шаги С++ разработчика" - пройдет он в эту субботу 26 марта в 13:00 по МСК 👨‍💻

Там будет масса полезной информации:
🔶 узнаете о том, кто такой С++ разработчик и чем он занимается;
🔶 что нужно знать для того, чтобы стать Junior С++ разработчиком;
🔶 сколько можно зарабатывать и как быстрее расти в этой сфере.

Регистрация и вся подробная информация доступна ниже по ссылке: https://codefactory.school/public_lesson
Всем привет, уже сегодня в 13:00 пройдет бесплатный открытый урок на тему "Первые шаги С++ разработчика" 👨‍💻

Кто не успел еще зарегестрироваться, ссылка ниже: https://codefactory.school/public_lesson
This media is not supported in your browser
VIEW IN TELEGRAM
Примерно через час уже начинаем, ссылка выше ⬆️
Перед сном решил написать на плюсах Garbage Collector… So, why not?!
​​Привет, хочу пригласить тебя на открытый урок «Первые шаги С++ разработчика» который пройдет 03.04 в 13:00 мск

На нем ты сможешь узнать:
◾️возможности языка С++;
◾️поймешь кто такой С++ разработчик и чем он занимается;
◾️узнаешь, как можно быстро расти и сколько зарабатывает С++ разработчик;
◾️создашь программу для подсчета кол-ва маршрутов в лабиринте.

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

Ссылка для регистрации:
https://clck.ru/eiKru

Увидимся на открытом уроке!