Қалай программист боламын? Программист болу жолындағы 3 қадам

Қалай программист боламын? Программист болу жолындағы 3 қадам
жеке
блог

Программист болу жолындағы 3 қадам

Қайырлы таң, қайырлы күн, қайырлы кеш, қайырлы түн, баршаңызға сәлем! Жақында ғана программист мамандығы жайлы осы сайтта пост жазған тұғынмын.(Мына жерде) Сол кішігірім мақаламды бағалап, қолдау көрсеткендеріңізге көп рахмет! Ендігі кезекте, сіздердің сұраныстарыңыз бойынша қалай программист болуға болатыны жайлы сөз қозғағым келіп тұр.

Программист сөзінің қазақша аудармасы «бағдарламашы», ал программирование - «бағдарламалау». Алдағы уақытта мен тек осы сөздерді пайдаланатын боламын.

Бағдарламашы болу жолындағы барлық қадамдарды бір мақалада түсіндіру мүмкін емес. Сондықтан, осы мақалада әрбір қадам жайлы жалпы ақпарат беріп өтемін. Түсінбей қалған жерлеріңіз болса уайымдаудың қажеті жоқ. Алдағы уақытта осында айтылған барлық қадамдарға жеке мақала жазып, толығымен түсіндіретін боламын. Сонымен, бастайық:

1 – ші қадам. Мақсатты анықтау.

Бір іске кіріспес бұрын, сіз алдыңызға мақсат қоюыңыз қажет. Не үшін бағдарламашы болғыңыз келеді? Алдымен, бағдарламашы деген кім екенін анықтап алайық. Май зауытында сымдармен жұмыс жасайтын адам – ол бағдарламашы емес. Компьютерге әртүрлі бағдарламаларды(Word, Skype, антивирус  т.с.с.) орнататын адам да бағдарламашы емес, компьютер немесе принтер сияқты техникаларды бұзылған кезінде жөндейтін адам да бағдарламашы емес. Тіпті кейбіреулер техника сататын дүкендердегі сатушыларды да бағдарламашы деп атайды екен, олар да ешқандай қырымен бағдарламашы емес. Бағдарламашы – қарапайым тілмен айтқанда, компьютер алдында отырып, белгілі бір бағдарламалау тілінде жұмыс жасайтын адам. Мысалы, сіздер қазір осы мақаланы оқып отырған сайт белгілі бір кодтардан құралған. Осы кодтарды жазған адам бағдарламашы. Телефоныңыздағы әртүрлі бағдарламалар (whatsapp, imo, vk, әртүрлі ойындар және т.б.) барлығын бағдарламашылар құрастырған.

Мақсат әртүрлі болуы мүмкін: айлығы жоғары жұмысқа кіру, ұнайтын іспен айналысу, адамдар үшін маңызды болған жаңалықтар жасау. Мақсатыңызды барынша анықтауға тырысыңыз. Мысалы сіздің мақсатыңыз әлемге әйгілі Google компаниясында бағдарламашы болып жұмыс жасау болуы мүмкін. Өте жақсы. Ендігі кезекте осы мақсатыңызға қарай жылжитын боласыз.

Айта беретін болсақ, бағдарламашы болудың артықшылықтары өте көп. Бұл тақырыпқа жеке мақала арнау керек.

Сонымен, мақсатты анықтау үшін парақ пен қалам алып, сіздің қазіргі тұрған жағдайыңыз бен, кім болғыңыз келетінін жазыңыз. Мысал ретінде, біз университеттің екінші крс студентіміз деп алдым.  Біздің мақсатымыз – бағдарламалау саласында жұмыс жасайтын жақсы компанияға 1000 АҚШ доллары көлеміндегі жалақыға жұмыс жасайтын, әр үш ай сайын саяхатқа шығып отыратын бағдарламашы болу деп алайық.

2 – ші қадам. Бағдарламалау тілін таңдау.

Қазіргі таңда, бағдарламалау тілдері өте көп. Қазақстанда ең көп таралғандары – Java, C#, C++, Objective C, PHP т.б. Бұл тілдер қолданылу аясына байланысты бөлінеді. Мысалы, PHP веб-сайттар жасау үшін қолданылса, Objective C  IOS операциондық жүйесіне қосымшалар жасау үшін қолданылады.

