If you're seeing this message, it means we're having trouble loading external resources on our website.

Եթե գտնվում ես վեբ զտիչի հետևում, խնդրում ենք համոզվել, որ *.kastatic.org և *.kasandbox.org տիրույթները հանված են արգելափակումից։

Հիմնական նյութ

Բիլ Միլզ․ ֆիզիկոս և միջառարկայական ծրագրավորող

Բիլ Միլսի նկարը
Ողջու՜յն, ես Բիլ Միլսն եմ:

Ինչո՞վ ես զբաղվում

Ներկայիս աշխատանքս ամբողջությամբ վերաբերում է, թե ինչպես լավ ծրագրավորումը, օգտատիրոջ ինտերֆեյսերը և համակարգչից օգտվողների փորձը կարող են գիտությանն օգնել ավելի արագ շարժվել և ավելի հետաքրքիր լինել: Ես աշխատում եմ TRIUMF-ի համար, Կանադայի միջուկային ֆիզիկայի ազգային գրադարանում, որպես վեբ տեխնոլոգիական մասնագետ և GRIFFIN-ի փորձարկման համար ծրագրակազմի նախագծի ղեկավար: GRIFFIN-ը վերջին սերնդի նոր գամմա ճառագայթի սպեկտրոմետր է, որը TRIUMF-ում կլինի առցանց 2014-ի վերջին. այն նախագծված է, որպեսզի հավաքագրի տվյալներ ռադիոակտիվ մասնիկների մասին ավելի արագ և արդյունավետ, քան նախորդ փորձարկումները՝ հնարավորություն տալով ունենալ ատոմի միջուկի ավելի մանրակրկիտ պատկեր, քան երբևէ:
GRIFFIN-ի համար աշխատանքիս նպատակն է արդիականացնել գիտնականների փոխազդեցությունը իրենց փորձարկումների հետ: Իմ ոլորտում անցյալի փորձերը հիմնվել են գիտնականների համար տարրական պարզաբանումների վրա, թե այդ պահին ինչ է կատարվում իրենց փորձարկումների հետ: Պատկերացրու թվերի երկար ցուցակներ՝ դասավորված աղյուսակներում, ներդրված ավելի շատ աղյուսակներում, ցրված շատ տարբեր տեղերում: Սա մի քանի տասնամյակներ առաջ էր, երբ փորձարկման ժամանակ օգտագործվում էին համեմատաբար քիչ քանակությամբ պարզ սարքեր, բայց ժամանակակից փորձարկումները կարող են ունենալ հազարավոր ընդունիչներ և տվյալների հոսքեր (միայն GRIFFIN-ը շաբաթական 200 TB-ի տվյալներ է ստանում), և դրան հավելյալ ենթակառուցվածքի հսկա աջակցություն:
Մեր փորձարկումները հասել են բավականին խոշոր չափերի և չափազանց բարդ են, որպեսզի կառավարվեն անհամապատասխան ինտերֆեյսերով և պարզունակ հաշվետվությամբ: Եվ եթե դա այդքան վատը չլիներ, գիտնականների տարբեր թիմեր ամեն անգամ կգային GRIFFIN-ին՝ օգտագործելու, նրանք, իրենց փորձարկումները կատարելուն զուգահեռ, չունեն բարդ օգտատիրոջ ինտերֆեյս սովորելու կարողություն: Հետևաբար, GRIFFIN-ը պետք է ունենա օգտատիրոջ ինտերֆեյս, որն ինտուիտիվ է և օգտագործելու համար հնարավորինս հեշտ, առանց մանրամասներ և հզորություն կորցնելու, այդ պատճառով անցյալ տարվանից օգտագործում եմ բոլոր հոյակապ գաղափարները և տեխնոլոգիաները, որը JavaScript-ի համայնքը հիմնել է, որպեսզի այնպիսի օգտատիրոջ ինտերֆեյս ստեղծեմ, որը գիտնականներին հնարավորություն կտա լաբարատորիա հասնելուն պես զբաղվել գիտությամբ:
Վահանակի կատարելագործված տարբերակը, որը ստեղծել եմ GRIFFIN-ի համար, SPICE ընդունիչի առաջին առցանց թեստից
GRIFFIN-ն իր սերնդակից ընդունիչների համար վեբ ընդունիչի արդյունավետության հաշվիչ է, որը փոխարինել է նույնի թուղթ ու գրիչով հաշվարկներին:
Օգտատիրոջ ինտերֆեյսի աշխատանքին զուգահեռ, նաև փորձում եմ օգնել գիտնականներին արդիականացնել կոդ գրելու ձևը՝ նրանց սովորացնելով օգտագործել իրական ծրագրակազմ մշակողների կիրառած գործիքները: Ծրագրավորումն այնքան կենտրոնական է դարձել մեր մոտեցման մեջ, որ առանց շատ կոդեր գրելու այսօր պարզապես չես կարող լուրջ ֆիզիկոս լինել, բայց մինչ օրս ֆիզիկայի համայնքը դեռ պետք է լրացնի համակարգչային լավ կրթության և տեխնիկայի բացերը: Ֆիզիկոսների մեծ մասը պարզապես գուշակելով է սովորում ծրագրավորում, մինչև հասնում են ինչ-որ մի բանի, որը կարծես թե աշխատում է: Փոփոխությունների կառավարման և բաց աղբյուր ունեցող ծրագրակազմի համագործակցության նման մարտավարությունները ստեղծվել են ծրագրավորողների կողմից, որպեսզի կարգավորեն զարգացման գործընթացը: Եթե գիտնականները կարողանան սովորել այս մարտավարությունները, մենք կարող ենք ոչ միայն կատարելագործել գիտությունը, այլև այն ավելի թափանցիկ և արդյունավետ դարձնել: Բոլոր ոլորտներում լաբարատորիաները կարիք ունեն այնպիսի մարդկանց, ովքեր կարող են բերել իրենց սովորական ոլորտից դուրս նոր գաղափարներ, այսպիսով, գիտական տեխնիկան կարող է շարունակել աճել և զարգանալ, և դա հենց այն է, ինչ այսօր ես փորձում եմ անել ֆիզիկայի և ծրագրավորման մեջ:

Ինչպե՞ս ես ծրագրավորում սովորել

Ծրագրավորողի կյանքը սկսել եմ, երբ ավարտական դասարանի աշակերտ էի և աշխատում էի ATLAS-ում LHC-ի փորձարկման մեջ CERN-ում, ինչը սարսափելի էր: Բակալավրիատում անցել եմ ծրագրավորման մեկ դասընթաց, որտեղ ձախողվել եմ: Կոդավորման մասին ընդհանրապես ոչինչ չգիտեի ու համոզված էի, որ դրանից շատ թույլ եմ, և հանկարծ, երբ արդեն դոկտորանտ էի, ամբողջ ժամանակ կոդ էի գրում: Հինգ տարի շարունակ տանջվեցի բարդ վերլուծության փաթեթ գրելով, որը դարձավ իմ ատենախոսության հիմքը, բայց դա այն ժամանակը չէր, երբ իրական ծրագրավորում սովորեցի: Ավարտական դպրոցի փորձարկումներից սովորեցի, թե մասնագիտական գիտությունը ինչքան մոլորված է և հեռու՝ լավ ծրագրավորման մշակույթից, և թե ինչ հսկա թռիչք կարող ենք անել, եթե սովորենք ճիշտ անել դա:
Ավարտական դպրոցից հետո ես արդեն սովորեցի իսկական ծրագրավորում: Շատ մասնագիտական ակադեմիաների նման, գիտության համար նախատեսված աշխատատեղերը քիչ էին, և շատ անհավանական էր ավարտական դպրոցից հետո աշխատանք գտնել: Երբ ես աշխատանք էի փնտրում, իմ գործընկերը Vancouver վեբ ծրագրավորման կենտրոնում աչքի ընկնող վեբ ծրագրավորող էր: Նա ինձ առաջարկեց ինքնուրույն JavaScript սովորել և հաճախել քաղաքում տեղի ունեցող տեղական ծրագրակազմի խմբերի հանդիպումներին: Սա հրաշալի խորհուրդ էր, քանի որ պարզվեց, որ Vancouver-ը ուներ (հիմա էլ ունի) ծրագրակազմի ստարտափի ակտիվ կենտրոն, որը բաց ձեռքերով ընդունեց և աջակցեց ինձ, մինչ ես սովորում էի վեբ ձևավորման և զարգացման հիմունքները: Vancouver կենտրոնի հետ շփվելով՝ ես գիտակցեցի, որ ոչ միայն համակարգչային տեխնոլոգիայի համար կա հարուստ մշակույթ, այլ նաև տեխնիկայի համար: Սա այն նրբությունն էր, որը բացակայում էր համակարգչային գիտության միջից, և մինչև հիմա աշխատում եմ այդ երկու աշխարհները միացնել:

Ինչո՞վ ես զբաղվում ազատ ժամանակ

Երբ չեմ զբաղվում ծրագրավորմամբ, ապա հավանաբար ծրագրավորում եմ դասավանդում: Ես ուսուցանել եմ Ladies Learning Code/Աղջիկները սովորում են կոդավորում կրթական տեղեկատվական ծրագրում, որն օգնում էր վերացնել խոչընդոտներն այն կանանց համար, ովքեր հետաքրքրված էին կոդավորում սովորելով, և շատ ոգևորված եմ, որ գրեթե ավարտին եմ հասցնում Software Carpentry/Ծրարակազմի ապարատների համար դասավանդելու հավաստագիրը, որը ճամբարային սեմինար ծրագիր է՝ գիտնականներին կոդավորում սովորեցնելու համար: Ներկայումս աշխատում եմ InterdisciplinaryProgramming.com-ի վրա, որն անվճար ծրագիր է կոդավորման մենթորություն փնտրող գիտնականների համար. այն ընտրում է կամավոր ծրագրավորողներ, և ես ուսումնասիրում եմ արտադրողի շարժը լաբարատորիա բերելու հնարավորությունը՝ իմ գործընկերներին օգնելով էկոլոգիայի և գյուղատնտեսության մեջ սովորել Arduino էլելտրոնիկայի նախատիպերի և այլ բաց սարքավորումների տարբերակների մասին՝ իրենց փորձարկումներն արդիականացնելու համար:
Նաև փորձում եմ մասնակցել ինչքան հնարավոր է շատ կոնֆերանսների, որպեսզի ծրագրավորողների հետ խոսեմ միասին աշխատելու մասին, որ գիտությունը դարձնենք ավելի արագ և ավելի լավը: Ահա և ես LXJS-ի ժամանակ գիտնականների և ծրագրավորողների համագործակցության մասին հիասքանչ Անգելինա Ֆաբբրոյի հետ զրուցելիս, Լիսաբոնում, Պորտուգալիա, 2013 թվական:
«Քան» ակադեմիայի տեսաձայնագրող
Երբ համակարգչից իսկապես հեռու եմ, փորձում եմ ժամանակ գտնել և իմ համայնքում բնապահպանական խմբերի հետ կամավորությամբ զբաղվել: Ես սիրում եմ բարելավել բնության հետ մեր հարաբերությունը և SPEC-ի համար Vancouver-ում որոշ ժամանակ գրել եմ հետազոտություն և նյութ:

Ի՞նչ խորհուրդ կտաս սկսնակ ծրագրավորողներին

Երբեք մի մոռացեք, որ չկա այնպիսի բան, որը կոչվում է բնածին տաղանդ: Հեշտ է նայել հիանալի ծրագրավորողներին ևինքդ քեզ թերի զգալ, որ երբեք էլ չես հավասարվի կամ չես լինի ՛իսկական՛ ծրագրավորող: Բայց ես բախտ եմ ունեցել հանդիպել այսօրվա ամենալավ վեբ ծրագրավորողներին, և նրանք բոլորն էլ ունեցել են նույն փորձը. բոլորն էլ սկսելիս զգացել են կեղծիք և խաբեություն, սկզբում նրանցից ոչ մեկն էլ չի մտածել, որ հեշտ է, ինչքան էլ փորձել են հեշտ ցույց տալ: Եթե գրել ես կոդի անգամ մեկ տող, ապա դու իրական ծրագրավորող ես, և եթե շարունակես կոդավորել և սովորել, ապա մի օր դու էլ վարպետ կդառնաս:

Ուզո՞ւմ ես միանալ խոսակցությանը։

Առայժմ հրապարակումներ չկան։
Անգլերեն հասկանո՞ւմ ես: Սեղմիր այստեղ և ավելի շատ քննարկումներ կգտնես «Քան» ակադեմիայի անգլերեն կայքում: