Експертні відповіді Українцям Що потрібно Скрапбукеру-початківцю

Що потрібно Скрапбукеру-початківцю

Що потрібно Скрапбукеру-початківцю

Ми вже публікували статті на тему структур даних та алгоритмів . Але чи потрібно це все вивчати початківцю? Сьогодні ми спробуємо підняти завісу таємниці і розповісти про те, що ж потрібно знати і вміти, щоб почати свій шлях у ІТ. Чи це складно, чи потрібна для цього технічна освіта і чи вдасться вивчити необхідне?

Для початку визначимося з передумовами. По-перше, я говоритиму саме про старт кар’єри, тобто стаття буде корисною тим, хто тільки починає свій професійний шлях; або тим, хто розмірковує про зміну професії. По-друге, я — Java-розробник, тому певні моменти будуть специфічними. Але це не робить статтю менш корисною для всіх інших читачів!

Основи: алгоритми і структури даних

Один з основних моментів, який перевіряють у кандидатів — це знання алгоритмів і структур даних. Це те, що потрібно не просто завчити, а саме зрозуміти. Діяльність розробника так чи інакше пов’язана з алгоритмами, тому розуміння того, як алгоритми з’являються і працюють — важливе. Ви повинні вміти оцінити складність рішень, а знання алгоритмів допоможе обрати краще з можливих. Якщо ви цього не знаєте, але вам цікаво, то завжди можна розібратися у темі з використанням матеріалів у нашому блозі (в першу чергу перегляньте розділ Технології).

Методології розробки

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

Англійська мова

Також не забуваємо про англійську мову. За окремими виключеннями володіння мовою на рівні B1 є обов’язковим. І це не примха. У великих міжнародних компаніях, якою є EPAM, спілкування на проєкті з замовниками і колегами проходить англійською, не кажучи вже й про технічну документацію, яка доступна тільки англійською. Тож знання технічних термінів, можливість підтримати розмову — усну та письмову — є абсолютно необхідними навичками для початківця.

Soft Skills

Наступний критерій — soft skills («гнучкі навички»), які також називають навичками міжособистісного спілкування і взаємодії. IT передбачає командну роботу, а це означає, що ви будете співпрацювати з іншими людьми. Необхідно розуміти, що ви спілкуватиметесь з колегами, а їм має бути комфортно спілкуватися з вами. Це запорука теплої, дружньої атмосфери в команді, а це вже половина успіху будь-якого проєкту.

Hard Skills

З технічних знань в нагоді стане знайомство з системами контролю версій. Вони можуть бути різними: наприклад, Git, Subversion, Mercurial . Якщо у вас немає досвіду роботи хоча б з однією з них, то це не проблема. Найбільш поширеною системою контролю версій є Git, а повний курс з її вивчення триває приблизно 3 години. Також добре мати досвід користування хоча б одним профільним середовищем розробки, як-от IntelliJ IDEA, Eclipse, Visual Studio Code, Web Storm, NetBeans.

Кілька слів про те, що потрібно знати, якщо ви бажаєте стати Java-розробником.

 Що потрібно знати початківцю у Java-розробці

Якщо ви збираєтеся пов’язати своє життя з Java, в першу чергу вам потрібно знати основи об’єктно-орієнтованого програмування. Також непогано було б розумітися на принципах розробки: SOLID, DRY, YAGNI та KISS. Важливо мати уявлення про те, що таке бази даних, які вони бувають і навіщо взагалі потрібні. Незайвими будуть основи багатопотокової та конкурентної обробки даних Java. Не завадить знайомство з GoF-патернами проєктування, а також базові знання веб-розробки: HTTP, URL, які бувають запити, що таке сесія.

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

