Як стати професіоналом у своїй галузі знань

Дмитро Єлісєєв »Блог» Саморозвиток »Здравствуйте, Дмитрий! Як стати професіоналом?

Як стати професіоналом у своїй галузі знань

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

Привіт, Дмитро! Я, як і Ви, навчався в тій же школі, і хочеться спілкуватися саме з її випускниками, і тим більше з професіоналом вашого рівня.

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

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

З повагою, Володимир.

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

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

Отже, приступимо до вельми сумбурному відповіді. Почнемо з комп'ютерів.

Начебто невеликого вступу

Щороку (і часом навіть частіше) з'являються нові технології, методики, мови програмування; удосконалюються пошукові системи, створюються нові готові компоненти і шаблони. Старі підходи і мови виходять з моди і зникають в минулому. Ключові думки буду виділяти кольором:

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

Як стати професіоналом у своїй галузі знань

Багатьом ставати кимось іншим страшно. Це інстинкт самозбереження. Збереження себе і своєї стабільності перед ликом невідомості.

Що об'єднує багатьох з нас

Головний секрет успішних людей - займатися своєю улюбленою справою незважаючи ні на що: ні на докори сусідів, ні на заздрісників, ні на чиїсь думки. Адже це тільки ваше життя. Якщо хочете бути розумним і класним - поставте собі таку мету і досягайте її. Якщо не хочете, то залишайтеся «як все».

Є таке негласне правило 10 000 годин. Це кілька років. Якщо стільки часу присвятити своїй улюбленій справі, то безумовно можна стати в ньому експертом світового рівня. Звичайно ж із застереженням, що дійсно займатися, а не просто робити вигляд. Але для знаходження цікавої роботи не потрібно чекати так довго. Можна при навчанні в школі чи університеті вже почати освоювати будь-яку справу замість того, щоб просто вчитися «як все» і чекати.

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

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

Розвиток як спосіб життя

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

Як стати професіоналом у своїй галузі знань

До чого я про це згадав? Просто це неодмінно трапляється з усіма, хто наважується підняти рівень свого життя і добитися успіху. Навіть у вишиванні хрестиком. Відразу виникає заздрість і критика, нерозуміння в колі друзів і навіть в родині. Потрібна сила волі, щоб не кинути будь-яку справу на півдорозі. Уявіть, що людина вирішила стати здоровим і добровільно покинув пити. Ви помічали, як тепер на кожному застілля на нього дивляться як на ідіота і з яким ентузіазмом примушують знову стати «як усі»? Якщо всіх слухати і всім вірити, то залишишся таким же, як вони.

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

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

Другий улюбленою темою розмови у них (крім погоди) є ... проблеми. Своїх проблем вони готові співати діферамби цілу добу. Вони не можуть сумувати на самоті. Замість цього вони хочуть нав'язати свої кошмари абсолютно всім.

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

Ви нікому не зобов'язані подобатися. Чи не зобов'язані виконувати всі поради. Чи не зобов'язані робити те, що постійно просять робити якісь незрозумілі люди.

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

Якщо стали господарем свого життя - будьте їм!

Про книги і блоги

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

Сотні статей в блогах по глибині вивчення і пов'язаності не замінять книгу, але ніяка книга по актуальності і гостроти не замінить блоги (хоча є винятки, коли є хороші сайти, а книги Ще нема голосів).

У зв'язку з цим можу дати пораду:

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

Світ багатогранний, непізнаваною цілком, вивчати його і вдосконалювати себе можна ціле життя. Це набагато цікавіше, ніж звичайне обивательське існування. За останні століття вивчені сотні наук, зроблені сотні відкриттів, побудовані сотні методик. І кожен дослідник присвятив цьому своє життя і докладно виклав результати в своїй книзі. Ніякого життя не вистачить, щоб навчитися всьому самостійно.

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

А раптом…

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

