Колко ще ви отнеме да се научите да програмирате и защо не трябва да бързате

Колко ще ви отнеме да се научите да програмирате и защо не трябва да бързате

© Pawel Kopczynski, Reuters



Според автора и програмист Питър Норвиг програмирането трябва да се учи не по-малко от десетилетие, преди да можете да заявите, че сте добри. Неговото твърдение се подкрепя от редица проучвания, които стигат до заключението, че едно десетилетие е срок, в който всеки може да достигне до високо ниво на владеене на каквото и да е умение – било то в музиката, маркетинга, инженерството или - както виждаме – в програмирането.


Причината Норвиг да публикува и книга, наречена "Научи се да програмираш за десет години", е наблюдението, че голяма част от начинаещите бързат неимоверно много да достигнат определено ниво. Парадоксалното в случая е, че такова ниво не би било постижимо без доста време за упражнения. От своя страна хората, които създават образователна литература или други способи за преподаване на програмиране, обожават да дават нереалистични срокове като седмици или месеци в заглавията си. Да – можете да се научите да пишете програмен код за месец или два, но за неговото пълноценно прилагане в реална среда ще са ви е нужно много повече време.


Постоянното бързане е вредно за обучаващите се. Когато не отделяте достатъчно време, за да затвърдите вече придобитите знания, а се хвърляте на нещо, за което не сте подготвени, то вие няма как да преминете през един пълноценен учебен процес. Естествено, десетилетие е силно преувеличен срок. За десет години вие ще можете да достигнете ниво на знания и умения, за което много биха ви завидели, ако полагате нужното усилие, но за да започнете да се реализирате като софтуерен специалист, би ви било нужно много по-малко време.


Реалистично, повечето работодатели и реализирани програмисти са на мнение, че в зависимост от това колко усилие полагате може да ви отнеме година (а дори и повече), за да започнете работа, но това изисква ежедневно учене и упражнения.