Тепер коротко відповім на часті питання про старт:

  1. Чи складно це? Так, непросто. Якщо хочеться «просто», можливо ця сфера не зовсім те, що ви шукаєте.
  2. Чи обов’язково мати технічну освіту? Щоб стати розробником, технічна освіта не обов’язкова. Освіта радше впливає на швидкість розуміння технічних особливостей.
  3. Чи вийде в мене? Так, якщо ви докладатимете зусиль. Усього, про що я написав, можна навчитися і для цього не знадобиться багато років.

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

Десять порад проєктному менеджеру-початківцю

Усім привіт! Мене звати Орест і останні дев’ять років я займаюсь управлінням та менеджментом в різних ролях: я був скрам-мастером і допомагав робити еджайл-трансформації, керував маленькими та великим проєктами і програмами (від трьох до 85 людей), будував проєктні офіси і розвивав компетенції ПМ в Eleks та Abto Software.

Також я люблю ділитись своїм досвідом, тому я вже досить давно веду свій блог про менеджмент та лідерство, запустив YouTube канал Kaizen Hub та подкаст «Майже Вчасно», багато викладаю, виступаю на конференціях та сприяю розвитку професійності ПМ в Україні.

Не буду брехати, що всі мої проєкти були успішними — було і багато фейлів та набитих шишок. Саме тому я і вирішив написати цю статтю 🙂

Не сприймайте написане як детальний гайд, який вирішить усі ваші проблеми (якби такий був, то ПМ були б не потрібні 🙂) – тут я просто хочу поділитись своїм досвідом і рефлексіями, які мені було б корисно почути на початку свого шляху в менеджменті.

Комунікація — це все

Як би це банально не звучало, але 99,99% всіх проблем можна вирішити словами через рот. Project Management Institute заявляє, що 90% часу керівник проєкту витрачає на комунікацію, і я думаю, що це не перебільшення.

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

Колись давно я прийшов на проєкт, де замовник ставився до нашої команди як до рабів людей нижчого сорту і не втомлювався про це нагадувати щодня. Фрази типу «ви тут працюєте тільки тому, що в мене є гроші і я добра людина» звучали на кожному дейліку і. вау, сюрприз — команда була максимально демотивованою!

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

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

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

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

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

Розберіться, яка мета та цілі проєкту

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

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

Зробіть планування пріоритетом

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

Якщо коротко, основна задача ПМ на етапі планування — організувати все таким чином, щоб команда змогла максимально продуктивно працювати відразу після старту проєкту. Короткий чекліст з планування виглядає так:

  1. Розробка плану управління проєктом — це основний документ, який міститиме всю необхідну інформацію з того, як ви будете працювати.
  2. Визначити SDLC та обрати методологію ведення проєкту (пам’ятаємо, що вона буде залежати від вашого контексту, а не тому, що ви хочете спробувати скрам чи вам так сказали!).
  3. Збираємо вимоги, описуємо їх, структуруємо та робимо декомпозицію й узгоджуємо із замовником.
  4. Формуємо графік проєкту на основі зібраної інформації.
  5. Тоді ж працюємо з формуванням команди та підбираємо максимально оптимальний склад.
  6. На основі попередніх пунктів формуємо бюджет проєкту, який залежить від типу контракту, який ми обрали.
  7. Фіналізуємо процес зі взаємодії та комунікації розробленим комунікаційним планом.

Методології не зроблять вашу роботу

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

Завжди знайдуться люди, які вам скажуть, що Scrum, Kanban, Waterfall (підставте ваш варіант) не працює. Як і ті, хто з піною навколо рота доводитимуть протилежне 😐

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

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