А раптом не вийде? У всіх людей в половині з спроб щось не виходить. Це суха теорія ймовірності, трохи скоректована особистими вміннями. Везунчиків немає. А в чому тоді рецепт успіху? Просто одні люди намагаються щось п'ять разів на рік щоб раз або два у них вийшло, а інші не пробують жодного разу за все життя. Перші після невдачі ставлять галочку і записують, що саме не вийшло (щоб вже наступного разу зробити це правильно), а другі впадають в довічну депресію. Звільнили з роботи першого - знайду іншу, мені стара не подобалася. Хто з них щасливий? У кого з них щось виходить? Результат у того і іншого типу людей передбачуваний.

У перших є мотив і розписані всі цілі, а у других - тільки мрії і скарги.

А де взяти мотивацію? Все в особистому житті залежить тільки від самої людини. Одні інваліди морально прощаються з життям, а інші виграють паралімпійські ігри і залишаються щасливими. Беріть приклад з другої. І не тільки з олімпійців:

І на скільки широко варто рашірять фокус. Навряд 10 000 годин варто присвячувати одному інструменту / мови / фреймворку. Як тоді ділити час?

Ну це термін теоретичний. Решта - людський фактор.

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

>> Наприклад, після PHP багато людей переходять на Ruby.

Зараз все частіше говорять про NodeJS. Як думаєте, існує ймовірність, що NodeJS серйозно потіснить PHP? Чи слід початківцям програмістам, орієнтованим на розробку веб-додатків вже приділяти серйозну увагу цій технології в розрахунку на майбутнє?

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

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

А PHP доступний кожному кроці: мільйони сайтів на ньому вже написані і будуть з'являтися нові, тисячі студій працюють на ньому і приймають на роботу програмістів всіх рівнів майстерності. Майже всі інші «звичайні» сайти написані на ньому.

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

Поширена кар'єра серед вебмайстрів: почати клепати сайтики на PHP сусідам / друзям, зареєструватися на фріланс-біржах, по ходу справи вивчити різні движки і фреймворки, прокачати навички програмування, влаштуватися на віддалену роботу або в офіс. А потім (коли стане нудно) або стати керівником відділу, або вивчити будь-якої специфічна мова і вже з прокачати знаннями і досвідом перейти на нову роботу (або, як я вже згадував, піти в свій бізнес).

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

Привіт, Дмитро! Все ж після прочитання залишилися деякі питання.

Ви згадали про особистісну трансформацію і про це хотілося б дізнатися докладніше.

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

Може у вас є метод розвитку саме логіки програміста?

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

Припустимо, що новачок береться за написання великого проекту. Він каже «зараз почну, а потім якось само-собою піде». І починає нещадно «кодувати». Без будь-якого проектування, називає змінні невпопад, додає і додає нові процедури, копіює з невеликими змінами одні і ті ж шматки коду, не стежить за розбивкою на файли, не використовує класи, так як «і на процедурах все працює».

Ще гірше те, що всі фрагменти так хаотично один з одним пов'язані і ніяк не організовані, що потрібно набратися героїзму, щоб трохи виправити якусь наявну річ і не зламати при цьому все інше. При цьому замовнику (або самому програмісту) постійно хочеться додати якийсь новий функціонал (або виправити помилки). В результаті кожне бажання що-небудь змінити супроводжується нічними кошмарами і тижневим копирсання в цій «каші». Сотні незрозумілих функцій, написаних і названих по-різному, десятки «латок» і речей на зразок «поки що працює, але потім перероблю». Проблема досить поширена у великих проектах.

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

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

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

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

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

Саме тому корисно не тільки вивчити процедурне і об'єктно-орієнтоване програмування, а й ознайомитися з декількома книгами по рефакторингу і написання якісного програмного коду (особливо цю), про проектування програмних систем, про всесвітньо відомих патернах.

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

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

Хороший програміст не надлюдина. Просто він робить все так, щоб, пардон, і дурневі зрозуміло було :)

Схожі статті