Какво се получава, когато смесиш страстта към програмирането с умението да администрираш специфични IT инструменти и към тях прибавиш няколко части "лийн"?
Една от най-търсените професии от IT компаниите у нас и по света - тази на DevOps инженера. Неговата основна задача е да оптимизира процесите по създаване на качествени софтуерни продукти и услуги. Той може да бъде софтуерен инженер, който има умения на системен администратор, или пък системен администратор, който се интересува от автоматизация и програмиране. Във всички случаи той е връзката, която подобрява сътрудничеството между екипите, разработващи софтуера, и тези, които го администрират.
В момента на пазара има няколко мобилни платформи, на които се разработват мобилни приложения, като всяка една от тях налага и своя език на програмиране и специфики на средата на развитие.
Мобилна платформа Среда за програмиране
Android Java clipse Различни марки
iOS Objective C & Swift Xcode Само за устройства с марката Apple
RIM Java Eclipse Само за устройства с марката Blackberry
Symbian C++ Различни програми Различни марки
Професионални перспективи
И накрая какво е DevOps инженер? DevOps инженер може да бъде софтуерен инженер, който се интересува и има умения на системен администратор, или системен администратор, който има страст към автоматизацията и програмирането. И в двата случая това са хора, които вярват в DevOps движението и в неговите резултати, силни професионалисти, които имат желание да се учат и развиват в повече от едно направление, хора, които имат поглед над голямата картина и могат да подобрят процесите по създаване на качествени софтуерни продукти или услуги. Това са "специалните части" в една IT организация.
Умения и опит
Много от уменията, които са важни за един добър софтуерен инженер, са важни и за професията на DevOps инженера:
- да програмираш качествено на няколко езика;
- да използваш голям набор от софтуерни инструменти, особено такива с отворен код;
- да можеш да прилагаш гъвкави автоматизирани процеси, с които да се подобри ефективността и качеството на работата;
- уменията да боравиш с данни;
- силен фокус върху бизнес резултатите;
- много добри комуникационни умения особено при работа с хора от други екипи и направления.
Уменията, които правят добър един системен администратор, са подобни, но има и специфични, като например:
- опит със специфични IT инструменти и практики (мониторинг и ескалация на критични проблеми);
- администриране на Windows и Linux системи;
- мрежова администрация.
Предизвикателства
Основните предизвикателства в ежедневната работа са свързани със сътрудничеството с много екипи с различни приоритети и начини на работа, балансиране на автоматизацията на процесите и сигурността на нашите услугите.
За кого е подходяща тази специалност?
Повечето работодатели в сфера¬та търсят да назначат кандидати, които имат поне бакалавърска сте¬пен по софтуерно инженерство, ком¬пютърни науки, мобилно програмира¬не, програмиране на мобилни приложения или подобни програми, свързани с приложно програмиране или подобно програмно-ориентирано програмиране. При наемането на ме-ниджърска позиции за мобилни разра¬ботки трябва да представите портфолио от разработени и завър¬шени мобилни приложения и най-до¬брите ви програмни проекти.
Университети в Швеция, Дания и Великобритания отдавна предлагат магистърски програми по Mobile App Development. Може да срещнете спе¬циализацията още като Mobile Computing App Inventor, Mobile Application Software Engineering, Web & Mobile App Inventor.
Познанията и уменията, които ще ви донесе съответната степен на висше образование, включват разра¬ботване на приложения за iOS (iPhone & iPad), разработка на приложения за Android, обектно-ориентирано про¬грамиране, Java програмиране, JavaScript, HTML, CSS, Objective-C и C++ програмиране, дизайн на потре¬бителски интерфейс (UI), програми¬ране на игри и симулации, монтаж на портфолио от мобилни приложения, основи на бази данни, маркетинг и внедряване на мобилни медии. Пред¬метът на обучението за разра¬ботване на мобилни приложения е ефективно и в онлайн формат.
Образование в България
В България обучение по мобилно програмиране има в СофтУни, където в рамките на курса Mobile Development може да добиете умения за създаване на мобилни приложения за Android и iOS среда, както и хибри¬дни (cross-platform) приложения чрез Native Script. Курсът е разделен в три части, включително и практически ориентирана работа и създаване на собствен продукт - Mobile Development, Android Development, Swift Development for iOS.
В „Телерик академия" предлагат курс „Мобилни приложения за Android" - стъпка по стъпка обучение за раз¬работка на приложения на една от най-популярните мобилни опера¬ционни системи в света. Включва обучение по програмния език Java, платформата Android, достъп до от¬далечени данни и изграждане на моби¬лен интерфейс и custom изгледи за анимации и игри. Както и практиче¬ска част.
Има много възможности за онлайн курсове и самостоятелна подготов¬ка, затова направете добро проучва¬не, за да се насочите как и къде да се фокусирате в своето обучение.
Реализация
Според специализацията и опита ви, обучението в разработка на мо¬билни приложения и компютърно про¬грамиране може да ви подготви за разнообразни професионални роли, които са широко търсени на пазара на труда:
■ Програмисти на мобилни прило¬жения
■ Програмисти на Android приложе¬ния
■ Програмисти на iOS приложения
■ Софтуерен инженер
■ Софтуерен архитект
■ Дизайнер на мобилни интерфейси
■ Java специалист
■ Objective-C Developer.
Бизнесът обикновено разработва мобилни приложения за множество платформи наведнъж, за да увеличи максимално пазарното си присъствие и възвръщаемостта от инвестиция¬та. Затова перспективата пред вас като специалист в програмирането на различни мобилни платформи за създаване на приложения е голяма. Android и iOS доминират на пазара, като съставят над 90% от потре¬бителския дял в световен мащаб, което е добра отправна точка къде да фокусирате образованието си.
Заплатата
Възможно е заплатите в момента да надвишават тези на софтуерните инженери и системните администратори, предвид липсата на кадри на световно ниво в момента.
Полезни източници на информация
The Agile Admin, бюлетините на Valdhaus и DevOpsWeekly, различни проучвания като това на Puppet Labs, DevOps.com, TheHackerNews.