Бағдарламалау тілін бірнеше критерийлер бойынша таңдауға болады:

  1. Осы тілде жасайтын жұмыстың сізге қызықты болуы.
  2. Осы тілде жұмыс жасап табуға болатын табыс көлемі.
  3. Осы бағдарламалау тіліне жұмысшы қабылдайтын жұмыс орындарының көптігі.
  4. Осы тілді үйренудің қиын немесе жеңіл болуы.

Мысалы, сізге интернет жобалар жасау, веб сайттар құрастыру қызықты болуы мүмкін. Онда сіз PHP немесе Python тілін таңдауыңызға болады. Немесе, компьютерде пайдаланытын бағдарламалар жасағыңыз келсе C# тілін үйренсеңіз болады. Қазіргі таңдағы өте кең таралған бағдарламалау тілдерінің бірі -  Java. Бұл тілдедерлік барлық нәрсе жазуға болады. Веб – жобалардан бастап, десктоптық бағдарламаларға дейін, смартфондарға арналған қосымшалар, лифт, телевизор, кір жуу машинасы бағдарламалары, банктер және басқа да қызмет көрсететін орындардағы кезек беру механизмдері және сол сияқты көптеген бағдарламалар осы тілде жазылады. Әрине кез келген бағдарламалау тілінде жасалатын жұмыстар өз алдына өте қызық болып келеді. Егер сіз бағдарламалау жайлы енді ізденіп ақпарат жинап жүрген болсаңыз, бағдарламалау тілін таңдау сізге оңайға соқпайды.

Әртүрлі бағдарламалау тілінде табуға болатын табыс көлемі көбіне бағдарламалау тіліне емес, осы бағдарламалау тілін қаншалықты жақсы білетіндігіңізге байланысты. Бағдарламашылардың дәрежесін junior(бастапқы дәреже), middle(орташа) және senjor(жоғары дәреже) деп бөліп қарастыруға болады. Бұл дәрежелер сіздің жинаған біліміңіз және жұмыс барысында арттырған тәжірибеңізге қарай артып отырады. Сондықтан, қандай бағдарламалау тілін таңдасаңыз да, дәрежеңіздің деңгейіне байланысты жоғары табыс табуыңызға болады. Қазақстан нарығын ескеретін болсақ, жоғарыда аталған бағдарламалау тілдерінің арасында Java және С# тілдерінде жұмыс жасайтын бағдарламашылар 500-700 мың теңгеге дейін жалақы ала алады. Web бағытында жұмыс жасайтындар 250  - 350 мың теңгеге дейін табыс табуына болады. Бірақ бұл салада жұмыс жасау барысында, сіз жалақымен ғана шектелмей қосымша жобалар жасау арқылы да табысыңызды көбейтсеңіз болады. Мысалы, мен осы салада жұмыс жасап жүріп, айына 500 мың теңгеге дейін табыс тапқан кездерім болған. Жоғарыда айтылған айлықтар сіздерге мүмкін емес сияқты болып көрінуі мүмкін. Бірақ бұл ақиқат. Осындай табыс тауып жүрген бағдарламашы азаматтарымыз жоқ емес) Әрине, мұндай жалақыны senjor, жоғары білікті мамандар алады. Дегенмен, ерен еңбектің арқасында мұндай дәрәжеге сіз де қол жеткізсеңіз болады.

Енді жұмыс орындарына келетін болсақ, қай бағдарламалау тіліне сұраныс көп екендігін зерттеу арқылы қорытынды жасау керек. Қазақстанның сұраныстары бойынша зерттеу жұмысын жасап, алдағы уақытта сіздермен бөлісетін боламын. Ал қазір, қысқаша айтатын болсам, ең көп сұраныстарға ие бағдарламалаушылардың бірі ол web бағдарламашылары. Қазіргі уақытта әр-түрлі компаниялар, оқу орындары, сауықтыру кешендері, т.б. түрлі салада жұмыс жасайтын ұйымдар өз веб-сайттары болғанын қалайды. Осыған байланысты сол веб-сайттарды жасауды ұсынатын компаниялардың да саны көбейіп келеді. Сәйкесінше, бұл компаниялар өз кезегінде осы бағдарламалау тілін білетін жұмысшыларды қабылдап отырады. Тағы да кең таралған сұраныстардың бірі ол java және C# тілдерінде жұмыс жасайтын мамандар. Бұл саланың қолданылу аясы өте кең. Сондықтан, мамандар тапшылығы байқалады.

Белгілі бір бағдарламалау тілін меңгерудің қиындығына келетін болсақ, бұл таласты мәселе болып саналады. Кейбіреулерге C# тілін үйрену оңайға соқса, енді кейбіреуге java тілін үйрену оңай сияқты болып көрінеді. Мен өзім PHP тілі маманы болғандықтан, осы тілдің үйренуге жеңіл тілдердің бірі екендігін айта аламын. Дөрекі есептегенде, 5-6 айдың ішінде, бұл тілді жақсы меңгеріп шығуға болады. Алдағы уақытта (тағы да уәде) әр-түрлі тілде жұмыс жасайтын бағдардамашы достарымның кеңестеріне сүйеніп, сол тілді үйренудің қиыншылықтары мен артықшылықтары жайлы жазатын боламын.

3 – қадам. Таңдалған бағытта білім алып, жұмыс жасау.

Мақсатымызды анықтап, бағдарламалау тілін таңдап болғанымыздан соң, бізге сол мақсатымызға жету жолындағы жұмысымызды бастау қажет болады.

Кез-келген затты үйрену үшін қажет болатын екі үстін – ол біртіндеушілік(постепенность) және аумау(постоянность). Естіңізде сақтаңыз, бағдарламалау тілін үйрену үшін, жеңілден қиынға қарай жылжуыңыз қажет. Бағдарламалау тілі ол шет тілі секілді. Алдымен, әріптерді үйренесіз, сосын сөддер, осы сөздерден сөйлем құрастырасыз, сосын сөлемнен мәтін, мәтіннен шығарма, соңында кітап жаза аласыз. Көбіне бағдарламалау тілін үйретуге арналған курстар, осы үстінді ескеріп, оңайдан ауырға қарай үйретеді. Жақсы курс таңдасаңыз болғаны.

Енді білім алу барысының жүйелілігіне келсек, сабақтар арасын көп ұзатпауға тырысыңыз. Егер әр сабақ арасын көпке созып жіберетін болсаңыз, алдыңғы алған білімдеріңізді ұмытып қалуыңыз мүмкін. Бұл мақсатыңыз жолында жұмсайтын уақытыңыздың ұзарып кетуіне әкеліп соғады.

Белгілі бір уақыт көлеміне, кішігірім, аралық мақсаттар қойып отырыңыз. Мысалы, мен осы аптада HTML тілінің басты қағидаларын үйренемін. Егер, апта соңына дейін осы аралық мақсатты орындайтын болсаңыз, қалған уақытыңызды өзіңізге бөліп, сергіп алуыңызға болады. Оқу мен дем алуды өз кезегімен қолданғаныңыз дұрыс. Сол сияқты әр аптаға мақсаттар қойып, оны орындап отырыңыз. Апта сідің қадамыңыз болады. Апта өткен сайын сіздің мақсаттарыңыз күрделіленіп, меңгерген тәжірибеңіз артып отырады.

Келесі кезекте, білім жинау құралдарына тоқталайық. Үйрену құралдарын мынадай 4 критерийге байланысты қарастыруға болады:

  1. Бағасы.
  2. Жұмсалатын уақыт.
  3. Практикалық тәжірибе.
  4. Нәтиженің кепілдігі.

Алдымен, бәрімізге белгілі жоғары оқу орынынан бастайық. Грантқа түсу мүмкіндігін ескермейтін болсақ, оқу орынының бағасы арзан деуге болмайды. Жекеменшік оқу орындарының өздерінде, оқудың жылдық бағасы 300 – 350 мыңнан басталады. Төрт жыл ішінде сіз 1 200 000 мың теңгеден 3-4 млн. теңгеге дейін жұмсауыңыз мүмкін. Бұл тұрғын үй және тамақ сияқты қосымша шығындарды қоспағанда. Демек, университет нұсқасы бірінші критерийді қанағаттандырмайды. Жұмсалатын уақытқа келсек, бәрімізге белгілі, сіз 4 жыл уақытыңызды осыған жұмсайсыз. Менімше, өте ұзақ. Практикалық тәжірибені ЖОО – да сізге пайдалы әрі өнімді етіп бере алмайды деп есептеймін. Соңғысы, университетте оқу арқылы сапалы бағдарламашы бола алуыңызға кепіл дерлік жоқ деуге болады. Қысқасы, жақсы бағдарламашы болу үшін ЖОО-ға сенудің қажеті жоқ деп ойлаймын.

Бағдарламалауды кітаптан үйренуге болады. Бағасына келсек, кітаптар өте арзан тұрады, немесе интернет желісінен тегін де табуға болады.  Бұл критерийді кітап қанағаттандырады. Жұмсалатын уақыт та талапқа сай. Өз уақытыңызды өзіңіз басқаруыңызға болады. Практикалық тәжірибе және нетиженің кепілдігі бойынша кітаптан үйрену жолы кішкене  ақсайды деуге болады.

Келесі бір жолы ол видеосабақтар. Қазіргі таңда сапалы видеосабақтарды интернет желісінен табу өте оңай деуге болады. Олардың бағалары өте қолжетімді немесе көбіне тегін болып келеді. Жұмсайтын уақыт өте нәтижелі болады және практикалық тәжірибені де видеосабақ оқу барысында керегінше алуыңызға болады. Бірақ, бұл оқу түрінің бір кемшілігі – түсінбеген жерлеріңізді уақытылы сұрап біле алмайсыз. Ол үшін сіз әр-түрлі форумдарда ізденуіңізге тура келеді. Мен қазір, ағылшын немесе орыс тіліндегі сабақтар жайлы айтып жатырмын. Қазақ тіліндегі үйренушілердің кездесетін басты кедергісі – ұлттық тіліміздегі сапалы видеосабақтардың жоқтығы. Бұл менің көкейімді қинайтын жайттардың бірі. Алдағы уақытта бұл жағдай жақсы жақа қарай түзеледі деген үміттемін. Осы мәселе жайлы ой-толғауымды және мәселенің шешімін табудағы өз пікірлерімді бөлісіп, мақала жазамын деген жоспарым бар.

Бағдарламалауды үйренудің тағы бір өте қолайлы жолдарының бірі ол бағдарламалауды үйрететін әртүрлі курстарға қатысу. Курстар онлайн немесе бетпе-бет болуы мүмкін. Курстарға қатысу арқылы сіз уақытыңызды дұрыс жұмсайсыз, практикалық тәжірибеге ие боласыз және сіздің осы мамандықты меңгеруіңізге кепіл болады. Мұғалімнің бар болуы, қиналған немесе түсінбеген жерлеріңізді уақытылы сұрап, жауап таба алуыңызға мүмкіндік береді. Бірақ мұндай курстардың бағасы кішкене қымбаттау болады. Сонымен қатар, сол баяғы тіл мәселесі. Қазақ тілінде үйрететін сапалы курстарды табу оңайға соқпайды.

Алға қойған мақсатыңызға қарай осы жолдардың бірін таңдауыңызға болады. Егер сіз бағдарламалау тілін барынша аз уақыт көлемінде үйренгіңіз келсе, сізге курстарға қатысуға кеңес беремін. Жұмсаған қаражатыңызды жұмысқа орналасқан соң бір-екі ай ішінде ақтап алуыңызға болады. Егер сізде үйренуге уақытыңыз жеткілікті болса, қаражат көп жұмсамай мақсатыңызға жеткіңіз келсе, видеосабақтар қарауды кеңес беремін. Арасында, сапалы кітап оқып біліміңізді қатайтып отыруға да болады. Алғашқы уақытта, қандай сабақтар қарау, неден бастау, нені оқу деген мәселелер сізге қиынға соғуы мүмкін. Бұл стадияда басқа тәжірибелі мамандардан кеңес сұрағаныңыз жөн. Уақыт өтісімен, әрі қарай қандай бағытта жылжу керектігін өзіңіз түсінетін боласыз.

Осымен менің өте ұзын мақалам соңына жақындап келеді. Ерінбей оқыған болсаңыз, сізге бұл тақырып қызық болғаны. Бұйыртса, алдағы уақытта әр мәселені толық әрі терең талқылап мақалалар жазып отыратын боламын. Бұл мақалаларды осы сайттан оқи аласыздар. Жаңалықтардың шығып отыруын менің әлеуметтік желілердегі парақшаларыма жазылып көріп отырсаңыздар болады.

Істеріңізге сәттілік тілеймін! Назарларыңызға рахмет!

Менің парақшаларым: Фейсбук, Вконтакте

Жалғасы мына жерде.