Начинать не с теории а с практики

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

Сообщение:

Ты говоришь: «сначала должна быть практика». Но иногда не получается никак заниматься практикой без теории. Приведу пример:
(*** ДЛИННЫЙ ПРИМЕР, НИЖЕ КОРОТКИЙ ВЫВОД
Пускай мне нужно получать наборы символов, разделённых двоеточием (0x3A). Данные приходят через Unix Domain Socket (упрощённый вариант — через stdin). При каждом завершении слова нужно отправить соответствующую этому «слову» строку (из какой-то условной карты, хранящейся в памяти) обратно в сокет (или stdout).

При реализации возникает проблема: чтение сокетов (или stdin) блокирует. Это значит, что может возникнуть взаимоблокировка (клиент ждёт ответа, сервер ждёт окончания сообщения клиента). Очевидным решением будет посмотреть (с помощью ioctl), есть ли в буфере сокета (стандартного ввода) данные, и только в случае их наличия производить чтение.
*** КОНЕЦ ДЛИННОГО ПРИМЕРА, СЕЙЧАС БУДЕТ ВЫВОД)

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

Ответ:

Даже в своем примере ты НАЧАЛ с постановки практической задачи…

А вы нам прототип сделайте…

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

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

НО: нужно сделать работающий прототип для демонстрации…

Это как нанимать компанию строить небоскреб, требуя для демонстрации сначала построить сарай.

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

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

Настоящие потери времени

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

Вы забудете об этой информации? Начнете публичное обсуждение? Или будете ходить и думать об этом целый день? 

«Не обращай внимание» не работает — вы обратили туда свое внимание как только информация оказалась у вас перед глазами(ушами). Дальше все зависит от силы эмоций.

Мы думаем что потратили на прочтение 10 секунд, а на самом деле это может сожрать 50% вашего времени, ведь вы слишком много возвращались мыслями к этой информации, отвлекаясь от по настоящему важных дел, а под конец — у вас не осталось сил, энергии, желания, вдохновения — нужное подчеркнуть?

Самое страшное — об этих потерях мы даже не задумываемся…

Что-то не все так просто…

Вижу некоторую линию мышления у ряда подписчиков относительно изучения программирования, дальше цитаты: 
— Что-то не всегда «интересно» заниматься программированием 
— Сложно порой 
— Иногда надоедает 
— Много совершаю ошибок 

Я сейчас очевидную вещь скажу — это не ГРЕБАННОЕ РАЗВЛЕКАТЕЛЬНОЕ ШОУ! 
Это освоение профессии, и да, помимо интереса бывает тяжело, бывает скучно, и нужно порой перебарывать себя. 
Это рутинный процесс получения пресловутого опыта, и если вы думали что данное действо будет увлекательной поездкой на единороге по радуге, то вас кто-то наебал. 

Тщетность автоматизации

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

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

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

Не всегда автоматизация — это оправданная необходимость, все чаще это мода на IT-фикацию всего вокруг.

Вам не нужно делать UBER

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

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

— Лендос с формой заявки сделанный на сайтоконструкторе 
— Сами ездим и перемещаем физический товар если он есть 
— Передаем данные в Excel или распечатках если это нужно 
— Общаемся с людьми по телефону 

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

История одной из моих студентов

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

Что еще важно — это история девушки, по профессии она — врач (рушим стереотипы), плюс еще и курс был достаточно жесткий и долгий. Но, она молодчина, передаю слово ей:

Икигай для программиста и предпринимателя

У японцев есть такое понятие как Икигай, если упрощенно — ощущение жизненного баланса.

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

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

К чему это все — у кого то этот баланс существует по умолчанию, а кому-то (мне) нужно к нему стремиться.

Сейчас приходит ощущение, что формула достижения такая:

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

Это то, что приходит в голову мне, а вам есть что добавить к этому списку?

Офисное рабство

Навеяно недавним стримом… да и периодически слышу эти высказывания от молодежи (и все чаще по поводу работы белыми воротничками и программистами в том числе).

Офисное рабство:

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

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

Умение найти смысл везде

Вы заметили, что последние посты были относительно книги, которая не относится к IT-бизнесу с первого взгляда…

Но, в течении жизни я все лучше понимаю, что важна не спецификация того или иного источника, а наше умение извлекать ПОЛЕЗНУЮ для нас самих информацию.

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

Главное — навык выявлять (и конечно же применять) то, что может усилить именно вас.