Бул сабакта компаниялар жана өнүгүү багыттары жөнүндө сөз жүрөт.

Компаниялар программисттердин жана программалык камсыздоонун ролу боюнча эки кең категорияга бөлүнөт. Биринчи топ - бул  компаниядагы IT деген жөн эле бөлүм, ал эми экинчи бөлүгү бизнес IT чөйрөсүндө курулган компаниялар.

IT департаменти катары көрсөтүлгөн компанияларда, бардыгы жөнөкөй. Булар заводдор, банктар, ири курулуш компаниялары жана автоматташтырууга муктаж болгон башка компаниялар болушу мүмкүн. Көбүнчө, бул IT бөлүмдөр так жумушчу процесстерди автоматташтыруу же компаниянын ичиндеги айрым бизнес-процесстерди өркүндөтүү үчүн талап кылынат жана IT бөлүмүнөн ушул бизнестин конкреттүү керектөөлөрүн чечүүдөн башка эч нерсе талап кылынбайт.

Экинчи категориядагы компаниялар IT чөйрөсүндө бизнес курулган компаниялар. Алар сиз билгендей эле дагы бир нече түргө бөлүнөт.

Заказ менен иштөө (outsourcing)

Биринчи түрү – заказ менен иштеп чыгуу же аутсорсинг компания. Мындай компаниялардын өз персоналында иштеп чыгуучулары бар - кээде таптакыр ар түрдүү - жана алардын иштөө убактысын жеке иштеп чыгуучулары жок кардарларга сатышат. Ири аутсорсингдер ар кандай бизнес чөйрөлөрүнүн өкүлдөрү менен иштешет: өнөр жай ишканалары, камсыздандыруу компаниялары, банктар - олуттуу программалык камсыздоого муктаж болушу мүмкүн, аны иштеп чыгууга көптөгөн иштеп чыгуучулар тартылган.

Чындыгында, тигил же бул формада өз кызматкерлеринин убактысын сатуу боюнча курулган, бажы иштеп чыгуу бизнесинин өзгөчөлүктөрүнө байланыштуу, анда көптөгөн иштеп чыгуучулар көп болгондо, туруктуу болот – себеби канчалык көп болсо, ошончолук жакшы. Ушул себептен, аутсорсингдер өтө чоң болууга аракеттенишет, көптөгөн жаш иштеп чыгуучуларды жумушка алышат, алар көбүнчө университеттер менен биригишет жана дүйнө жүзү боюнча кеңселерине ээ болушат. EPAM, Luxoft жана DataArt сыяктуу ири компаниялар миңдеген иштеп чыгуучуларды колдонушат. Бул компаниялар көп акча кылышат жана абдан туруктуу. Мындай алптарга кошумча, көптөгөн чакан компаниялар аутсорсингде иштешет: 1-2ден 50-100гө чейин иштеп чыгуучулар. Бирок компания канчалык кичинекей болсо, ошончолук туруксуз болот: эгер буйрутмаңыз бир жерге барбаса, карызга муктаж адамдар бошотулат, болбосо алардын айлык акысы төлөнбөйт. Бир жагынан, бул бизнес чоң тобокелчиликтерди тартат, бирок экинчи жагынан, аны баштоо оңой - демек, андай компаниялардын саны көп. Досторуңузга чалып, аларды аутсорсингге чакырсаңыз болот. Андан кийин, сиз биринчи кардарларды табышыңыз керек - жана сиз иштей аласыз. Андан кийин барган сайын көп кардарлар компания жөнүндө оозеки айтканда билишет жана жакшы сценарий боюнча, ийгиликтүү акча таба аласыз. Айрым бажы компаниялары ушундай жол менен чыгышты.

Продукцияны иштеп чыгуу

Дагы бир чоң багыт - продукцияны иштеп чыгуу, анда компаниялар керектөөчүлөр үчүн кызыктуу болгон өнүмдү иштеп чыгышат. Эгерде сиз чындыгында эле продукцияны суроо-талапка ылайыктуу кыла алсаңыз, анда кирешенин чыгымга болгон катышы, адатта, диспропорциялуу болот. Аутсорсингде бардыгы жөнөкөй: бир адамды алып кетесиз, ал сизге ушунчалык жана ушунчалык суммадагы каражат берет, сиз анын жардамы менен ушундай сумманы аласыз, масштабдуу жана өсүп чыгасыз. Продукцияны иштеп чыгууда, эгер сиздин товарыңызга суроо-талап келсе, сиз 4 кишиден турган команда түзө аласыз, бирок дагы эле миллион доллар иштеп, миллиондогон колдонуучуларга кызмат кыла аласыз. Бул модель бир аз кызыктуу, анткени ал убакытты чектөөгө мүмкүнчүлүк берет, бирок мындай продукт түзүү аутсорсингге караганда бир кыйла татаал. Мындан тышкары, кээ бир товарлардын жашоо циклдери мезгил-мезгили менен базар шарттарынын өзгөрүшүнө, реалдуулукка же башка себептерге байланыштуу токтойт жана алар жок болуп калат, ошондуктан аларды диверсификациялоого көңүл буруу керек.

