Ризик-менеджмент — попередження імовірних фейлів

Помітив таку річ, що зі всього об’єму ризиків спрацьовує тільки 15%.

Звичайно, в загальній масі ця частка створює проблеми на всі 115%. Проте підсвідомо ти не береш це до уваги, оскільки платити за доведеться колись потім, у віддаленій перспективі. Тим більше, що блискавиця доволі рідко б’є в одне й те ж саме місце.

Проте є перелік ситуацій, які можуть повторюватись регулярно. Для девелопера це:

  • інфікування хостингу, взлом. Тут можна перестрахуватись якщо дотримуватись простої антивірусної безпеки;
  • втрата бекапів, пошкодження чужого хостингу. Для того, щоб не налажати, дотримуйтесь правил гарного тону в гостях;
  • пошкодження робочих наявних функцій при розробці нового функціоналу. Тут найоптимальніше рятують системи контролю версій;
  • неправильна оцінка термінів та вартості проекту;
  • неоплата клієнтом роботи.

Знешкодивши основні загрози, ти переходиш до нейтралізації імовірних другорядних.

Часто це занудний повільний процес — він окуповується лише в довготерміновій перспективі. Проте, головна винагорода тут не стільки економія часу в майбутньому, а розширення навиків та горизонту мислення.

Іншими словами, профіксивши імовірні фейли ти мимоволі відкриваєш двері в важчу категорію, де більша ціна помилки, а відтак і більші рейти. Всім смачного.

Софт для роботи фрілансера

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

  • Операційна система на базі Windows — мінімум заморочок при старті;
  • IDE, редактор коду;
  • файловий менеджер;
  • віртуальний сервер — для роботи в офлайні та відладки примітивних речей;
  • тестовий хостинг для тестування в польових умовах;
  • браузер.

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

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

Відтак, в якийсь момент ти розумієш, що додаткові ніштяки це не примха, а запорука спокійного девелопінгу. Тоді настає час для нового рівня автоматизації.

  • IDE ти приглядаєш таку, щоб підтримувала потрібні конфігурації, бажано, щоб останні можна було б швидко змінювати, в залежності від проекту;
  • Дбаєш про те, щоб не використовувати піратський софт. Частково з принципів, а частково тому, що перестаєш працювати з дому;
  • В якийсь момент зупиняєш вибір на Linux, коли визначаєшся з операційною системою. З одного боку відпадає питання ліцензійності, з іншого — софт максимально наближений до інтерфейсу роботи з сервером, до якого ти з часом звикаєш;
  • В якийсь момент знову починаєш послуговуватись віртуальним сервером: для роботи з фреймворками, або іншими мовами програмування. Проте, зупиняєшся, не на готових пакетах, а надаєш перевагу кастумній збірці;
  • Файловий менеджер налаштовуєш під себе, перестаєш зберігати там паролі, ставиш купу закладок, вивчаєш додатковий функціонал;
  • Браузерів кілька, при чому один завжди підключений через проксі сервер;
  • Віддалений хостинг переводиш з бюджетного варіанту на виділенку, або пристойний реселерський пакет;
  • Намагаєшся підняти свій сервак з гівна та палок. Витрачаєш час, щоб набити руку та краще зрозуміти темну сторону хардвару;
  • GIT. Спочатку зупиняєшся на чомусь простішому — SourceTree, проте потім переходиш до старої-доброї консольної версії;
  • Резервне копіювання. Обзаводишся віддаленим диском, де тримаєш різний непотріб.

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

і за що я отриммував свої гроші….

Як виявляється, не можна взяти і трошки розібратись в програмуванні. Ти або інтуїтивно використовуєш вже готові рішення, випилюючи чудернацькі велосипеди, або пізнаєш основи, прошаюючись в своїй справі.

Чому не можна пізнати основи “трошки” — після перших досліджень приходить розуміння рівня якості попереднього коду. Жити спокійно далі вже не вийде 🙂

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

Ринок. що я продаватиму наступні два місяці

Останні два місяці ваш покірний слуга безбожно використовував співбесіди в ІТ-компаніях для власного зростання. Так, виходило, що я домовлявся про зустрічі, витрачав час HR та девелоперів, хоча не стільки рвався влаштуватись на роботу, скільки подивитись, чого я ще не знаю. Так з’являлись публікації про самоосвіту.