Всичко, което трябва да знаете за:
Коментари (27)
  1. Подредба: Сортирай
  1. 1 Профил на zero_day
    zero_day
    Рейтинг: 943 Неутрално

    След 7-8 до 10 години, по принцип научаването на нов език, нова платформа или нова технология става доста бързо и лесно, даже не е нужно предварителна подготовка, може да се седне и да се пише. Но пътя дотам е много дълъг и труден и който си мисли, че с 6 месечна академия може да стане отличен програмист дълбоко се лъже.

  2. 2 Профил на a4kataaa
    a4kataaa
    Рейтинг: 316 Любопитно

    Каква е тази мания по програмирането? Има един куп други професии, които също са добре платени и с много добра перспектива, но никой не ги учи.

  3. 3 Профил на Infernus
    Infernus
    Рейтинг: 549 Неутрално

    До коментар [#2] от "a4kataaa":

    Вселенския вакум за програмисти, в който ни вкараха десетките еврейски фирми който правят аутсорсинг тука. Нито е най-приятната професия, нито имаме най-кадърните програмисти. Просто всеки начинаещ може да започне на 1500-2000 лева нетна заплата, което е доста повече от повечето отрасли в България. Капиш?

    Дела трябват, а не думи.
  4. 4 Профил на biss Mark
    biss Mark
    Рейтинг: 1438 Неутрално

    Не бъркайте програмирането с писане на програмен код и програмни езици. То е математика, начин на мислене, умение да представяш различни природни, обществени и други естествени явления чрез математически модели и процеси.
    Писачи на код има много и сравнително лесно се учи, но то е като да можеш да пишеш въобще и да можеш да напишеш бестселър.

    Crede quod habes, et habes. Sed etiam melior, puto.
  5. 5 Профил на penetrating
    penetrating
    Рейтинг: 6037 Неутрално

    Добре казано. Става дума за основите, след това се минава леко от една платформа на друга. Това е добре да се каже на някои хора в България (Вл. Каролев например), които мислят занаятчийски.

    Some people have got a mental horizon of radius zero and call it their point of view. David Hilbert
  6. 6 Профил на Erzsebet
    Erzsebet
    Рейтинг: 233 Неутрално

    Едно е писач на код, друго - истински добър програмист. И от едните, и от другите има нужда. Вижте индийците! Имат орди от писачи на код - знаят синтаксиса, умеят да изпълнят това, което им се поръча, но изобщо не разсъждават и нямат никакви познания встрани от конкретния език, на който пишат. Не ги интересува нищо, не знаят и не разбират. Обаче все пак бизнесът ги наема, защото супер добрите програмисти нито са толкова много, нито биха писали толкова елементарен код, нито би било рентабилно да им се плаща за такава работа. Не че ще се навият - все едно архитект да копае канал. За експертите има повече от достатъчно работа, при това - отлично платена. А там нововизлюпен писач няма как да се провре
    И този принцип важи за всяка професия и всяко занимание.

  7. 7 Профил на dissident
    dissident
    Рейтинг: 796 Неутрално

    Годините не са мерило. Иска се и логическо мислене. Който го няма и след 20 години няма да е добър програмист.

  8. 8 Профил на Infernus
    Infernus
    Рейтинг: 549 Неутрално

    До коментар [#6] от "Erzsebet":

    А и все пак програмиста с опит има доста знания за външни библиотеки който се ползват и могат драстично да ускорят и процеси и всичко.

    Дела трябват, а не думи.
  9. 9 Профил на biss Mark
    biss Mark
    Рейтинг: 1438 Неутрално

    [quote#8:"Infernus"]А и все пак програмиста с опит има доста знания за външни библиотеки който се ползват и могат драстично да ускорят и процеси и всичко. [/quote]

    Дори не е нужно да знаеш програмен език за да си истински програмист. Бих казал че трябва да си повече математик и физик. Математическото моделиране е в основата.

    Crede quod habes, et habes. Sed etiam melior, puto.
  10. 10 Профил на biss Mark
    biss Mark
    Рейтинг: 1438 Неутрално

    [quote#7:"dissident"]Годините не са мерило. Иска се и логическо мислене. Който го няма и след 20 години няма да е добър програмист. [/quote]

    Съгласен. Бих казал че е въпрос на гений.

    Crede quod habes, et habes. Sed etiam melior, puto.
  11. 11 Профил на Маршалов
    Маршалов
    Рейтинг: 726 Неутрално

    Хубаво. Всъщност статията е продуктово позиционирана. Усредняването е лесно, особено когато дава срок, който е изведен въобще за всяка без значение каква специалност и не може да задължава някой, че ще успее непременно ако се забучи в указаният срок. Има хора, които биха успели и за 2-3 години да станат отлични програмисти, а и такива, които вероятно и за 10 години ще си похабят времето, ако не ги влече в тази посока, а се насилват.

    мурзилка
  12. 12 Профил на dissident
    dissident
    Рейтинг: 796 Неутрално

    До коментар [#9] от "biss Mark":

    Както казваше колега преди години, има само един език за програмиране. Съвременен американски английски.
    Който е получавал слаби оценки по математика и физика, най-добре е да не си губи времето с програмиране.

  13. 13 Профил на Божикравов
    Божикравов
    Рейтинг: 529 Неутрално

    Програмирането е учене и практика през цялата кариера, без разлика между двете и включва много повече съпътстващи дейности от набиването на код в IDE-то. В тази област не важи принципа веднъж научено остава за цял живот. Това не е занаят. Един добър програмист спре ли за няколко години да практикува, после влизането във форма е доста стръмно. Не случайно има хроничен дефицит на квалифицирани кадри в тази област, а и много "дебютанти" с неразвита самодисциплина и търпение скоро осъзнават колко неблагодарна е професията.

    СВОБОДНИЯТ СЕ СТРЕМИ КЪМ СЪВЪРШЕНСТВО, ПОРОБЕНИЯТ - КЪМ СВОБОДА, А РОДЕНИЯТ РОБ - ДА СИ ИЗБИРА ГОСПОДАРЯ.
  14. 14 Профил на a4kataaa
    a4kataaa
    Рейтинг: 316 Неутрално

    До коментар [#3] от "Infernus":

    Не искам да ме разбират погрешно. Нямам нищо против тази професия. Просто действа стадния инстинкт и в един момент, ще има огромно пренасищане с такива специалисти, които няма да могат да се реализират. Ще се получи същия проблем, който сега имат хората, които учат икономика. Лично според мене, някъде около 6-7 клас трябва да почне по добре да се говори за професионалното развитие. Учениците да се носят на посещения в различни фирми и обществени организации и така до завършването им на средно образование. Да могат да добият някаква представа какво искат да учат и работят след време.

  15. 15 Профил на amh21579466
    amh21579466
    Рейтинг: 289 Неутрално

    По-голямата част от днешното програмиране е да хванеш последния лъскав MVC фреймуърк, да навържеш различни библиотеки/компоненти от кол и въже и някак си да ги накараш да работят приемливо без стряскащи бъгове или непоносим пърформанс. За такива неща – програмисти бол, и цената им ще пада.

    За "интересните" неща ти трябва не само писане на код, а и задълбочено разбиране на принципи в компютърните архитектури, операционните системи, алгоритми, и т.н. Ти можеш и 50 години да пишеш MVC глупотевини, но никога няма да стигнеш нивото на някой, който пише оптимизационни компилатори или мемори мениджъри.

  16. 16 Профил на dissident
    dissident
    Рейтинг: 796 Неутрално

    До коментар [#14] от "a4kataaa":

    Никога и никъде няма насищане със специалисти. Има пренасищане с посредствени изпълнители.

  17. 17 Профил на amh21579466
    amh21579466
    Рейтинг: 289 Неутрално

    [quote#1:"zero_day"]След 7-8 до 10 години, по принцип научаването на нов език, нова платформа или нова технология става доста бързо и лесно, даже не е нужно предварителна подготовка[/quote]

    Хвани научи Haskell или Erlang бързо и лесно след 10 години опит с императивни езици

  18. 18 Профил на Infernus
    Infernus
    Рейтинг: 549 Неутрално

    [quote#14:"a4kataaa"]Лично според мене, някъде около 6-7 клас трябва да почне по добре да се говори за професионалното развитие. Учениците да се носят на посещения в различни фирми и обществени организации и така до завършването им на средно образование. Да могат да добият някаква представа какво искат да учат и работят след време.[/quote]

    Напълно съм съгласен с това, но в материалното общество в което живеем всеки иска да взима повече и повече без да разбира каква е цената за това. А с програмисти скоро няма да се залеем вярвай ми.

    Дела трябват, а не думи.
  19. 19 Профил на Infernus
    Infernus
    Рейтинг: 549 Неутрално

    [quote#15:"blowfish"]По-голямата част от днешното програмиране е да хванеш последния лъскав MVC фреймуърк, да навържеш различни библиотеки/компоненти от кол и въже и някак си да ги накараш да работят приемливо без стряскащи бъгове или непоносим пърформанс. За такива неща – програмисти бол, и цената им ще пада.
    [/quote]

    За съжаление повечето фирми вече са точно проектно ориентирани и гледат да се случи точно това нещо набързо с готови библиотеки и криво ляво да изпълни заданието на клиента.

    Дела трябват, а не думи.
  20. 20 Профил на Quo Vadis?
    Quo Vadis?
    Рейтинг: 1034 Неутрално

    До коментар [#14] от "a4kataaa":

    За разлика от икономиката, социологията, психологията и т.н. програмирането изисква доста пове4е учене и усилия, а и освен това ако спреш да четеш за няколко години ще си вън от бизнеса ... няма да има пренасищане с програмисти просто защото няма достатъчно много хора с воля и мотивация за много и непрекъснато учене ...

  21. 21 Профил на Diego
    Diego
    Рейтинг: 416 Неутрално

    Според Малкъм Гладуел в книгата "Изключителните" за да станеш експерт в която и да е област трябва да навъртиш 10 000 часа (грубо пак 10 години х 200 работни дни х 5 часа).
    Хубаво е човек да се ориентира рано, преди завършване на училище и да започне да трупа часове.

    "Жить стало лучше, жить стало веселее" Й. В. Сталин :-)
  22. 22 Профил на amh21579466
    amh21579466
    Рейтинг: 289 Неутрално

    [quote#19:"Infernus"]За съжаление повечето фирми вече са точно проектно ориентирани[/quote]

    Повечето аутсорсинг фирми реално имат интерес от нескопосано свършена работа, защото клиентите им често са некомпетентни и нямат представа нито какво точно искат, нито какво е добре свършена работа. Това предизвиква провлачване на тривиални проекти с месеци и години, което е "златна жътва" за аутсорсинг робовладелците. Убеждават клиента как има нужда само от още 3 QA-a и 5 програмиста, и ето ви го "недостига"...

  23. 23 Профил на бабачко
    бабачко
    Рейтинг: 544 Весело

    Писането на програмен код е едно, апрограмирането съвсем друго ... като да направиш седмичната програма на телевизията

    искаш нов монитор? изтрий тук: ##############
  24. 24 Профил на Erzsebet
    Erzsebet
    Рейтинг: 233 Неутрално

    Ейй, най накрая се завърза приятна дискусия
    От моята камбанария мога да кажа, че добри специалисти с широк кръгозор се намират мноого, много трудно. Особено ако се налага да са гъвкави. А когато такива все пак се намерят, техните претенции често са трудно изпълними. Да не говорим какъв цирк настава като трябва да накараш няколко такива да работят заедно - хем с кеф спорят и обсъждат, хем се обиждат и сърдят като малки деца. И после пак творчески беседи. (Аз моите си ги обичам и ги сдобрявам, де.)
    А набивачи на код има страшно много и разните му там "академии" бълват още и още, но отново ще спомена индийците - при пренасищане на пазара те просто се преориентират! Досега е набивал код, отсега ще мигрира сторидж. Досега е бил тех съпорт, от утре - телефонист на регионалния интернет провайдър.
    blowfish описа ситуацията на пазара така, че можем само да кимаме с глави в съгласие

  25. 25 Профил на Маршалов
    Маршалов
    Рейтинг: 726 Весело

    [quote#12:"dissident"]Както казваше колега преди години, има само един език за програмиране. Съвременен американски английски.[/quote]
    Ммм, в Бронкс говорят директно в програмен код.

    мурзилка
  26. 26 Профил на xyha
    xyha
    Рейтинг: 525 Весело

    Не е лесно Според "Повест за добрия програмист" от "Компютър за Ваз" , добрият програмист не може без бира .
    Който се научи да пие бира, той ще се научи да програмира.

  27. 27 Профил на Федор Езерский
    Федор Езерский
    Рейтинг: 909 Неутрално

    На практика пича е прав. Това се отнася не само до програмирането, а и за всяка професия. 10 годишен срок е напълно реалистичен, за да се "произведе" от добър до отличен специалист с практика. Защото и практиката си е учене. Както казва горе колегата @biss Mark, става дума за професия, а не за занаят. Най-трудното е да обърнеш мозъка на хората да мислят "правилно"





За да коментирате, е нужно да влезете в профила си или да се регистрирате.
С използването на сайта вие приемате, че използваме „бисквитки" за подобряване на преживяването, персонализиране на съдържанието и рекламите, и анализиране на трафика. Вижте нашата политика за бисквитките и декларацията за поверителност. ОK