ПО классификациясы

Эми программалык камсыздоонун кандай түрлөрү жана өнүгүү багыттары бар экендигин, кайда барып, эмне кылыш керек экендигин аныктап алалы.

Программалык камсыздоонун ар кандай классификациялары бар, бирок иштөө багытын тандап жатканда, программисттер биринчи кезекте платформага көңүл бурушат, андан кийин өтө сейрек өзгөрөт. Колдонмо программанын платформа боюнча классификациялоо:

  • Web-программалоо
  • Мобилдик өнүгүү
  • Десктоп
  • Сервердик ПО (программалык камсыздоо)

Акыркы мезгилдерде мобилдик жана интернет тармагы абдан популярдуу болуп калды - аларда бош жумуш орундары, акча жана мүмкүнчүлүктөр бар. Оюндарды иштеп чыгуу (оюн иштеп чыгуу) сыяктуу платформанын бир түрү менен байланышпаган өнүгүүнүн өзгөчө тармактары бар. Программисттер оюн кыймылдаткычтарын, код жана иш тактага арналган оюндарды жазышат, ошондой эле мобилдик түзмөктөр үчүн көптөгөн оюндар ташылып же иштелип чыгууда. Оюнду учурдагы шарттарда мобилдик өнүгүү тармагында иштегендер эмес, платформаны жөн гана алмаштыра турган адамдар жасашы мүмкүн. Бул биздин заманбап тенденцияларга байланыштуу абстрактуу гана мисал: бардыгы интернет жана мобилдик түзмөктөргө өтөт, бирок жалпысынан платформалардын жана адистештирилген өнүгүү тармактарынын өз ара байланышын эң сонун чагылдырат, алардын ишмердүүлүгүнүн багытын тандоодо биринчисинин маанилүүлүгүн көрсөтөт.

Сервердик ПО

Сервердик программаны иштеп чыгууда каалаган тилди колдонсо болот. Акыры, сервердик программа мобилдик өнүгүү жана вебди иштеп чыгуу менен, ошондой эле өнүгүүнүн ар кандай түрү менен дал келет. Сервер программасы колдонмо программалык камсыздоого, система программалык камсыздоого жана инструментарийге бөлүнөт.

Колдонмо ПО

Программалоодо ар дайым фронтенд бөлүгү болот - колдонуучу түздөн-түз өз ара аракеттенип турган бөлүгү жана сервердин кайсы бир жеринде жайгашкан арткы бөлүгү. Жеке же фронтенд бөлүгүнө туташкан - дал ушул тиркеме программасы. Бул ар кандай эсептөөлөр, аналитика, чоң көлөмдөгү маалыматтар менен иштөө, талдоо, биржалар болушу мүмкүн.

Системалык ПО

Бул программалык камсыздоонун өзгөчө бир түрү, анын жардамы менен компьютер пайдалуу тапшырмаларды аткарат - иштөө тутумдары, драйверлер жана башка түздөн-түз жабдыктар менен байланышкан программалар.

Инструментарий

Мунун баары иштеп чыгуучуларга жардам берет: отладка, фреймворк же программалык тилдин өзү менен иштөөгө. Бул өзүнчө бир аймак, иштеп чыгуучулардын өтө жогору деңгээлин талап кылат. Бул багытта негизги фундаменталдык билимсиз иштөө кыйын, бирок чоң каалоо жана аракетчилик менен мүмкүн болот.

Desktop

Популярдуулукту жоготкон, бирок дагы деле жигердүү багыт - бул десктоп. Булар "толстые клиенты" деп аталат, программа жергиликтүү жерлерде, көбүнчө Интернет туташуусуз ишке киргенде деле иштей бере турган болот.

Бул тармакта ар дайым кийинки тилдер популярдуу болуп эсептелет: С++, Java жана C#, бирок азыркы учурда жаңы тилдер чыгып аз-аздан булардын орунун алып башташып жатат.

Бирок заманбап дүйнө өз куралдарын сунуштап жатат, бул универсалдуу тилдер. Алар көптөгөн жерлерге кирип башташкан, жана ишти өтө жеңилдетип берип жатышат — мисаалы JavaScript. Ошондой эле Microsoft мындай деген: кийинки Windows системаларында бардык приложениялар HTML жана JavaScript тилдерин колдонот. Ошондуктан азыр уже эле алар JavaScript тилинде аябай татаал жана функционалдуу нерселерди жасай башташты. Эң жакшы мисаал бул — Atom, аябай популярдуу редактор. Буга чейин программисттердин көбү ушул редакторду колдонуп келишкен. Бул редактор Github’та жасалып чыккан жана Electron фреймворкто иштейт. Ал эми бул фреймворк болсо JavaScript жардамы менен иштейт. Ошого кросс-платформенный программаларды түзүү мүмкүнчүлүктөрү аябай көп. Демек, эгерде бир программанын бир платформада жасасаңыз, ал программа башка платформаларда да иштей берет.

