Ինչպես դառնալ ծրագրավորող




Photo by jesse orrico on Unsplash

Շատերը կարծում են, թե ծրագրավորող դառնում են ծրագրավորման լեզու սովորելով։ Դա նման է նրան, որ պնդենք, թե մարդ են դառնում լեզու սովորելով։ Քանի լեզու գիտես՝ այնքան մարդ ես, չէ՞։ Բայց արդյո՞ք քանի ծրագրավորման լեզու գիտես՝ այնքան ծրագրավորող ես։

Բոլորս էլ հասկանում ենք, որ մարդ դառնալու համար մարդկային լեզու իմանալը քիչ է։ Առաջին հերթին պետք է ունենալ մարդուն բնորոշ հատկություններ։ Շատ չխորանալով էքզիստեցիալիզմի մեջ՝ ասեմ, որ մարդ լինել-չլինելու հարցը շատ ավելի բարդ է, քան ծրագրավորող լինել-չլինելը։ Բայց ամեն դեպքում՝ լեզու իմանալը քիչ է։ Այդ դեպքում ի՞նչ է տալիս ծրագրավորման լեզվի իմացությունը ապագա ծրագրավորողին։

Ինչպե՞ս է տեղի ունենում մարդու մոտ՝ առաջին ծրագրավորման լեզվի հետ ծանոթանալիս։ Առաջին լեզուն ամենադժվարն է, քանի որ դրա օրինակի վրա մարդ ստիպված է լինում գոնե մի քիչ էլ ծրագրավորում սովորել։ Դա նման է այն երևույթին, երբ երեխան իր մայրենի լեզուն սովորելու ընթացքում սկսում է ծանոթանալ տարատեսակ հնչյունների և լեզվական կոնստրուկցիաների հետ։ Երբեմն էլ երեխաները որոշ հնչյուններ չեն կարողանում արտաբերել, չէ՞։ Դե առաջին ծրագրավորման լեզուն էլ սկսնակ ծրագրավորողի համար էդպիսի մի բան է։ Այն սովորելն ամենադժվարն է, քանի որ պետք է լինելու նաև ընկղմվել ծրագրավորման աշխարհ։

Պետք է լինում սկսել հասկանալ, թե ինչ է փոփոխականը, ինչ է ֆունկցիան, ինչ է կլասը, ինչպես է աշխատում ծրագրի ներածման և արտածման համակարգը։ Չնայած․․․ Ես այնքան էլ անկեղծ չեմ ձեզ հետ․․․ Շատ մարդիկ այդպես էլ չեն իմանում այդ թվածներիցս շատ գաղափարները՝ ողջ խորությամբ։ Օրինակ՝ թե որտեղ են պահվում փոփոխականների արժեքները, ինչպես են կանչվում ֆունկցիաները, և ինչպես կարելի է իմանալ կլասի օբյեկտի չափը։

Ամեն դեպքում՝ ծրագրավորման լեզուն սովորելու ընթացքում քիչ-քիչ սկսում է բացվել այդ "ծրագրավորում" կոչված աշխարհի դուռը։ Մարդկանց մի մասին դուր է գալիս այն, ինչ իրենք տեսնում են այդ բացվող դռան հետևում և նրանք սկսում են խորանալ այդ գաղափարների էության մեջ, սկսում են ավելի խորքային հասկանալ, թե ինչն ինչոց է, ինչն ինչպես է կառուցված և ինչպես է աշխատում։ Եվ հենց այդ խորանալուն զուգընթաց՝ նրանց մեջ սկսում է ձևավորվել Ծրագրավորողը։

Իսկ մյուսներին այդ դռան ետևից երևացող աշխարհը թվում է չափազանց խառը և անկարևոր ու իրենք այդպես էլ չեն բացում այդ դուռը։ Նրանք սկսում են զբաղվել ծրագրավորմամբ, ոչ թե դառնում են ծրագրավորող։ Ինչպես ասում էր Ստանիսլավսկին՝ պետք է ոչ թե խաղալ դեր, այլ լինել։ Իսկ մենք հաճախ դա չենք տեսնում։ Շատ մարդիկ կարծում են, որ իրենք ծրագրավորող են, մինչդեռ իրենք ընդամենը աշխատում են որպես ծրագրավորող։

Այսպիսով սկսվում է քիչ-քիչ բացահայտվել ծրագրավորող դառնալու հիմնական ուղին։ Ծրագրավորող դառնում են ծրագրավորումը սիրելով։ Այդ սերն ունակ է փոխել մարդու մոտեցումը, մարդու վերաբերմունքն իր մասնագիտության հանդեպ։ Մարդ պետք է հնարավորություն ունենա սկսնակ ժամանակ տեսնելու, թե ինչ գեղեցիկ է ծրագրավորողի աշխարհը։ Մարդ պետք է հնարավորություն ունենա շփվելու ծրագրավորումը սիրող Ծրագրավորողների հետ, այլ ոչ թե միայն որպես ծրագրավորող, կամ ուղղակի որպես դասախոս աշխատող մարդկանց տեսնի։