Загалом, ось декілька змінних, на які варто зважати під час вибору методології:

  1. Вимоги. Зберіть максимум інформації про цілі проєкту, що і як вам потрібно зробити і які обмеження у вас будуть.
  2. Ризики. Що більше у вас невідомості, то зрозуміліше, що варто рухатись короткими ітераціями, а не намагатись спланувати весь проєкт наперед.
  3. Тип проєкту та контракту. Якщо це проєкт з фіксованим бюджетом, то тут з Agile дуже не розгуляєтесь. Тому вам потрібно максимально детально пропрацювати перші два пункти і визначити скоуп робіт на цей бюджет.
  4. Складність проєкту, зрозумілість технологій. Навіть якщо у вас детально пропрацьований скоуп і ви знаєте, що робити, то цього може бути недостатньо для успіху. На своєму досвіді маю провалений проєкт, бо замовник хотів його робити на новій на той час технології, яка ще була нестабільною і постійно мінялась — хоч ми і знали скоуп і розуміли, що робити, але постійні зміни в самій технології від її розробників призвели до частих переробок і зсуву графіку проєкту на доволі значний термін.

Не бійтесь конфліктів!

Середній час, який працівники витрачають щотижня на вирішення конфліктів на робочому місці, становить дві години. У США цей час зростає до 2 год 50 хв на тиждень. Тобто це 5% робочого часу. Менеджери ж витрачають близько шести годин на тиждень (приблизно 15% свого часу) на вирішення робочих конфліктів.

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

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

Працюйте з ризиками

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

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

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

Помилки — це не страшно

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

Чудовим прикладом навчання на своїх помилках є Вінстон Черчилль і його Дарданельська операція: під час Першої Світової Війни він ініціював воєнно-морську операцію для деблокування Дарданелл і відкриття проходу у Чорне море, яка завершилась жахливою поразкою не лише британської армії, а й союзників.

Історики досі сперечаються, чи ця операція була проваленою ще на етапі планування чи через погане виконання, але фактом є те, що Британія, Франція, Австралія та Нова Зеландія убитими, пораненими і зниклими безвісти втратили 140 тисяч чоловік, а всю провину за провал поклали на керівника операції — Черчилля, і його звільнили з посади першого лорда Адміралтейства, тобто голови британського флоту.

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

Для мене ця історія дуже повчальна, бо жодна моя робоча проблема не мала таких великих наслідків, як в Черчилля, і це ще один доказ того, що важливо вчитись на помилках. Головне не повторювати однакові помилки двічі 🙂

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

Підтримуйте мотивацію команди

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

Це особливо важливий пункт в теперішніх умовах в Україні, під час повномасштабної війни мотивація людей дуже вразлива і буде коливатись часто. Зважаючи на ситуацію, такі фактори, як кар’єрний ріст, уроки англійської мови чи PlayStation в офісі, часто відходять на другий план, оскільки люди шукають стабільності.

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

Запроваджуйте нові технології

Стеєте за розвитком технологій, які можуть полегшити вашу роботу. Автоматизуйте рутинні процеси, впроваджуйте програми для управління проєктами, використовуйте інструменти для аналізу даних. Це допоможе збільшити продуктивність та знизити ризики помилок.

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

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

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

Не забувайте про саморозвиток

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

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

Тому зараз для хорошого керівника на перший план виходять такі навики, як комунікація, емпатія та інші soft skills. Це те, в чому вас точно не замінить штучний інтелект 🙂

До обраного В обраному 3

Якою компанією летітиЯкою компанією летіти

Якщо ви шукаєте дешеві авіаквитки онлайн, то Kiwi.com — найкращий для цього ресурс, адже тут найлегше знайти маршрути в один чи обидва кінці й міжнародні та складні маршрути за нижчими

Що стосується переднього мозкуЩо стосується переднього мозку

prosencephalon) — передня частина головного мозку, що складається з проміжного мозку (лат. diencephalon) і кінцевого мозку (лат. telencephalon). Включає сіру речовину кори, підкіркові ядра, а також нервові волокна, що створюють

Які види запам’ятовування буваютьЯкі види запам’ятовування бувають

За способом запам'ятовування пам'ять буває: мимовільна та довільна. Мимовільна – пам'ять, коли ми щось запам'ятовуємо та відтворюємо, не ставлячи перед собою спеціальної мети щось запам'ятати або відтворити. Довільна – пам'ять,