Mobile тилдери

Кийинки тармак — бул мобилдик тармак. Бул эерде эки бөлүгү болот: Android жана iOS.

Android: Java, Kotlin

Мурунку убакыттарда Android’те жалгыз гана Java болчу, ал эми азыркы убакытта Kotlin популярдуулукту алып келе жатат. Аны колдонгон адамдар эми программалоо аябай жеңилдеп калды дешет.

iOS: Objective-C, Swift

iOS’ко жакында эле Swift тили чыккан. Бул тилге азыр иштеп чыгуучулардын көбү өтүп кетишкен, себеби Objective-C көп учурда жалгыз болгондуктан, азыр аябай эскирип кеткен. Ошого Swift — жаңы келген туура идеялар менен келген тил. Бул тилди Apple күтпөгөндөй эле open-source кылып салган — демек, жакында iOS’тон тышкары да колдонсо болот. Бул аябай жакшы жаңылык, себеби бул тилдин кызык жерлери өтө көп.

Web тилдери

Ал эми биздин эң негизги тармагыбыз — бул веб. Ал экиге бөлүнөт: бэкенд жана фронтенд.

Backend

  • PHP, Ruby, Python, JavaScript (Node), Perl
  • Go, C#, Erlang, Java, Clojure, Kotlin, Scala, Groovy

Теорикалуу, бэкендте каалаган тилди колдонсо болот, бирок көбүнчө жогорудагы тилдерди колдонушат. Java, Clojure, Kotlin, Scala, Groovy — баары JVMдин айланасында курулган, ошого аларды бири-бири менен иштегенине бир үй-бүлөөдө деп койсок болот. Go тили жакында эле чыккан, бирок аябай тез өсүп азыр популярдуу болуп калган. Анда эмесе веб үчүн эң популярдуу тил — бул PHP. Анын кемчиликтери бар, бирок ага карабастан азыркы убакытта сайттардын көпчүлүгү ушул тилде иштейт.

Frontend

  • JavaScript

JavaScript бэкендте да, фронтендте да бар, ошого бул тил мындан нары да өсө берет келечекте. JavaScript азыр аябай тез өнуккөнүнө жараша, мындан кийин да кызыктуураак болуп кетет берет.

Эмне тандоо керек? Критерийлер

Эми, эмнени тандоо керек жана кандай критерийлер менен ориентир алсак болот? – деген суроолорду жаңы келген программисттер өзүнө көп беришет.

Көңүлүмө жакын болгон аймак

Баарыдан мурда жан турган аймак. Муну дароо эле түшүнө берүү дайыма эле мүмкүн боло бербейт, анткени кээде адамдар тигил же бул багытта иштөөгө аракет кылмайынча, салыштыралышпайт. Демек, эмне кылууну чечүү кыйын болсо, анда эки башка критерийге токтолушуңуз керек.

Керектүү квалификациялар

Бул критерий менен колдонсок, кийинки орундарга джуниор болуп киришибиз таптакрыр мүмкүн эмес. Геймдев’те — веб болобу, десктоппу же мобилдик иштеп чыгуу болобу, айырмасы жок — жогору деңгээлде билимди талап кылат. Мисаалы жумуш издеген сайттарга карасаңыздар, кесиптердин арасында эң кыска убакыттын ичинде үйрөнө алатурган тилдерди талап кылгандарды тандашыңыз керек.

Бош кызмат орундарынын саны

Бош орундардын саны өтө маанилүү критерий болуп саналат. Эгерде биз чет мамлекеттер жөнүндө айта турган болсок, анда жалпысынан бардык жерлерде бош орундар көп, бирок кичинекей шаарлар жана андан алыс жактар ​​жөнүндө сөз кыла турган болсок, анда бош орундар азаят.

Сизге кесиптин багытын тандоого жардам берген негизги критерийлер келтирилген. Муну башынан аягына чейин жасоо өтө маанилүү, анткени тандоону тандап, максатка системалуу жана прогрессивдүү түрдө жетүүгө зарылсыз. Бул ишке ашмайынча, сиз узак убакыт бою бир секирикке секирип, натыйжада бир топ убакытты, бир жыл машыгууга кетире аласыз, бирок сиз чындыгында эле иштеп чыкпайсыз. Ошондуктан кечиктирбей, тандооңузду жасап, код жазууну баштаңыз.