Повне розкриття інформації - я старенька людина, яка пройшла підготовку в іншому до Інтернету, доступному в епоху роботи. Я спостерігав, як навички молодих розробників постійно погіршуються, в основному через те, що вони не зберігають інформацію та не розуміють рішення, яке вони захопили з Інтернету. Я зауважував, що рівень компетентності, який людина мав після 1-2 років досвіду, 20 років тому, зараз це рівень компетентності, який хтось має після 5-7 років досвіду. (Так, це особисте спостереження, але я багато працював, я не маю статистичних даних щодо цього питання, і так, я інколи старий і хитрий, візьміть це твердження із зерном солі. І тримайтеся поза моїм подвір’ям. )
Шукати все неефективно з точки зору часу. Це також симптом того, хто не має великої глибини знань. Люди з глибиною знань можуть писати код швидше, ніж люди, які не знають, як вирішити проблему, не шукаючи речей. Тож варто навчитися поводитися з більшою кількістю речей без необхідності постійно шукати речі.
Зараз я не кажу, що ви ніколи не повинні шукати речі, я кажу, що ви повинні навчитися зберігати знання, і потрібно лише шукати речі, якими ви користуєтесь рідко, або коли ви стикаєтесь із справді новою проблемою, мовою чи парадигмою. І я не кажу, що ви не повинні читати, щоб бути в курсі нових рішень, інструментів та мов.
Моє справжнє занепокоєння щодо розробників, які надто часто шукають речі, щоб занадто багато з них (не обов'язково ви) ніколи не розвивали аналітичні навички, щоб зрозуміти проблеми, які вони мають, і рішення, яке потрібно. Прочитайте, скільки питань виникає, коли людина ставить повідомлення про помилку, яке він або вона чітко не розуміє, але яке повинно бути цілком зрозумілим для всіх, хто працює на професійному рівні. Або ті, де людина каже: "це не працює, чому?" без посилання на повідомлення про помилку або на те, як воно не працює, і код синтаксично правильний. Або тих, кому надається фрагмент коду, який повинен працювати,
Отже, якщо ви шукаєте речі, які є частиною основної функціональності мов (BTW, це має включати SQL, якщо ви отримуєте доступ до баз даних), якими ви користувалися більше шести місяців, я підозрюю, що ви теж шукаєте. багато. Якщо ви шукаєте додаткові функції, особливо ті, якими ви можете користуватися рідко, то у вас все добре.
Але як вам навчитися зберігати більше інформації? Спочатку зрозумійте, чому код зламався. Навіть якщо хтось дає вам робоче рішення, якщо ви не бачите, чому це спрацювало, а ваше це не зробило, тоді запитайте. Якщо ви не розумієте повідомлення про помилку, то запитайте, що воно означало, а потім спробуйте вирішити його самостійно.
І ніколи не ріжте і не вставляйте рішення, яке ви не розумієте. Насправді взагалі не різати та вставляти. Якщо ви хочете зберегти інформацію, вам потрібно виконати її введення. Насправді фізично написання коду самостійно допомагає дізнатися його. Це добре відома методика навчання.
Практикуйте узагальнюючи своє розуміння коду. Я бачив, як люди з часом знову і знову задають подібні запитання, оскільки вони не розуміють, що рішення, яке вони отримали місяць тому, для проблеми ABC - це те саме рішення для нової проблеми DEF.
Тож, коли ви щось дослідили, знайдіть деякий час, щоб подумати, які типи проблем було б корисно вирішити, і напишіть собі записки про це. Потім, коли у вас виникнуть проблеми для вирішення, спочатку перевірте власні замітки, щоб побачити, як ви вже відзначили можливу техніку. Якщо ви оцінюєте кілька способів вирішення проблеми, робіть примітки щодо типу проблеми, можливих варіантів розгляду та плюсів і мінусів кожної з них. Знову ж беруть до уваги, що допомагає закріпити знання у вашому мозку, у вас вже є власний роздум щодо вигідних плюсів і мінусів, і вам не доведеться цього робити знову (або, принаймні, не настільки глибоко, ви можете все ж шукайте більше можливих прийомів) для наступної подібної проблеми.
І коли ви вирішите, що вчитися далі, задумайтесь про глибину однієї з основних технологій, перш ніж переходити до вивчення перших 30 днів ще однієї технології (це передбачає, що у вас є достатня широта знань, щоб фактично виконати свою роботу, якщо вам потрібно використовуйте 6 технологій - отримайте основи у всіх шести перших, перш ніж піти на глибину). Потім повертайтеся вперед і назад, вивчаючи нові речі на базовому рівні, вивчаючи щось більш глибоке, а потім вивчайте більше нових технологій на базовому рівні. Якщо ви зробите це з часом, ви побачите, що ваш базовий рівень того, що ви хочете отримати від нової технології, набагато глибший, тому що ви розумієте більш складні питання, щоб їх задати.
Ще один спосіб навчитися зберігати знання - це навчити його комусь іншому. Відповідайте на запитання в таких місцях, представляйте теми для тренінгу для своєї команди, робіть презентації у місцевих групах користувачів, пишіть записи в блогах та допомагайте підтримувати вікі інформації у вашій компанії, щоб допомогти іншим розробникам.