Не знав я тоді багато… і в компаніях відповідали мені взаємністю 🙂

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

Ходити на співбесіди потрібно навіть фрілансерам. Проте, ми відхилились. Сьогодні я помітив, що все ще продовжую загравати з рекрутерами навіть при тому, що не планую найближчий місяць найматись, а також при тому, що ще не осилив кілька останніх публікацій із запланованої прокачки. Ваш покірний слуга відразу задетектив відсутність чіткої декларації намірів — тобто, Юрій Санич не знає, чого хоче…

Отже, щоб не смикатись на “перспективні” варіанти, давайте спробую визначитись, які ж наміри пріорітетні на наступні 7 тижнів:

  • дотиснути програму прокачки девелоперстких скілів — це важливо як для продажу себе компанії, так і в практичній роботі;
  • англійська — багато косяків з розмовним рівнем та часами;
  • 15 дрібних проектів — це моя поточна робота і потрібно якось жити 🙂
  • останнє в списку, але не за значенням — автоматизація хобі. Я винаймаю деякі приміщення, які просто простоюють. Створення розумного середовища навколо них допоможе оптимізувати витрати та прискорити зростання.

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

  • менше смикатись в linkedIn та djinni. Спілкування з рекрутерами зараз не в пріорітеті;
  • не шукати нові проекти, а зосередитись на закритті поточних задач;
  • з фейсбуком я й так модний, але заходити теж варто не частіше двох разів на день.

 

Linux перша кров

Траплялось таке, що спочатку робите, а потім вже задаєтесь питанням: навіщо?

В хлопчиків так буває, що після 31-го рочку життя раптом усвідомлюєш глобальні речі: що ти наприклад, ніколи не встановлював Linux, жодного разу не піднімав свій сервер чи тонкий клієнт.

Аби ці рефлексії не переросли в депресію, ваш покірний слуга швиденько накопав в одній шухляді залишки термопасти, в іншій — планку оперативної пам’яті на 512 мегабайт (жир), а за столом припадала пилом материнська плата, яку я просто не встиг викинути.

Так болтик за болтиком зібрався звір з тактовою частотою в 2.4 гГц, оперативкою в 512мб, хардом від старенького ноутбука та вентиляторним шепотом як в маленького кукурузника…

Одним словом, я потратив більше двох годин на те, що пристойні люди викидають подалі. Хочу пояснити, коли ти вклався в такий непотріб, то з одного боку хочеш його викинути, але з іншого — всім серцем прагнеш, щоб він помер в бою.

Все це було вчора, в неділю… В понеділок опісля роботи я підготував завантажувальну флешку, полистав мануали й почав установку. Перший вейл проявився, коли я через дві з половиною години зрозумів, що ставлю на скотину останню версію Ubuntu, вимоги якої в 4 рази, це 400 процентів, якщо що, перевищують апаратні можливості…

Ок, дві з половиною години в топку, а ми завантажуємо більш ліберальний дистрибутив 12-ї версії для ПК та готуємо нову флешку та ставимо по-другому колу. Півгодинки встановлення і ось у нас готова флеха з ubuntu-12.04.5.

Наступні дві години монітор дико мерехтів з лого операційки посередині. підозрюю, що я щось зафейлив з підготовкою флехи. Користувався до речі rufus, сподіваюсь, Вам вона послужить краще 🙂

UPD перезаписав дистрибутив, далі мерехтить як дідько. На відмітці трекера в 5 годин припиняю на сьогодні це нетребство

Мотивація, чорти б її взяли…

визрів концепт, який працює вже і зараз, спробую записати, щоб не забути: найкраще людина працює, коли відчуває нутром, що в неї немає варіантів.

Відтак, якщо у Вас щось не виходить, отже ви ще не обрізали всі нитки, не обмізкували фінальний план та не спали останні мости. Спробую прояснити:

  • перебираєте вакансії, якщо Ви фрілансер — отже залишаєте варіант на корпоративні плюшки і, що хтось за Вас організує навчання-зростання;
  • метикуєте над хоббі-бізнесом в робочий час, отже, сподіваєтесь, що це хоббі позбавить потреби заробляти в принципі;
  • перевіряєте пошту частіше ніж за 40 хвилин — очікуєте на більш важливу задачу, ніж ту, що виконуєте конкретно зараз.

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