Մարդիկ չգիտեն, թե ինչպես է պետք դառնալ ծրագրավորող։ Այդ մարդկանց պետք է ուղղորդել։ ԲՈՒՀերն ու դասախոսները պետք է տան ուսանողներին այդ հնարավորությունը։ ԲՈՒՀերում որպես դասախոս պետք է աշխատեն հենց ծրագրավորումը սիրող ծրագրավորողները, ոչ թե՝ ով պատահի, կամ ով ունի համապատասխան գիտական աստիճան։ Ուսանողը, չտեսնելով իր դասախոսի մեջ այդ կրակը, ինքն էլ երբեք չի կարող բոցավառվել։

Այնքան էլ կարևոր չէ, թե կոնկրետ ինչ առարկաներ կուսումնասիրի ուսանողը, որքան կարևոր է, որ նրա մեջ վառվի այն կրակը, որը երբեք նրան հանգիստ չի թողնի և անընդհատ կմղի առաջ։

Դեռ հարցնում եք, թե ինչպե՞ս դառնալ ծրագրավորող։ Պետք է գտնել մարդու, ով սիրում է ծրագրավորումը և պարզապես նրան չկորցնել տեսադաշտից։ Լսել, թե ինչ են խոսում այդ մարդիկ, թե ինչն են կարևորում և ինչին բանի տեղ չեն դնում։ Ուսումնասիրելով նրան՝ հասկանալ, թե քանի բաժակ սուրճ է պետք օրական խմել՝ արդյունավետ ստեղծագործելու համար։ Հասկանալ, թե որն է գաղտնիքը, որն է այն բանալին, այն գիտելիքը, որը նրանց տարբերում է մյուսներից։

Իրականում այս ամենն ընդամենը գալիս է մի հարցի՝ ինչո՞ւ են նրանք սիրում ծրագրավորումը։ Այդ ի՞նչ են գտել դրա մեջ, որ պատրաստ են իրենց առողջությունն ու կյանքը ծախսել ծրագրավորման վրա։ Եվ պետք է հասկանալ, թե արդյո՞ք այն, ինչ իրենք գտել են, նույնքան գեղեցիկ և կարևոր է քեզ համար։ Այն, ինչ գեղեցիկ է ինձ համար, մեկուրիշին կարող է թվալ անճոռնի մի բան։

Չենք մոռանում, որ ծրագրավորումը շատ դժվար մասնագիտություն է։ Միգուցե դա հեչ էլ ձերը չի։ Մի տանջեք ձեզ՝ փորձելով սիրել մի բան, որը ձեզ համար ի սկզբանե տգեղ և անհրապուրիչ էր։ Այն, որ փորձառու ծրագրավորողը լավ է վարձատրվում, ճիշտ է այնքանով, որքանով ճիշտ է, որ լավ է վարձատրվում փորձառու բժիշկը։ Ցանկացած մասնագիտության մեջ էլ փորձն ու աշխատասիրությունը գնահատվում են։ Ծրագրավորումը տարբերվում է նրանով, որ դրանով զբաղվելու համար պետք է ունենալ գիտելիքների մի որոշակի բազմություն և սիրել որոշակի տիպի գործունեություն։ Ճիշտ նույն բառերը կարող ենք ասել և բժշկության մասին։

Եվ մի կարևոր հանգամանք էլ՝ ծրագրավորող դառնալուց առաջ պետք է մտածել, թե ինչ եք անելու ծրագրավորումը թողնելուց հետո։ Այդ մասին առավել մանրամասն խոսում ենք Ապագա ծրագրավորողի ապագան նյությում։ Չի կարելի գլխով մտնել մի տեղ, որից դուրս գալու ուղին չենք պլանավորել։


Հեղինակ՝ Վահրամ Մարտիրոսյան

Կարդալ ավելին

Լինում է, չի լինում՝ մի Ուսանող է լինում։

Հարգելի մեծապատիվ ավագ և փորձառու ծրագրավորողներ։

Հիշում ե՞ք, թե ինչպես եք ձեռք բերել այդ փորձն ու պաշտոնը։ Եկեք մի փոքրիկ ճամփորդություն կատարենք դեպի ձեր պատմության խորքը։

Ամեն ինչ սկսվում է որոշումից՝ դառնալ ծրագրավորող։ Թե՞ ամեն ինչ ավարտվում է դրանով․ ծրագրավորող դառնալու որոշումը միարժեք ձևով կանխորոշում է մարդու ապագան և դրանով ամեն ինչ ավարտվում է՝ ընտրության հնարավորությունը, զարգացման այլ ուղին։