Здравейте!
В последните години изключително много работя с хора, които тепърва започват своята кариера в ИТ. Тъй като въпросите и начинът, по който ги задават, често са сходни, реших да събера своя опит и препоръки на едно място.
Отдавна прочетох книгата от 2004 година на Ерик Реймънд и винаги съм следвал нейните принципи през кариерата си. Тя е доста обширна и е насочена по-скоро към системни администратори. Аз обаче често помагам на хора без предишен опит в разработката да станат джуниъри и да започнат своята кариера.
На тези, които вече са станали или мечтаят да станат начинаещи разработчици, мога да дам следните препоръки:
- Изучавайте проблема сами
- Първо посочвайте целта, след това формулирайте проблема
- Пишете грамотно и по същество
- Задавайте въпроси на правилното място и споделяйте решения
- Уважавайте времето на другите
- Разширявайте Horizon
А сега по-подробно.
Изучавайте проблема сами
Изучавате някакъв език за програмиране по книга или курс. Взели сте пример от кода, стартирали сте го, но той се е сринал с неясна за вас грешка. Ако вярвате на книгата — той би трябвало да работи. Но вие вярвате на собствените си очи — той не работи. Какви възможности имате?
- Да решите, че никога няма да станете разработчик, защото целият свят е против вас и дори работещите примери не работят. Да се откажете от обучението;
- Да решите, че никога няма да станете разработчик, защото сте твърде глупави или не сте способни. Да се откажете от обучението;
- Да започнете да питате всички познати, които имат каквато и да е връзка с ИТ, да изисквате да разберат защо при вас не работи. Да научите много ново за себе си, да се обидите. Да се откажете от обучението;
Кой вариант е правилният? Ето го:
Да разберете, че не сте уникални (каквото и да казват мама и баба), и ИТ светът не е толкова прост, колкото ви представят, когато ви канят на курсове и уебинари.
Разбирането, че не сте уникални, води до осъзнаването, че вашият проблем със сигурност е срещан от десетки, стотици, хиляди хора. Ако сте начинаещ разработчик, спокойно можете да сте пропуснали нещо, да не сте инсталирали или настроили правилно. Ето един чеклист, по който предлагам да преминете, преди да разберете, че сами не можете да решите проблема и ви е нужна помощ:
- Уверете се, че въпросът ви е уникален и няма отговор в интернет.
- Внимателно изучете причината за проблема, а не последствията му.
- Оценете възможните варианти за решение на проблема, техните предимства и недостатъци.
- Помислете за алтернативни варианти за постигане на целта.
- Помислете какво могат да ви питат и се подгответе предварително с отговори.
С първия Със сигурност всичко е тривиално: ако текстът на грешката е напълно неразбираем, копирайте го в Гугъл и внимателно прочетете текста по линковете.
Вторият: например, ако кодът ви е паднал с грешката „Не мога да свържа външна библиотека“, проблемът не е във вашия код. Проблемът е, че не сте инсталирали някоя библиотека, която искате да използвате. Значи, трябва да търсите как да я инсталирате, а не как да поправите вашия код.
Трети и четвърти много са сходни: Какво, ако проблемът е именно в тази библиотека и просто трябва да потърся друга? Какво, ако изобщо не използвам външна библиотека, а напиша свой код, използвайки стандартни средства?
Пети точката ни води към следващата част: помислете какво може да ви попита човекът, към когото се обръщате, и имайте отговори под ръка.
Първо посочвайте целта, след това формулирайте проблема
Целта е това, което искате да направите. Например, да напишете код, който да влиза в интернет и да спасява 10 картинки със смешни котета. Проблемът е защо виждате грешка в конзолата, но не виждате 10 смешни котета. Не започвайте въпроса си с проблема. Започнете с целта и завършете с проблема. Ако човекът, към когото се обръщате за помощ, е опитен разработчик и знае много, той със сигурност ще може да ви предложи по-просто и елегантно решение на проблема. Ако вече сте избрали най-простото и елегантно, той ще разбере какво и защо искате да направите, и това ще ускори получаването на отговор.
Добър въпрос:
Искам да спасявам 10 смешни котета всеки ден, за да се смея и да удължа живота си. За целта написах следния код: […]. Очаквам, че той ще се свързва с FTP сървъра и ще качва нови картинки от там. Въпреки това, когато го стартирах, видях следната грешка: […] Въпреки това мога да достъпя този сървър чрез браузър.
Бърз отговор:
Не си правил с тази библиотека, никой отдавна не я поддържа и не я развива. По-добре вземи тази — лично я използвам за сваляне на картинки с котета!
Лош въпрос:
Здравейте, кодът ми изведе следната грешка […], не знаете ли какво може да е?
Очевиден отговор:
Здравейте. Не, не знам.
Пишете грамотно и по същество
Не е нужно да изливате поток от мисли върху човека. Човекът, към когото сте се обърнали за решение на проблема, е зает с делата си. Направете така, че той бързо да разбере какъв е вашият проблем и какво искате от него. Ако имате проблеми с грамотността, използвайте онлайн услуги за проверка на правописа и пунктуацията. Можете да премахнете излишното от съобщението и без онлайн услуги. Не изливайте вода, не започвайте в началото. Пишете кратко, точно и по същество. Осигурете примери.
Лошо:
— Привет, как минаха уикендите))) Аз тук опитвам да събера проекта по-кратко, но не работи и пада по някаква причина О_о, макар че изглежда, че всичко съм направил както трябва, моля, ела тук))))) тук в конзолата нещо неразбираемо имам((( вече всичко опитах, нищо не работи, аааа(
Добро:
— Здравей, опитвам се да стартирам проекта, но възникна проблем. Пада веднага след командата docker-compose up, ето логът на стартиране и грешката: […] Можеш ли да ми кажеш как да го реша?
Задавайте въпроси на правилното място и споделяйте решения
Не е нужно да пишете въпрос в лично съобщение на конкретен човек, ако не сте били уведомени, че трябва да питате точно него. По-добре е да напишете на група от хора, защото:
- Всеки е зает с разрешаването на собствените си проблеми. Шансът някой в общия чат или на форума да може да ви отдели време е по-висок.
- Шансът някой в общия чат да знае как да ви помогне е по-висок.
- Оставяте на другите възможността да намерят същия въпрос и отговор по-късно.
Погледнете последния пункт. Вие вече сте усвоили, че проблемите трябва да се опитват да се решават самостоятелно? Вече сте се възползвали от търсенето в чата/форума/групата, но не сте намерили споменаване на вашия проблем? Окей, тогава питайте.
От друга страна, не е нужно да притеснявате хората без причина. По възможност изключете от списъка с адресати всички, които не могат да ви помогнат. Колкото повече съобщения пристигат при човек, толкова по-малко шанс има той да прочете всичките им. Не изграждайте у хората навика да изключват уведомления или просто да игнорират съобщенията.
Сигурно, вашият опит може да бъде полезен на някого друг. Спестете време на себе си и на другите, като публикувате отговор или решение. Следващият новак, ако вече знае за какво говорим тук, изобщо няма да безпокои никого — той ще намери вашето решение чрез търсене. Защо казвам, че можете да спестите време на себе си? Защото можете да се сблъскате с този проблем след година и няма да си спомняте как сте го решили. Търсенето отново ще спаси.
Уважавайте времето на другите
Максимално улеснете живота на хората, от които искате помощ.
Убедете се, че линковете, които изпращате, работят. Опитайте да ги отворите в режим инкогнито. Ако за линка е необходима авторизация, ще видите грешка в достъпа. Например, ако сте качили кода в частен репозиторий или сте изпратили линк на Google Диск, до който достъп има само вие — човекът ще види грешка и ще трябва да отдели време, за да ви информира за това, а след това да чака, докато настроите достъпа. Уверете се, че човекът веднага вижда това, за което говорите.
Не очаквайте, че някой ще иска да си спомня какво питахте преди два дни. Изпратете информацията отново, напомнете контекста. Никой не иска да търси в кореспонденцията това, което вие имате под ръка. Ако ви е мързеливо да дублирате информацията, за да не се налага хората да търсят, значи, помощ не ви е нужна.
Не изваждайте от контекста. Ако изпращате лог с грешка, очевидно е, че трябва да включите не само самата грешка, но и кода, който я е предизвикал, с пример за това, на какво се е провалил.
Ако за решаването на вашия проблем има установен процес — следвайте го. Не е нужно да изобретявате велосипеда, ако вече има статия с стъпков HowTo.
Не се стремете да получите отговор от един човек по различни канали (пишете в Slack, Skype, Telegram) едновременно — на човека ще му бъде неприятно.
Не пишете едно и също съобщение на няколко души едновременно, в надеждата, че поне някой ще ви отговори. Всички тези хора могат да ви дадат отговор (по-скоро, той ще бъде един и същ), но всички те ще се отвлекат от работата си за известно време. Използвайте групови чатове.
Разширявайте Horizon
Всичко, за което говорихме тук, е приложимо и извън сферата на ИТ. Спазвайте тези правила в супермаркета, автосервиза, по време на почивка в чужбина, при общуване с приятели и роднини. Покажете на хората, че цените времето им и не искате да ги притеснявате с прости неща. Покажете, че сте положили усилия и време да решите проблема сами, но не сте успели и че наистина имате нужда от помощ. В замяна, хората с разбиране ще се отнесат към вашите проблеми и ще помогнат за тяхното решаване.
Източник: habr.com