3D-друк — збір принтера

Переніс корпус з майстерні додому — маю сподівання, що домашнє тепло допоможе швидше зібрати апарат.

На разі основні блокери є такі:

  • мікроконтролер для реалізації. Я обрав для себе Arduino nano, але там замало виходів, щоб заживити все залізко, тому доведеться використовувати здвиговий регістр. Або зупинитись на іншому мікроконтролері;
  • з’єднання моторів з драйверами — це просто трешачок 🙂 я ніколи не очікував, що питання банального конекту має таке значення…
  • окреме питання це інтеграція скетчів у залізо. Хоча тут скоріш за все я просто юзатиму комп’ютер для інтерпретації — просто до цього ще не дійшли руки;
  • також я не впевнений в механічній частині — тут можуть бути погрішності в центруванні валів, поки теж відкладена проблема.

Після всього часу дивлюсь, що більш продуктивним було б просто купити принтер. Реально…

Можливо набутий досвід окупиться новими апдейтами, але для початку вартує запуститись 🙂

Хоббі апгрейт

Якщо не полишати хоббі більше року, то маєте всі шанси, що воно розростеться і не вміщатиметься в кімнаті чи 24-х годинах…

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

При цьому кожна ідея має вроджений баг — вона займає забагато місця та часу для одного, проте не витримує рентабельності, аби підключити додаткові руки. Єдиний вихід — автоматизувати процеси та налагодити збут побічних продуктів цих самих занять.

Сама ідея ще потребує дорожньої карти, як все буде розвиватись, подивимось пізніше.

3d принтер, що залишилось

Гарне понеділкове відчуття, коли дедлайни ще десь далеко, а 4 години робочого дня можна потратити на всілякий непотріб як от збирання системи подачі нитки до екструдера.

Взагалі отой ефект першого млинця, коли робиш щось нове для себе і ще дрейфуєш в зоні незвідного дається чутись. Наприклад, по відчуттях я себе веду так, наче вже зібрав 3д принтер і друканув ним не один кілометр нитки. Поза тим збоку всього лиш стоїть зібраний не на 100% каркас…

Якщо спуститись на землю, то ти побачиш, що ще потрібно:

  • Екструдер  — подбати про кріплення шагового двигуна до системи подачі нитки;
  • Екструдер  — подбати про кріплення радіатора печатної головки до тримача і змонтувати їх разом із системою подачі нитки;
  • Поставити шаговий двигун (нагадаю, що в мене не стандартні NEMA, а барахлішко взяте із принтерів) на вісь x та доладнати пас передачі;
  • подбати про нагрівальний столик (потрібен для нормального друку більших деталей), або будь-яку друковану поверхню хоча б для малих деталей;
  • тримач для бобіни;
  • розпреділення та підводка драйверів для двигунів осей та екструдера;
  • мікроконтролер та прошивка;
  • окремі блоки живлення для механічної частини та нагрівальних елементів, а також для логічної частини;
  • під’єднання та софт для подачі скетчів.

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

нові речі для 3д-друку

замовлення товарів з інтернет магазинів — це свого роду спосіб самоорганізації: поки оформлять замовлення, поки доставлять, то ти мимоволі звільняєш руки від проектів та готуєшся довести до пуття механіку.

Цього разу потішили:

  • бобіна з 300м дроту ABS-пластику;
  • детальки для кріплення еструдера та подачі пластику;
  • тефлонова трубка для подачі пластику;
  • пружини для натяжки приводного пасу;
  • клей для кріплення деталей на поверхні;
  • зубчасте колесо для подачі пластику в еструдер;
  • біла пластикова нитка для нашалатування друку.

Увесь цей скарб стане доповненням для каркасу Graber I3, який я зібрав 4-го квітня. Проте маю надію, що наступний матеріал по темі 3д друку вийде дещо швидше, ніж за місяць 🙂